/* Shared type system: loaded last on every public page. */
:root{
  --font-display:'Sora',sans-serif;
  --font-body:'Archivo',sans-serif;
  --type-hero:clamp(3.1rem,5.4vw,4.8rem);
  --type-section:clamp(2.2rem,4vw,3.65rem);
}
:root body{font-family:var(--font-body);line-height:1.6}
:root body :is(h1,h2,h3,h4){font-family:var(--font-display)}
:root body h1{font-weight:600;letter-spacing:-.06em;line-height:1.04}
:root body header h1{font-size:var(--type-hero)}
:root body h2{font-weight:600;letter-spacing:-.055em;line-height:1.12}
:root body :is(.sec-head,.feat-flex,.cta-box) h2{font-size:var(--type-section)}
:root body h3{font-weight:500;letter-spacing:-.035em;line-height:1.25}
:root body h4{font-weight:600;letter-spacing:-.02em;line-height:1.3}
:root body .hero-sub{font-size:1rem;line-height:1.8;max-width:50ch}
:root body :is(.btn-primary,.btn-ghost,.nav-cta){font-family:var(--font-display);font-size:.85rem;font-weight:600;line-height:1.5}
:root body .eyebrow{font-family:var(--font-display);font-size:.66rem;font-weight:600;letter-spacing:.16em;line-height:1.6}
:root body :is(.case-big,.p-num,.m-num,.stat-cell .num,.hs .n){font-weight:600;letter-spacing:-.055em}
:root body .foot-col h4{font-size:.78rem;letter-spacing:.14em}
/* Utility and legal content keep their compact, readable scale. */
:root body .legal h2{font-size:clamp(1.35rem,2.4vw,1.75rem);letter-spacing:-.035em;line-height:1.25}
:root body .legal h3{font-size:1.05rem;letter-spacing:-.02em}
:root body .portal-access-card h2{font-size:1.35rem;letter-spacing:-.035em;line-height:1.25}
@media(max-width:760px){
  :root{--type-hero:clamp(2.7rem,8.8vw,4rem)}
}
