@font-face{font-family:'Instrument Sans';font-weight:400;font-display:swap;src:url(../fonts/instrument-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-weight:500;font-display:swap;src:url(../fonts/instrument-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-weight:600;font-display:swap;src:url(../fonts/instrument-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'SF Stand-in';font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'SF Stand-in';font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'SF Stand-in';font-weight:600;font-display:swap;src:url(../fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'SF Stand-in';font-weight:700;font-display:swap;src:url(../fonts/inter-latin-700-normal.woff2) format('woff2')}

/* ---------- tokens ---------- */
:root{
 --forest:#183C35;--forest700:#0F2C26;--forest100:#DDE6E0;--sage:#A8BDAA;--ivory:#F6F4ED;--stone:#E5E4DC;--charcoal:#242B28;--citrus:#D6E5A5;
 --moss:#4F6B2A;--text2:#59605C;--body:#3D4541;--hair:#D9D7CD;--base:#A9ABA4;--base-f:rgba(168,189,170,.55);
 --settle:cubic-bezier(.2,.8,.2,1);--t-ctl:200ms;--t-card:320ms;--t-hero:480ms;
 --s:.92;--hs:.916;--T:96px;--rb:0px;--hdr:84px;
}
.theme-light{--bg-canvas:#F6F4ED;--bg-card:#E5E4DC;--bg-hero:#183C35;--bg-inner:#F6F4ED;--text-primary:#242B28;--text-secondary:#59605C;--text-tertiary:#7E847F;--text-onHero:#F6F4ED;--text-onHero2:#A8BDAA;--accent-progress:#4F6B2A;--accent-onHero:#D6E5A5;--action-primary:#183C35;--action-onPrimary:#F6F4ED;--action-secondary:#DDE6E0;--action-onSecondary:#183C35;--border-hairline:#D9D7CD;--data-track:#D7D6CC;--data-quiet:#7E847F;--data-baseline:#A9ABA4}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--hdr)}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:'Instrument Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{font:inherit}
img{max-width:100%}
p,li,summary{text-wrap:pretty}h1,h2,h3{text-wrap:balance}
:focus-visible{outline:3px solid var(--forest);outline-offset:3px;border-radius:12px}
.on-forest :focus-visible,.forest-ground :focus-visible{outline-color:var(--citrus)}
.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--forest);color:var(--ivory);font:600 15px/20px 'Instrument Sans',system-ui,sans-serif;padding:12px 18px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1360px;margin:0 auto;padding:0 80px}
.tn{font-variant-numeric:tabular-nums}

/* ---------- type ---------- */
.eb{margin:0;font:600 13px/16px 'Instrument Sans',system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--moss)}
.on-forest .eb,.climax .eb{color:var(--sage)}
.dxl{margin:0;font-weight:600;font-size:clamp(44px,6.4vw,92px);line-height:.96;letter-spacing:-.025em;color:var(--forest)}
.dxl .ln{display:inline-block}
.h2{margin:0;font-weight:600;font-size:44px;line-height:48px;letter-spacing:-.015em}
.h2.big{font-size:clamp(36px,4vw,56px);line-height:1.07;letter-spacing:-.02em}
.h2.xl{font-size:clamp(40px,4.6vw,64px);line-height:1.04;letter-spacing:-.022em}
.h3{margin:0;font-weight:600;font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.012em}
.bl{margin:0;font-size:20px;line-height:30px;color:var(--body);max-width:600px}
.on-forest .bl,.climax .bl{color:var(--sage)}
.sm{margin:0;font:500 14px/20px 'Instrument Sans',system-ui,sans-serif;color:var(--text2)}
sup{font-size:.62em;line-height:0;vertical-align:.55em;font-weight:600;color:var(--moss)}
.on-forest sup{color:var(--citrus)}
.conf{display:inline-block;font:600 12px/16px 'Instrument Sans',system-ui,sans-serif;padding:3px 8px;border-radius:6px;background:#F3E6C4;color:#8A5E0E;vertical-align:2px;margin-left:6px}
.link{font:600 17px/26px 'Instrument Sans',system-ui,sans-serif;color:var(--forest);text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:20px}
.link svg{transition:transform var(--t-ctl) var(--settle)}
.link:hover svg{transform:translateX(3px)}
.on-forest .link{color:var(--citrus)}

/* ---------- buttons ---------- */
.btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;font:600 17px/1 'Instrument Sans',system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background-color var(--t-ctl) var(--settle),transform var(--t-ctl) var(--settle)}
.btn.p{background:var(--forest);color:var(--ivory)}.btn.p:hover{background:var(--forest700)}
.btn.s{background:var(--forest100);color:var(--forest)}.btn.s:hover{background:#cfdbd3}
.btn.c{background:var(--citrus);color:var(--forest)}.btn.c:hover{background:#cadb92}
.btn:active{transform:translateY(1px)}
.btn.sm{height:44px;padding:0 20px;font-size:15px}
.btn:focus-visible{outline:3px solid var(--forest);outline-offset:3px;border-radius:999px}
.on-forest .btn:focus-visible,.wlcard .btn:focus-visible{outline-color:var(--citrus)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:30;background:rgba(246,244,237,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background-color var(--t-card) var(--settle)}
.hdr .wrap{height:var(--hdr);display:flex;align-items:center;justify-content:space-between}
.home{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.nav{display:flex;align-items:center;gap:36px}
.nav a{font:500 16px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal);text-decoration:none;transition:color var(--t-card) var(--settle)}
.nav a:not(.btn){padding:12px 0;line-height:20px}
.menu{display:none;width:44px;height:44px;border-radius:999px;place-items:center;background:var(--stone);color:var(--forest);border:0;padding:0}
.mnav{padding:8px 24px 20px;display:flex;flex-direction:column}
.mnav[hidden]{display:none}
.mnav a{font:500 18px/24px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal);text-decoration:none;padding:12px 0;border-top:1px solid var(--hair)}
.hdr .lockup path,.hdr .lockup circle,.hdr .lockup span{transition:stroke var(--t-card),fill var(--t-card),color var(--t-card)}
.hdr.on-f{background:rgba(24,60,53,.94)}
.hdr.on-f .nav a:not(.btn){color:var(--ivory)}
.hdr.on-f .lockup path{stroke:var(--ivory)}.hdr.on-f .lockup circle{fill:var(--citrus)}.hdr.on-f .lockup>span:last-child{color:var(--ivory)!important}
.hdr.on-f .hdr-cta{background:var(--citrus);color:var(--forest)}
.hdr.on-f .menu{background:rgba(246,244,237,.14);color:var(--ivory)}

/* ---------- phones ---------- */
.ph{position:relative;width:calc(393px*var(--k));height:calc(852px*var(--k));border-radius:calc(44px*var(--k));overflow:hidden;box-shadow:0 0 0 1px var(--hair),0 30px 60px -20px rgba(13,26,23,.35);background:var(--ivory);flex:none}
.ph-in{position:absolute;left:0;top:0;width:393px;height:852px;transform:scale(var(--k));transform-origin:0 0}
.ph-in>img,.scr>img{display:block;width:393px;height:852px}
.ph .phone{border-radius:0}
.climax .ph{box-shadow:0 0 0 1px rgba(168,189,170,.3),0 30px 60px -20px rgba(0,0,0,.45)}

/* live screen animation hooks (Keeping it range chart) */
.js .live .lv-line{stroke-dasharray:1;stroke-dashoffset:1}
.js .live.play .lv-line{stroke-dashoffset:0;transition:stroke-dashoffset 1200ms var(--settle) 300ms}
.js .live .lv-dot{opacity:0}
.js .live.play .lv-dot{opacity:1;transition:opacity var(--t-card) ease 1300ms}

/* ---------- reveal ---------- */
.js [data-r]{opacity:0;transform:translateY(16px);transition:opacity var(--t-hero) var(--settle),transform var(--t-hero) var(--settle);transition-delay:var(--d,0ms)}
.js [data-r].in{opacity:1;transform:none}

/* ---------- hero ---------- */
.hero{padding-top:72px;padding-bottom:24px;overflow:hidden}
.hero-txt{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero .dxl{margin-top:20px}
.hero .bl{margin-top:28px;max-width:640px}
.hero .ctas{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap;justify-content:center}
.hero .sm{margin-top:18px}
.hero-stage{--k:var(--hs);position:relative;margin:64px auto 0;width:calc(393px*var(--hs));height:calc(852px*var(--hs))}
.js .hero-ph{opacity:0;transform:translateY(56px)}
.js .hero-ph.up{opacity:1;transform:none;transition:opacity 900ms var(--settle) 200ms,transform 900ms var(--settle) 200ms}

/* ---------- why grid (used by the text-only Why section) ---------- */
.why-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px;margin-top:40px}
.why-grid>div{display:flex;flex-direction:column;gap:20px}

/* ---------- story: rail + how + climax ---------- */
.story{position:relative}
.rail{position:absolute;left:0;right:0;top:0;bottom:var(--rb);z-index:4;pointer-events:none;display:none}
.rail-wrap{height:100%}
.rail-sticky{position:sticky;top:var(--T);width:calc((100% - 24px)*5/12);display:flex;justify-content:center}
.rail-ph{--k:var(--s)}
.scr{position:absolute;inset:0;opacity:0;transition:opacity var(--t-card) ease}
.scr.on{opacity:1}
.how{padding:128px 0 64px}
.how-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px}
.how-col{grid-column:2}
.how-head{padding-bottom:24px}
.step{min-height:78vh;display:flex;align-items:center;gap:32px}
.step-t{max-width:560px}
.num{margin:0 0 20px;font-weight:600;font-size:72px;line-height:1;letter-spacing:-.04em;color:var(--moss);opacity:.9}
.step .h3{margin-bottom:14px}
.step-ph{display:none}
.m-ph{--k:.62}

.climax{position:relative;height:280vh}
.stage{position:sticky;top:0;height:100vh;overflow:hidden}
.forest{position:absolute;inset:0;background:var(--forest);opacity:0;clip-path:inset(var(--ct,40%) var(--cr,40%) var(--cb,40%) var(--cl,40%) round var(--cR,40px))}
.clx-grid{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:24px;padding-top:var(--T)}
.clx-ph{display:none}
.clx{grid-column:2;position:relative;height:calc(852px*var(--s));color:var(--ivory)}
.bands{position:absolute;inset:0}
.bd{position:absolute;left:0;top:calc((196px + var(--i)*38px)*var(--s));height:calc(28px*var(--s));border-radius:999px;background:var(--citrus);transform:scaleX(0);transform-origin:left;transition:transform var(--t-hero) var(--settle);transition-delay:calc((3 - var(--i))*110ms)}
.bd[style*="--i:0"]{width:100%}.bd[style*="--i:1"]{width:84%}.bd[style*="--i:2"]{width:66%}.bd[style*="--i:3"]{width:47%}
.nx{position:absolute;left:0;top:calc(158px*var(--s));width:40%;height:calc(28px*var(--s));border-radius:999px;border:1.5px dashed var(--sage);opacity:0;transition:opacity var(--t-card) ease 560ms}
.bl4{position:absolute;left:0;right:0;top:calc(348px*var(--s));height:4px;border-radius:2px;background:var(--base-f);transform:scaleX(0);transform-origin:left;transition:transform 700ms var(--settle)}
.clx-count{position:absolute;right:0;top:calc(20px*var(--s));display:flex;align-items:baseline;gap:12px;opacity:0;transition:opacity var(--t-hero) var(--settle) 300ms}
.clx-count .tn{font-weight:600;font-size:clamp(88px,9vw,132px);line-height:1;letter-spacing:-.045em;color:var(--ivory)}
.clx-count span:last-child{font-size:20px;color:var(--sage)}
.clx-txt{position:absolute;left:0;right:0;top:calc(400px*var(--s));display:flex;flex-direction:column;gap:18px;opacity:0;transform:translateY(16px);transition:opacity var(--t-hero) var(--settle),transform var(--t-hero) var(--settle)}
.clx-txt .h2{color:var(--ivory)}
.climax.lit .bd{transform:none}.climax.lit .bl4{transform:none}.climax.lit .nx{opacity:1}
.climax.lit .clx-count{opacity:1}
.climax.txt .clx-txt{opacity:1;transform:none}
.tick{animation:tick 480ms var(--settle)}
@keyframes tick{from{opacity:.2;transform:translateY(-12px)}to{opacity:1;transform:none}}
.clx-count .tn{display:inline-block}

/* ---------- charts (Forest) ---------- */
.on-forest{background:var(--forest);color:var(--ivory)}
.charts{padding:24px 0 152px;position:relative}
.charts .lead{margin:0;font-weight:600;font-size:clamp(26px,2.8vw,40px);line-height:1.2;letter-spacing:-.015em;color:var(--ivory);max-width:22em}
.pts{margin-top:64px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pt{border-top:1px solid rgba(168,189,170,.3);padding-top:24px}
.pt{display:flex;gap:14px;align-items:flex-start}
.pt>div{display:flex;flex-direction:column;gap:4px}
.pt b{font:600 18px/26px 'Instrument Sans',system-ui,sans-serif;color:var(--ivory)}
.pt .b{font:400 17px/26px 'Instrument Sans',system-ui,sans-serif}
.js .pt{opacity:0;transform:translateY(16px);transition:opacity var(--t-hero) var(--settle),transform var(--t-hero) var(--settle)}
.js .pts.in .pt{opacity:1;transform:none}
.js .pts.in .pt:nth-child(2){transition-delay:90ms}.js .pts.in .pt:nth-child(3){transition-delay:180ms}

/* ---------- maintenance ---------- */
.mnt{position:relative;padding:0 0 128px}
.mnt-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px;align-items:center;padding-top:120px}
.mnt-ph{display:flex;justify-content:center}
.keep-ph{--k:.86}
.mnt-t{display:flex;flex-direction:column;gap:24px;max-width:640px}
.mnt-t .note{margin-top:4px}

/* ---------- waitlist ---------- */
.wls{padding:64px 0 128px}
.wl-grid{display:grid;grid-template-columns:6fr 5fr;gap:64px;align-items:center}
.wl-grid .h2{margin-top:16px}
.wl-grid .bl{margin-top:24px}
.pts2{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.pts2 div{display:flex;gap:12px;align-items:flex-start;font:400 17px/26px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal)}
.wlcard{background:var(--forest);border-radius:32px;padding:44px;color:var(--ivory)}
.wlform{display:flex;flex-direction:column;gap:14px}
.wlform label{font:600 15px/20px 'Instrument Sans',system-ui,sans-serif;color:var(--ivory)}
.wlrow{display:flex;gap:8px}
.wlform input[type=email]{flex:1;min-width:0;height:52px;border-radius:999px;border:1.5px solid transparent;background:var(--ivory);padding:0 20px;font:400 17px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal)}
.wlform input[type=email]::placeholder{color:var(--text2)}
.wlform input[type=email]:focus-visible{outline:3px solid var(--citrus);outline-offset:2px}
.wlmsg{display:none;border-radius:16px;padding:14px 16px;font:400 15px/22px 'Instrument Sans',system-ui,sans-serif;gap:10px;align-items:flex-start}
.wl-err .wlmsg.err{display:flex;background:#F4E1D9;color:#7A2E1C}
.wl-err input[type=email]{border-color:#A3462F}
.wl-off .wlmsg.off{display:flex;background:#F3E6C4;color:#6E4A0A}
.wl-busy button[type=submit]{opacity:.7;cursor:progress}
.wl-ok .wlform{display:none}
.wl-ok .wlmsg.ok{display:flex;background:var(--ivory);color:var(--charcoal)}
.okmsg .l{display:block}
.wlinfo{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(168,189,170,.35);border-radius:16px;padding:12px 14px;margin-top:6px}
.wlinfo svg{flex:none;margin-top:1px}.wlinfo svg path{stroke:var(--sage)}
.wlinfo p{margin:0;font:400 14px/20px 'Instrument Sans',system-ui,sans-serif;color:var(--sage)}
.wlinfo .l1{display:block}
.wlinfo a{font-weight:600;color:var(--citrus);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.wlinfo a:hover{text-decoration-thickness:2px}

/* ---------- providers ---------- */
.prov{padding:0 0 112px}
.prov-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px;padding-top:96px}
.prov .h2{margin-top:16px}.prov .bl{margin-top:24px}
.own{display:block}
.ledger{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.lh{margin:0 0 4px;font:600 15px/20px 'Instrument Sans',system-ui,sans-serif;color:var(--text2);padding-bottom:12px;border-bottom:1px solid var(--charcoal)}
.ledger ul{list-style:none;margin:0;padding:0}
.ledger li{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--hair);font:400 17px/26px 'Instrument Sans',system-ui,sans-serif}
.ledger li svg{margin-top:3px}

/* ---------- data + faq ---------- */
.data{padding:0 0 112px}
.data-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px;padding:56px;background:var(--stone);border-radius:32px;max-width:1200px}
.data .wrap.data-grid{margin:0 auto}
.eb-row{display:flex;gap:12px;align-items:center}
.data .h2{margin-top:16px}
.faqs{padding:0 0 128px}
.faq-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px;align-items:start}
.faq-h{position:sticky;top:calc(var(--hdr) + 32px)}
.faq{border-top:1px solid var(--charcoal)}
.q{border-bottom:1px solid var(--hair)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:76px;font:600 20px/28px 'Instrument Sans',system-ui,sans-serif;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary .ic{flex:none;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:var(--stone);transition:transform var(--t-card) var(--settle),background-color var(--t-ctl)}
summary:hover .ic{background:#d9d8cf}
.q[open] summary .ic{transform:rotate(180deg)}
.q .a{padding:0 64px 24px 0;font:400 17px/26px 'Instrument Sans',system-ui,sans-serif;color:var(--body);max-width:640px}

/* ---------- final ---------- */
.final{padding:128px 0 136px}
.final-in{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.final .dxl{color:var(--ivory);max-width:12.5em}
.final .bl{color:var(--sage)}
.lockup{display:inline-flex;align-items:center;gap:6px;line-height:1}

/* ---------- footer ---------- */
footer{padding:64px 0 48px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.fgrid>div{display:flex;flex-direction:column}
.fgrid a{font:500 15px/20px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal);text-decoration:none;padding:10px 0}
.legal{margin-top:48px;padding-top:24px;border-top:1px solid var(--hair)}

/* ---------- desktop story ---------- */
@media (min-width:1024px){
 .rail{display:block}
}
@media (max-width:1023px){
 .wrap{padding:0 48px}
 .nav>a{display:none}.menu{display:grid}
 .nav{gap:8px}.nav .hdr-cta{display:inline-flex}
 :root{--hs:.76}
 .why-grid,.how-grid,.mnt-grid,.wl-grid,.prov-grid,.data-grid,.faq-grid{grid-template-columns:1fr}
 .how-col{grid-column:1}
 .step{min-height:0;flex-direction:column;align-items:flex-start;padding:48px 0}
 .step-ph{display:block}
 .m-ph{--k:.62}
 .climax{height:auto}
 .stage{position:relative;height:auto;padding:96px 0 48px;background:var(--forest)}
 .forest{display:none}
 .clx-grid{padding-top:0;display:flex;flex-direction:column;align-items:center;gap:40px}
 .clx-ph{display:block}.clx-ph .m-ph{--k:.66}
 .clx{grid-column:auto;width:100%;height:auto;--s:.85;display:flex;flex-direction:column;gap:28px}
 .bands{position:relative;height:calc(360px*var(--s))}
 .clx-count{position:relative;top:0;right:auto}
 .clx-txt{position:relative;top:0}
 .charts{padding:24px 0 96px}
 .pts{grid-template-columns:1fr;gap:0;margin-top:40px}
 .pt{padding:20px 0}
 .mnt-grid{padding-top:72px;gap:56px}
 .mnt-ph{order:2}
 .keep-ph{--k:.7}
 .wl-grid{gap:40px}
 .ledger{grid-template-columns:1fr;gap:32px;margin-top:40px}
 .data-grid{padding:36px;gap:20px}
 .faq-h{position:static;margin-bottom:24px}
 .fgrid{grid-template-columns:1fr 1fr}
}
@media (min-width:600px) and (max-width:1023px){
 .step{flex-direction:row;align-items:center;gap:48px}
}
@media (max-width:599px){
 .wrap{padding:0 24px}
 .m-ph{--k:.54}
 :root{--hs:.72;--hdr:68px}
 .hdr .wrap{height:68px}
 .hero{padding-top:40px}
 .hero .ctas{flex-direction:column;width:100%}.hero .ctas .btn{width:100%}
 .hero-stage{margin-top:48px}
 .bl{font-size:18px;line-height:28px}
 .h2{font-size:30px;line-height:34px}
 .how{padding:88px 0 24px}
 .num{font-size:56px}
 .wlcard{padding:28px 22px;border-radius:24px}
 .wlrow{flex-direction:column}.wlrow .btn{width:100%}
 .wlinfo .l1{white-space:normal}
 .data-grid{padding:28px 22px;border-radius:24px}
 .final{padding:88px 0 96px}
 summary{font-size:17px;line-height:24px}
 .q .a{padding-right:16px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
 html{scroll-behavior:auto}
 .js [data-r],.js .pt,.js .hero-ph{transform:none!important;transition:opacity 200ms ease!important;transition-delay:0ms!important}
 .js .live .lv-dot{opacity:1!important;transition:none!important}
 .js .live .lv-line{stroke-dashoffset:0!important;transition:none!important}
 .bd,.bl4{transform:none!important;transition:none!important}
 .nx,.clx-count,.clx-txt{opacity:1!important;transform:none!important;transition:opacity 200ms ease!important}
 .tick{animation:none}
 .forest{clip-path:none!important;transition:opacity 200ms ease}
 .btn,.link svg{transition:none}
}

/* ---------- the phone: one device from the hero to the climax (desktop) ---------- */
.rail-box{position:relative;width:calc(393px*var(--s));height:calc(852px*var(--s));--hs:var(--s)}
.js .rail-box{opacity:0;transform:translateY(56px)}
.js .rail-box.up{opacity:1;transform:none;transition:opacity 900ms var(--settle) 200ms,transform 900ms var(--settle) 200ms}
.rail-sticky{will-change:transform}
@media (min-width:1024px){
 .hero-stage{width:auto;height:calc(852px*var(--s));margin-top:64px}
 .hero-stage .ph{display:none}
 .how{padding-top:96px}
}
@media (prefers-reduced-motion: reduce){.js .rail-box{transform:none!important;transition:opacity 200ms ease!important}}

/* ---------- why (text only, before maintenance) ---------- */
.why2{padding:152px 0 24px}
.why2 .why-grid{display:grid;grid-template-columns:6fr 6fr;gap:24px;margin:0}
.why2 .h2{margin-top:16px}
.why-copy{display:flex;flex-direction:column;gap:20px;padding-top:36px}
.why2+.mnt .mnt-grid{padding-top:96px}
@media (max-width:1023px){.why2{padding:96px 0 0}.why-copy{padding-top:8px}.why2 .why-grid{grid-template-columns:1fr;gap:20px}}

/* ---------- typographic composition (Phase 3 QA, Nov 6): intentional breaks and one-line settings ---------- */
/* 1. Hero: tagline +2 px; subheading on two lines (desktop) */
.hero .eb{font-size:15px;line-height:20px}
@media (min-width:1024px){.hero .bl{max-width:820px;text-wrap:balance}}
/* 2. Intentional breaks: headings from 600 px, step copy from 1200 px */
@media (min-width:600px){.l{display:block}}
@media (min-width:1200px){.l2{display:block}.step-t{max-width:690px}}
@media (min-width:1360px){.bl.one{max-width:none;white-space:nowrap}}
/* 3. Progress heading on one line (desktop); lead uses the full width */
@media (min-width:1024px){#prog-h{font-size:clamp(34px,3.42vw,56px);white-space:nowrap}}
.charts .lead{max-width:none}
/* 4. Why: heading across the full width, paragraphs beneath */
.why2 .why-grid{grid-template-columns:1fr;gap:0}
.why2 .h2{max-width:none}
.why-copy{padding-top:40px}
@media (min-width:1024px){.why2 .why-grid>.why-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.why-copy .bl{max-width:none}}
/* 5. Mobile waitlist field: in the stacked row, flex:1 collapsed its height */
@media (max-width:599px){.wlform input[type=email]{flex:none;height:52px;width:100%}}
/* 6. Your data: one-line heading, text beneath */
.data-grid{grid-template-columns:1fr;gap:20px}
.data .bl{max-width:760px}
@media (min-width:1024px){#data-h{white-space:nowrap}}

/* ---------- final composition (Nov 6) ---------- */
/* Weeks kept follow-up: statement centred */
.charts .lead{text-align:center;margin-left:auto;margin-right:auto}
/* Your data: supporting text on one line where it fits (1240 px and wider) */
@media (min-width:1240px){.data .bl{max-width:none;white-space:nowrap}}
/* Footer disclaimer on one line: 13 px from 1360 px, 12 px from 1280 px (v1.0.9: was 1240 px; the wording grew by two words); wraps at 14 px below */
@media (min-width:1280px){.disc{white-space:nowrap;font-size:12px;line-height:18px}}
@media (min-width:1360px){.disc{font-size:13px}}

/* ---------- small phones (under 375 px): the header fits without overflow ---------- */
@media (max-width:374px){
 .wrap{padding:0 16px}
 .nav{gap:6px}
 .hdr .hdr-cta{padding:0 14px;font-size:14px}
}

/* ---------- welcome screen inside the site's phone frame (the frame carries the one device shadow) ---------- */
.ph .kw{box-shadow:none;border-radius:0}

/* ---------- inner pages: Providers, Support, Privacy, Terms ---------- */
.page{padding:88px 0 128px}
.doc{max-width:760px}
.doc.doc-wide{max-width:none}
.doc>.eb{margin:0}
.doc h1{margin:16px 0 0;font-weight:600;font-size:clamp(40px,4.4vw,64px);line-height:1.04;letter-spacing:-.022em;color:var(--forest)}
.doc h2{margin:56px 0 0;font:600 26px/32px 'Instrument Sans',system-ui,sans-serif;letter-spacing:-.01em;color:var(--charcoal)}
.doc p,.doc li{font:400 17px/26px 'Instrument Sans',system-ui,sans-serif;color:var(--charcoal)}
.doc p{margin:16px 0 0}
.doc p.bl{max-width:none}
.doc p.bl.pintro{font-size:15px;line-height:24px}
.doc ul{margin:16px 0 0;padding-left:22px}
.doc li{margin:8px 0}
.doc h3{margin:32px 0 0;font:600 19px/26px 'Instrument Sans',system-ui,sans-serif;letter-spacing:-.005em;color:var(--charcoal)}
.doc ul ul{margin:8px 0 0}
.doc h2+h3{margin-top:24px}
.doc a{color:var(--forest);font-weight:600}
.doc a.link{margin:0}
.meta{font:400 15px/22px 'Instrument Sans',system-ui,sans-serif;color:var(--text2)}
.pend{display:inline-block;font:600 13px/18px 'Instrument Sans',system-ui,sans-serif;padding:2px 8px;border-radius:6px;background:#F3E6C4;color:#6E4A0A}
.draft{display:flex;gap:12px;align-items:flex-start;background:#F3E6C4;color:#6E4A0A;border-radius:16px;padding:16px 18px;margin-top:28px;font:500 16px/24px 'Instrument Sans',system-ui,sans-serif}
.draft svg{flex:none;margin-top:2px}
.contact{background:var(--stone);border-radius:32px;padding:48px 56px;margin-top:56px}
.contact .b{font:400 17px/26px 'Instrument Sans',system-ui,sans-serif}
.doc .contact h2.h3{font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:-.012em}
.pintro .l1{display:inline}
.page-prov .pintro{max-width:none}
.pledger{margin-top:56px}
.pledger .ledger{gap:56px}
/* approved one-line settings from Pass 3 (v7 sizes), applied from the width where each fits */
@media (min-width:1024px){.ph1,.gline{white-space:nowrap}}
@media (min-width:1200px){.doc .oneline{white-space:nowrap}}
@media (min-width:1360px){.pintro .l1{white-space:nowrap}}
@media (max-width:1023px){
 .page{padding:64px 0 96px}
 .contact{padding:36px}
 .pledger .ledger{gap:32px;margin-top:0}
}
@media (max-width:599px){
 .contact{padding:28px 22px;border-radius:24px}
 .doc h2{margin-top:44px}
}
.doc .ledger ul{margin:0;padding:0}
.doc .ledger li{margin:0}

/* ---------- v1.0.9 ---------- */
/* Why Keep: the wrap keeps its centred auto margins (the grid rule had reset them to 0, shifting the section left above 1360 px) */
.why2 .why-grid{margin-left:auto;margin-right:auto}
/* Closing headline on one line from 1024 px: sized to the container, capped at 80 px; two lines below 1024 px */
@media (min-width:1024px){@supports (font-size:1cqi){
 .final-in{container-type:inline-size}
 .final .dxl{max-width:none;white-space:nowrap;font-size:min(80px,calc(100cqi / 15))}
}}
/* Footer social links: official glyphs in solid black (per each platform's monochrome rules); 44 px targets; the state shows on the circle, never by recolouring the logo */
.social{display:flex;gap:4px;margin:16px 0 0 -12px;padding:0;list-style:none}
.fgrid .social a{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;color:#000;transition:background-color var(--t-card) var(--settle)}
.fgrid .social a:hover{background:var(--stone)}
.fgrid .social a:active{background:var(--hair)}
.fgrid .social a:focus-visible{border-radius:999px;outline-offset:2px}
.social svg{display:block;width:20px;height:20px;fill:currentColor}
@media (prefers-reduced-motion:reduce){.fgrid .social a{transition:none}}

/* 404 page (v1.0.9, Option A "Quiet", approved Nov 9): centred, ivory; one h1, two buttons, help line */
.nf{min-height:calc(100vh - var(--hdr));display:flex;align-items:center;padding:72px 0 96px;text-align:center}
.nf .wrap{width:100%;box-sizing:border-box}
.nf h1{margin:20px 0 0;font-weight:600;letter-spacing:-.025em;line-height:1.02;color:var(--forest);font-size:clamp(44px,6vw,84px)}
.nf .bl{margin:24px auto 0;max-width:560px}
.nf .ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.nf .help{margin:40px 0 0;font:400 15px/22px 'Instrument Sans',system-ui,sans-serif;color:var(--text2)}
.nf .help a{color:var(--forest);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){.nf{padding:48px 0 72px;min-height:0}.nf .ctas{flex-direction:column;align-items:stretch}.nf .ctas .btn{width:100%}}
