/* NovusConfido. Concept: layered paper on a designer's desk.
   Every page reads like a sheet from an interior designer's drawing set:
   dimension lines, title blocks, snag lists and schedules. Measuring a room = measuring marketing.
   Keep this as the single managed stylesheet (Elementor > Custom Code). */
:root{
  --blue:#0a74da; --bright:#5cb0ff; --white:#fff; --black:#000;
  --ink:#0a1016; --mute:#536170; --line:#ccd5dd; --tint:#eef2f5; --on-dark:#b4c2d0; --dark-line:rgba(255,255,255,.2);
  --paper:#e8edf1; --band:#f1f4f6; --card:#fbfcfd; --ruled:rgba(10,60,110,.035); --deep:#071a2e;
  --sans:"Archivo Narrow","Arial Narrow",Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --display:var(--sans);
  --body:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gut:clamp(16px,3.4vw,56px);
  --sec:clamp(3rem,6vw,6rem);
  --d1:clamp(4.2rem,12.1vw,14.5rem);
  --d2:clamp(2.7rem,7vw,7.5rem);
  --d3:clamp(2rem,4.2vw,4.25rem);
  --d4:clamp(1.3rem,2vw,1.9rem);
  --ease:cubic-bezier(.2,.75,.2,1);
  interpolate-size:allow-keywords;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem;color-scheme:light}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.55 var(--body);overflow-x:clip;font-synthesis:none}
h1,h2,h3,h4,p,ol,ul,dl,dd,figure,blockquote{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{font-weight:400;text-wrap:balance}
a{color:inherit}
img,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.on-dark :focus-visible,.belief :focus-visible,.method :focus-visible,.offer :focus-visible,.final :focus-visible,.journey :focus-visible,.site-foot :focus-visible{outline-color:var(--white)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--black);color:var(--white);padding:.6rem 1rem;z-index:50}
.skip:focus{top:8px}
.wrap{max-width:1680px;margin-inline:auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
.sec{padding-block:var(--sec)}
.d1,.d2,.d3,.d4,.final-big,.founder-big,.offer-num{font-family:var(--display);font-weight:700}
.d2{font-size:var(--d2);line-height:.98;letter-spacing:-.018em}
.d3{font-size:var(--d3);line-height:1.02;letter-spacing:-.012em}
.d4{font-size:var(--d4);line-height:1.15}
.mono{font:500 .75rem/1.35 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.lede{font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.4;max-width:34em}
.ph{background:var(--blue);color:var(--white);padding:0 .28em;font:inherit;font-family:var(--mono);font-size:.85em;white-space:normal;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* Dimension line: the site's signature. */
.dim{display:flex;align-items:center;gap:.9em;font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.dim>span{flex:none;max-width:78%}
.dim::before,.dim::after{content:"";flex:1;height:11px;background:linear-gradient(currentColor,currentColor) center/100% 1px no-repeat;transition:transform 1s var(--ease)}
.dim::before{border-left:1px solid currentColor;transform-origin:right}
.dim::after{border-right:1px solid currentColor;transform-origin:left}
.motion .dim:not(.in){--x:0}
.motion .dim:not(.in)::before,.motion .dim:not(.in)::after{transform:scaleX(0)}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;gap:1.1em;background:var(--black);color:var(--white);padding:1em 1.35em;min-height:48px;text-decoration:none;font-weight:600;border:1px solid var(--black);transition:background .25s,color .25s,border-color .25s}
.btn i{font-style:normal;transition:transform .3s var(--ease)}
.btn:hover{background:var(--blue);border-color:var(--blue)}
.btn:hover i{transform:translateX(5px)}
.btn--inv{background:var(--white);color:var(--black);border-color:var(--white)}
.btn--inv:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.offer .btn--inv:hover{background:var(--blue);border-color:var(--blue)}
.btn--lg{font-size:1.2rem;padding:1.1em 1.5em}
.lnk{display:inline-block;font-weight:600;text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;padding-block:.2em;min-height:24px;transition:background-size .35s var(--ease)}
.lnk:hover{background-size:35% 1px}
.lnk::after{content:" →";display:inline-block;margin-left:.25em;transition:transform .3s var(--ease)}
.lnk:hover::after{transform:translateX(4px)}

/* Stamp: labels samples and proposals so they can't be mistaken for results. */
.stamp{display:inline-block;font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;border:1.5px solid var(--blue);color:var(--blue);padding:.45em .7em}
.stamp--draft{background:var(--blue);color:var(--white)}
.proof-tag{color:var(--blue);margin-bottom:1.5rem}

/* Header: stays in the page flow, never fixed. */
.site-head{position:relative;z-index:5;background:transparent}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.1rem}
.logo{font:700 1.5rem/1 var(--display);text-decoration:none;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2.4rem)}
.nav a:not(.btn){text-decoration:none;font-weight:500;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;padding-block:.35em;transition:background-size .3s var(--ease)}
.nav a:not(.btn):hover,.nav a[aria-current=page]{background-size:100% 1px}
.nav .btn{padding:.6em 1em;min-height:42px}
.nav-t{display:none;background:none;border:1px solid var(--ink);padding:.55em .85em;min-height:44px;cursor:pointer;font-weight:600}
.on-dark-head .site-head{color:var(--white)}
.on-dark-head .nav .btn{background:var(--white);color:var(--black);border-color:var(--white)}
.on-dark-head .nav-t{border-color:currentColor}

/* Plan drawing */
.plan{width:100%;height:auto;overflow:visible;color:currentColor}
.plan .room{fill:transparent;transition:fill .45s}
.plan .thin{fill:none;stroke:currentColor;stroke-width:1;opacity:.55}
.plan .walls{fill:none;stroke:currentColor;stroke-width:7;stroke-linecap:square}
.plan .route{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round}
.plan .route-end{fill:currentColor}
.plan .labels text{fill:currentColor;font:500 21px var(--mono);text-anchor:middle;letter-spacing:.02em}
.plan .labels .l{text-anchor:start}
@keyframes draw{to{stroke-dashoffset:0}}

/* What we track */
.track{background:var(--tint)}
.track-head{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;align-items:end;margin-bottom:clamp(2rem,4vw,4rem)}
.track-head h2{grid-column:1/span 8}
.track-head p{grid-column:9/-1}
.sched{width:100%;border-collapse:collapse}
.sched thead th{font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:.6rem 1rem .6rem 0;color:var(--mute);border-bottom:1.5px solid var(--ink)}
.sched tbody th{font:700 clamp(1.25rem,2.1vw,2.1rem)/1.1 var(--display);text-align:left;padding:1rem 1rem 1rem 0;width:44%}
.sched td{padding:1rem 1rem 1rem 0;vertical-align:middle}
.sched td:last-child{font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue);white-space:nowrap;padding-right:0;text-align:right}
.sched tbody tr{border-bottom:1px solid var(--line);transition:background .2s}
.sched tbody tr:hover{background:var(--white)}

/* Calculator */
.calc-sec{background:var(--blue);color:var(--white);padding-block:clamp(3.5rem,7vw,7rem);background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:56px 56px}
.calc{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,3vw,3rem) 1.5rem;align-items:start}
.calc-head{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:end}
.calc-head h2{grid-column:1/span 7}
.calc-head p{grid-column:9/-1;max-width:32em}
.calc-form{grid-column:1/span 5;display:grid;gap:1.15rem}
.f label{display:block;font-weight:600;margin-bottom:.35rem}
.f input,.f select,.f textarea{width:100%;background:var(--white);color:var(--ink);border:1.5px solid var(--ink);border-radius:0;padding:.75rem .85rem;min-height:48px;font-size:1.0625rem}
.f small{display:block;margin-top:.3rem;font-size:.875rem}
.calc-sec input:focus-visible{outline-color:var(--black)}
.calc-out{grid-column:7/-1;background:var(--black);color:var(--white);padding:clamp(1.25rem,2.6vw,2.6rem);display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem}
.calc-stamp{grid-column:1/-1;border-bottom:1px solid var(--dark-line);padding-bottom:.85rem;color:var(--white)}
.co b{display:block;font:700 clamp(2.6rem,5vw,5.2rem)/1 var(--display);letter-spacing:-.015em;overflow-wrap:anywhere}
.co span{display:block;margin-top:.35rem;color:var(--on-dark)}
.co--big{grid-column:1/-1}
.co--big b{font-size:clamp(3rem,7.2vw,7.8rem)}
.co--sm{grid-column:1/-1}
.co--sm b{font-size:clamp(1.6rem,2.3vw,2.4rem)}

/* Example plan */
.xp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:clamp(2rem,4vw,4rem)}
.xp-head h2{max-width:11em}
.sheet-x{border:1.5px solid var(--ink);background-image:linear-gradient(var(--tint) 1px,transparent 1px),linear-gradient(90deg,var(--tint) 1px,transparent 1px);background-size:32px 32px}
.xp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.xp>div{padding:1.15rem 1.25rem 1.5rem;border-bottom:1px solid var(--line);border-left:1px solid var(--line);margin-left:-1px;min-width:0}
.xp-wide{grid-column:1/-1}
.xp dt{font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--blue);margin-bottom:.5rem}
.xp-ol{counter-reset:x;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.xp-ol li{counter-increment:x;font:700 clamp(1.15rem,1.6vw,1.55rem)/1.2 var(--display)}
.xp-ol li::before{content:counter(x,upper-alpha);display:block;font:500 .75rem/1 var(--mono);color:var(--blue);margin-bottom:.5rem}

/* Journey */
.journey{background:var(--blue);color:var(--white);background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:56px 56px}
.jr{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,4vw,5rem)}
.jr-plan{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;align-self:start}
.jr-plan .room.on{fill:rgba(255,255,255,.2)}
.jr-steps{padding-block:var(--sec)}
.jr-h{font-size:clamp(2.4rem,4.6vw,5rem);margin-bottom:clamp(3rem,16vh,10rem)}
.jr-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:.6rem;opacity:.6;transition:opacity .4s}
.jr-step.on{opacity:1}
.jr-step:last-child{min-height:40vh}
.jr-step .d3{font-size:clamp(2.6rem,5vw,5.2rem)}
.jr-step>p{max-width:26em;font-size:1.15rem;line-height:1.4}
.jr-svc,.jr-step>p.jr-svc{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font:500 .8125rem/1.4 var(--mono)}
.jr-svc a{text-underline-offset:3px;min-height:24px}
.no-motion .jr-step{opacity:1}

/* Testing loop */
.loop{background:var(--black);color:var(--white)}
.loop-head{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin-bottom:clamp(2rem,4vw,4rem)}
.loop-line{display:flex;flex-wrap:wrap;gap:.6rem 0;font:500 .8125rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;border-block:1px solid var(--dark-line);padding-block:.85rem}
.loop-line li{flex:1 1 auto}
.loop-line li:not(:last-child)::after{content:"→";margin:0 .8em;color:var(--on-dark)}
.loop-line li:last-child::after{content:" ↺";color:var(--on-dark)}
.loop-tabs{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,5vw,5rem)}
.tablist{display:grid;gap:0;align-content:start}
.tablist button{background:none;border:0;border-top:1px solid var(--dark-line);padding:.7rem 0;text-align:left;cursor:pointer;font:700 clamp(1.4rem,2.2vw,2.2rem)/1.15 var(--display);color:var(--on-dark);transition:color .2s,padding .3s var(--ease)}
.tablist button:hover{color:var(--white)}
.tablist button[aria-selected=true]{color:var(--white);padding-left:1rem;box-shadow:inset 3px 0 0 var(--blue)}
.tabpanels .mono{color:var(--on-dark);margin-bottom:1rem}
.tabpanels .d4{font-size:clamp(1.75rem,3.7vw,3.8rem);line-height:1.07}

/* Stacking sheets */
.days{padding-block:var(--sec) clamp(3.5rem,6vw,6rem);background:var(--tint)}
.days-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:clamp(2rem,4vw,4rem)}
.days-head h2{max-width:10em}
.sheets{display:grid;gap:clamp(1rem,2vw,2rem)}
.sheet{position:sticky;top:calc(1rem + var(--i)*1.5rem);background:var(--white);border:1.5px solid var(--ink);padding:0 clamp(1rem,2.2vw,2.25rem) clamp(1.5rem,2.6vw,2.6rem);min-height:clamp(280px,36vh,360px)}
.sheet header{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-block:.75rem;margin-bottom:clamp(1.25rem,2.4vw,2.4rem);color:var(--blue)}
.sheet-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;margin-top:1.25rem;max-width:64rem}
.rhythm{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:clamp(2.5rem,5vw,5rem);border-top:1.5px solid var(--ink);padding-top:1.25rem}
.rhythm dt{font:700 1.3rem/1.15 var(--display);margin-bottom:.45rem}

/* Sample report */
.report-in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.report-copy{position:sticky;top:2rem}
.report-copy p:not(.stamp){margin-top:1rem;max-width:26em}
.report-sheet{position:relative;overflow:hidden;border:1.5px solid var(--ink);padding:clamp(1rem,2vw,2rem);display:grid;gap:1.5rem}
.report-sheet .wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-14deg);font:700 clamp(1.8rem,4.2vw,4.5rem)/1 var(--display);color:var(--blue);opacity:.14;pointer-events:none}
.report-sheet header{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;border-bottom:1.5px solid var(--ink);padding-bottom:.75rem}
.report-sheet header b{font:700 1.6rem/1 var(--display)}
.rs-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.rs-top span{display:block;font-size:.875rem;color:var(--mute)}
.rs-top b{font:700 clamp(1.8rem,3.2vw,3.2rem)/1.1 var(--display);white-space:nowrap}
.report-sheet table{width:100%;border-collapse:collapse;font-size:.95rem}
.report-sheet th,.report-sheet td{padding:.55rem .5rem .55rem 0;text-align:left;border-bottom:1px solid var(--line);font-weight:400}
.report-sheet thead th{font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;color:var(--mute)}
.rs-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.rs-notes b{display:block;font-weight:600;margin-bottom:.8rem}
.rs-notes i{display:block;height:1px;background:var(--line);margin-bottom:1.1rem}

/* Offer */
.offer{background:var(--black);color:var(--white);padding-block:clamp(3.5rem,7vw,7rem);overflow:clip}
.offer-tag{margin-bottom:.5rem;color:var(--on-dark)}
.offer-num{font-size:clamp(6rem,27.5vw,33rem);line-height:.86;letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:lining-nums}
.dim-on{color:var(--white)}
.offer .dim{margin-top:1rem}
.offer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2.5rem 1.5rem;margin-top:clamp(2.5rem,5vw,5rem)}
.of-a{grid-column:1/span 5}
.of-b{grid-column:7/span 3}
.of-c{grid-column:10/span 3}
.offer-grid p{margin-top:.8rem}
.of-a>p:first-of-type{font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.4}
.of-def{border-top:1px solid var(--dark-line);padding-top:.85rem}
.of-n{font:700 clamp(3rem,6vw,6.2rem)/1 var(--display);letter-spacing:-.015em}
.of-n--s{font-size:clamp(2.2rem,3.6vw,3.8rem)}
.offer-grid .of-n{margin-top:0}
.of-n small{font:500 .75rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-left:.6em}
.of-c .btn{margin-top:1.5rem}
.offer .ph{background:var(--white);color:var(--black)}
.final .ph,.of-def .ph{background:var(--white);color:var(--black)}

/* Founder */
.founder-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2.5rem 1.5rem}
.founder-big{grid-column:1/span 7;font-size:var(--d2);line-height:.98;letter-spacing:-.018em}
.founder-txt{grid-column:9/-1;display:grid;gap:1rem;align-content:end}
.sig{font:700 1.5rem/1 var(--display);margin-top:.5rem}
.founder-txt .lnk{justify-self:start}

/* Fit */
.fit{display:grid;grid-template-columns:7fr 5fr}
.fit-a{background:var(--blue);color:var(--white)}
.fit-b{background:var(--tint)}
.fit-in{padding:clamp(2.5rem,6vw,6rem) max(var(--gut),env(safe-area-inset-right,0px)) clamp(2.5rem,6vw,6rem) max(var(--gut),env(safe-area-inset-left,0px))}
.fit ul{margin-top:1.75rem}
.fit li{border-top:1px solid currentColor;padding-block:.75rem}
.fit-a li{font:700 clamp(1.25rem,2vw,2rem)/1.2 var(--display)}

/* FAQ */
.faq-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem clamp(2rem,5vw,6rem)}
.faq-in h2{position:sticky;top:2rem;align-self:start}
.qa{border-top:1px solid var(--ink)}
.qa:last-child{border-bottom:1px solid var(--ink)}
.qa summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding-block:1.05rem;font:700 clamp(1.2rem,1.7vw,1.6rem)/1.2 var(--display);transition:color .2s}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font:400 1.25rem/1.2 var(--mono);color:var(--blue);transition:transform .3s var(--ease);flex:none}
.qa[open] summary::after{transform:rotate(45deg)}
.qa summary:hover{color:var(--blue)}
.qa>div{padding-bottom:1.25rem;max-width:42em}

/* Final */
.final{background:var(--blue);color:var(--white);padding-block:var(--sec) clamp(3rem,5vw,5rem);overflow:clip}
.final-big{font-size:clamp(3.2rem,10.4vw,12.5rem);line-height:.93;letter-spacing:-.02em;max-width:9.6em}
.final-foot{margin-top:clamp(2.5rem,5vw,5rem);display:grid;gap:2rem}
.final-act{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2.5rem}
.final-act p{max-width:30em}
.final .btn--inv:hover{background:var(--black);color:var(--white)}

/* Footer */
.site-foot{background:var(--black);color:var(--white);padding-block:clamp(3rem,6vw,6rem) 1.5rem;overflow:clip}
.foot-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem}
.foot-col{grid-column:span 3;min-width:0}
.foot-col a{overflow-wrap:anywhere}
.foot-col:first-child{grid-column:span 6}
.foot-col h2{font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--on-dark);margin-bottom:.8rem}
.foot-col li{margin-bottom:.3rem}
.foot-col a{text-decoration:none;display:inline-block;padding-block:.15rem;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .3s var(--ease)}
.foot-col a:hover{background-size:100% 1px}
.foot-lead{font:700 clamp(1.5rem,2.4vw,2.4rem)/1.12 var(--display);max-width:15em}
.foot-sign{font:700 clamp(3.4rem,13.7vw,17rem)/.88 var(--display);letter-spacing:-.025em;margin-top:clamp(2.5rem,6vw,6rem);white-space:nowrap}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;margin-top:1.5rem;font-size:.875rem;color:var(--on-dark);border-top:1px solid var(--dark-line);padding-top:1rem}
.foot-base a{color:inherit}
.proof-btn{background:none;border:1px solid var(--dark-line);color:var(--on-dark);padding:.45rem .7rem;cursor:pointer;font:500 .75rem/1.2 var(--mono);min-height:36px}
.site-foot .ph{background:var(--white);color:var(--black)}

/* Hidden proof sections (appear only in review or when real data exists) */
.results{background:var(--tint)}
.res-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) 1.5rem;margin-top:2.5rem}
.res-wall b{display:block;font:700 clamp(2.2rem,6vw,6.5rem)/1 var(--display);overflow-wrap:anywhere}
.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-block:2.5rem}
.chain li{border-top:1.5px solid var(--ink);padding-top:.75rem;min-width:0}
.chain .mono{color:var(--blue);display:block;margin-bottom:.5rem}
.chain .d3{display:block;overflow-wrap:anywhere;font-size:clamp(1.4rem,2.2vw,2.2rem)}
.cs-var{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;margin-top:2rem}
.cs-var article{grid-column:span 3;border:1.5px solid var(--ink);padding:1.25rem;display:grid;gap:.6rem;align-content:start;min-width:0}
.cs-var .big{grid-column:span 6;background:var(--tint)}
.q-big{font:700 clamp(2.4rem,7vw,7.5rem)/1 var(--display);max-width:12em}
.q-sm{font:700 clamp(1.5rem,3vw,3rem)/1.1 var(--display);max-width:20em;margin:3rem 0 0 auto}
cite{display:block;font:500 .8125rem/1.3 var(--mono);margin-top:1rem;font-style:normal}

/* Inner pages */
.pg-hero{padding-block:clamp(2rem,5vw,5rem) clamp(2.5rem,5vw,5rem);overflow:clip;position:relative}
.pg-hero h1{font:700 clamp(3.1rem,9.6vw,11.5rem)/.93 var(--display);letter-spacing:-.02em;max-width:11em}
.pg-hero h1.h1-s{font-size:clamp(2.8rem,7.2vw,8.4rem);line-height:.97}
.pg-hero .lede{margin-top:clamp(1.25rem,2.5vw,2.5rem)}
.pg-hero .hero-act{margin-top:1.75rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.3rem .5rem;font:500 .75rem/1.4 var(--mono);margin-bottom:clamp(1.25rem,3vw,3rem)}
.crumbs a{text-underline-offset:3px;min-height:24px}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.6}
.theme-black{background:var(--black);color:var(--white)}
.theme-blue{background:var(--blue);color:var(--white)}
.theme-black .btn,.theme-blue .btn{background:var(--white);color:var(--black);border-color:var(--white)}
.theme-blue .btn:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.theme-black .btn:hover{background:var(--blue);color:var(--white);border-color:var(--blue)}
.theme-black .ph,.theme-blue .ph{background:var(--white);color:var(--black)}
.band-tint{background:var(--tint)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem}
.split>.l{grid-column:1/span 5}
.split>.r{grid-column:7/-1;display:grid;gap:1rem;max-width:44em}
.split>.l--stick{position:sticky;top:2rem;align-self:start}
.big-p{font:700 clamp(1.5rem,2.6vw,2.7rem)/1.14 var(--display)}
.incl{border-bottom:1.5px solid currentColor}
.incl li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.25rem;border-top:1.5px solid currentColor;padding-block:1rem}
.incl h3{font:700 clamp(1.25rem,1.8vw,1.75rem)/1.12 var(--display)}
.proc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem;counter-reset:p}
.proc li{counter-increment:p;border-top:1.5px solid currentColor;padding-top:.75rem;min-width:0}
.proc li::before{content:counter(p);font:700 clamp(2.5rem,4.4vw,4.6rem)/1 var(--display);color:var(--blue);display:block;margin-bottom:.75rem}
.theme-black .proc li::before,.theme-blue .proc li::before{color:currentColor}
.proc h3{font-weight:600;font-size:1.1rem;margin-bottom:.3rem}
.tags-m{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:0 1.5rem;margin-top:2rem}
.tags-m div{border-top:1px solid currentColor;padding-block:.8rem 1.1rem;break-inside:avoid}
.tags-m b{display:block;font:700 clamp(1.15rem,1.6vw,1.55rem)/1.15 var(--display);margin-bottom:.25rem}
.tline{margin-top:2rem;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:0}
.tline li{border-top:7px solid currentColor;padding:.85rem 1.25rem 0 0;position:relative;min-width:0}
.tline li::before{content:"";position:absolute;left:0;top:-14px;height:21px;width:1.5px;background:currentColor}
.tline b{display:block;font:700 clamp(1.25rem,2vw,2rem)/1.15 var(--display);margin-bottom:.35rem}
.fit2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem clamp(1.5rem,4vw,4rem)}
.fit2 h2{font:700 var(--d3)/1.03 var(--display);margin-bottom:1.25rem}
.fit2 li{border-top:1px solid currentColor;padding-block:.65rem}
.relate{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem}
.relate>div{grid-column:span 4;min-width:0}
.relate h2{font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.8rem;color:var(--mute)}
.relate li{border-top:1px solid var(--ink)}
.relate li a{display:block;padding-block:.7rem;text-decoration:none;font:700 clamp(1.2rem,1.6vw,1.5rem)/1.18 var(--display);transition:color .2s,transform .3s var(--ease)}
.relate li a:hover{color:var(--blue);transform:translateX(4px)}
.nextstep{padding-block:clamp(3rem,7vw,7rem)}
.nextstep p.big{font:700 clamp(2.6rem,7.6vw,8.8rem)/.96 var(--display);letter-spacing:-.018em;max-width:11em}
.nextstep .final-act{margin-top:2rem}
.route-note{border:1.5px solid var(--ink);padding:1.25rem;display:grid;gap:.75rem;justify-items:start;max-width:44em}

/* Service signature: Meta bill */
.bill{background:var(--white);color:var(--ink);border:1.5px solid var(--ink);padding:clamp(1rem,2.4vw,2.5rem);font-family:var(--mono);font-size:.95rem}
.bill h3{font:700 clamp(1.6rem,2.4vw,2.4rem)/1.05 var(--display);border-bottom:1.5px solid var(--ink);padding-bottom:.75rem;margin-bottom:.5rem}
.bill-r{display:flex;justify-content:space-between;gap:1rem;padding-block:.75rem;border-bottom:1px dashed var(--line)}
.bill-r b{font-weight:500;white-space:nowrap}
.bill-r--t{font-size:1.15rem;border-bottom:3px double var(--ink);font-weight:500}
.bill small{display:block;color:var(--mute);font:400 .875rem/1.35 var(--body);margin-top:.15rem}
.bill-note{margin-top:1rem;font:400 1rem/1.45 var(--body)}
.anatomy{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.anatomy li{border-top:7px solid currentColor;padding-top:.8rem;min-width:0}
.anatomy b{font:700 clamp(1.2rem,1.8vw,1.75rem)/1.1 var(--display);display:block;margin-bottom:.4rem}

/* Google terms */
.sbar{display:flex;align-items:center;gap:.75rem;border:1.5px solid currentColor;padding:clamp(.7rem,1.3vw,1.25rem) clamp(.8rem,1.5vw,1.5rem);font:700 clamp(1.2rem,3.4vw,3.5rem)/1.1 var(--display);margin-top:clamp(1.5rem,3vw,3rem);min-height:2.1em}
.sbar::before{content:"";flex:none;width:.6em;height:.6em;border:2px solid currentColor;border-radius:50%}
.sbar i{font-style:normal;border-right:2px solid currentColor;padding-right:2px;min-width:1px}
.terms{border-top:1.5px solid var(--ink)}
.terms li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line);padding-block:.75rem}
.terms q{font:700 clamp(1.15rem,1.7vw,1.6rem)/1.2 var(--display);quotes:none}
.terms small{grid-column:1;color:var(--mute);font-size:.95rem}
.terms em{grid-column:2;grid-row:1;font:500 .75rem/1.3 var(--mono);font-style:normal;text-transform:uppercase;padding:.3em .55em;border:1.5px solid var(--blue);color:var(--blue)}
.terms .no em{border-color:var(--ink);color:var(--ink)}
.terms .no q{text-decoration:line-through;text-decoration-thickness:1px}
.terms-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 1.5rem;margin-top:2rem}

/* SEO site plan */
.siteplan{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(7rem,auto);border:5px solid currentColor}
.siteplan>div{border:1px solid currentColor;padding:.85rem;min-width:0;display:grid;align-content:space-between;gap:.75rem}
.siteplan b{font:700 clamp(1.1rem,1.9vw,1.9rem)/1.1 var(--display)}
.siteplan small{font-size:.9rem;line-height:1.35}
.sp-a{grid-column:span 4;grid-row:span 2}
.sp-a b{font-size:clamp(1.6rem,3.8vw,3.8rem)}
.sp-b{grid-column:span 2}
.sp-c{grid-column:span 2}
.sp-d{grid-column:span 2}
.sp-e{grid-column:span 2}
.sp-f{grid-column:span 2}

/* Local check */
.check{border:1.5px solid var(--ink);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.check-l{padding:clamp(.5rem,1.4vw,1.5rem) clamp(1rem,2vw,2rem)}
.check label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;padding-block:.8rem;border-bottom:1px solid var(--line);cursor:pointer;align-items:start}
.check label:last-child{border-bottom:0}
.check input{width:1.3rem;height:1.3rem;margin:.15rem 0 0;accent-color:var(--blue)}
.check-r{background:var(--blue);color:var(--white);padding:clamp(1rem,2vw,2rem);display:grid;align-content:space-between;gap:1.5rem}
.check-r b{font:700 clamp(5rem,12vw,13rem)/.85 var(--display);letter-spacing:-.03em}
.rings{position:absolute;right:-7vw;top:74%;translate:0 -50%;width:min(44vw,720px);color:var(--blue);pointer-events:none}
.rings circle{fill:none;stroke:currentColor;stroke-width:1}
.rings path{fill:currentColor}

/* GEO */
.geo-strike{font:700 clamp(3.2rem,12vw,14.5rem)/.92 var(--display);letter-spacing:-.022em}
.geo-strike s{text-decoration-thickness:.05em;text-decoration-color:var(--blue)}
.ask{display:grid;gap:1rem;max-width:58rem;margin-left:auto}
.ask-q{justify-self:end;background:var(--tint);color:var(--ink);padding:1rem 1.25rem;font:700 clamp(1.2rem,2vw,2rem)/1.2 var(--display);max-width:32em}
.ask-a{border:1.5px solid currentColor;padding:clamp(1rem,2vw,1.75rem)}
.ask-a ul{margin-top:1rem;display:grid;gap:0}
.ask-a li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:1rem;border-top:1px solid var(--dark-line);padding-block:.7rem}
.ask-a li b{font-weight:600}

/* AEO toggle */
.ba{border:1.5px solid currentColor}
.ba-t{display:flex;border-bottom:1.5px solid currentColor}
.ba-t button{flex:1;background:none;border:0;padding:.9rem;min-height:48px;font-weight:600;cursor:pointer;color:inherit}
.ba-t button[aria-pressed=true]{background:var(--ink);color:var(--white)}
.ba-b{padding:clamp(1rem,2.4vw,2.5rem);min-height:17rem}
.ba-q{font:500 .8125rem/1.4 var(--mono);margin-bottom:.9rem;color:var(--blue)}
.ba-b p.ans{font:700 clamp(1.25rem,2.4vw,2.4rem)/1.2 var(--display)}
.ba-b p.bad{font-size:1.0625rem;line-height:1.6;color:var(--mute)}
.ba-b .note{margin-top:1rem;font-size:.95rem}

/* Services overview */
.pick{border-top:1.5px solid var(--ink)}
.pick li{border-bottom:1px solid var(--line)}
.pick a{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr) auto;gap:1.25rem;align-items:baseline;padding-block:1rem;text-decoration:none;transition:color .2s,padding .3s var(--ease)}
.pick a:hover{color:var(--blue);padding-left:.5rem}
.pick span:first-child{font:700 clamp(1.3rem,2.2vw,2.2rem)/1.12 var(--display)}
.pick b{font-weight:600}
.group{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:1.5rem}
.group h2{position:sticky;top:2rem;align-self:start}
.grp-row{display:block;text-decoration:none;border-top:1.5px solid currentColor;padding-block:1rem clamp(1.5rem,3vw,3rem);transition:color .2s}
.grp-row:hover{color:var(--blue)}
.theme-blue .grp-row:hover,.theme-black .grp-row:hover{color:inherit;opacity:.8}
.grp-row b{display:block;font:700 clamp(3rem,8.4vw,10rem)/.98 var(--display);letter-spacing:-.018em}
.grp-row span{display:block;max-width:42em;margin-top:.6rem}

/* Blog */
.blog-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:1rem 2rem;align-items:end;padding-block:1rem 1.5rem;border-bottom:1.5px solid var(--ink)}
.blog-cats{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.blog-cats button{background:none;border:0;padding:.5rem 0;min-height:44px;cursor:pointer;font-weight:500;color:var(--mute)}
.blog-cats button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--blue)}
.feat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;padding-block:clamp(2rem,4vw,4rem)}
.feat a.t{grid-column:1/span 9;font:700 clamp(2.4rem,6.2vw,7.2rem)/.98 var(--display);letter-spacing:-.016em;text-decoration:none;transition:color .2s}
.feat a.t:hover{color:var(--blue)}
.feat>div{grid-column:10/-1;align-self:end}
.posts{border-top:1.5px solid var(--ink)}
.posts li{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr) auto;gap:1.25rem;align-items:baseline;border-bottom:1px solid var(--line);padding-block:.8rem}
.posts .ti{font:700 clamp(1.15rem,1.6vw,1.5rem)/1.2 var(--display)}
.posts .ca{font-size:.95rem;color:var(--mute)}
.posts .st{font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;color:var(--mute)}
.no-res{padding-block:2rem}

/* Post */
.post-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem}
.toc{grid-column:1/span 3;position:sticky;top:2rem;align-self:start;font-size:.975rem}
.toc h2{font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem;color:var(--mute)}
.toc li{border-top:1px solid var(--line)}
.toc a{display:block;padding-block:.5rem;text-decoration:none}
.toc a:hover{color:var(--blue)}
.prose{grid-column:5/span 7;min-width:0;max-width:42em}
.prose h2{font:700 clamp(1.8rem,3vw,3rem)/1.05 var(--display);margin:2.75rem 0 .85rem;scroll-margin-top:1rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul,.prose ol{margin-bottom:1rem}
.prose ul{list-style:square;padding-left:1.2rem}
.prose ol{list-style:decimal;padding-left:1.4rem}
.prose li{margin-bottom:.4rem}
.prose a{color:var(--blue);text-underline-offset:3px}
.prose table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.prose th,.prose td{text-align:left;padding:.55rem .5rem .55rem 0;border-bottom:1px solid var(--line)}
.prose th{font-weight:600}
.tbl-x{overflow-x:auto}
.meta-l{display:flex;flex-wrap:wrap;gap:.3rem 1.25rem;font:500 .75rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-top:1.5rem}
.authorbox{border-top:1.5px solid var(--ink);margin-top:3rem;padding-top:1rem;display:grid;gap:.4rem}
.authorbox b{font:700 1.6rem/1.1 var(--display)}
.cta-box{background:var(--blue);color:var(--white);padding:clamp(1.25rem,2.6vw,2.5rem);margin-block:2.5rem;display:grid;gap:1rem;justify-items:start}
.cta-box p{margin:0}
.cta-box p.big-p{font-size:clamp(1.5rem,2.4vw,2.4rem)}
.cta-box .btn{background:var(--white);color:var(--black);border-color:var(--white)}
.cta-box .btn:hover{background:var(--black);color:var(--white);border-color:var(--black)}
.prose .cta-box a{color:var(--black);text-decoration:none}
.prose .cta-box .ph{background:var(--white);color:var(--black)}

/* Contact */
.contact-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2.5rem 1.5rem}
.c-form{grid-column:1/span 6;display:grid;gap:1.1rem}
.c-form .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem}
.c-form button{justify-self:start;cursor:pointer}
.c-status{padding:.85rem 1rem;border:1.5px solid var(--blue);font-weight:500}
.c-side{grid-column:8/-1;display:grid;gap:2rem;align-content:start}
.c-side h2{font:500 .75rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mute);margin-bottom:.4rem}
.c-side .big-p{overflow-wrap:anywhere}
.c-steps{counter-reset:c}
.c-steps li{counter-increment:c;display:grid;grid-template-columns:2rem minmax(0,1fr);border-top:1px solid var(--line);padding-block:.7rem}
.c-steps li::before{content:counter(c);font:700 1.3rem/1.2 var(--display);color:var(--blue)}

/* Legal */
.legal{max-width:44em}
.legal h2{font:700 clamp(1.5rem,2.2vw,2.2rem)/1.1 var(--display);margin:2.25rem 0 .6rem}
.legal p,.legal ul{margin-bottom:.9rem}
.legal ul{list-style:square;padding-left:1.2rem}
.legal a{color:var(--blue)}

/* Case studies shell */
.cs-empty{font:700 clamp(1.5rem,2.6vw,2.7rem)/1.14 var(--display);max-width:26em}

/* Motion. Only applied once JS confirms it can run and the visitor allows it. */
.motion .rv{opacity:0;transform:translateY(16px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.motion .rv.in{opacity:1;transform:none}
.w-m{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.12em;margin-block:-.12em;padding-right:.03em}
.w-i{display:inline-block;transition:transform .8s var(--ease),opacity .8s var(--ease);transition-delay:calc(var(--n)*.04s)}
.motion [data-split]:not(.in) .w-i{transform:translateY(102%);opacity:0}
@media (hover:hover){.tablist button:hover{transform:translateX(2px)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Tablet */
@media (max-width:1100px){
  .calc-form{grid-column:1/span 5}
  .calc-out{grid-column:6/-1}
  .rhythm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .of-a{grid-column:1/-1}.of-b{grid-column:1/span 6}.of-c{grid-column:7/-1}
  .proc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anatomy{grid-template-columns:repeat(2,minmax(0,1fr))}
  .relate>div{grid-column:span 6}
  .foot-col{grid-column:span 4}
  .foot-col:first-child{grid-column:span 4}
  .toc{grid-column:1/span 3}.prose{grid-column:4/-1}
  .feat a.t{grid-column:1/-1}.feat>div{grid-column:1/-1}
  .chain{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Phone: redesigned, not shrunk */
@media (max-width:760px){
  body{font-size:1.0625rem}
  .sec{padding-block:clamp(3.5rem,14vw,5rem)}
  .nav-t{display:inline-flex;align-items:center}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);color:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:0 var(--gut) 1rem;border-bottom:1.5px solid var(--ink);z-index:6}
  .nav.open{display:flex}
  .nav a:not(.btn){padding-block:.8rem;border-top:1px solid var(--line);font-size:1.15rem}
  .nav .btn{margin-top:.75rem;justify-content:space-between;min-height:48px;background:var(--black)!important;color:var(--white)!important;border-color:var(--black)!important}
  .sched thead{display:none}
  .sched,.sched tbody,.sched tr,.sched th,.sched td{display:block;width:100%}
  .sched tbody tr{padding-block:.85rem}
  .sched tbody th,.sched td{padding:0}
  .sched td{margin-top:.25rem}
  .sched td:last-child{text-align:left;margin-top:.45rem}
  .calc{display:block}
  .calc-head{display:block;margin-bottom:1.75rem}
  .calc-head p{margin-top:.85rem}
  .calc-out{margin-top:1.75rem}
  .xp,.xp-ol{grid-template-columns:minmax(0,1fr)}
  .jr{display:block;padding-inline:0}
  .jr-plan{height:auto;top:0;z-index:2;background:var(--blue);padding:.75rem var(--gut);display:block}
  .jr-plan .labels text{font-size:29px}
  .jr-plan .thin{display:none}
  .jr-steps{padding:2rem var(--gut) 3rem}
  .jr-h{margin-bottom:2rem;font-size:clamp(2.2rem,10vw,3.4rem)}
  .jr-step{min-height:52vh}
  .loop-line li{flex:none}
  .loop-tabs{grid-template-columns:minmax(0,1fr)}
  .tablist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
  .tablist button{font-size:1.2rem;min-height:48px}
  .sheet{position:relative;top:auto;min-height:0}
  .sheet-b{grid-template-columns:minmax(0,1fr)}
  .rhythm{grid-template-columns:minmax(0,1fr)}
  .report-in{display:block}
  .report-copy{position:static;margin-bottom:1.75rem}
  .rs-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rs-notes{grid-template-columns:minmax(0,1fr)}
  .offer-num{font-size:29vw}
  .offer-grid{display:block}
  .offer-grid>div{margin-bottom:2.25rem}
  .founder-in{display:block}
  .founder-txt{margin-top:1.75rem}
  .fit{grid-template-columns:minmax(0,1fr)}
  .faq-in{display:block}
  .faq-in h2{position:static;margin-bottom:1.5rem}
  .final-big{font-size:clamp(3.2rem,15.5vw,6rem)}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-col,.foot-col:first-child{grid-column:span 1}
  .foot-col:first-child{grid-column:1/-1}
  .foot-sign{font-size:13.6vw}
  .res-wall{grid-template-columns:minmax(0,1fr)}
  .chain{grid-template-columns:minmax(0,1fr)}
  .cs-var{display:block}.cs-var article{margin-bottom:1rem}
  .split{display:block}
  .split>.l{position:static;margin-bottom:1.5rem}
  .incl li{grid-template-columns:minmax(0,1fr);gap:.3rem}
  .proc,.anatomy{grid-template-columns:minmax(0,1fr)}
  .tline{grid-template-columns:minmax(0,1fr);border-left:5px solid currentColor;margin-left:.25rem}
  .tline li{border-top:0;padding:0 0 1.25rem 1rem}
  .tline li::before{display:none}
  .fit2{grid-template-columns:minmax(0,1fr)}
  .relate{display:block}.relate>div{margin-bottom:2rem}
  .terms-col{grid-template-columns:minmax(0,1fr)}
  .siteplan{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-a{grid-column:1/-1;grid-row:auto}
  .sp-b,.sp-c,.sp-d,.sp-e{grid-column:span 1}
  .sp-f{grid-column:1/-1}
  .check{grid-template-columns:minmax(0,1fr)}
  .rings{right:-40vw;top:60%;width:92vw;opacity:.22}
  .ask-a li{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .pick a{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .group{grid-template-columns:minmax(0,1fr)}
  .group h2{position:static}
  .blog-tools{grid-template-columns:minmax(0,1fr)}
  .posts li{grid-template-columns:minmax(0,1fr);gap:.15rem}
  .post-grid{display:block}
  .toc{position:static;margin-bottom:2rem}
  .contact-g{display:block}
  .c-side{margin-top:2.5rem}
  .c-form .two{grid-template-columns:minmax(0,1fr)}
}

/* ======================================================================
   Design v2: layered paper. Pale ruled paper, a side rail, mixed bold and
   italic type, render images with floating cards, deep navy sections.
   To change the colour feel, edit only the tokens in :root above.
   ====================================================================== */
body{background:var(--paper);background-image:repeating-linear-gradient(0deg,transparent 0 31px,var(--ruled) 31px 32px)}
em{font-style:normal}
.d2 em,.d3 em,.d4 em,h1 em,h2 em,.final-big em,.founder-big em,.leak-t em,.mast-h em,.big em,p.big em,.nextstep em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.025em;color:var(--blue)}
.d2{font-size:clamp(3rem,7.3vw,7.8rem);line-height:.96;letter-spacing:-.025em}
.d3{line-height:1;letter-spacing:-.02em}
.mono{letter-spacing:.09em}
.lede{color:#26313b}
.wrap{max-width:1720px}

/* Side rail */
.railed{display:grid;grid-template-columns:minmax(120px,13.5%) minmax(0,1fr);column-gap:0}
.rail{padding:.2rem 1.25rem 0 0;position:sticky;top:1.5rem;align-self:start;font-family:var(--mono);font-size:.72rem;line-height:1.45;min-width:0}
.rail-t{font-weight:500;text-transform:uppercase;letter-spacing:.08em;display:flex;gap:.55em;align-items:baseline}
.rail-t::before{content:"";flex:none;width:1.15em;height:.42em;border-block:1.5px solid var(--blue);translate:0 -.1em}
.rail-n{color:var(--mute);margin-top:.5rem}
.main{min-width:0;border-left:1px solid var(--blue);padding-left:clamp(1rem,2vw,2rem)}

/* Header bar: sits on the page and scrolls away. It is never fixed. */
.site-head{padding-top:.85rem}
.head-in{background:var(--card);border:1px solid var(--line);padding:.6rem .7rem .6rem 1rem;box-shadow:0 10px 30px -22px rgba(7,26,46,.5);max-width:1180px;margin-inline:auto;width:calc(100% - 2*var(--gut))}
.logo{font:700 1.45rem/1 var(--sans);letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}
.logo::before{content:"";width:3px;height:1.05em;background:var(--blue)}
.nav a:not(.btn){font-size:.95rem}
.scrollbar{position:fixed;left:0;top:env(safe-area-inset-top,0px);height:3px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}

/* Buttons */
.btn{border-radius:2px}
.btn i{display:inline-grid;place-items:center;width:1.6em;height:1.6em;margin:-.2em -.45em -.2em 0;border-left:1px solid rgba(255,255,255,.3)}

/* Image with honest caption */
.img{position:relative;margin:0;overflow:hidden;background:var(--line);isolation:isolate}
.img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.img figcaption{position:absolute;left:.5rem;bottom:.5rem;background:rgba(7,26,46,.72);color:#fff;font:500 .625rem/1.2 var(--mono);padding:.3em .55em;letter-spacing:.03em;z-index:1}
.motion .img:not(.in) img{transform:scale(1.07)}
.motion .img{clip-path:inset(0 0 0 0);transition:clip-path 1.05s var(--ease)}
.motion .img:not(.in){clip-path:inset(6% 4% 6% 4%)}

/* Masthead */
.mast{padding-top:clamp(1.5rem,3vw,3rem)}
.mast-h{font-size:clamp(4.2rem,13.2vw,15.5rem);line-height:.86;letter-spacing:-.035em;font-family:var(--sans);font-weight:700}
.mast-h .s,.mast-h em{display:block}
.mast-h em{letter-spacing:-.04em;line-height:.95;margin-top:-.02em;color:var(--ink)}
.drule{height:7px;border-block:1.5px solid var(--blue);margin-top:clamp(.75rem,1.4vw,1.5rem)}
.motion .drule{animation:ruleIn 1.1s var(--ease) .1s both;transform-origin:left}
@keyframes ruleIn{from{transform:scaleX(0)}}
.mast-g{display:grid;grid-template-columns:minmax(0,4.2fr) minmax(0,7.8fr);gap:clamp(1.25rem,3vw,3rem);padding-top:clamp(1.25rem,2.4vw,2.4rem);padding-bottom:clamp(3rem,6vw,6rem)}
.mast-sub{font-size:clamp(1.1rem,1.35vw,1.35rem);line-height:1.42;max-width:28em}
.mast-act{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.4rem;margin-top:1.5rem}
.mast-cue{display:flex;gap:1rem;align-items:center;border-top:1px solid var(--line);margin-top:1.75rem;padding-top:1.1rem}
.mast-cue b{font:700 clamp(2.4rem,3.6vw,3.6rem)/1 var(--sans);letter-spacing:-.025em}
.mast-cue span{font-size:.92rem;line-height:1.35;max-width:15em}
.mast-stage{position:relative;min-width:0}
.mast-stage>.img{aspect-ratio:7/5}
.flo{position:absolute;box-shadow:0 26px 50px -22px rgba(7,26,46,.55)}
.flo-chart{right:-.75rem;top:-1.5rem;width:clamp(200px,24%,300px);background:var(--deep);color:#fff;padding:.7rem .8rem .75rem}
.flo-top,.flo-x{display:flex;justify-content:space-between;font:500 .625rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.05em}
.flo-top span:last-child{color:var(--on-dark)}
.flo-chart svg{margin-block:.5rem;width:100%;height:auto;overflow:visible}
.fl-l{fill:none;stroke:#fff;stroke-width:2}
.flo-chart circle{fill:var(--bright)}
.motion .fl-l{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.7s var(--ease) .35s forwards}
.flo-x{color:var(--on-dark);text-transform:none;letter-spacing:0}
.flo-bill{left:-1.75rem;bottom:-2.25rem;width:clamp(250px,38%,390px);background:var(--card);padding:.95rem 1rem .9rem;font-size:.86rem;rotate:-1.2deg;
  --p:radial-gradient(circle at 6px 0,transparent 3.5px,#000 4px);-webkit-mask:var(--p) 0 0/12px 100%;mask:var(--p) 0 0/12px 100%}
.flo-h{font:500 .6875rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.55rem;padding-bottom:.45rem;border-bottom:1.5px solid var(--ink)}
.flo-bill>div{display:flex;justify-content:space-between;gap:1rem;padding-block:.34rem;border-bottom:1px solid var(--line)}
.flo-bill>div b{font-variant-numeric:tabular-nums;white-space:nowrap}
.flo-bill .t{border-bottom:0;padding-top:.5rem;font-size:1.02rem;align-items:baseline}
.flo-bill .t b{font:700 1.7rem/1 var(--sans)}

/* Strip */
.strip{background:var(--band);border-block:1px solid var(--line);padding-top:clamp(2.5rem,5vw,5rem)}
.strip-top{display:flex;justify-content:space-between;gap:1.5rem;align-items:start;margin-bottom:clamp(1.5rem,3vw,3rem)}
.strip-top h2{font:500 clamp(1.15rem,1.7vw,1.7rem)/1.2 var(--body);max-width:24em;letter-spacing:-.01em}
.tag{flex:none;font:500 .625rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--ink);padding:.4em .6em}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:clamp(2rem,4vw,4rem)}
.nums>div{border-left:1px solid var(--line);padding-left:clamp(.75rem,1.3vw,1.4rem);display:flex;flex-direction:column;min-width:0}
.nums>div:first-child{border-left:0;padding-left:0}
.nums dd{font:700 clamp(3rem,6.6vw,7.2rem)/.95 var(--sans);letter-spacing:-.03em;white-space:nowrap}
.nums dt{font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-top:.7rem;color:var(--mute)}
.marq{border-top:1px solid var(--line);overflow:hidden;padding-block:clamp(.8rem,1.4vw,1.4rem)}
.marq-t{display:flex;width:max-content;animation:mq 44s linear infinite}
.marq span{font:700 clamp(1.5rem,3vw,3.1rem)/1 var(--sans);letter-spacing:-.02em;white-space:nowrap;display:flex;align-items:center}
.marq span:nth-child(even){font-family:var(--serif);font-style:italic;font-weight:400}
.marq span::after{content:"";width:clamp(1.5rem,3vw,3rem);height:7px;border-block:1.5px solid var(--blue);margin-inline:clamp(.9rem,1.8vw,1.8rem)}
@keyframes mq{to{transform:translateX(-50%)}}
.marq:hover .marq-t{animation-play-state:paused}


/* Belief */
.belief{background:var(--deep);color:#fff;padding-block:var(--sec)}
.belief .rail-n,.belief-sub{color:var(--on-dark)}
.belief .main{border-left-color:rgba(255,255,255,.28)}
.belief .rail-t::before{border-color:#fff}
.belief-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,3vw,3rem);align-items:start}
.belief-h{font:700 clamp(3.3rem,8.4vw,9.4rem)/.92 var(--sans);letter-spacing:-.03em}
.belief-h em{color:#fff;display:inline-block}
.belief-sub{margin-top:1.5rem;max-width:30em;font-size:1.1rem}
.belief-fig .img{aspect-ratio:4/5}
.belief-l{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:clamp(.5rem,2vw,2rem)}
.belief-l li{border-top:1px solid rgba(255,255,255,.28);padding-top:.9rem}
.belief-l h3{font:700 clamp(1.5rem,2.3vw,2.4rem)/1.05 var(--sans);letter-spacing:-.015em;margin-bottom:.5rem}
.belief-l p{color:var(--on-dark);max-width:26em}

/* Capabilities accordion */
.caps{padding-block:var(--sec)}
.caps-h{max-width:11em;margin-bottom:clamp(2rem,4vw,4rem)}
.cap{border-top:1px solid var(--ink)}
.cap:last-child{border-bottom:1px solid var(--ink)}
.cap summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding-block:clamp(.7rem,1vw,1rem);transition:padding .3s var(--ease),color .2s}
.cap summary::-webkit-details-marker{display:none}
.cap summary>span{font:700 clamp(1.9rem,3.8vw,4rem)/1 var(--sans);letter-spacing:-.02em}
.cap summary small{font:500 .6875rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.9em;color:var(--mute);text-align:right}
.cap summary small::after{content:"+";font-size:1.15rem;color:var(--blue);transition:rotate .3s var(--ease)}
.cap[open] summary small::after{rotate:45deg}
.cap summary:hover{padding-left:.5rem;color:var(--blue)}
.cap-b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-bottom:1.6rem}
.cap-b .mono{color:var(--mute);display:block;margin-bottom:.5rem;font-size:.6875rem}
.cap-b p{font-size:1rem;line-height:1.45;max-width:28em}
.cap-b .lnk{margin-top:.6rem}

/* Chart case */
.cc{padding-block:0 var(--sec)}
.cc-h{max-width:11em;margin-bottom:1rem}
.cc-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(1.5rem,3vw,3rem)}
.cc-chart{background:var(--deep);color:#fff;padding:clamp(.85rem,1.4vw,1.4rem);position:sticky;top:6vh;align-self:start;box-shadow:0 26px 50px -26px rgba(7,26,46,.6)}
.cc-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font:500 .6875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.7rem;margin-bottom:.8rem;border-bottom:1px solid rgba(255,255,255,.2)}
.cc-top span:last-child{color:var(--on-dark)}
.cc-chart svg{width:100%;height:auto;overflow:visible}
.cc-grid path{stroke:rgba(255,255,255,.13);fill:none}
.cc-a{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:var(--o,0)}
.cc-b{fill:none;stroke:var(--bright);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:var(--o,0)}
.cc-m{stroke:#fff;stroke-width:1;stroke-dasharray:3 4;transform:translateX(var(--mx,640px))}
.cc-x text{fill:var(--on-dark);font:500 13px var(--mono);text-anchor:middle}
.cc-leg{display:flex;gap:1.25rem;font-size:.82rem;margin-top:.4rem;color:var(--on-dark)}
.cc-leg span::before{content:"";display:inline-block;width:1.4em;height:3px;background:var(--bright);margin-right:.5em;vertical-align:middle}
.cc-leg .k2::before{height:1px;background:rgba(255,255,255,.6)}
.cc-cap{margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.2);min-height:4.6em;font-size:1.02rem}
.cc-steps li{min-height:48vh;padding-top:.9rem;border-top:1px solid var(--line);transition:opacity .4s}
.cc-steps li:last-child{min-height:40vh}
.motion .cc-steps li:not(.on){opacity:.35}
.cc-steps .mono{color:var(--blue)}
.cc-steps h3{font:700 clamp(2.2rem,3.6vw,3.8rem)/1 var(--sans);letter-spacing:-.022em;margin:.4rem 0 .6rem}
.cc-steps p{max-width:28em}

/* Method: pinned horizontal panels on desktop, swipe on phones */
.method{background:var(--deep);color:#fff;position:relative}
.method-pin{overflow-x:auto;scroll-snap-type:x proximity;padding-block:clamp(2.5rem,5vw,4.5rem) 1.5rem;-webkit-overflow-scrolling:touch}
.method-track{display:flex;gap:clamp(1rem,2vw,2rem);width:max-content;padding-inline:max(var(--gut),env(safe-area-inset-left,0px))}
.method-intro{width:clamp(280px,31vw,540px);flex:none;padding-right:1rem;display:grid;align-content:center;gap:1.1rem;scroll-snap-align:start}
.method-h{font:700 clamp(3rem,6.6vw,7.2rem)/.94 var(--sans);letter-spacing:-.03em}
.method-h em{color:#fff}
.method-intro>p:last-child{color:var(--on-dark);max-width:26em}
.mstep{width:clamp(250px,23vw,370px);flex:none;border-left:1px solid rgba(255,255,255,.2);padding-left:clamp(.75rem,1.2vw,1.25rem);scroll-snap-align:start;display:flex;flex-direction:column}
.mstep .img{aspect-ratio:5/4.1}
.mstep .img figcaption{font-size:.5625rem;bottom:auto;top:.4rem}
.mstep .o{font:700 clamp(3rem,4.6vw,5rem)/1 var(--sans);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.75);margin-top:-.5em;position:relative;z-index:1}
.mstep .mono{color:var(--on-dark);font-size:.6875rem}
.mstep h3{font:700 clamp(2rem,3vw,3.2rem)/1 var(--sans);letter-spacing:-.02em;margin:.35rem 0 .5rem}
.mstep>p{color:var(--on-dark);font-size:1rem;line-height:1.42}
.mstep .out{margin-top:auto;padding-top:1rem;color:#fff;font-weight:600}
.mstep .out .mono{display:block;margin-bottom:.2rem;font-weight:500}
.mstep .out::after{content:"";display:block;width:2.5rem;height:6px;border-block:1.5px solid var(--bright);margin-top:.5rem}
.method-bar{height:2px;background:rgba(255,255,255,.2);margin:1.5rem var(--gut) 0;display:none}
.method-bar i{display:block;height:100%;background:#fff;transform:scaleX(var(--p,0));transform-origin:left}
.js-pin .method-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-block:1.5rem}
.js-pin .method-track{will-change:transform}
.js-pin .method-bar{display:block}

/* Journey keeps the blueprint */
.jr-h{font-size:clamp(2.6rem,5.2vw,5.6rem)}
.jr-h em,.journey em{color:#fff}
.jr-step .d3{font-size:clamp(2.8rem,5.4vw,5.8rem)}
.plan .labels text{font-family:var(--mono)}

/* Why */
.whyv{padding-block:var(--sec)}
.whyv-h{max-width:12em;margin-bottom:clamp(2rem,4vw,4rem)}
.whyv-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,3vw,3rem)}
.whyv-fig .img{aspect-ratio:1/1;position:sticky;top:3vh}
.whyv-l li{display:grid;grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);gap:1rem;border-top:1px solid var(--ink);padding-block:1rem clamp(1.5rem,3vw,3rem)}
.whyv-l b{font:700 clamp(4.4rem,9vw,10rem)/.82 var(--sans);letter-spacing:-.04em;color:var(--blue)}
.whyv-l h3{font:700 clamp(1.45rem,2.2vw,2.3rem)/1.04 var(--sans);letter-spacing:-.015em;margin-bottom:.5rem}

/* Track table */
.track{background:var(--band);padding-block:var(--sec);border-top:1px solid var(--line)}
.track-h{margin-bottom:clamp(1.5rem,3vw,3rem)}
.sched tbody th{font:700 clamp(1.25rem,2vw,2.1rem)/1.1 var(--sans);letter-spacing:-.012em}
.sched tbody tr{border-bottom-color:var(--line)}
.sched tbody tr:hover{background:var(--paper)}

/* Calculator */
.calc-sec{background:var(--paper);background-image:none;color:var(--ink);padding-block:var(--sec)}
.calc-h{max-width:10em}
.calc-note{margin-top:1rem;max-width:32em}
.calc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;margin-top:clamp(1.5rem,3vw,3rem);align-items:stretch}
.calc-form{grid-column:auto;background:var(--card);padding:clamp(1rem,2vw,2rem);border:1px solid var(--line);border-right:0}
.f input,.f select,.f textarea{border:1px solid var(--ink);background:#fff}
.f small{color:var(--mute)}
.calc-sec input:focus-visible{outline-color:var(--blue)}
.calc-out{grid-column:auto;background:var(--deep);box-shadow:0 30px 60px -30px rgba(7,26,46,.7)}
.calc-stamp{border-color:rgba(255,255,255,.22)}
.co b{font:700 clamp(2.8rem,5.2vw,5.6rem)/1 var(--sans);letter-spacing:-.025em}
.co--big b{font-size:clamp(3.4rem,8vw,8.8rem);letter-spacing:-.035em}
.co--sm b{font-size:clamp(1.6rem,2.4vw,2.6rem)}

/* Loop */
.loop{background:transparent;color:var(--ink);padding-block:0 var(--sec)}
.loop-h{max-width:11em;margin-bottom:1.5rem}
.loop-line{border-color:var(--ink)}
.loop-line li:not(:last-child)::after,.loop-line li:last-child::after{color:var(--blue)}
.loop-tabs{margin-top:clamp(1.5rem,3vw,3rem);background:var(--card);padding:clamp(1rem,2vw,2rem);box-shadow:0 26px 50px -30px rgba(7,26,46,.4)}
.tablist button{font:700 clamp(1.4rem,2.2vw,2.3rem)/1.1 var(--sans);letter-spacing:-.015em;color:var(--mute);border-top-color:var(--line)}
.tablist button:hover,.tablist button[aria-selected=true]{color:var(--ink)}
.tabpanels .mono{color:var(--blue)}
.tq{font:400 clamp(1.7rem,3.3vw,3.6rem)/1.08 var(--serif);font-style:italic;letter-spacing:-.022em}

/* Days */
.days{background:var(--band);border-top:1px solid var(--line);padding-block:var(--sec)}
.days-h{max-width:11em;margin-bottom:1rem}
.sheets{margin-top:clamp(1.5rem,3vw,3rem)}
.sheet{border:0;box-shadow:0 18px 40px -26px rgba(7,26,46,.5);background:var(--card);border-top:3px solid var(--ink)}
.sheet .d3{font-size:clamp(2.2rem,4.4vw,4.6rem)}
.rhythm{border-top-color:var(--ink)}
.rhythm dt{font:700 1.35rem/1.1 var(--sans);letter-spacing:-.01em}

/* Report */
.report{padding-block:var(--sec)}
.report-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,3rem)}
.report-copy p{margin-top:1rem;max-width:26em}
.report-sheet{border:0;background:var(--card);box-shadow:0 30px 60px -32px rgba(7,26,46,.55);rotate:.6deg;--p:radial-gradient(circle at 7px 0,transparent 4px,#000 4.5px);-webkit-mask:var(--p) 0 0/14px 100%;mask:var(--p) 0 0/14px 100%;padding-top:2rem}
.report-sheet header b{font:700 1.8rem/1 var(--sans);letter-spacing:-.015em}
.rs-top b{font:700 clamp(1.8rem,3vw,3.2rem)/1.1 var(--sans)}
.report-sheet .wm{font:400 clamp(1.8rem,4vw,4.4rem)/1 var(--serif);font-style:italic}

/* Offer */
.offer{background:var(--deep)}
.offer-num{font-family:var(--sans);font-weight:700;font-size:clamp(7rem,35vw,44rem);line-height:.8;letter-spacing:-.045em;padding-top:.05em}
.offer .d3 em{color:#fff}
.of-n{font:700 clamp(3.2rem,6.4vw,6.8rem)/1 var(--sans);letter-spacing:-.03em}
.of-n--s{font-size:clamp(2.4rem,3.9vw,4.2rem)}

/* Founder */
.founder{padding-block:var(--sec)}
.founder-in{display:grid;grid-template-columns:minmax(0,7.5fr) minmax(0,4.5fr);gap:clamp(1.5rem,3vw,3rem)}
.founder-big{font:700 clamp(3rem,6.8vw,7.4rem)/.95 var(--sans);letter-spacing:-.028em}
.founder-txt{display:grid;gap:1rem;margin-top:clamp(1.5rem,3vw,3rem);max-width:38em}
.founder-txt .lnk{justify-self:start}
.sig{font:400 1.7rem/1 var(--serif);font-style:italic}
.founder-fig .img{aspect-ratio:4/5;position:sticky;top:3vh}

/* Fit, FAQ */
.fit-a{background:var(--deep);color:#fff}
.fit-a em{color:#fff}
.fit-b{background:var(--band)}
.fit-a li{font:700 clamp(1.25rem,2.1vw,2.2rem)/1.15 var(--sans);letter-spacing:-.012em}
.qa summary{font:700 clamp(1.25rem,1.9vw,1.9rem)/1.15 var(--sans);letter-spacing:-.012em}

/* Final */
.final{position:relative;background:var(--deep);padding-block:clamp(5rem,12vw,12rem) clamp(3rem,5vw,5rem)}
.final-bg{position:absolute;inset:0}
.final-bg .img{height:100%}
.final-bg figcaption{display:none}
.final-bg::after{content:"";position:absolute;inset:0;background:rgba(5,17,31,.76)}
.final-in{position:relative}
.final-big{font:700 clamp(3.4rem,10.8vw,13rem)/.9 var(--sans);letter-spacing:-.032em;max-width:10.5em}
.final-big em{color:#fff}
.final .btn--inv:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Footer */
.site-foot{background:var(--deep);border-top:1px solid rgba(255,255,255,.14)}
.foot-lead{font:700 clamp(1.5rem,2.5vw,2.6rem)/1.08 var(--sans);letter-spacing:-.015em}
.foot-sign{font:700 clamp(3.4rem,16.4vw,24rem)/.82 var(--sans);letter-spacing:-.04em}
.foot-sign em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.045em}
.foot-base{border-top-color:rgba(255,255,255,.18)}
.proof-btn{border-color:rgba(255,255,255,.3)}
.results,.cs-feat,.cs-more,.quotes{padding-block:var(--sec)}

/* Inner pages */
.pg-hero h1{font:700 clamp(3.3rem,10vw,12rem)/.92 var(--sans);letter-spacing:-.03em}
.pg-hero h1.h1-s{font:700 clamp(2.9rem,7.6vw,8.8rem)/.96 var(--sans);letter-spacing:-.028em}
.theme-black{background:var(--deep)}
.theme-black em,.theme-blue em{color:#fff}
.theme-blue{background:var(--blue)}
.band-tint{background:var(--band)}
.has-fig .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:0 clamp(1.5rem,3vw,3rem);align-items:start}
.has-fig .crumbs,.has-fig h1,.has-fig .sbar,.has-fig .dim{grid-column:1/-1}
.has-fig h1{margin-bottom:clamp(1.25rem,2.5vw,2.5rem);max-width:none}
.has-fig .lede{margin-top:0;grid-column:1}
.has-fig .hero-act{grid-column:1}
.pg-fig{grid-column:2;grid-row:3/span 4;margin-bottom:0}
.pg-fig .img{aspect-ratio:7/4.4}
.has-fig .dim{margin-top:clamp(1.5rem,3vw,3rem)!important}
.has-fig.has-sb .pg-fig{grid-row:4/span 4}
.big-p{font:400 clamp(1.45rem,2.5vw,2.6rem)/1.14 var(--serif);font-style:italic;letter-spacing:-.016em}
.incl h3{font:700 clamp(1.3rem,1.9vw,2rem)/1.08 var(--sans);letter-spacing:-.012em}
.incl{background:var(--card);padding-inline:clamp(.85rem,1.5vw,1.5rem);border-bottom:0;box-shadow:0 22px 44px -32px rgba(7,26,46,.5)}
.incl li:first-child{border-top:0}
.incl li{border-top:1px solid var(--line)}
.proc h3{font:700 1.5rem/1.1 var(--sans);letter-spacing:-.012em}
.proc li::before{font:700 clamp(2.8rem,4.6vw,5rem)/1 var(--sans);color:transparent;-webkit-text-stroke:1.2px var(--blue)}
.theme-black .proc li::before,.theme-blue .proc li::before{color:transparent;-webkit-text-stroke:1.2px #fff}
.band-tint.proc li::before{color:var(--blue)}
.tags-m{background:var(--card);padding:clamp(.25rem,.8vw,.75rem) clamp(.85rem,1.5vw,1.5rem);box-shadow:0 22px 44px -32px rgba(7,26,46,.5);gap:0 2rem}
.tags-m div{border-top:1px solid var(--line)}
.tags-m b{font:700 clamp(1.2rem,1.7vw,1.7rem)/1.1 var(--sans)}
.tline b{font:700 clamp(1.35rem,2.1vw,2.2rem)/1.08 var(--sans)}
.fit2 h2{font:700 var(--d3)/1 var(--sans);letter-spacing:-.02em}
.relate li a{font:700 clamp(1.2rem,1.6vw,1.6rem)/1.15 var(--sans)}
.nextstep p.big{font:700 clamp(3rem,8.6vw,10rem)/.92 var(--sans);letter-spacing:-.03em}
.route-note{background:var(--card);border:0;border-top:3px solid var(--blue);box-shadow:0 18px 40px -28px rgba(7,26,46,.5)}
.bill{border:0;--p:radial-gradient(circle at 7px 0,transparent 4px,#000 4.5px);-webkit-mask:var(--p) 0 0/14px 100%;mask:var(--p) 0 0/14px 100%;padding-top:2rem;background:var(--card);box-shadow:0 26px 50px -30px rgba(7,26,46,.6)}
.bill h3{font:700 clamp(1.8rem,2.6vw,2.7rem)/1 var(--sans)}
.anatomy b{font:700 clamp(1.3rem,1.9vw,2rem)/1.05 var(--sans)}
.sbar{font:400 clamp(1.3rem,3.4vw,3.6rem)/1.1 var(--serif);font-style:italic;background:var(--card);border-width:1px;box-shadow:0 18px 40px -26px rgba(7,26,46,.4)}
.terms q{font:700 clamp(1.15rem,1.7vw,1.7rem)/1.15 var(--sans)}
.siteplan b{font:700 clamp(1.15rem,2vw,2rem)/1.05 var(--sans)}
.sp-a b{font-size:clamp(1.8rem,4vw,4.2rem)}
.check{border:0;background:var(--card);box-shadow:0 26px 50px -30px rgba(7,26,46,.5)}
.check-r b{font:700 clamp(5rem,12vw,13rem)/.85 var(--sans)}
.geo-strike{font:700 clamp(3.3rem,10vw,12rem)/.92 var(--sans)!important}
.ask-q{font:400 clamp(1.25rem,2vw,2.1rem)/1.15 var(--serif);font-style:italic;background:var(--card)}
.ba{border:0;background:var(--card);box-shadow:0 26px 50px -30px rgba(7,26,46,.5)}
.ba-t{border-bottom:1px solid var(--line)}
.ba-b p.ans{font:400 clamp(1.4rem,2.5vw,2.6rem)/1.14 var(--serif);font-style:italic}
.pick{background:var(--card);border-top:0;padding-inline:clamp(.85rem,1.5vw,1.5rem);box-shadow:0 22px 44px -32px rgba(7,26,46,.5)}
.pick span:first-child{font:700 clamp(1.3rem,2.2vw,2.3rem)/1.08 var(--sans);letter-spacing:-.012em}
.grp-row b{font:700 clamp(3.2rem,9vw,11rem)/.94 var(--sans);letter-spacing:-.03em}
.posts{background:var(--card);border-top:0;padding-inline:clamp(.85rem,1.5vw,1.5rem);box-shadow:0 22px 44px -32px rgba(7,26,46,.5)}
.posts .ti{font:700 clamp(1.15rem,1.6vw,1.6rem)/1.15 var(--sans)}
.feat a.t{font:700 clamp(2.5rem,6.6vw,7.6rem)/.96 var(--sans);letter-spacing:-.025em}
.blog-tools{border-bottom-color:var(--line)}
.prose h2{font:700 clamp(1.9rem,3.2vw,3.2rem)/1.02 var(--sans);letter-spacing:-.02em}
.authorbox b{font:700 1.7rem/1.1 var(--sans)}
.cs-empty{font:400 clamp(1.5rem,2.6vw,2.7rem)/1.14 var(--serif);font-style:italic}
.legal h2{font:700 clamp(1.5rem,2.2vw,2.3rem)/1.05 var(--sans)}
.q-big,.q-sm{font-family:var(--serif);font-style:italic}
.res-wall b{font-family:var(--sans);font-weight:700}
.c-steps li::before{font:700 1.4rem/1.2 var(--sans)}

/* v2 tablet */
@media (max-width:1100px){
  .railed{grid-template-columns:minmax(0,1fr)}
  .rail{position:static;display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin-bottom:1rem;padding:0}
  .rail-n{margin:0}
  .main{border-left:0;padding-left:0}
  .belief-g,.founder-in{grid-template-columns:minmax(0,1fr)}
  .belief-fig .img,.founder-fig .img{aspect-ratio:7/4.4}
  .founder-fig .img,.whyv-fig .img{position:static}
  .belief-l{grid-column:auto}
  .calc{grid-template-columns:minmax(0,1fr)}
  .calc-form{border-right:1px solid var(--line);border-bottom:0}
  .report-in{grid-template-columns:minmax(0,1fr)}
  .report-copy{position:static}
  .flo-bill{left:-.5rem}
  .flo-chart{right:-.25rem}
}
/* v2 phone: redesigned, not shrunk */
@media (max-width:760px){
  .head-in{width:calc(100% - 2*var(--gut))}
  .nav{top:calc(100% + 1px)}
  .mast-h{font-size:clamp(4rem,21.2vw,10rem);line-height:.88}
  .mast-h em{font-size:.86em}
  .mast-g{grid-template-columns:minmax(0,1fr);padding-bottom:4.5rem}
  .mast-stage{order:-1;margin-inline:calc(-1*var(--gut))}
  .mast-stage>.img{aspect-ratio:5/4.2}
  .flo-chart{display:none}
  .flo-bill{position:relative;left:auto;bottom:auto;margin:-2.75rem var(--gut) 0 auto;width:min(82%,330px)}
  .mast-copy{order:1}
  .mast-cue b{font-size:3rem}
  .strip-top{flex-direction:column;align-items:start}
  .nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:1.5rem}
  .nums>div:nth-child(3){border-left:0;padding-left:0}
  .nums dd{font-size:clamp(2.8rem,14vw,5rem)}
  .belief-l{grid-template-columns:minmax(0,1fr)}
  .cap summary{flex-direction:column;gap:.25rem}
  .cap summary small{width:100%;justify-content:space-between}
  .cap-b{grid-template-columns:minmax(0,1fr)}
  .cc-g{grid-template-columns:minmax(0,1fr)}
  .cc-chart{position:relative;top:auto}
  .cc-steps li,.cc-steps li:last-child{min-height:0;padding-block:1rem 1.5rem}
  .motion .cc-steps li:not(.on){opacity:1}
  .method-intro{width:86vw}
  .mstep{width:76vw}
  .whyv-g{grid-template-columns:minmax(0,1fr)}
  .whyv-fig .img{aspect-ratio:7/5}
  .jr{padding-inline:0}
  .report-sheet{rotate:none}
  .offer-num{font-size:35vw}
  .tq{font-size:1.75rem}
  .foot-sign{font-size:16.4vw}
  .has-fig .wrap{grid-template-columns:minmax(0,1fr)}
  .pg-fig,.has-fig.has-sb .pg-fig{grid-column:1;grid-row:auto;margin-top:1.5rem;min-width:0}
}
@media (prefers-reduced-motion:reduce){.marq-t{animation:none}.flo{translate:none}}
.hero-act{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem}
.theme-black .lede,.theme-blue .lede{color:inherit}
.theme-black em,.theme-black .big em,.nextstep.theme-black em{color:#fff}
.theme-blue em,.theme-blue .big em,.nextstep.theme-blue em{color:#fff}
.theme-black .crumbs,.theme-blue .crumbs{color:inherit}
.method-pin{scroll-padding-inline:max(var(--gut),env(safe-area-inset-left,0px))}
@media (max-width:760px){
  .jr-step{opacity:1}
  .method-intro::after{content:"Swipe to see all six →";font:500 .75rem/1.3 var(--mono);color:#fff}
}


/* ======================================================================
   v3: real photos, no empty space. Every block is a normal container
   with an Image widget, so it can be rebuilt in Elementor as it looks here.
   ====================================================================== */
.img{height:auto}
.img img{display:block}
.mast-h{font-size:clamp(3.6rem,11.6vw,14rem)}
.mast-h em{font-size:.93em}
.mast-stage>.img{aspect-ratio:3/2}

/* Problems */
.leak{padding-block:var(--sec)}
.leak-h{max-width:13em;margin-bottom:clamp(1.5rem,3vw,3rem)}
.prob{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,2.6vw,2.6rem) clamp(1rem,2vw,2rem)}
.prob>li{background:var(--card);display:flex;flex-direction:column;box-shadow:0 22px 44px -32px rgba(7,26,46,.5)}
.prob .img{aspect-ratio:16/9}
.prob>li>div{padding:clamp(1rem,1.6vw,1.6rem);display:grid;gap:.7rem;justify-items:start}
.prob-t{font:700 clamp(1.7rem,3vw,3.1rem)/1.02 var(--sans);letter-spacing:-.022em}
.prob-t em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue);letter-spacing:-.025em}

/* Services row with photo */
.cap-b{grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr));align-items:start}
.cap-b .img{aspect-ratio:4/3}
.caps{padding-block:var(--sec)}

/* Example month */
.cc{padding-block:0 var(--sec)}
.cc-steps{display:grid;gap:clamp(1rem,2vw,2rem)}
.cc-steps li,.cc-steps li:last-child{min-height:0;padding:0 0 1.1rem;border-top:0;background:var(--card);box-shadow:0 18px 40px -30px rgba(7,26,46,.5)}
.cc-steps .img{aspect-ratio:16/8;margin-bottom:.8rem}
.cc-steps .mono,.cc-steps h3,.cc-steps p{margin-inline:1rem}
.cc-steps .mono{display:block}
.cc-steps h3{font-size:clamp(1.7rem,2.6vw,2.8rem)}
.motion .cc-steps li:not(.on){opacity:1}

/* Method */
.mstep .o{margin-top:-.55em}
.mstep .mono{display:block}
.js-pin .mstep .img{aspect-ratio:5/3.9}

/* Journey */
.jr-steps{padding-block:var(--sec)}
.jr-h{margin-bottom:clamp(1.5rem,3vw,3rem)}
.jr-step,.jr-step:last-child{min-height:0;padding-block:0 clamp(2rem,4vw,3.5rem);opacity:.72}
.jr-step .img{aspect-ratio:16/8;margin-bottom:.8rem}
.jr-step .d3{font-size:clamp(2.1rem,3.6vw,3.8rem)}
.jr-step.on{opacity:1}

/* Why */
.whyv{padding-block:var(--sec)}
.whyv-fig .img{aspect-ratio:4/3.4}
.whyv-l li{padding-block:.9rem 1.2rem}
.whyv-l b{font-size:clamp(3.6rem,6.6vw,7.4rem)}

/* Testing */
.loop-tabs{grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);align-items:stretch}
.tabfig .img{height:100%;min-height:15rem}
.tq{font-size:clamp(1.5rem,2.5vw,2.7rem)}

/* First 30 days */
.sheet{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36%);column-gap:clamp(1rem,2vw,2rem);padding-bottom:clamp(1rem,1.6vw,1.6rem)}
.sheet header{grid-column:1/-1;margin-bottom:clamp(.8rem,1.4vw,1.4rem)}
.sheet .d3{font-size:clamp(1.9rem,3.2vw,3.4rem)}
.sheet-b{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:.8rem}
.sheet .img{aspect-ratio:4/3;align-self:start}

/* Report */
.report-fig{margin-top:1.25rem}
.report-fig .img{aspect-ratio:16/9}

/* Founder */
.founder-fig .img{aspect-ratio:4/4.6}

/* Gallery */
.gal{padding-block:0 var(--sec)}
.gal-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);gap:clamp(.75rem,1.4vw,1.4rem);align-items:stretch}
.gal-a .img,.gal-c .img{height:100%;min-height:22rem}
.gal-b{display:grid;gap:clamp(.75rem,1.4vw,1.4rem);align-content:space-between}
.gal-t{font:700 clamp(2rem,3.6vw,3.9rem)/1 var(--sans);letter-spacing:-.024em}
.gal-t em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue)}
.gal-b .img{aspect-ratio:16/9}

/* FAQ */
.faq-l{display:grid;gap:clamp(1rem,2vw,2rem);align-content:start}
.faq-in h2{position:static}
.faq-l .img{aspect-ratio:4/3}

/* Final */
.final{padding-block:clamp(4rem,8vw,8rem) clamp(2.5rem,4vw,4rem)}
.final-bg::after{background:rgba(5,17,31,.62)}

/* Footer */
.foot-sign{font-size:clamp(4rem,23vw,28rem);line-height:.85;margin-top:clamp(1.5rem,3vw,3rem)}

/* Inner pages */
.split-i{align-items:center}
.split-i>.l{grid-column:1/span 6}
.split-i>.r{grid-column:7/-1;display:block;max-width:none}
.split-f>.r{grid-column:1/span 6;grid-row:1}
.split-f>.l{grid-column:7/-1}
.split-i .img{aspect-ratio:4/3}
.r-t{display:grid;gap:.85rem;margin-top:1rem;max-width:42em}
.fit3{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:clamp(1rem,2.4vw,2.4rem);align-items:start}
.fit3 h2{font:700 clamp(1.7rem,2.6vw,2.8rem)/1.02 var(--sans);letter-spacing:-.02em;margin-bottom:.9rem}
.fit3 li{border-top:1px solid currentColor;padding-block:.65rem}
.fit3 .img{aspect-ratio:4/3.4}
.grp-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(1rem,2vw,2rem);align-items:center;padding-block:1rem}
.grp-row .img{aspect-ratio:4/3}
.grp-row b{font-size:clamp(2.6rem,6.4vw,7.4rem)}
.feat2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1rem,2.4vw,2.4rem);align-items:center;padding-block:clamp(1.25rem,2.4vw,2.4rem)}
.feat2-i{display:block}
.feat2 .img{aspect-ratio:16/9.5}
.feat2 .t{font:700 clamp(2rem,3.8vw,4.2rem)/1 var(--sans);letter-spacing:-.022em;text-decoration:none}
.feat2 .t:hover{color:var(--blue)}
.pcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.4rem)}
.pcards>li{background:var(--card);display:flex;flex-direction:column;box-shadow:0 18px 40px -30px rgba(7,26,46,.5)}
.pcards .pt .img{aspect-ratio:16/10}
.pcards .ti{font:700 clamp(1.1rem,1.4vw,1.45rem)/1.12 var(--sans);padding:.8rem .85rem .5rem}
.pcards .pm{margin-top:auto;display:flex;justify-content:space-between;gap:.5rem;padding:.2rem .85rem .85rem;font-size:.85rem}
.pcards .st{font:500 .625rem/1.6 var(--mono);text-transform:uppercase;color:var(--mute)}
.pcards .ca{color:var(--blue)}
.post-fig{margin-top:1.5rem}
.post-fig .img{aspect-ratio:21/9}
.c-fig .img{aspect-ratio:16/9}

/* v3 tablet */
@media (max-width:1100px){
  .cap-b{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cap-b>.img{grid-column:1/-1;aspect-ratio:21/9}
  .loop-tabs{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
  .tabfig{display:none}
  .pcards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gal-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .gal-b{grid-column:1/-1;grid-row:1}
  .gal-a .img,.gal-c .img{min-height:16rem;aspect-ratio:4/3;height:auto}
}
/* v3 phone */
@media (max-width:760px){
  .mast-h{font-size:clamp(3.4rem,17.4vw,8rem);line-height:.92}
  .mast-h .s{max-width:5em}
  .mast-h em{display:block;font-size:.84em;margin-top:.04em}
  .prob{grid-template-columns:minmax(0,1fr)}
  .cap-b{grid-template-columns:minmax(0,1fr)}
  .cap-b>.img{aspect-ratio:16/9}
  .loop-tabs{grid-template-columns:minmax(0,1fr)}
  .sheet{grid-template-columns:minmax(0,1fr)}
  .sheet .img{order:-1;margin-bottom:.8rem;aspect-ratio:16/9;grid-row:2}
  .gal-g{grid-template-columns:minmax(0,1fr)}
  .gal-a,.gal-c{display:block}
  .split-i{display:grid;grid-template-columns:minmax(0,1fr)}
  .split-i>.l,.split-i>.r,.split-f>.l,.split-f>.r{grid-column:1;grid-row:auto}
  .fit3{grid-template-columns:minmax(0,1fr)}
  .grp-row{grid-template-columns:minmax(0,1fr)}
  .feat2{grid-template-columns:minmax(0,1fr)}
  .pcards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .jr-step .img{display:none}
  .jr-step,.jr-step:last-child{opacity:1}
  .post-fig .img{aspect-ratio:16/9}
  .foot-sign{font-size:23vw}
}


/* v4: each photo once. New small parts. */
.defl{margin-top:.5rem;display:grid;gap:.3rem;padding-left:0}
.defl li{padding-left:1.4em;position:relative}
.defl li::before{content:"✓";position:absolute;left:0;color:var(--bright);font-weight:700}
.offer-grid .of-no{margin-top:.75rem;color:var(--on-dark);font-size:.95rem}
.offer-grid a{text-underline-offset:3px}
.bill a{color:var(--blue)}
.fit2b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem)}
.fit2b h2{font:700 clamp(1.9rem,3.2vw,3.4rem)/1.02 var(--sans);letter-spacing:-.02em;margin-bottom:.9rem}
.fit2b li{border-top:1px solid currentColor;padding-block:.65rem}
.faq-h{margin-bottom:clamp(1.25rem,2.4vw,2.4rem)}
.qa-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(1.5rem,3vw,3rem);align-items:start}
.qa-2 .qa:last-child{border-bottom:0}
.grp-side{display:grid;gap:1rem;align-content:start}
.grp-side .img{aspect-ratio:4/5}
.group{grid-template-columns:minmax(0,3.5fr) minmax(0,8.5fr);gap:clamp(1rem,2.4vw,2.4rem)}
.grp-row{display:block;padding-block:.9rem clamp(1rem,2vw,2rem)}
.grp-row b{font-size:clamp(2.8rem,7vw,8rem)}
.sheet .img{aspect-ratio:4/2.9}
@media (max-width:760px){
  .fit2b,.qa-2{grid-template-columns:minmax(0,1fr)}
  .grp-side .img{aspect-ratio:16/9}
}


/* v5: header like the reference. Flat and wide at the top; a floating card with a progress line once you scroll. */
.site-head{position:sticky;top:max(.6rem,env(safe-area-inset-top,0px));padding-top:.6rem;z-index:30;pointer-events:none}
.head-in{position:relative;pointer-events:auto;background:transparent;border:1px solid transparent;box-shadow:none;max-width:1720px;width:calc(100% - 2*var(--gut));padding:.55rem .1rem;transition:max-width .45s var(--ease),background .3s,box-shadow .3s,border-color .3s,padding .3s}
.stuck .head-in{max-width:1180px;background:var(--card);border-color:var(--line);box-shadow:0 14px 34px -22px rgba(7,26,46,.55);padding:.5rem .6rem .5rem 1rem}
.logo{gap:.55rem}
.logo-s{font:500 .5625rem/1.15 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mute);padding-left:.55rem;border-left:1px solid var(--line)}
.head-bar{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity .25s}
.stuck .head-bar{opacity:1}
.nav .btn{border-radius:2px}
.rail{top:6rem}
.cc-chart{top:6rem}
.sheet{top:calc(5.5rem + var(--i)*1.1rem)}
.whyv-fig .img,.founder-fig .img{top:6rem}

/* H1: words rise fast on load, then the double line draws from the left. */
.mast-h{font-size:clamp(3.4rem,10.8vw,13rem)}
.mast-h .s{display:block}
.mast-h em{display:block;font-size:1em;line-height:.98}
h1 .w-m{padding-block:.2em;margin-block:-.2em;padding-right:.05em}
.motion h1 .w-i{transition-duration:.6s;transition-delay:calc(var(--n)*.05s)}
.motion .drule{animation:none;transform:scaleX(0);transform-origin:left}
.motion .mast-h.h1-go~.drule{transform:scaleX(1);transition:transform .8s var(--ease) .45s}
.drule{height:9px;border-block:2px solid var(--blue)}
.pg-hero h1::after{content:"";display:block;height:9px;border-block:2px solid var(--blue);margin-top:clamp(.75rem,1.4vw,1.5rem);transform-origin:left}
.theme-black h1::after,.theme-blue h1::after{border-color:#fff}
.motion .pg-hero h1:not(.h1-go)::after{transform:scaleX(0)}
.motion .pg-hero h1.h1-go::after{transform:scaleX(1);transition:transform .8s var(--ease) .45s}
.pg-hero h1{max-width:none}
.has-fig .lede{margin-top:0}

/* WhatsApp, phone, Instagram buttons */
.socials{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}
.sic{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%;color:inherit;transition:background .25s,color .25s,border-color .25s,transform .3s var(--ease)}
.sic svg{width:20px;height:20px;transition:transform .3s var(--ease)}
.sic:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-3px)}
.sic:hover svg{transform:scale(1.12) rotate(-6deg)}
.foot-soc{margin-top:.6rem}
.foot-col .sic{background-image:none;padding:0;display:inline-grid}
.foot-col .sic:hover{background:var(--blue)}
.caps-l{margin:-.75rem 0 1.5rem;max-width:40em}
.caps-l a,.r-t a{color:var(--blue);text-underline-offset:3px}
.final-act{align-items:center}
.theme-black .grp-row:hover,.theme-blue .grp-row:hover{opacity:.8}
@media (max-width:760px){
  .mast-h{font-size:clamp(3.2rem,16vw,7rem);line-height:.94}
  .head-in{padding:.4rem .5rem .4rem .75rem;background:var(--card);border-color:var(--line)}
  .logo-s{display:none}
  .nav{border:1px solid var(--line);border-radius:0}
}
@media (prefers-reduced-motion:reduce){.head-in{transition:none}}
.r-t a.lnk{width:fit-content;justify-self:start;align-self:flex-start}

/* v6: real logo beside the name */
.logo::before{content:none}
.logo-i{width:44px;height:44px;border-radius:50%;flex:none;display:block}
.logo-n{white-space:nowrap}
.logo{gap:.6rem}
@media (max-width:760px){.logo-i{width:38px;height:38px}}

/* v7: same space above and below the header content */
.site-head{top:0;padding-block:max(.5rem,env(safe-area-inset-top,0px)) .5rem}
.head-in{padding-block:.5rem}
.stuck .head-in{padding-block:.5rem}
.foot-tag{margin-top:.6rem;font:500 .75rem/1.3 var(--mono);opacity:.75}
@media (max-width:760px){.head-in{padding-block:.4rem}}
@media (max-width:760px){.stuck .head-in{padding-block:.4rem}}

/* v8: live contact form (Fluent Forms), styled to match the design */
.contact-g>.fluentform{grid-column:1/span 6;min-width:0}
.contact-g>.fluentform .c-form{grid-column:auto}
.c-form fieldset{display:contents}
.c-form .ff-el-input--label label{display:block;font-weight:600;margin-bottom:.35rem}
.c-form .ff-el-is-required label::after{content:none}
.c-form .text-danger,.c-form .error{display:block;margin-top:.3rem;font-size:.875rem;color:#b3261e}
.c-form .ff-el-is-error .ff-el-form-control{border-color:#b3261e}
.c-form .ff-btn-submit{justify-self:start}
.fluentform .ff-message-success,.ff-message-success{padding:.85rem 1rem;border:1.5px solid var(--blue);font-weight:500}
.ff-errors-in-stack{margin-top:.5rem;color:#b3261e}
.ff-errors-in-stack:empty{display:none}
.contact-g>.fluentform{display:grid}
.c-form legend{position:absolute!important}
.c-form .ff_submit_btn_wrapper{display:grid}
