/* One geometric sans family connects the wordmark, story and controls. */
/* Metric-matched Arial stands in until Manrope arrives, so the swap does not move the hero text. */
@font-face{font-family:'Manrope Fallback';src:local('Arial'),local('ArialMT');size-adjust:102.9%;ascent-override:104%;descent-override:29.2%;line-gap-override:0%}
:root{--sans:'Manrope','Manrope Fallback',Arial,Helvetica,sans-serif;--display:var(--sans);--mono:var(--sans);--serif:var(--sans)}
body{font-family:var(--sans);font-weight:400;font-feature-settings:normal}
body button,body input,body select,body textarea{font-family:var(--sans)}
h1,h2,h3,.h2,.hero-h1,.hero-tag,.form-h,.founder-name,.teaser-h,.manifesto-text{font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:-.045em}
em,.hero-h1 .accent,.hero-tag,.form-success strong{font-style:normal}
.hero-h1{font-size:clamp(64px,7.6vw,108px);line-height:1.04;font-weight:500;letter-spacing:-.065em}
.hero-h1 .accent{font-weight:500}
.hero-sub,.body,.lead{font-weight:400}
.hero-eyebrow,.section-rule,.eyebrow,.proof-label,.land-card-label,.form-label,.teaser-eyebrow{letter-spacing:.09em;font-weight:600}
.hero-proof{font-size:12px;letter-spacing:0}
.hero-tag{letter-spacing:-.015em;line-height:1.5}
.product-controls button{font-family:var(--sans);font-size:12px;letter-spacing:0}
.investor-faq summary{font-weight:500;line-height:1.4}
h1,h2,h3,p,summary{overflow-wrap:break-word}
@media(max-width:900px){.hero-h1{font-size:clamp(54px,10.8vw,86px);line-height:1.05}.hero-actions .btn{font-size:13px}}
@media(max-width:600px){
 .hero-h1{font-size:clamp(48px,12vw,70px);letter-spacing:-.055em;margin-bottom:24px}
 .h2{font-size:clamp(30px,8.2vw,44px);line-height:1.14;letter-spacing:-.04em}
 .hero-sub,.body{font-size:16px;line-height:1.75}
 .hero-eyebrow{font-size:10px;letter-spacing:.07em;gap:10px}
 .hero-eyebrow .line{width:24px}.hero-proof{font-size:12px;max-width:38ch}
 .hero-actions{align-items:stretch}.hero-actions .btn{white-space:normal;text-align:center;min-height:48px}
 .product-controls button{min-height:44px}.product-controls{gap:10px}
 .field input,.field select,.field textarea{font-size:16px}
 .form-h{font-size:30px;line-height:1.2}.investor-faq summary{font-size:20px}
 .section-rule{letter-spacing:.06em;font-size:10px}
 .footer-links a{display:inline-flex;align-items:center;min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Brand typography stays upright, including semantic emphasis and browser defaults. */
body,body *{font-style:normal!important;font-synthesis:none}

/* Three equal columns, with matching centered label/value/caption rows. */
.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.hero-stats .hs{display:grid;grid-template-rows:minmax(28px,auto) auto minmax(28px,auto);align-items:center;justify-items:center;text-align:center;padding:0 10px;gap:8px}
.hero-stats .hs-tag,.hero-stats .hs-src{width:100%;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5;letter-spacing:.04em}
.hero-stats .hs-n{font-size:clamp(18px,1.9vw,27px);font-weight:500;line-height:1.25;letter-spacing:-.035em;text-align:center}
@media(max-width:480px){.hero-stats .hs{padding:0 5px}.hero-stats .hs-tag,.hero-stats .hs-src{font-size:9px}.hero-stats .hs-n{font-size:18px}}

/* Give the core promise more presence and align the desktop product with the story. */
.hero .hero-tag{font-size:clamp(25px,2.35vw,34px);font-weight:500;line-height:1.3;color:var(--bone);max-width:30ch;letter-spacing:-.025em}
@media(min-width:901px){.hero-right{position:relative;top:clamp(-88px,-6vw,-56px)}}
@media(max-width:600px){.hero .hero-tag{font-size:25px;line-height:1.32;margin-bottom:24px}}

/* Balanced heading lines: no lone last word after a forced break on phones. */
h1,h2{text-wrap:balance}

/* Phones: the small print that carries meaning (forecast labels, sources, form labels, consent lines) at a readable 11px.
   Subgrid keeps the three hero figures on one baseline when a label wraps. */
@media(max-width:600px){.hero-stats{grid-template-rows:auto auto auto}.hero-stats .hs{grid-row:span 3;grid-template-rows:subgrid}.hero-stats .hs-tag,.hero-stats .hs-src{font-size:11px;letter-spacing:.02em;line-height:1.35}.hero-stats .hs-tag{color:#9a9a9a}.field label{font-size:11px;letter-spacing:.12em}.form-foot,.voice-dialog .vd-submit .form-foot{font-size:11px;letter-spacing:.06em}}

/* Short laptop screens: scale the hero by height too, so both hero buttons stay above the fold. */
@media(min-width:901px) and (max-height:940px){.hero{padding-top:104px;padding-bottom:48px}.hero .hero-h1{font-size:clamp(56px,min(7.6vw,10vh),108px);margin-bottom:16px}.hero .hero-tag{font-size:clamp(20px,min(2.35vw,3.3vh),34px);margin-bottom:14px}.hero .hero-sub{margin-bottom:24px;line-height:1.6}}
@media(min-width:901px) and (max-height:700px){.hero{padding-top:96px}.hero .hero-h1{font-size:clamp(52px,min(7.6vw,9vh),108px)}}
.hero .hero-sub{max-width:30.5em}

/* Short laptop screens: start the product stage under the nav and fit it to the window, so Open box and the view controls are not cut at the fold. */
@media(min-width:901px) and (max-height:820px){.hero-right{align-self:start;top:0}.hero-right .ring-frame{height:clamp(480px,calc(100vh - 116px),680px)}}
