/* ============================================================
   FINSTONE CONSULTANCY — site styles
   Locked language: Cornerstone mark · Spectral + Hanken Grotesk
   Midnight / Slate / Brass / Bone
   ============================================================ */

:root{
  --midnight:#0B1F3A;
  --slate:#1A3556;
  --brass:#B8895A;        /* accent — tweakable */
  --brass-deep:#9A6E3F;
  --bone:#F4F1EA;
  --paper:#FBFAF6;
  --tile:#FAF8F2;
  --ink:#2C2C2A;
  --ink-soft:rgba(44,44,42,.66);
  --hair:rgba(26,53,86,.14);
  --hair-strong:rgba(26,53,86,.24);
  --hair-bone:rgba(244,241,234,.16);

  --serif:'Spectral',Georgia,'Times New Roman',serif;     /* tweakable via [data-type] */
  --sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  --wrap:1180px;
  --measure:680px;
  --gut:clamp(22px,5vw,48px);
  --sec:clamp(76px,10vw,148px);
}

[data-type="source"]{ --serif:'Source Serif 4',Georgia,serif; }
[data-type="caslon"]{ --serif:'Libre Caslon Text',Georgia,serif; }

*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.62;
  letter-spacing:.002em;
}
h1,h2,h3,h4{margin:0;font-weight:500;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);}
.measure{max-width:var(--measure);}

/* ---------- shared type ---------- */
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:11px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--slate);
}
.eyebrow--line{display:flex;align-items:center;gap:16px;}
.eyebrow--line::after{content:"";flex:1;height:1px;background:var(--hair);}
.eyebrow--brass{color:var(--brass-deep);}

.serif{font-family:var(--serif);}
.lead{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--ink);text-wrap:pretty;}
.muted{color:var(--ink-soft);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.02em;
  padding:14px 24px;border-radius:3px;border:1px solid transparent;cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .2s ease;
  text-align:center;line-height:1;
}
.btn .arr{transition:transform .25s ease;}
.btn:hover .arr{transform:translateX(4px);}
.btn--solid{background:var(--midnight);color:var(--bone);}
.btn--solid:hover{background:var(--slate);}
.btn--brass{background:var(--brass);color:#fff;}
.btn--brass:hover{background:var(--brass-deep);}
.btn--ghost{background:transparent;color:var(--midnight);border-color:var(--hair-strong);}
.btn--ghost:hover{border-color:var(--midnight);}
.btn--onmid{background:var(--brass);color:#fff;}
.btn--onmid:hover{background:#fff;color:var(--midnight);}
.btn--ghostmid{background:transparent;color:var(--bone);border-color:var(--hair-bone);}
.btn--ghostmid:hover{border-color:var(--bone);}

/* ============================================================
   HEADER
   ============================================================ */
.site-head{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bone) 88%,transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease;
}
.site-head.is-stuck{border-bottom-color:var(--hair);}
.site-head__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px;}

.brand{display:flex;align-items:center;gap:14px;color:var(--midnight);}
.brand .mark{display:block;flex:none;}
.brand .rule{width:1px;height:34px;background:var(--brass);flex:none;}
.brand__wm{display:flex;flex-direction:column;line-height:1;}
.brand__name{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:-.012em;color:var(--midnight);}
.brand__sub{font-family:var(--sans);font-weight:600;font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--slate);margin-top:6px;}

.nav{display:flex;align-items:center;gap:34px;}
.nav a{
  font-family:var(--sans);font-weight:500;font-size:14.5px;color:var(--slate);
  position:relative;padding:4px 0;
}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brass);transition:right .28s ease;}
.nav a:hover{color:var(--midnight);}
.nav a:hover::after{right:0;}
.head-cta{display:flex;align-items:center;gap:18px;}
.menu-btn{display:none;}

/* ============================================================
   HERO  — three Feature directions: dark · light · ledger-mix
   ============================================================ */
.hero{position:relative;padding:clamp(34px,4.5vw,62px) 0 clamp(54px,7vw,90px);overflow:hidden;}
.hero__wrap{position:relative;}
.hero__col{position:relative;z-index:2;max-width:620px;}

.hero__eyebrow{margin-bottom:24px;}
.hero h1{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(40px,5.4vw,72px);line-height:1.03;letter-spacing:-.018em;
  color:var(--midnight);text-wrap:balance;
}
.hero h1 em{font-style:italic;color:var(--brass-deep);}
.hero__sub{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(18px,2.2vw,25px);line-height:1.5;color:var(--slate);
  margin:24px 0 0;max-width:34ch;
}
.hero__intro{margin:22px 0 0;max-width:46ch;color:var(--ink);}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}

/* right-side composition */
.hero__side{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;}
.hero__sym{display:none;width:min(30vw,330px);height:auto;color:var(--midnight);}

/* credential strip (dark + light) */
.hero__strip{
  display:none;align-items:center;flex-wrap:wrap;
  border-top:1px solid var(--hair);margin-top:clamp(38px,5vw,60px);padding-top:24px;
}
.hero__strip span{
  display:flex;align-items:baseline;gap:9px;font-size:13.5px;color:var(--ink-soft);
  padding:4px 26px;border-right:1px solid var(--hair);
}
.hero__strip span:first-child{padding-left:0;}
.hero__strip span:last-child{border-right:none;}
.hero__strip b{font-family:var(--serif);font-weight:500;font-size:16px;color:var(--midnight);}

/* ledger list */
.hero__ledger{display:none;width:100%;max-width:340px;}
.hero__ledger-lab{font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:4px;}
.hero__ledger dl{margin:0;border-top:1px solid var(--hair-strong);}
.hero__ledger dl > div{padding:18px 0;border-bottom:1px solid var(--hair);}
.hero__ledger dt{font-family:var(--serif);font-size:24px;color:var(--midnight);letter-spacing:-.01em;line-height:1.05;}
.hero__ledger dd{margin:7px 0 0;font-size:14px;color:var(--ink-soft);line-height:1.5;}

/* ---------- SHARED two-column feature composition ---------- */
[data-hero^="feature"] .hero__wrap{
  display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(36px,5vw,68px);align-items:center;
}
[data-hero^="feature"] .hero__side{display:flex;}
[data-hero^="feature"] .hero__sym{display:block;}

/* ---------- VARIANT: Feature · Dark (midnight, default) ---------- */
[data-hero="feature-dark"] .hero{background:var(--midnight);}
[data-hero="feature-dark"] .hero__sym{color:var(--bone);}
[data-hero="feature-dark"] .hero__eyebrow{color:rgba(244,241,234,.62);}
[data-hero="feature-dark"] .hero__eyebrow.eyebrow--line::after{background:var(--hair-bone);}
[data-hero="feature-dark"] .hero h1{color:var(--bone);}
[data-hero="feature-dark"] .hero h1 em{color:var(--brass);}
[data-hero="feature-dark"] .hero__sub{color:rgba(244,241,234,.84);}
[data-hero="feature-dark"] .hero__intro{color:rgba(244,241,234,.66);}
[data-hero="feature-dark"] .btn--ghost{color:var(--bone);border-color:var(--hair-bone);}
[data-hero="feature-dark"] .btn--ghost:hover{border-color:var(--bone);}
[data-hero="feature-dark"] .hero__strip{display:flex;border-top-color:var(--hair-bone);}
[data-hero="feature-dark"] .hero__strip span{color:rgba(244,241,234,.6);border-right-color:var(--hair-bone);}
[data-hero="feature-dark"] .hero__strip b{color:#fff;}
[data-hero="feature-dark"] .band{border-top:1px solid var(--hair-bone);}
/* solid-dark header over the dark hero, until it sticks */
[data-hero="feature-dark"] .site-head:not(.is-stuck){background:var(--midnight);backdrop-filter:none;}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .brand__name{color:var(--bone);}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .brand__sub{color:rgba(244,241,234,.6);}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .brand .mark{color:var(--bone);}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .nav a{color:rgba(244,241,234,.82);}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .nav a:hover{color:#fff;}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .btn--solid{background:var(--brass);color:#fff;}
[data-hero="feature-dark"] .site-head:not(.is-stuck) .btn--solid:hover{background:#fff;color:var(--midnight);}

/* ---------- VARIANT: Feature · Light (bone) ---------- */
[data-hero="feature-light"] .hero{background:var(--bone);}
[data-hero="feature-light"] .hero__sym{color:var(--midnight);}
[data-hero="feature-light"] .hero__strip{display:flex;}

/* ---------- VARIANT: Feature + Ledger (bone, mix) ---------- */
[data-hero="feature-ledger"] .hero{background:var(--bone);}
[data-hero="feature-ledger"] .hero__wrap{grid-template-columns:1.18fr .82fr;}
[data-hero="feature-ledger"] .hero__side{align-items:stretch;gap:22px;}
[data-hero="feature-ledger"] .hero__sym{display:block;width:min(16vw,128px);color:var(--midnight);align-self:flex-start;}
[data-hero="feature-ledger"] .hero__ledger{display:block;}

/* ---------- cornerstone build animation ---------- */
.draw-path{stroke-dasharray:120;stroke-dashoffset:120;animation:csDraw 2.4s cubic-bezier(.7,0,.2,1) .25s forwards;}
@keyframes csDraw{to{stroke-dashoffset:0;}}
.late-stone{opacity:0;transform:translateY(-8px);animation:csStone .5s ease .9s forwards;transform-box:fill-box;}
@keyframes csStone{to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){
  .draw-path{stroke-dashoffset:0;animation:none;}
  .late-stone{opacity:1;transform:none;animation:none;}
}

/* ============================================================
   MARQUEE / POSITIONING BAND (midnight)
   ============================================================ */
.band{background:var(--midnight);color:var(--bone);}
.band .eyebrow{color:rgba(244,241,234,.55);}
.band__slogan{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(26px,3.6vw,42px);line-height:1.18;color:var(--bone);
  text-wrap:balance;max-width:20ch;
}
.band__slogan b{font-style:normal;font-weight:500;color:#fff;}
.band__grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,90px);
  align-items:center;padding:var(--sec) 0;
}
.pillars{display:grid;gap:0;border-top:1px solid var(--hair-bone);}
.pillar{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--hair-bone);align-items:start;}
.pillar__no{font-family:var(--serif);font-size:15px;color:var(--brass);padding-top:3px;}
.pillar__t{font-family:var(--serif);font-size:20px;color:#fff;}
.pillar__d{font-size:14.5px;color:rgba(244,241,234,.66);margin-top:5px;line-height:1.5;}

/* ============================================================
   SECTION SCAFFOLD
   ============================================================ */
.section{padding:var(--sec) 0;}
.section--paper{background:var(--paper);}
.section--bone{background:var(--bone);}
.section__head{margin-bottom:clamp(40px,5vw,68px);}
.section__head--split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;}
.kicker{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;}
.kicker__no{font-family:var(--serif);font-size:14px;color:var(--brass-deep);letter-spacing:.04em;}
.section h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(29px,3.9vw,48px);
  line-height:1.06;letter-spacing:-.015em;color:var(--midnight);text-wrap:balance;
}
.section h2 em{font-style:italic;color:var(--brass-deep);}
.section__intro{margin-top:22px;}

/* ---------- problem / outcomes ---------- */
.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:6px;overflow:hidden;}
.outcome{background:var(--paper);padding:clamp(26px,3vw,40px);}
.outcome__big{font-family:var(--serif);font-size:clamp(34px,4vw,52px);color:var(--midnight);line-height:1;letter-spacing:-.02em;}
.outcome__big .u{color:var(--brass-deep);}
.outcome__t{font-family:var(--serif);font-size:19px;color:var(--midnight);margin-top:18px;}
.outcome__d{font-size:14.5px;color:var(--ink-soft);margin-top:8px;line-height:1.55;}

.beforeafter{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair);border-radius:6px;overflow:hidden;margin-top:clamp(34px,4vw,52px);}
.ba{padding:clamp(26px,3vw,42px);}
.ba--before{background:var(--tile);border-right:1px solid var(--hair);}
.ba--after{background:var(--midnight);color:var(--bone);}
.ba__lab{font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;}
.ba--before .ba__lab{color:var(--slate);}
.ba--after .ba__lab{color:var(--brass);}
.ba ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.ba li{display:grid;grid-template-columns:auto 1fr;gap:13px;font-size:15.5px;line-height:1.5;align-items:start;}
.ba--before li{color:var(--ink-soft);}
.ba--after li{color:rgba(244,241,234,.86);}
.ba .ic{width:18px;height:18px;flex:none;margin-top:2px;}

/* ============================================================
   SERVICES
   ============================================================ */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px);}
.svc{
  background:var(--paper);border:1px solid var(--hair);border-radius:6px;
  padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}
.svc:hover{border-color:var(--hair-strong);box-shadow:0 24px 50px -40px rgba(11,31,58,.5);transform:translateY(-2px);}
.svc--wide{grid-column:span 2;}
.svc__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;}
.svc__no{font-family:var(--serif);font-size:15px;color:var(--brass-deep);letter-spacing:.04em;padding-top:6px;}
.svc__icon{width:46px;height:46px;flex:none;color:var(--midnight);}
.svc h3{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.3vw,26px);line-height:1.12;color:var(--midnight);letter-spacing:-.01em;}
.svc__frame{margin:14px 0 22px;color:var(--ink-soft);font-size:15.5px;line-height:1.55;text-wrap:pretty;}
.svc__list{list-style:none;margin:auto 0 0;padding:0;border-top:1px solid var(--hair);}
.svc__list li{
  display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;
  padding:13px 0;border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink);line-height:1.45;
}
.svc__list li:last-child{border-bottom:none;}
.svc__list .tick{width:6px;height:6px;border-radius:1px;background:var(--brass);margin-top:8px;flex:none;}
.svc--wide .svc__list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;}
.svc--wide .svc__list li:nth-last-child(2){border-bottom:none;}

/* ============================================================
   APPROACH (steps)
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hair);}
.step{padding:34px 28px 34px 0;border-right:1px solid var(--hair);position:relative;}
.step:last-child{border-right:none;padding-right:0;}
.step__no{font-family:var(--serif);font-size:13px;color:var(--brass-deep);letter-spacing:.18em;}
.step__bar{height:2px;background:var(--brass);width:34px;margin:18px 0 20px;}
.step h4{font-family:var(--serif);font-weight:500;font-size:21px;color:var(--midnight);margin-bottom:10px;}
.step p{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}

/* ============================================================
   ABOUT
   ============================================================ */
.about__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,88px);align-items:start;}
.about__aside{position:sticky;top:108px;}
.credlist{display:grid;gap:0;border-top:1px solid var(--hair);margin-top:26px;}
.cred{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--hair);align-items:baseline;}
.cred__yr{font-family:var(--serif);font-size:14px;color:var(--brass-deep);}
.cred__t{font-family:var(--serif);font-size:18px;color:var(--midnight);}
.cred__d{font-size:13.5px;color:var(--ink-soft);margin-top:3px;}
.about__body p{margin-bottom:20px;font-size:17px;line-height:1.66;color:var(--ink);text-wrap:pretty;}
.about__body p:last-child{margin-bottom:0;}
.about__body .drop{font-family:var(--serif);font-style:italic;font-size:clamp(21px,2.4vw,27px);color:var(--slate);line-height:1.45;border-left:2px solid var(--brass);padding-left:24px;margin:30px 0;}
.scale-spectrum{display:flex;align-items:flex-end;gap:6px;margin-top:14px;}
.scale-spectrum .bar{flex:1;background:var(--midnight);border-radius:2px 2px 0 0;opacity:.18;}
.scale-spectrum .bar.on{opacity:1;background:var(--brass);}

/* ============================================================
   CTA / CONTACT
   ============================================================ */
.cta{background:var(--midnight);color:var(--bone);}
.cta__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(44px,6vw,96px);padding:var(--sec) 0;align-items:start;}
.cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,4.2vw,52px);line-height:1.04;letter-spacing:-.015em;color:var(--bone);text-wrap:balance;}
.cta h2 em{font-style:italic;color:var(--brass);}
.cta__lead{margin:24px 0 0;color:rgba(244,241,234,.78);max-width:42ch;font-size:17.5px;line-height:1.6;}
.cta .eyebrow{color:rgba(244,241,234,.55);}
.contacts{display:grid;gap:0;margin-top:34px;border-top:1px solid var(--hair-bone);}
.contact-row{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--hair-bone);}
.contact-row .ic{width:20px;height:20px;color:var(--brass);flex:none;}
.contact-row .lab{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,241,234,.5);}
.contact-row .val{font-family:var(--serif);font-size:18px;color:#fff;margin-top:3px;}

/* form */
.form{background:var(--paper);border-radius:6px;padding:clamp(28px,3vw,40px);color:var(--ink);}
.form h3{font-family:var(--serif);font-weight:500;font-size:23px;color:var(--midnight);margin-bottom:6px;}
.form__note{font-size:13.5px;color:var(--ink-soft);margin-bottom:24px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:8px;}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:15.5px;color:var(--ink);
  background:#fff;border:1px solid var(--hair-strong);border-radius:3px;padding:13px 14px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(184,137,90,.16);
}
.field textarea{resize:vertical;min-height:96px;}
.form .btn{width:100%;justify-content:center;margin-top:6px;}
.form__ok{display:none;text-align:center;padding:28px 8px;}
.form__ok.show{display:block;}
.form__ok .mk{width:48px;height:48px;margin:0 auto 16px;color:var(--brass);}
.form__ok h3{margin-bottom:8px;}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{background:var(--midnight);color:var(--bone);border-top:1px solid var(--hair-bone);}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:clamp(56px,6vw,80px) 0 clamp(40px,4vw,56px);}
.foot .brand__name,.foot .brand__sub{color:#fff;}
.foot__slogan{font-family:var(--serif);font-style:italic;font-size:22px;color:rgba(244,241,234,.82);margin-top:22px;max-width:24ch;line-height:1.4;}
.foot__col h5{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,241,234,.5);margin:0 0 18px;}
.foot__col a{display:block;font-size:15px;color:rgba(244,241,234,.8);padding:7px 0;transition:color .2s ease;}
.foot__col a:hover{color:#fff;}
.foot__bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--hair-bone);flex-wrap:wrap;}
.foot__meta{font-size:12px;letter-spacing:.06em;color:rgba(244,241,234,.5);}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  [data-hero^="feature"] .hero__wrap{grid-template-columns:1fr;gap:38px;}
  [data-hero^="feature"] .hero__col{max-width:620px;}
  [data-hero="feature-dark"] .hero__side,
  [data-hero="feature-light"] .hero__side{order:-1;align-items:flex-start;}
  [data-hero^="feature"] .hero__sym{align-self:flex-start;}
  [data-hero="feature-ledger"] .hero__ledger{max-width:520px;}
  .band__grid{grid-template-columns:1fr;gap:40px;}
  .about__grid{grid-template-columns:1fr;gap:40px;}
  .about__aside{position:static;}
  .cta__grid{grid-template-columns:1fr;gap:40px;}
  .foot__top{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:1fr 1fr;}
  .step{border-right:none;padding-right:28px;border-bottom:1px solid var(--hair);}
  .step:nth-child(odd){border-right:1px solid var(--hair);}
  .section__head--split{grid-template-columns:1fr;gap:18px;align-items:start;}
}
@media (max-width:680px){
  body{font-size:16px;}
  .nav{display:none;}
  .hero__strip{flex-direction:column;align-items:flex-start;gap:2px;}
  [data-hero="statement"] .hero__strip{align-items:center;}
  .hero__strip span{border-right:none;padding:7px 0;width:100%;border-bottom:1px solid var(--hair);}
  [data-hero="feature"] .hero__strip span{border-bottom-color:var(--hair-bone);}
  .hero__strip span:last-child{border-bottom:none;}
  .head-cta .btn--label{display:none;}
  .menu-btn{display:inline-flex;}
  .svc-grid{grid-template-columns:1fr;}
  .svc--wide{grid-column:span 1;}
  .svc--wide .svc__list{grid-template-columns:1fr;}
  .svc--wide .svc__list li:nth-last-child(2){border-bottom:1px solid var(--hair);}
  .outcomes{grid-template-columns:1fr;}
  .beforeafter{grid-template-columns:1fr;}
  .ba--before{border-right:none;border-bottom:1px solid var(--hair);}
  .steps{grid-template-columns:1fr;}
  .step{border-right:none !important;padding-right:0;}
  .foot__top{grid-template-columns:1fr;gap:30px;}
  .contact-row{grid-template-columns:auto 1fr;}
}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:60;background:var(--bone);transform:translateX(100%);transition:transform .35s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;padding:26px var(--gut);}
.drawer.open{transform:none;}
.drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;}
.drawer nav{display:flex;flex-direction:column;gap:4px;}
.drawer nav a{font-family:var(--serif);font-size:26px;color:var(--midnight);padding:14px 0;border-bottom:1px solid var(--hair);}
.drawer .btn{margin-top:28px;justify-content:center;}
.x-btn{background:none;border:none;cursor:pointer;color:var(--midnight);padding:8px;}
