/* Anance — shared styles for service detail pages (trades / clinics / speed) */
:root{
  --ink:#0b0b0c;        /* near-black body text on white */
  --soft:#54545a;       /* secondary text on white */
  --faint:#8a8a90;      /* eyebrows / fine print on white */
  --line:#e4e4e7;       /* hairlines on white */
  --line-2:#cfcfd4;     /* stronger hairlines / placeholders */
  --grey:#f2f1f0;       /* alt light section (second cream tone) */
  --dark:#0b0b0c;       /* hero / footer / dark bands */
  --on-dark:#ffffff;
  --on-dark-soft:rgba(255,255,255,.66);
  --on-dark-faint:rgba(255,255,255,.46);
  --line-dark:rgba(255,255,255,.16);
  --ease:cubic-bezier(.22,1,.36,1);
}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-Latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EB Garamond";src:url("fonts/EBGaramond-LatinExt.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist";src:url("fonts/Geist-Variable.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/GeistMono-Variable.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Geist",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#fafaf9;color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.62;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}

/* ---------- NAV (sits in the black hero) ---------- */
nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:26px clamp(22px,4vw,52px)}
.brand{font-family:"EB Garamond",serif;font-size:22px;font-weight:600;letter-spacing:.02em;color:var(--on-dark);display:inline-flex;flex-direction:column;line-height:1;gap:5px}
.menu{display:flex;gap:clamp(30px,3.4vw,54px);position:absolute;left:50%;transform:translateX(-50%);align-items:center}
.menu > a,.has-drop > span{font-size:12.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft);cursor:pointer;transition:color .25s var(--ease)}
.menu > a:hover,.menu > a.active,.has-drop:hover > span,.has-drop.active > span{color:var(--on-dark)}
.has-drop{position:relative}
.has-drop > span{display:inline-flex;align-items:center;gap:6px}
.has-drop > span svg{display:none}
.drop{position:absolute;top:100%;left:0;padding-top:16px;display:none}
.has-drop:hover .drop,.has-drop:focus-within .drop{display:block}
.drop-inner{display:flex;flex-direction:column;gap:15px}
.drop-inner a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-soft);white-space:nowrap;transition:color .2s var(--ease)}
.drop-inner a:hover{color:var(--on-dark)}
@media(max-width:900px){.menu{display:none}}

/* ---------- HERO (black) ---------- */
.hero{position:relative;background:var(--dark);color:var(--on-dark);min-height:46vh;display:flex;align-items:flex-end;
  padding:clamp(116px,15vh,150px) 0 clamp(40px,6vh,60px)}
.hero .kicker{color:#FFAB61}
.hero h1{font-family:"EB Garamond",serif;color:var(--on-dark);font-size:clamp(30px,4.2vw,50px);letter-spacing:0;font-weight:600;line-height:1.06;text-transform:none;max-width:18ch}
.hero .lead{margin-top:24px;color:var(--on-dark-soft);font-size:clamp(16px,1.6vw,20px);line-height:1.55;max-width:54ch;font-weight:300}

/* ---------- SHARED TYPE ---------- */
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-bottom:20px;font-weight:500}
h2{font-family:"EB Garamond",serif;font-size:clamp(27px,3.6vw,44px);letter-spacing:0;font-weight:600;line-height:1.1}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#F57200;margin-bottom:18px;font-weight:600} /* form section labels (apply.html); solution pages no longer use it */

/* ---------- LIGHT HERO (solutions pages, free text) ---------- */
.hero.light{background:#fafaf9;color:var(--ink);min-height:0;align-items:stretch;padding:clamp(150px,20vh,210px) 0 clamp(56px,8vh,96px)}
.hero.light .brand{color:var(--ink)}
.hero.light .menu > a,.hero.light .has-drop > span{color:var(--soft)}
.hero.light .menu > a:hover,.hero.light .menu > a.active,.hero.light .has-drop:hover > span,.hero.light .has-drop.active > span{color:var(--ink)}
.hero.light .drop-inner a{color:var(--soft)}
.hero.light .drop-inner a:hover{color:var(--ink)}
.hero.light .kicker{color:var(--faint)}
.hero.light h1{color:var(--ink);font-size:clamp(46px,6.2vw,84px);font-weight:500;line-height:1.04;max-width:17ch}
.hero.light .lead{color:var(--soft);margin-top:0;font-size:clamp(16px,1.5vw,19px);max-width:44ch}
.hero.light .btn{background:var(--ink);color:#fff;border-color:var(--ink);margin-top:28px}
.hero.light .btn:hover{background:transparent;color:var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(36px,6vw,90px);align-items:end}
@media(max-width:840px){.hero-grid{grid-template-columns:1fr;gap:30px}}

/* center-stage media below the light hero */
.hero-media{padding-bottom:clamp(28px,4vw,56px)}
.hero-media img{display:block;width:100%;aspect-ratio:21/10;object-fit:cover}
@media(max-width:840px){.hero-media img{aspect-ratio:4/3}}

/* ---------- CONTENT BLOCKS (white) ---------- */
section.block{padding:clamp(64px,9vw,120px) 0}
.block.alt{background:var(--grey)}
.block .sub{margin-top:22px;color:var(--soft);font-size:clamp(15px,1.35vw,17px);max-width:52ch;font-weight:400}

/* ---------- OUTCOME (black, centred) ---------- */
.outcome{background:#fdefe2;color:var(--ink);text-align:center;padding:clamp(80px,12vw,150px) 0}
.outcome h2{color:var(--ink);max-width:20ch;margin:0 auto}
.outcome p{margin:26px auto 0;color:#6b5647;font-size:clamp(15px,1.4vw,18px);max-width:56ch;font-weight:400}

/* ---------- COMPLIANCE (white, 3 col) ---------- */
.compliance{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,56px);margin-top:40px}
.compliance .item h4{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.compliance .item h4 svg{width:17px;height:17px;flex:none;color:#F57200}
.compliance .item p{color:var(--soft);font-size:14.5px;font-weight:400}
@media(max-width:760px){.compliance{grid-template-columns:1fr;gap:30px}}

/* ---------- CTA BAND (black) ---------- */
.cta-band{background:var(--dark);color:var(--on-dark);text-align:center;padding:clamp(44px,6vw,68px) 0 clamp(36px,4vw,54px)}
.cta-band h2{color:var(--on-dark);max-width:22ch;margin:0 auto}
.cta-band p{margin:20px auto 0;color:var(--on-dark-soft);max-width:48ch;font-weight:300;font-size:clamp(15px,1.4vw,18px)}
.cta-band .btn{margin-top:32px}
.cta-band .cta-note{margin:16px auto 0;color:var(--on-dark-faint);font-size:13px;letter-spacing:.02em}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 24px;border:1px solid var(--ink);border-radius:4px;color:#fff;background:var(--ink);cursor:pointer;transition:.3s var(--ease)}
.btn svg{width:12px;height:12px}
.btn:hover{background:transparent;color:var(--ink)}
.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
/* button variant for dark backgrounds */
.on-dark .btn,.cta-band .btn,.hero .btn{background:#fff;color:var(--ink);border-color:#fff}
.on-dark .btn:hover,.cta-band .btn:hover,.hero .btn:hover{background:transparent;color:#fff}

/* ---------- FOOTER (black, single line) ---------- */
footer{background:var(--dark);color:var(--on-dark);padding:26px 0}
.foot-line{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap}
.copy{color:var(--on-dark-faint);font-size:12.5px}
.foot-nav{display:flex;gap:clamp(20px,3vw,36px);flex-wrap:wrap}
.foot-nav a{color:var(--on-dark-soft);font-size:12.5px;transition:color .2s}
.foot-nav a:hover{color:var(--on-dark)}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.rv.d4{transition-delay:.36s}.rv.d5{transition-delay:.48s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}}

