/* Service pages. The home page keeps its styles inline (it is one self-contained file by design);
   these pages share one stylesheet instead of eight copies of it. Tokens, nav, drawer, Q&A and
   footer are lifted from index.html as-is - change them there and here together. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/font-Fraunces-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 700;font-display:swap;src:url(/assets/font-Fraunces-italic.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/font-WorkSans-normal.woff2) format('woff2')}
:root{
  --ink:#16302E; --ink-2:#1E3B38; --stone:#E7E2D6; --stone-2:#EFEAE0; --stone-deep:#D8D1C0;
  --gold:#B8862D; --gold-soft:#C99B45; --sage:#6E8A7C; --ember:#C94A24;
  --serif:'Fraunces','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --sans:'Work Sans','Segoe UI',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--stone);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:340}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
h1,h2,h3{font-family:var(--serif);font-weight:480;text-wrap:balance;margin:0}
p{max-width:60ch}
a{color:inherit}
img{max-width:100%;display:block}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink-2);color:var(--stone);
  padding:12px 18px;text-decoration:none;font-size:14px;border:1px solid var(--gold)}
.skip:focus{left:12px;top:12px}

/* nav - always the scrolled state: there is no hero film under it on these pages */
nav{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--stone);--nav-accent:var(--gold-soft);
  background:rgba(22,48,46,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(231,226,214,.12)}
.nav-in{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,56px)}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:34px;width:auto}
.brand:focus-visible{outline:2px solid var(--gold-soft);outline-offset:6px}
@media(max-width:640px){.brand img{height:28px}}
.nav-links{display:flex;gap:30px;align-items:center;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.nav-links a{text-decoration:none;opacity:.85}
.nav-links a:hover,.nav-links a:focus-visible{opacity:1;color:var(--nav-accent)}
.cta{background:var(--ember);color:#fff;padding:11px 22px;text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-radius:2px}
.cta:hover,.cta:focus-visible{background:#B23F1D}
.nav-links a.cta{opacity:1}
.tel{display:flex;align-items:center;gap:7px;color:var(--nav-accent);opacity:1;letter-spacing:.08em;font-weight:600;white-space:nowrap}
.burger{display:none;background:none;border:0;padding:8px;margin:-8px -8px -8px 0;cursor:pointer;color:inherit}
.burger svg{display:block}
.burger .x{display:none}
.burger[aria-expanded="true"] .x{display:block}
.burger[aria-expanded="true"] .bars{display:none}
.drawer{display:none}
@media(max-width:1080px){
  .nav-links a:not(.cta):not(.tel){display:none}
  .burger{display:block}
  .drawer{display:block;position:fixed;top:0;left:0;right:0;z-index:49;
    background:rgba(22,48,46,.98);color:var(--stone);backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(231,226,214,.14);
    padding:86px clamp(20px,5vw,56px) 30px;
    transform:translateY(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1);visibility:hidden}
  .drawer.open{transform:none;visibility:visible}
  .drawer a{display:block;text-decoration:none;font-family:var(--serif);font-size:23px;
    padding:13px 0;border-bottom:1px solid rgba(22,48,46,.1)}
  .drawer a:last-of-type{border-bottom:0}
  .drawer .drawer-cta{margin-top:22px;text-align:center;font-family:var(--sans);font-size:13px;
    letter-spacing:.14em;text-transform:uppercase;font-weight:600;background:var(--ink);
    color:var(--stone);padding:15px 22px;border-radius:2px;border-bottom:0}
  body.nav-open{overflow:hidden}
}
@media(max-width:600px){.nav-links a.cta{display:none}}
@media(prefers-reduced-motion:reduce){.drawer{transition:none}}

/* page head */
.page-head{padding:150px 0 clamp(60px,8vw,96px);border-bottom:1px solid rgba(231,226,214,.14)}
.crumbs{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8FA09B}
.crumbs li+li::before{content:"/";margin-right:8px;color:rgba(231,226,214,.3)}
.crumbs a{text-decoration:none}
.crumbs a:hover,.crumbs a:focus-visible{color:var(--gold-soft)}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin:0 0 22px}
.page-head h1{font-size:clamp(38px,6vw,72px);line-height:1.04;letter-spacing:-.01em;margin:0 0 26px;max-width:18ch}
.page-head .lead{font-size:clamp(17px,1.9vw,21px);color:#E3DDCD;margin:0 0 36px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ghost{padding:11px 22px;border:1px solid rgba(231,226,214,.45);text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.ghost:hover,.ghost:focus-visible{border-color:var(--gold)}
.meta-line{margin:26px 0 0;font-size:14px;color:#8FA09B}

section{padding:clamp(70px,9vw,120px) 0}
.kick{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 22px}

/* body copy */
.prose{max-width:820px}
.prose h2{font-size:clamp(28px,3.8vw,42px);line-height:1.12;margin:56px 0 16px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:clamp(21px,2.4vw,26px);margin:30px 0 8px;color:var(--gold-soft)}
.prose p,.prose li{color:#CFC9BA}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 18px;max-width:60ch}
.prose li{margin-bottom:10px}
.prose b{color:var(--stone);font-weight:600}
.prose a{color:var(--gold-soft)}

/* fee table - same treatment as the home page */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fee-table{margin:30px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.fee-table table{border-collapse:collapse;width:100%;min-width:460px;font-size:15.5px}
.fee-table th,.fee-table td{text-align:left;padding:13px 16px 13px 0;border-bottom:1px solid rgba(231,226,214,.14);font-weight:400}
.fee-table thead th{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8FA09B;font-weight:600;padding-bottom:10px}
.fee-table tbody th.c{font-family:var(--sans);color:#8FA09B;font-variant-numeric:tabular-nums;width:1%;white-space:nowrap;padding-right:22px}
.fee-table td{color:var(--stone)}
.fee-table td.f{font-family:var(--serif);font-size:18px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

/* answers */
.light{background:var(--stone-2);color:var(--ink)}
.light .kick{color:#9B7420}
.answers h2{font-size:clamp(30px,4.2vw,48px);margin-bottom:30px}
.qa{border-bottom:1px solid var(--stone-deep);max-width:820px}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:24px 0;font-family:var(--serif);font-size:clamp(19px,2.2vw,23px);font-weight:480}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-family:var(--sans);color:#9B7420;font-size:22px;flex:0 0 auto;transition:transform .25s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{margin:0 0 24px;color:#4A5B57;font-size:16px;max-width:62ch}

/* other services */
.more h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:26px}
.svc-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:rgba(231,226,214,.14);border:1px solid rgba(231,226,214,.14)}
.svc-links a{display:block;background:var(--ink);padding:22px 24px;text-decoration:none;font-family:var(--serif);font-size:20px;height:100%}
.svc-links a:hover,.svc-links a:focus-visible{background:var(--ink-2);color:var(--gold-soft)}

/* closing call */
.callback{border-top:1px solid rgba(231,226,214,.14)}
.callback h2{font-size:clamp(30px,4.6vw,52px);line-height:1.1;margin-bottom:18px}
.callback p{color:#CFC9BA;margin:0 0 30px}
.callback .urgent{margin:22px 0 0;font-size:14px;color:#8FA09B}
.callback .urgent a{color:var(--gold-soft)}

footer{border-top:1px solid rgba(231,226,214,.14);padding:70px 0 50px}
.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot-note{font-size:13px;color:#8FA09B;max-width:34ch}
.foot-note a{text-decoration:none;border-bottom:1px solid rgba(111,78,21,.45)}
.foot-note a:hover,.foot-note a:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}
.foot-contact{max-width:34ch}
.foot-kick{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-weight:600}
.foot-tel{font-family:var(--serif);font-size:27px;color:var(--stone);text-decoration:none;letter-spacing:.01em}
.foot-tel:hover,.foot-tel:focus-visible{color:var(--gold)}
.foot-hours{font-size:13px;color:#BDB6A6;margin:12px 0 0}
.foot-svc{list-style:none;margin:0;padding:0;font-size:13px;line-height:2}
.foot-svc a{text-decoration:none;color:#BDB6A6}
.foot-svc a:hover,.foot-svc a:focus-visible{color:var(--gold)}
.foot-line{margin-top:48px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:10px}
