/* LOOK THEN LEAP — merged build stylesheet.
   Design per docs/design-brief.md: ivory base, near-black type, stone/sage surfaces, deep olive contrast,
   dusty blue LOOK, terracotta LEAP, Familjen Grotesk, large numbered chapter system. One theme, no effects. */

@font-face{font-family:Familjen;src:url('/assets/fonts/familjen.woff2') format('woff2');font-weight:400 700;font-display:swap}

:root{
  --ivory:#F6F4EF;--stone:#ECE9E1;--sage:#E4E7DD;--sage-2:#DCDFD3;--sage-3:#E0E3D8;--olive:#232B24;--olive-2:#363F37;--olive-grey:#6B7366;
  --ink:#171916;--ink-2:#3F423D;--muted:#5F635D;--muted-2:#9A9E96;
  --look:#5F7D9C;--look-pale:#ABC2D4;--leap:#9E4322;--leap-cta:#B2502A;--leap-hover:#8E3F1F;--leap-soft:#E09A72;
  --rule:rgba(23,25,22,.14);--rule-strong:#171916;--rule-light:rgba(243,241,234,.16);
  --on-dark:#F3F1EA;--on-dark-muted:#C3C9BF;--on-dark-soft:#A9B0A6;
  --frame:1320px;--gutter:clamp(20px,4vw,56px);--header-h:72px;
  --section-y:clamp(64px,7vw,104px);--radius:2px;
  --font:Familjen,'Familjen Grotesk',Arial,Helvetica,sans-serif;
  --fs-hero:clamp(42px,5.3vw,76px);--hero-gap:clamp(32px,4.6vw,64px);
  --fs-h2:clamp(30px,3.2vw,44px);
  --fs-display:clamp(36px,4.6vw,64px);
  --fs-close:clamp(40px,5.2vw,74px);
  --fs-num:clamp(56px,6vw,88px);
  --fs-giant:clamp(64px,8.5vw,124px);
  --fs-service:clamp(24px,2.1vw,30px);
  --fs-h3:clamp(20px,1.6vw,24px);
  --fs-body:16px;--fs-body-lg:18px;--fs-small:14px;--fs-label:12px;--track:.14em;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:var(--fs-body)/1.55 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:600;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
strong{font-weight:600}
em{font-style:normal}
[id]{scroll-margin-top:calc(var(--header-h) + 20px)}
:focus-visible{outline:2px solid var(--leap);outline-offset:3px}
.frame{width:min(var(--frame),100% - 2*var(--gutter));margin-inline:auto}
.label{font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track);text-transform:uppercase;line-height:1.3}
.label-accent{color:var(--leap)}
.line{display:block}
.line-look{color:var(--look)}
.line-leap{color:var(--leap)}
/* Brand words: dusty blue / terracotta on light surfaces, pale blue / soft terracotta on deep olive */
.word-look{color:var(--look)}
.word-leap{color:var(--leap)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- buttons ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:var(--radius);background:var(--leap-cta);color:var(--ivory);font-size:15px;font-weight:600;line-height:1.2;text-align:center;transition:background .2s}
.button:hover{background:var(--leap-hover);color:var(--ivory)}
.header-cta{min-height:44px;padding:0 18px;font-size:13px;font-weight:650;letter-spacing:.005em;flex:none}

/* ---------- header (deep olive, bookends with the hero) ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(35,43,36,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule-light);color:var(--on-dark)}
.header-inner{min-height:var(--header-h);display:flex;align-items:center;gap:32px}
.brand{display:flex;flex-direction:column;gap:4px;margin-right:auto}
.wordmark{font-size:14px;font-weight:700;letter-spacing:.16em;line-height:1;color:var(--on-dark)}
.descriptor{font-size:12px;color:var(--on-dark-soft);line-height:1.2}
.site-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500;color:var(--on-dark-muted)}
.site-nav>a{padding:6px 0}
.site-nav>a:hover,.nav-toggle:hover{color:var(--on-dark)}
.help-nav{position:relative}
.nav-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500}
.chevron{transition:transform .2s}
.nav-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}
.offer-menu{position:absolute;left:-12px;top:calc(100% + 6px);min-width:300px;margin:0;padding:8px;list-style:none;background:var(--olive-2);border:1px solid var(--rule-light);border-radius:var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.28);z-index:60}
.offer-menu a{display:block;padding:11px 12px;font-size:14px;font-weight:500;border-radius:var(--radius);color:var(--on-dark)}
.offer-menu a:hover,.offer-menu a:focus-visible{background:rgba(243,241,234,.08);color:var(--leap-soft)}
.offer-menu[hidden]{display:none}
.site-header :focus-visible,.method :focus-visible,.close :focus-visible{outline-color:var(--leap-soft)}
html:not(.js) .header-inner{align-items:flex-start;padding-block:14px}
html:not(.js) .site-nav{align-items:flex-start}
html:not(.js) .offer-menu{position:static;display:flex;flex-wrap:wrap;gap:2px 14px;box-shadow:none;border:0;padding:0 0 6px;min-width:0;background:none}
html:not(.js) .offer-menu a{padding:4px 0;font-size:13px;color:var(--on-dark-muted)}
html:not(.js) .nav-toggle .chevron{display:none}

/* ---------- hero: very light sage under the deep olive header; left proposition + CTA, right audit panel ---------- */
/* One continuous pale-sage block from under the header to the exact start of 01.
   Use calc() (not min()) so the fill is not dropped by engines that reject min() in min-height.
   Cap at 960px on tall desktops so the sage field does not become a void. */
.hero{background:var(--sage);color:var(--ink);padding:clamp(28px,4.4vh,44px) 0 clamp(40px,4.6vw,56px);min-height:calc(100vh - var(--header-h));min-height:calc(100dvh - var(--header-h))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--hero-gap);align-items:start}
/* Flex so paragraph margins do not collapse — spacing stays editorial and predictable */
.hero-copy{display:flex;flex-direction:column;align-items:flex-start}
/* The headline is the primary statement: it may run into the column gap so each line stays whole */
.hero h1{font-size:var(--fs-hero);line-height:.98;letter-spacing:-.045em;font-weight:650;color:var(--ink);margin-right:calc(12px - var(--hero-gap))}
.lede{margin-top:clamp(22px,2.6vw,32px);font-size:clamp(19px,1.55vw,23px);line-height:1.5;letter-spacing:-.015em;max-width:32ch;color:var(--ink)}
.lede strong{font-weight:600}
.hero-support{margin-top:22px;font-size:var(--fs-body);line-height:1.75;color:var(--ink-2);max-width:54ch}
.hero-support + .hero-support{margin-top:20px}
.hero-support strong{color:var(--ink);font-weight:600}
.hero-sign{margin-top:clamp(28px,2.8vw,36px);font-size:clamp(18px,1.4vw,20px);letter-spacing:-.012em;color:var(--ink)}
.hero-copy>.button{margin-top:30px;min-height:52px;padding:0 26px;font-size:15px}

/* Audit panel: the deep olive object in the hero — the primary conversion destination */
.audit-panel{background:var(--olive);color:var(--on-dark);border:1px solid var(--rule-light);border-top:2px solid var(--on-dark);border-radius:var(--radius);padding:clamp(22px,2.2vw,30px) clamp(22px,2.4vw,34px) clamp(22px,2.2vw,28px)}
.audit-panel :focus-visible{outline-color:var(--leap-soft)}
.panel-top{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.panel-top .label{color:var(--on-dark-muted)}
.panel-top .label-accent{color:var(--leap-soft)}
.audit-panel h2{margin-top:18px;font-size:clamp(28px,2.5vw,37px);line-height:1.04;letter-spacing:-.03em;color:var(--on-dark)}
.audit-panel h2 .line:first-child{color:var(--look-pale)}
.audit-panel h2 .line+.line{color:var(--leap-soft)}
.panel-intro{margin-top:12px;font-size:15px;line-height:1.5;color:var(--on-dark-muted)}
.audit-steps{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--rule-light)}
.audit-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid var(--rule-light)}
.step-num{font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;color:var(--leap-soft);padding-top:4px}
.audit-steps h3{font-size:17px;letter-spacing:-.015em;line-height:1.25;color:var(--on-dark)}
.audit-steps p{margin-top:4px;font-size:14px;line-height:1.45;color:var(--on-dark-muted)}
.panel-next{margin-top:16px;font-size:16px;color:var(--on-dark)}
.audit-panel .button{margin-top:12px;width:100%;min-height:50px;font-size:14px}
.panel-reassurance{margin-top:10px;font-size:13px;line-height:1.45;color:var(--on-dark-soft)}

/* ---------- chapter system ---------- */
.chapter{padding:var(--section-y) 0}
/* Colour rhythm: HERO sage → 01 ivory → 02 sage → 03 sage (fractionally darker) → 04 ivory → 05 olive → 06 ivory
   → 07 sage → FAQ ivory → 08 olive → footer ivory. Olive is reserved for the header, 05 and 08.
   Same-surface neighbours (02 → 03) are separated by a hairline; the rest change surface. */
.starting,.ongoing{background:var(--sage)}
.offers{background:var(--sage-3);border-top:1px solid var(--rule)}
.friction,.outcomes,.breadth,.faq{background:var(--ivory)}
.chapter-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,3vw,48px) clamp(24px,3vw,48px);align-items:start}
.chapter-mark{display:flex;flex-direction:column;gap:12px}
.chapter-num{font-size:var(--fs-num);font-weight:600;line-height:.85;letter-spacing:-.05em;color:var(--ink)}
.chapter-label{font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);line-height:1.4}
.chapter-body>h2{font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.03em;max-width:26ch}
.section-copy{margin-top:clamp(22px,2.6vw,32px);max-width:60ch;font-size:var(--fs-body-lg);line-height:1.5;color:var(--ink-2)}
.section-copy p+p{margin-top:16px}
.section-copy strong{color:var(--ink);font-weight:600}
.section-copy .kicker{font-size:13px;letter-spacing:var(--track);line-height:1.9;color:var(--ink)}
.section-copy .kicker strong{font-weight:600}

/* 02 / 06 — short chapters: heading and copy side by side so the section is composed, not empty */
.starting,.breadth{padding:clamp(56px,6vw,88px) 0}
.starting .chapter-body,.breadth .chapter-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px clamp(32px,4vw,64px);align-items:start}
.starting .chapter-body>h2,.breadth .chapter-body>h2{max-width:none}
.starting .section-copy,.breadth .section-copy{margin-top:0;padding-top:10px}

/* 01 — friction to flow */
.flow-intro{margin-top:18px;font-size:var(--fs-body-lg);color:var(--ink-2)}
.flow-intro strong{color:var(--ink);font-weight:500}
.flow-table{margin-top:clamp(28px,3vw,40px);background:var(--stone);border:1px solid var(--rule);border-radius:var(--radius)}
.flow-progress{display:flex;justify-content:flex-end;gap:14px;padding:14px 20px;border-bottom:1px solid var(--rule);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track);color:var(--muted-2)}
.flow-progress span{transition:color .4s}
.flow-progress span.is-active{color:var(--ink)}
.flow-progress span:first-child.is-active{color:var(--look)}
.flow-progress span:last-child.is-active{color:var(--leap)}
.flow-grid{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1fr) minmax(0,1fr)}
.flow-head{grid-row:1;padding:18px 20px;border-bottom:1px solid var(--rule-strong)}
.flow-head-now{grid-column:2}
.flow-head-tomorrow{grid-column:3;border-left:1px solid var(--rule)}
.flow-head h3{font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track);text-transform:uppercase;line-height:1.3}
.flow-head-now h3{color:var(--look)}
.flow-head-tomorrow h3{color:var(--leap)}
.flow-head p{margin-top:10px;font-size:clamp(20px,1.7vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.flow-head-now p{color:var(--muted)}
.flow-head-tomorrow p{color:var(--ink)}
.flow-item{display:contents}
.flow-item>h4,.flow-item>p{grid-row:var(--row);padding:16px 20px;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.45}
.flow-item>h4{grid-column:1;font-weight:600;letter-spacing:-.01em;text-wrap:pretty}
.flow-item.now>p{grid-column:2;color:var(--ink-2);transition:color .5s}
.flow-item.tomorrow>h4{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;border:0}
.flow-item.tomorrow>p{grid-column:3;position:relative;border-left:1px solid var(--rule);color:var(--ink);font-weight:500;transition:color .5s}
.flow-item.tomorrow>p::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--leap);transform-origin:top;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
html.js .flow-item.tomorrow:not(.is-on)>p{color:var(--muted-2)}
html.js .flow-item.tomorrow:not(.is-on)>p::before{transform:scaleY(0)}
html.js .flow-item.now.is-on>p{color:var(--muted)}

/* 03 — how we help (equal editorial rows) */
.offers-intro{margin-top:20px;max-width:60ch;font-size:var(--fs-body-lg);line-height:1.5;color:var(--ink-2)}
.offers-intro p+p{margin-top:8px}
.offer-list{margin-top:clamp(32px,4vw,56px);border-top:1px solid var(--rule-strong)}
.offer-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.4fr);gap:16px clamp(24px,3vw,48px);padding:clamp(28px,3vw,40px) 0;border-bottom:1px solid var(--rule)}
.offer-index{font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;color:var(--muted);padding-top:9px}
.offer-title h3{font-size:var(--fs-service);letter-spacing:-.025em;line-height:1.08}
.offer-title h4{margin-top:10px;font-size:var(--fs-label);font-weight:600;letter-spacing:var(--track);text-transform:uppercase;color:var(--muted);line-height:1.5;text-wrap:pretty}
.offer-copy{font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);max-width:60ch}
.offer-copy p:first-child{color:var(--ink);font-weight:500}
.offer-copy p+p{margin-top:10px}
.explore{display:inline-block;margin-top:16px;font-weight:600;color:var(--leap);border-bottom:1px solid currentColor;padding-bottom:2px}
.explore:hover{color:var(--ink)}

/* 04 — what becomes possible */
.outcomes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(32px,4vw,48px)}
.outcome{border-top:1px solid var(--rule-strong);padding-top:18px}
.outcome h3{font-size:var(--fs-h3)}
.outcome p{margin-top:10px;color:var(--ink-2);font-size:15px;line-height:1.5}

/* 05 — how we work (deep olive) */
.method{background:var(--olive);color:var(--on-dark)}
.method .chapter-num{color:var(--on-dark)}
.method .chapter-label{color:var(--on-dark-muted)}
.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px)}
.giant{font-size:var(--fs-giant);line-height:.9;letter-spacing:-.05em;font-weight:650}
.giant-look{color:var(--look-pale)}
.giant-leap{color:var(--leap-soft)}
.method-steps{margin-top:clamp(20px,2.6vw,32px);padding-top:20px;border-top:1px solid var(--rule-light);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.method-step h3{font-size:var(--fs-h3);color:var(--on-dark)}
.method-step p{margin-top:10px;color:var(--on-dark-muted);font-size:15px;line-height:1.5}

/* 07 — ongoing AI capability (sage, display scale, more presence) */
.ongoing{padding:clamp(72px,8vw,120px) 0}
.ongoing .chapter-body>h2{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.035em;max-width:none}
.ongoing .chapter-body>h2 .line+.line{color:var(--olive-grey)}
.ongoing .section-copy{font-size:clamp(18px,1.5vw,21px);max-width:56ch;padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--rule-strong)}

/* FAQ — before you leap */
.faq-head h2{font-size:13px;font-weight:600;letter-spacing:var(--track);text-transform:uppercase;line-height:1.4;padding-top:6px}
.faq-list{border-top:1px solid var(--rule-strong)}
details{border-bottom:1px solid var(--rule)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:clamp(17px,1.3vw,19px);font-weight:500;letter-spacing:-.01em;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--leap)}
.faq-icon{flex:none;width:12px;height:12px;color:var(--leap);transition:transform .2s}
details[open] .faq-icon{transform:rotate(45deg)}
.faq-answer{padding-bottom:22px;max-width:60ch;color:var(--ink-2);line-height:1.55}
.faq-answer p+p{margin-top:12px}
.faq-answer strong{color:var(--ink)}

/* 08 — your next move (deep olive, bookends the hero) */
.close{background:var(--olive);color:var(--on-dark);padding:clamp(60px,6.5vw,96px) 0}
.close .chapter-num{color:var(--on-dark)}
.close .chapter-label{color:var(--on-dark-muted)}
.close .chapter-body>h2{font-size:var(--fs-close);line-height:.98;letter-spacing:-.035em;max-width:none}
.close .line-look{color:var(--look-pale)}
.close .line-leap{color:var(--leap-soft)}
.close .button{margin-top:clamp(22px,2.6vw,30px);min-height:54px;padding:0 28px;font-size:16px}
.booking{margin-top:clamp(28px,3vw,40px)}
.booking-pending{min-height:1px;outline:none}
.booking-embed iframe{display:block;width:100%;height:min(760px,90vh);border:1px solid var(--rule-light);border-radius:var(--radius);background:#fff}
.booking-fallback{display:inline-block;margin-top:14px;font-weight:600;color:var(--leap-soft);border-bottom:1px solid currentColor;padding-bottom:2px}
html.booking-open,html.booking-open body{overflow:hidden;overscroll-behavior:none}
html.booking-open body{position:fixed;width:100%;left:0;right:0}

/* ---------- footer ---------- */
.site-footer{padding:30px 0 44px}
.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:baseline;font-size:13px;color:var(--muted)}
.footer-brand-block{display:flex;flex-direction:column;gap:4px}
.footer-brand{font-size:13px;font-weight:700;letter-spacing:.16em;color:var(--ink);line-height:1}
.footer-mail{color:var(--ink);font-weight:500;text-align:center}
.footer-mail:hover{color:var(--leap)}
.footer-note{text-align:right}

/* ---------- responsive ---------- */
@media (min-width:861px) and (min-height:1032px){
  .hero{min-height:960px}
}
@media (min-width:861px) and (max-height:780px){
  .hero{padding-top:24px}
  .audit-panel h2{margin-top:14px}
  .audit-steps li{padding:11px 0}
}
@media (max-width:1180px){
  .flow-grid{grid-template-columns:minmax(140px,.7fr) minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:1023px){
  .chapter-grid{grid-template-columns:1fr;gap:28px}
  .chapter-mark{flex-direction:row;align-items:baseline;gap:16px}
  .chapter-num{font-size:clamp(48px,7vw,64px)}
  .hero h1{font-size:clamp(40px,4.9vw,54px)}
  .starting .chapter-body,.breadth .chapter-body{grid-template-columns:1fr;gap:0}
  .starting .section-copy,.breadth .section-copy{margin-top:clamp(20px,2.6vw,28px);padding-top:0}
  .outcomes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
  .method-grid{gap:48px}
  .faq-head h2{padding-top:0}
}
@media (max-width:860px){
  :root{--header-h:0px}
  .site-header{position:static;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--olive)}
  .header-inner{flex-wrap:wrap;gap:10px 16px;padding:14px 0 6px;min-height:0}
  .brand{margin-right:auto}
  .header-cta{order:2}
  .site-nav{order:3;width:100%;gap:20px;padding:8px 0 6px;font-size:13px}
  .nav-toggle{font-size:13px;min-height:40px}
  .offer-menu{left:0;min-width:min(300px,calc(100vw - 40px))}
  .hero{padding:28px 0 48px;min-height:0}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero h1{font-size:clamp(40px,8.6vw,60px);margin-right:0}
  .lede{max-width:none}
  .hero-copy>.button{margin-top:28px}
  .audit-panel{padding:24px 22px}
  .audit-panel h2{font-size:clamp(28px,5.4vw,34px)}
  .method-grid{grid-template-columns:1fr}
  .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .flow-progress{justify-content:flex-start}
  .flow-grid{grid-template-columns:1fr}
  .flow-head{grid-column:1;padding:16px}
  .flow-head-now{grid-row:1;border-bottom:1px solid var(--rule)}
  .flow-head-tomorrow{grid-row:2;border-left:0;border-bottom:1px solid var(--rule-strong)}
  .flow-item>h4{grid-column:1;grid-row:calc(var(--mh) + 2);padding:16px 16px 6px;border-bottom:0;font-size:var(--fs-label);letter-spacing:var(--track);text-transform:uppercase;color:var(--muted)}
  .flow-item.now>p{grid-column:1;grid-row:calc(var(--mp) + 2);margin:0 16px 8px;padding:2px 0 2px 14px;border-bottom:0;border-left:2px solid var(--look-pale)}
  .flow-item.tomorrow>p{grid-column:1;grid-row:calc(var(--mp) + 2);margin:0 16px;padding:2px 0 2px 14px;border-left:2px solid var(--leap);border-bottom:0}
  .flow-item.tomorrow>p::before{display:none}
  .flow-item.tomorrow>p::after{content:"";position:absolute;left:-16px;right:-16px;bottom:-16px;border-bottom:1px solid var(--rule)}
  .flow-item.tomorrow>p{margin-bottom:16px}
  .offer-row{grid-template-columns:1fr;gap:12px;padding:26px 0}
  .offer-index{padding-top:0}
  .offer-copy{max-width:none}
  .outcomes-grid{grid-template-columns:1fr;gap:22px}
  .method-steps{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:14px}
  .footer-mail,.footer-note{text-align:left}
}
@media (max-width:480px){
  :root{--gutter:20px}
  .hero h1{font-size:clamp(36px,9.8vw,46px)}
  .audit-panel{padding:22px 18px}
  .audit-steps li{grid-template-columns:30px minmax(0,1fr)}
  .site-nav{gap:16px}
  .header-cta{font-size:12px;padding:0 12px}
}

/* ---------- motion and print ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-header,.hero,.audit-panel,.method,.close,.offer-menu{background:none!important;color:var(--ink)!important}
  .site-header{position:static;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid var(--rule-strong)}
  .wordmark,.hero h1,.lede,.hero-sign,.audit-panel h2,.audit-steps h3,.panel-next,.method .chapter-num,.method-step h3,.close .chapter-num{color:var(--ink)!important}
  .descriptor,.site-nav,.hero-support,.panel-intro,.audit-steps p,.panel-reassurance,.method .chapter-label,.method-step p,.close .chapter-label{color:var(--ink-2)!important}
  .word-look,.close .line-look{color:var(--look)!important}
  .word-leap,.close .line-leap{color:var(--leap)!important}
  .audit-panel{border-color:var(--rule);border-top-color:var(--ink)}
  .offer-menu{position:static;box-shadow:none;border:0}
  .chapter,.hero{padding:28px 0;break-inside:avoid}
  details>.faq-answer{display:block}
  .flow-item.tomorrow>p::before{transform:none}
  .booking-embed iframe,.calendly-overlay{display:none}
}
