@font-face{font-family:"Big Shoulders Display";src:url(/assets/fonts/bsd-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Big Shoulders Display";src:url(/assets/fonts/bsd-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/assets/fonts/is-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/assets/fonts/is-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/isans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/isans-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/assets/fonts/isans-600.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plexmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plexmono-500.woff2) format("woff2");font-weight:500 700;font-display:swap}
:root{
 --ink:#07131D;--navy:#0C2233;--navy2:#123049;--line-d:#27455c;
 --paper:#F2EBDC;--bone:#FBF7EE;--sand:#E4D9C0;--line:#CFC3A8;
 --amber:#FFB21A;--burnt:#9A4300;--mut:#4A5864;--mutd:#A5B8C7;--ok:#6EE3B0;
 --disp:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;--ser:"Instrument Serif",Georgia,serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
 --pad:clamp(20px,4.4vw,64px);--hh:68px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17.5px/1.58 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1.5px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:var(--ink);padding:10px 16px;font-weight:600;z-index:500}.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--disp);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:.002em;margin:0}
h1{font-size:clamp(3.4rem,9.2vw,9rem)}
h2{font-size:clamp(2.6rem,6.6vw,6rem)}
h3{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1}
h1 em,h2 em,h3 em{font:italic 400 1.04em/1 var(--ser);text-transform:none;letter-spacing:-.01em;color:var(--amber)}
.paper h2 em,.sand h2 em,.paper h1 em,.sand h1 em{color:var(--burnt)}
p{margin:0 0 1em}
.lead{font-size:clamp(1.12rem,1.5vw,1.38rem);line-height:1.5;max-width:40ch}
.small{font-size:.9rem}.note{font-size:.9rem;color:var(--mut)}.dark .note{color:var(--mutd)}
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}
.kicker{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--burnt)}
.kicker:before{content:"";width:34px;height:2px;background:currentColor}
.dark .kicker,.hero .kicker{color:var(--amber)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;font:600 1.02rem/1 var(--sans);text-decoration:none;border:2px solid var(--ink);border-radius:2px;cursor:pointer;background:transparent;color:var(--ink);transition:transform .18s,background .18s,color .18s,box-shadow .18s;white-space:nowrap}
.btn:after{content:"→";font-family:var(--sans);transition:transform .18s}
.btn:hover:after{transform:translateX(4px)}
.btn.amber{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.btn.amber:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}
.dark .btn.amber:hover,.hero .btn.amber:hover{box-shadow:5px 5px 0 #fff}
.btn.line{border-color:currentColor}.btn.line:hover{background:var(--ink);color:var(--paper)}
.dark .btn.line:hover,.hero .btn.line:hover{background:var(--paper);color:var(--ink)}
.btn.ink{background:var(--ink);color:var(--paper)}.btn.ink:hover{background:var(--navy2)}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
/* header */
.hdr{position:sticky;top:0;z-index:100;background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line-d)}
.hdr-in{max-width:1480px;margin:0 auto;padding:0 var(--pad);height:var(--hh);display:flex;align-items:center;gap:26px}
.logo{font:900 2.05rem/1 var(--disp);letter-spacing:.02em;text-decoration:none;color:#fff;margin-right:auto;display:inline-flex;min-height:44px;align-items:center}
.logo b{color:var(--amber);font-weight:900}
.nav{display:flex;align-items:center;gap:6px}
.nav a{font:500 .94rem/1 var(--sans);text-decoration:none;color:#D5E0E8;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;position:relative}
.nav a:hover,.nav a[aria-current=page]{color:#fff}
.nav a[aria-current=page]:after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--amber)}
.nav .hiw{color:var(--amber);font-weight:600;gap:8px;border:1.5px solid var(--amber);border-radius:2px;margin-left:6px}
.nav .hiw i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(110,227,176,.7);animation:blip 2.4s infinite}
.nav .hiw:hover{background:var(--amber);color:var(--ink)}
.nav-tel{font-family:var(--mono)!important;font-size:.84rem!important;color:var(--mutd)!important}
.hdr-btn{min-height:46px;padding:0 20px;font-size:.95rem}
.menu-btn{display:none;min-height:46px;min-width:76px;background:transparent;color:#fff;border:1.5px solid #5b7488;border-radius:2px;font:600 .95rem var(--sans);cursor:pointer}
@keyframes blip{70%{box-shadow:0 0 0 9px rgba(110,227,176,0)}100%{box-shadow:0 0 0 0 rgba(110,227,176,0)}}
/* sections */
.sec{padding:clamp(76px,10.5vw,170px) 0;position:relative}
.sec.tight{padding:clamp(56px,7vw,100px) 0}
.paper{background:var(--paper)}.sand{background:var(--sand)}.bone{background:var(--bone)}
.dark{background:var(--ink);color:var(--paper)}.navy{background:var(--navy);color:var(--paper)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end;margin-bottom:clamp(36px,5vw,72px)}
.sec-head .lead{margin:0}
/* hero */
.hero{position:relative;background:var(--ink);color:#fff;min-height:min(100svh - var(--hh),900px);display:flex;flex-direction:column;overflow:hidden}
.hero .ph{position:absolute;inset:0;z-index:0}
.hero .ph img{height:100%}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,19,29,.96) 0%,rgba(7,19,29,.82) 38%,rgba(7,19,29,.25) 72%,rgba(7,19,29,.05) 100%),linear-gradient(0deg,rgba(7,19,29,.9) 0,rgba(7,19,29,0) 38%)}
.hero-in{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:clamp(48px,6vw,90px);padding-bottom:clamp(30px,4vw,56px)}
.hero h1{font-size:clamp(3.4rem,7.3vw,7.6rem);max-width:13em}
.hero .lead{margin-top:28px;color:#DCE6ED;max-width:36ch}
.hero .ph .tag{left:auto;right:var(--pad);bottom:auto;top:20px}
.proof{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.22);background:rgba(7,19,29,.88);backdrop-filter:blur(6px)}
.proof-in{max-width:1360px;margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:repeat(4,1fr)}
.proof-in>div{padding:20px 22px 20px 0;border-right:1px solid rgba(255,255,255,.14);margin-right:22px}
.proof-in>div:last-child{border:0;margin:0}
.proof span{display:block;font:500 .7rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.proof b{font-weight:500;font-size:.98rem;line-height:1.35;display:block;color:#fff}
.proof a{color:#fff}
/* images */
.ph{position:relative;margin:0;overflow:hidden;background:var(--navy)}
.ph img{display:block;width:100%;height:100%;object-fit:cover}
.ph:after{content:"";position:absolute;inset:0;background:#123049;mix-blend-mode:multiply;opacity:.28;pointer-events:none}
.ph .tag{position:absolute;left:14px;bottom:14px;z-index:3;font:500 .75rem/1.25 var(--mono);letter-spacing:.06em;color:#E6EEF4;background:rgba(7,19,29,.86);padding:7px 10px;max-width:calc(100% - 28px)}
.band{position:relative;min-height:clamp(420px,62vw,760px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.band .ph{position:absolute;inset:0}.band .ph img{height:100%}
.band:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(7,19,29,.92),rgba(7,19,29,.2) 62%,rgba(7,19,29,.45))}
.band-in{position:relative;z-index:2;padding-top:90px;padding-bottom:clamp(40px,6vw,84px);width:100%}
.band h2{max-width:11em}
.band .ph .tag{left:auto;right:var(--pad);bottom:auto;top:20px}
/* doors */
.doors{border-top:2px solid var(--ink)}
.door{display:grid;grid-template-columns:clamp(80px,12vw,200px) minmax(0,1.3fr) minmax(0,1fr) auto;gap:clamp(18px,3vw,48px);align-items:center;padding:clamp(28px,3.4vw,52px) 0;border-bottom:2px solid var(--ink);text-decoration:none;position:relative;transition:padding .25s,background .25s}
.door:hover{background:var(--amber);padding-left:18px;padding-right:18px}
.door .no{font:900 clamp(4rem,9vw,9rem)/.8 var(--disp);color:transparent;-webkit-text-stroke:2px var(--ink)}
.door h3{font-size:clamp(2.2rem,4.4vw,4.4rem)}
.door p{margin:0;max-width:34ch;color:#2c3944}
.door .go{width:64px;height:64px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.5rem;transition:background .2s,color .2s}
.door:hover .go{background:var(--ink);color:var(--amber)}
/* two-column */
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,90px)}.two.top{align-items:start}
.stack>*+*{margin-top:26px}
/* tables */
.sheet{background:var(--bone);border:2px solid var(--ink)}
.dark .sheet{background:#0A1B29;border-color:var(--line-d)}
.sheet .bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 20px;background:var(--ink);color:#fff;font:500 .78rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{width:100%;border-collapse:collapse;font-size:1rem}
.tbl th{font:500 .75rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:14px 20px;border-bottom:2px solid var(--ink);color:var(--mut);white-space:nowrap}
.tbl td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}.tbl .m{font-family:var(--mono);font-size:.9rem;white-space:nowrap}
.pill{display:inline-block;font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border:1.5px solid var(--ink);border-radius:2px;white-space:nowrap}
.pill.w{background:var(--amber);border-color:var(--amber)}.pill.n{border-style:dashed;color:var(--mut);border-color:var(--mut)}
.tag.sample,.sample-tag{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;background:var(--amber);color:var(--ink);border-radius:2px}
/* plans */
.plans{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.plan{padding:30px 26px 34px 0;border-right:1px solid var(--line);margin-right:26px;position:relative}
.plan:last-child{border:0;margin:0}
.plan h3{font-size:2rem}
.plan .price{font:900 clamp(4rem,7vw,7rem)/.85 var(--disp);margin:18px 0 6px}
.plan .price small{font:500 .78rem var(--mono);letter-spacing:.06em;color:var(--mut);text-transform:uppercase;margin-left:6px}
.plan ul{margin:14px 0 0;padding:0;list-style:none}.plan li{padding:9px 0;border-top:1px solid var(--line)}
.plan.feat:before{content:"24/7 ON PREMIER ONLY";position:absolute;top:-14px;left:0;background:var(--amber);font:600 .66rem/1 var(--mono);letter-spacing:.1em;padding:6px 8px}
/* steps */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;border-top:2px solid var(--ink)}
.steps li{counter-increment:s;display:grid;grid-template-columns:64px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s,decimal-leading-zero);font:900 2.6rem/.9 var(--disp);color:var(--burnt)}
.steps h3{font-size:1.7rem;margin-bottom:6px}.steps p{margin:0;color:var(--mut)}
.dark .steps{border-color:var(--line-d)}.dark .steps li{border-color:var(--line-d)}.dark .steps p{color:var(--mutd)}.dark .steps li:before{color:var(--amber)}
/* cards (used sparingly: spec sheets) */
.spec{border:2px solid var(--ink);background:var(--bone);padding:clamp(22px,3vw,40px)}
.dark .spec{background:#0A1B29;border-color:var(--line-d)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:0}
.kv dt{font:500 .74rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.kv dd{margin:0;font-weight:500;font-size:1.1rem}
.dark .kv dt{color:var(--mutd)}
.callout{border-left:6px solid var(--amber);padding:16px 22px;background:rgba(255,178,26,.14)}
.list-big{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.list-big li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:24px}
.list-big b{font:900 1.9rem/1 var(--disp);text-transform:uppercase}
.dark .list-big{border-color:var(--line-d)}.dark .list-big li{border-color:var(--line-d)}
/* faq */
.faq details{border-bottom:2px solid var(--ink)}.faq details:first-child{border-top:2px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;min-height:64px;display:flex;justify-content:space-between;gap:20px;align-items:center;font:800 1.7rem/1.05 var(--disp);text-transform:uppercase;padding:14px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:400 2rem/1 var(--sans);width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;flex:none}
.faq details[open] summary:after{content:"\2212";}
.faq p{padding:0 60px 22px 0;margin:0;max-width:56ch}
/* map */
.map-wrap{position:relative;border:2px solid var(--ink);background:var(--bone)}
.map-wrap svg{display:block;width:100%;height:auto}
.map-cap{padding:12px 18px;font:400 .76rem/1.4 var(--mono);color:var(--mut);border-top:2px solid var(--ink)}
.m-road{fill:none;stroke:#C4B796;stroke-width:3}.m-hwy{fill:none;stroke:var(--ink);stroke-width:5}.m-loop{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:2 7;stroke-linecap:round}
.m-bay{fill:#D8E3E8}.m-lbl{font:500 12px var(--mono);letter-spacing:.1em;fill:var(--mut)}.m-h{font:900 30px var(--disp);fill:var(--ink)}
.m-route{fill:none;stroke:var(--burnt);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s ease}
.map-wrap.in .m-route{stroke-dashoffset:0}
/* forms */
.f{display:grid;gap:20px}.f .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.f label{display:grid;gap:8px;font:500 .78rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.f input,.f select,.f textarea{font:400 1.05rem var(--sans);text-transform:none;letter-spacing:0;min-height:54px;padding:12px 14px;border:2px solid var(--ink);background:var(--bone);border-radius:2px;color:var(--ink);width:100%}
.f textarea{min-height:150px;resize:vertical}
.f .chk{display:flex;gap:14px;align-items:flex-start;text-transform:none;letter-spacing:0;font:400 .98rem/1.45 var(--sans)}.f .chk input{width:26px;height:26px;min-height:26px;flex:none;accent-color:var(--ink);margin-top:2px}
.status{padding:16px 18px;border-left:6px solid var(--amber);background:rgba(255,178,26,.18);margin:0}
/* page hero (inner) */
.phero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.phero-in{padding-top:clamp(56px,8vw,120px);padding-bottom:clamp(48px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end}
.phero h1{font-size:clamp(3.2rem,8vw,8rem)}
.phero .lead{color:#D5E0E8;margin-top:24px}
.phero .ph{aspect-ratio:4/5;max-height:560px}
.phero.solo .phero-in{grid-template-columns:minmax(0,1fr)}
.phero.solo h1{max-width:12em}
/* footer */
.ftr{background:var(--ink);color:#D5E0E8;padding:clamp(56px,7vw,100px) 0 40px;overflow:hidden}
.ftr-big{font:900 clamp(6rem,24vw,24rem)/.78 var(--disp);color:transparent;-webkit-text-stroke:2px #34546D;letter-spacing:.01em;margin:0 0 clamp(36px,5vw,64px);white-space:nowrap}
.ftr-big b{-webkit-text-stroke:2px var(--amber)}
.ftr .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:34px}
.ftr h4{font:500 .74rem/1 var(--mono);letter-spacing:.14em;color:var(--amber);margin-bottom:16px}
.ftr ul{list-style:none;margin:0;padding:0}.ftr li a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none;color:#fff}.ftr li a:hover{color:var(--amber)}
.ftr .sign{font:italic 400 1.9rem/1.1 var(--ser);color:#fff;margin-bottom:16px}
.ftr .bot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line-d);margin-top:36px;padding-top:24px;font:400 .76rem/1.5 var(--mono);color:var(--mutd)}
.ftr a{color:#fff}
.dock{display:none}
/* ask band */
.ask-band{background:var(--amber);color:var(--ink);padding:clamp(60px,8vw,130px) 0}
.ask-band h2{font-size:clamp(3rem,8vw,8rem);max-width:11em}
.ask-band .btn.amber{background:var(--ink);border-color:var(--ink);color:var(--amber)}
.ask-band .btn.amber:hover{box-shadow:5px 5px 0 #fff}
.ask-band .btn.line:hover{background:var(--ink);color:var(--amber)}
.ask-band .kicker{color:var(--ink)}
.ask-band dl{margin-top:20px}
/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
/* strategy / docs */
.doc-hero{background:var(--ink);color:#fff;padding:clamp(56px,7vw,110px) 0 clamp(36px,5vw,64px)}
.doc-hero h1{font-size:clamp(3rem,7.5vw,7rem);max-width:12em}
.doc-hero .lead{color:#D5E0E8;margin-top:22px;max-width:52ch}
.crumb{font:400 .78rem/1.4 var(--mono);letter-spacing:.06em;color:var(--mutd);margin-bottom:24px}.crumb a{color:var(--amber)}
.doc-meta{font:400 .78rem/1.6 var(--mono);color:var(--mutd);margin-top:26px;max-width:80ch}
.doc-wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}
.doc-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-top:56px;padding-bottom:90px}
.doc-side{position:sticky;top:90px;align-self:start;max-height:calc(100vh - 110px);overflow:auto}
.toc summary{font:500 .76rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--burnt)}
.toc ol{margin:6px 0 0;padding:0;list-style:none;border-left:2px solid var(--ink)}.toc li a{display:block;padding:7px 0 7px 14px;font-size:.92rem;text-decoration:none;line-height:1.3}.toc li a:hover{background:var(--amber)}
.doc-others{margin-top:28px;display:grid;gap:2px}.doc-others h4{font:500 .74rem var(--mono);letter-spacing:.14em;color:var(--burnt);margin-bottom:8px}.doc-others a{min-height:44px;display:flex;align-items:center;font-size:.95rem}
.doc-others-m{display:none}
.doc{max-width:78ch;font-size:1.04rem}
.doc h2{font-size:clamp(2.2rem,4vw,3.6rem);margin:2.2em 0 .5em;padding-top:.4em;border-top:2px solid var(--ink)}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:1.8rem;margin:1.8em 0 .5em}.doc h4{font-size:1.3rem;margin:1.4em 0 .4em}
.doc ul,.doc ol{padding-left:1.3em}.doc li{margin:.35em 0}
.doc code{font:400 .86em var(--mono);background:var(--bone);padding:2px 6px;border:1px solid var(--line)}
.doc .tw{overflow-x:auto;margin:1.4em 0;border:2px solid var(--ink);background:var(--bone)}
.doc table{border-collapse:collapse;width:100%;font-size:.93rem}.doc th{font:500 .75rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:12px 14px;background:var(--ink);color:#fff;white-space:nowrap}
.doc td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;min-width:120px}
.doc hr{border:0;border-top:2px solid var(--ink);margin:2.4em 0}
.scards{display:grid;grid-template-columns:repeat(2,1fr);border-top:2px solid var(--ink)}
.scard{display:block;padding:34px 34px 38px 0;border-bottom:2px solid var(--ink);text-decoration:none;position:relative}
.scard:nth-child(even){padding-left:34px;border-left:2px solid var(--ink);padding-right:0}
.scard h3{font-size:clamp(2.2rem,3.6vw,3.4rem);margin:10px 0 12px}.scard p{max-width:44ch;color:#2c3944}
.scard .eyebrow{font:500 .74rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--burnt)}
.scard .more{font-weight:600}.scard:hover{background:var(--amber)}
/* misc */
.ph.round{border-radius:0}
.cap-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.cap-row>div{padding:26px 26px 30px 0;border-right:1px solid var(--line);margin-right:26px}.cap-row>div:last-child{border:0;margin:0}
.cap-row h3{margin-bottom:10px;font-size:2rem}.cap-row p{margin:0;color:var(--mut)}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.pair .ph{min-height:clamp(320px,40vw,560px)}
.pair .txt{padding:clamp(36px,5vw,80px) var(--pad);display:flex;flex-direction:column;justify-content:center}
/* responsive */
@media (max-width:1100px){
 .nav a{padding:0 9px;font-size:.88rem}.nav-tel{display:none}
 .proof-in{grid-template-columns:1fr 1fr}.proof-in>div{border:0;margin:0;padding:16px 10px 16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
 .plans{grid-template-columns:1fr 1fr}.plan{margin:0;border:0;border-bottom:1px solid var(--line);padding-right:20px}
 .door{grid-template-columns:90px minmax(0,1fr) auto}.door p{grid-column:2/3}
 .ftr .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
 :root{--hh:62px}
 body{font-size:17px;padding-bottom:78px}
 .menu-btn{display:inline-flex;align-items:center;justify-content:center}
 .hdr-in{gap:10px;padding:0 14px}.logo{font-size:1.8rem}
 .nav{position:fixed;left:0;right:0;top:var(--hh);bottom:0;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 100px;overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
 .nav.open{opacity:1;transform:none;visibility:visible}
 .nav a{font:900 2.5rem/1 var(--disp);text-transform:uppercase;min-height:68px;border-bottom:1px solid var(--line-d);padding:0;color:#fff}
 .nav a[aria-current=page]:after{display:none}.nav a[aria-current=page]{color:var(--amber)}
 .nav .hiw{margin:14px 0 0;padding:0 16px;border-width:2px}.nav-tel{display:inline-flex!important;font:500 1.1rem var(--mono)!important}
 .hdr-btn{min-height:46px;padding:0 14px;font-size:.9rem}.hdr-btn:after{display:none}
 .hero{min-height:auto}
 .hero .ph{bottom:auto;height:min(72vw,330px)}
 .hero:before{background:linear-gradient(0deg,rgba(7,19,29,1) 0,rgba(7,19,29,.98) 48%,rgba(7,19,29,.35) 70%,rgba(7,19,29,.1) 100%)}
 .hero .ph .tag{top:auto;bottom:auto;right:12px;top:12px}
 .hero-in{padding-top:min(40vw,170px)}
 .hero h1{font-size:clamp(3.1rem,14vw,5.2rem)}
 .hero .btns{flex-wrap:nowrap;margin-top:24px}.hero .btns .btn{flex:1 1 0;padding:0 8px;font-size:.96rem}.hero .btns .btn:after{display:none}
 .hero .lead{margin-top:20px}
 .proof-in{padding:0 20px}
 .sec-head,.two,.phero-in,.pair{grid-template-columns:1fr}
 .sec-head{gap:20px;align-items:start}
 .phero .ph{aspect-ratio:16/10;max-height:none}
 .door{grid-template-columns:56px minmax(0,1fr) 48px;gap:14px;padding:26px 0}.door .no{font-size:3.4rem;-webkit-text-stroke-width:1.5px}.door h3{font-size:2.3rem}.door .go{width:48px;height:48px}.door p{grid-column:1/-1}
 .door:hover{padding-left:0;padding-right:0}
 .dock{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(7,19,29,.96);border-top:1px solid var(--line-d)}
 .dock .btn{min-height:54px;padding:0 10px;color:#fff;gap:8px}.dock .btn.amber{color:var(--ink)}.dock .btn:after{display:none}
 .plans{grid-template-columns:1fr}.plan{padding:26px 0}
 .cap-row,.list-big li{grid-template-columns:1fr}.cap-row>div{border:0;border-bottom:1px solid var(--line);margin:0;padding:22px 0}
 .doc-grid{grid-template-columns:1fr;padding-top:34px}.doc-side{position:static;max-height:none}.doc-side .doc-others{display:none}.doc-others-m{display:grid}
 .scards{grid-template-columns:1fr}.scard,.scard:nth-child(even){padding:28px 0;border-left:0}
 .f .row{grid-template-columns:1fr}
 .faq summary{font-size:1.45rem}.faq p{padding-right:0}
 .ftr .cols{grid-template-columns:1fr 1fr}.ftr-big{font-size:27vw}
 .tbl th,.tbl td{padding:12px 14px}
}
@media (max-width:480px){
 h2{font-size:clamp(2.7rem,14vw,4rem)}
 .btns .btn{flex:1 1 100%}
 .hero .btns .btn{flex:1 1 0}
 .proof-in{grid-template-columns:1fr 1fr;gap:0 14px}.proof b{font-size:.88rem}
 .hdr-btn{padding:0 12px}
 .ftr .cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .js .rv{opacity:1;transform:none}.route,.m-route{stroke-dashoffset:0}.pulse{display:none}
}
/* guards: grid children never force overflow; doc contents links are 44px tall */
.two>*,.doc-grid>*,.wrap>*{min-width:0}
@media(max-width:900px){.two{grid-template-columns:minmax(0,1fr)}.doc-grid{grid-template-columns:minmax(0,1fr)}}
.toc li a{min-height:44px;display:flex;align-items:center;padding-top:4px;padding-bottom:4px}
.doc-side{max-width:100%}
@media(max-width:900px){.tbl,.doc table,.dwrap table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}}
/* line buttons on dark surfaces must be light */
.hero .btn.line,.phero .btn.line,.dark .btn.line,.ink-sec .btn.line{color:#fff;border-color:#fff}
.hero .btn.line:hover,.phero .btn.line:hover,.dark .btn.line:hover{color:var(--ink);background:#fff}
.navy .btn.line{color:#fff;border-color:#fff}
.phero .kicker,.hero .kicker,.dark .kicker,.navy .kicker{color:var(--amber)}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;font:500 .82rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.jump a:hover{background:var(--amber);color:var(--ink);border-color:var(--amber)}
@media(max-width:600px){.jump{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--pad)*-1);padding-right:var(--pad)}.jump a{flex:none;scroll-snap-align:start}}
section[id]{scroll-margin-top:84px}
.phero.short .phero-in{padding-top:clamp(36px,4vw,60px);padding-bottom:clamp(20px,2.5vw,34px)}
.phero.short h1{font-size:clamp(2.6rem,5.2vw,5rem)}
.phero.short+.sec{padding-top:clamp(28px,3vw,48px)}
.art-ph:after{display:none}
.art{display:block;width:100%;height:100%}
.art .pulse{stroke-dasharray:3 46;animation:artflow 3.2s linear infinite;filter:drop-shadow(0 0 3px #FFB21A)}
@keyframes artflow{to{stroke-dashoffset:-98}}
@media(prefers-reduced-motion:reduce){.art .pulse{animation:none;stroke-dasharray:none;opacity:.5}}

/* 20261002h: compact inner heroes so the first diagram starts in the first screen */
.phero:not(.short) .phero-in{padding-top:clamp(34px,3.6vw,52px);padding-bottom:clamp(30px,3.2vw,46px);align-items:center}
.phero:not(.short) h1{font-size:clamp(3rem,5vw,5rem)}
.phero:not(.short) .lead{margin-top:18px}
.phero .ph{aspect-ratio:4/3;max-height:400px}
.sec.first-diag{padding-top:clamp(36px,3.6vw,54px);padding-bottom:clamp(60px,7vw,110px)}
.sec.first-diag .sec-head{margin-bottom:26px}
.sec.first-diag h2{font-size:clamp(2.4rem,4vw,4rem)}
.hero{min-height:min(100svh - var(--hh) - 90px,760px)}
@media(max-width:900px){
 .phero:not(.short) .phero-in{padding-top:34px;padding-bottom:28px;gap:24px}
 .phero:not(.short) h1{font-size:clamp(2.8rem,13vw,4.2rem)}
 .phero .ph{aspect-ratio:16/9;max-height:none}
 .sec.first-diag{padding-top:34px}
 .hero{min-height:auto}
}

/* ===== 20261002h: testimonials, forms, pairs ===== */
.tm{padding:clamp(48px,6vw,88px) 0;background:var(--sand);color:var(--ink);border-top:1px solid rgba(7,19,29,.12)}
.tm.strip{background:var(--ink);color:#fff;border:0}
.tm.after{background:var(--bone)}
.tm.full{background:var(--paper)}
.tm .kicker{margin-bottom:22px}
.tm-h{font-size:clamp(2.4rem,4.6vw,4.4rem);margin:0 0 30px}
.tq-grid{display:grid;gap:clamp(18px,2.4vw,36px);grid-template-columns:repeat(2,minmax(0,1fr))}
.tq-grid.n1{grid-template-columns:minmax(0,820px)}
.tq-grid.n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.tq{margin:0;border-top:4px solid var(--amber);padding-top:20px}
.tq blockquote{margin:0}
.tq blockquote p{font:400 clamp(1.3rem,2vw,1.85rem)/1.28 "Instrument Serif",Georgia,serif;margin:0;max-width:34ch}
.tq.big blockquote p{font-size:clamp(1.5rem,2.5vw,2.3rem);max-width:30ch}
.tq figcaption{margin-top:16px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;font:500 .78rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.tq figcaption b{font-weight:600}
.tq figcaption span{opacity:.7}
.tm-src{margin:26px 0 0;font:400 .82rem/1.4 var(--mono);letter-spacing:.04em;opacity:.75}
.tm .btns{margin-top:26px}
.pair.flip .ph-col{order:2}
.f .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.f fieldset.needs{border:2px solid var(--ink);padding:16px 18px;margin:0;display:grid;gap:10px}
.f fieldset.needs legend{font:500 .78rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:0 8px}
.f .chk.opt{align-items:center;min-height:44px}
.f .chk span{display:block}
.f .chk a{text-decoration:underline}
.f .field-err{color:#8A1F0B;font:500 .9rem/1.35 var(--sans);text-transform:none;letter-spacing:0;margin:0}
.f input[aria-invalid=true],.f select[aria-invalid=true],.f textarea[aria-invalid=true]{border-color:#B3261E;background:#FFF1EE}
.err-line{margin:0;padding:14px 16px;border-left:6px solid #B3261E;background:#FFE9E4;color:#5C1308;font:500 1rem/1.4 var(--sans)}
.f button[disabled]{opacity:.65;cursor:progress}
.done{border:3px solid var(--ink);background:var(--bone);padding:clamp(22px,3vw,40px)}
.done h3{font:900 clamp(2rem,3.4vw,3rem)/1 var(--disp);text-transform:uppercase;margin:6px 0 14px}
.done .ref{font:500 .84rem var(--mono);letter-spacing:.06em}
.formbox{padding:clamp(20px,2.6vw,34px)}
.pv-h{margin:26px 0 6px;font:600 1rem var(--sans)}
.pv{list-style:none;margin:0;padding:0}
.pv li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.pv .cbx{flex:none;width:22px;height:22px;border:2px solid var(--ink);margin-top:3px;background:#fff}
.pv b{display:block;font-weight:600}.pv span:not(.cbx){display:block;color:var(--mut);font-size:.95rem}
.outline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px)}
.outline li{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(7,19,29,.25)}
.outline .no{font:900 2.4rem/1 var(--disp);-webkit-text-stroke:1.5px var(--ink);color:transparent}
.outline b{display:block;font:900 1.5rem/1.05 var(--disp);text-transform:uppercase}.outline span:not(.no){color:var(--mut);font-size:.95rem}
.btn.ink-line{border-color:var(--ink);color:var(--ink)}
.nav a{white-space:nowrap}
@media(max-width:900px){.tq-grid,.tq-grid.n4{grid-template-columns:minmax(0,1fr)}.outline{grid-template-columns:minmax(0,1fr)}.pair.flip .ph-col{order:0}}
