/* Cohort 02 type system v3. Sora headlines, Geist body, JetBrains Mono labels. Loaded LAST on the landing page. */
@font-face{font-family:'Sora Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');size-adjust:112%;ascent-override:88%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:'Geist Fallback';src:local('Arial'),local('Helvetica Neue'),local('Roboto');size-adjust:104.8%;ascent-override:95.9%;descent-override:28.1%;line-gap-override:0%}
@font-face{font-family:'JetBrains Mono Fallback';src:local('Courier New'),local('Menlo'),local('DejaVu Sans Mono');size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}
:root{
--font-head:'Sora','Noto Sans','Sora Fallback',system-ui,-apple-system,sans-serif;
--font-display:var(--font-head);
--font-body:'Geist','Geist Fallback',system-ui,-apple-system,sans-serif;
--font-mono:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,Menlo,Consolas,monospace;
--acc-ink:#C2471F;--acc-dark:#FF9677;--c02-text-coral:#C2471F;
--t-h1:clamp(36px,calc(4.2vw + 20px),74px);
--t-h2:clamp(30px,calc(2.6vw + 20px),52px);
--t-h2-sm:clamp(26px,calc(1.3vw + 21px),38px);
--t-final:clamp(32px,calc(3.4vw + 18px),62px)}
body{font-family:var(--font-body)}
/* headlines */
h1,h2{font-family:var(--font-head);font-weight:300;letter-spacing:-.035em;line-height:1.08;text-wrap:balance}
h3,h4{font-family:var(--font-head);font-weight:400;letter-spacing:0;line-height:1.2;text-wrap:balance}
h1,.hero-sun h1{font-size:var(--t-h1);line-height:1.06}
h2,.ladder .what-intro h2,.how-in h2,.founder-copy h2,.price-copy h2{font-size:var(--t-h2);line-height:1.08;letter-spacing:-.035em;font-weight:300}
.ladder h2{font-size:var(--t-h1);line-height:1.05;letter-spacing:-.035em;font-weight:300}
.ladder h2 .it{font-family:var(--font-head);font-size:1em;letter-spacing:-.035em;line-height:1.05;margin-top:4px}
.final h2{font-size:var(--t-final);line-height:1.06;letter-spacing:-.035em;font-weight:300}
.vs-head h3{font-family:var(--font-head);font-size:var(--t-h2-sm);line-height:1.1;letter-spacing:-.03em;font-weight:300}
.lv h3,.lv-i h3,.asc h3,.suncard h3,.formcard h3,.m-card h3,.phase h3{font-family:var(--font-head);font-weight:400;letter-spacing:0;line-height:1.2}
.phase h3{letter-spacing:-.02em}
.lv h3{font-size:max(19px,1.55cqw)}.lv.top h3{font-size:max(22px,1.95cqw)}
.acc summary{font-family:var(--font-head);font-weight:400;letter-spacing:0;line-height:1.4;text-wrap:balance}
.ot-q{font-family:var(--font-head);font-weight:400;letter-spacing:0}
.fc-name{font-family:var(--font-head);font-weight:400;letter-spacing:0;font-size:20px}
.fcx[data-mode="mobile"] .fc-name{font-size:17px}
/* hero: muted grey second line removed; brackets kept, recoloured; scribble swash removed */
.hero h1 .u,.hero-sun h1.h1-mk .u{color:var(--bt-ink);font-weight:300;margin-top:0}
.hero h1.h1-mk .u em{font-weight:600;color:var(--acc-ink);letter-spacing:-.03em}
.h1-mk .u em::before,.h1-mk .u em::after{border-color:var(--acc-ink)}
.h1-mk .swash{display:none}
/* accent rule: one Sora 600 phrase per headline */
.ac{font-weight:600;color:var(--acc-ink);letter-spacing:-.03em}
.nw,.ac.nw{white-space:nowrap}
.ac .per{color:inherit}
.dark .ac,.fde-c .ac{color:var(--acc-dark)}
.where h2 .ac{color:var(--acc-dark)!important;-webkit-text-fill-color:var(--acc-dark)}
.final .ac,.where .pull .ac{color:inherit}
.where h2.pain-h .l2{opacity:1}
.where h2.pain-h{max-width:26em}
.where .pull .ac{display:block}
.lv h3{text-wrap:balance}
/* placeholder chips inside Sora headlines */
h1 .tbc,h2 .tbc,.where h2.pain-h .tbc{display:inline-block;font-family:var(--font-mono);font-weight:500;font-size:max(14px,.46em);line-height:1;letter-spacing:.06em;padding:.3em .5em;vertical-align:.32em;text-transform:uppercase}
/* quote card + glyphs */
.pull{font-family:var(--font-head);font-weight:300;letter-spacing:-.03em;line-height:1.16;font-size:clamp(26px,calc(1.6vw + 20px),40px);text-wrap:balance}
.where-close .pull,.where .pull{font-size:clamp(26px,calc(1.6vw + 20px),40px)}
.quote::before{font-family:var(--font-head);font-weight:300}
/* numerals */
.stats3 b,.stat b,.facts dt,.amt b,.fc-mono,.pain-count .pc-n{font-family:var(--font-head);font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.stats3 b{font-size:clamp(38px,calc(2vw + 24px),52px)}
.stats3 b small,.stat b small{font-family:var(--font-body);font-weight:400;letter-spacing:0}
.amt b,.pricecard .amt b{font-size:clamp(56px,calc(4vw + 30px),86px);letter-spacing:-.04em}
.facts dt{letter-spacing:-.03em}
@media (min-width:761px){.how-lure .tl .n,.tl .n{font-family:var(--font-head);font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-.04em}}
/* mono labels: JetBrains Mono 500, never 600 */
.vs3 .h,.vs3 .rl:not(.h),.lv-row li.top .tg,#not-a-founder .cmp>.h,.fc-code,.fc-prod b{font-weight:500}
.fc-pill,.fc-code,.fc-place.ph,.fc-team,.fc-role{font-family:var(--font-mono);font-weight:500;letter-spacing:.08em}
.pain-micro{font-family:var(--font-mono);font-weight:500}
/* Geist body: only 400/500 are loaded */
.x3>div:not(.h),.words-close,.lad-close,.floor p:not(.lbl){font-weight:400}
.lad-close{letter-spacing:0}
@media (max-width:760px){.hero-sun h1{font-size:clamp(30px,8.6vw,40px);line-height:1.08}}
