/* V9's four-size, two-family type system.
   Layered important declarations beat the legacy unlayered component overrides.
   Children inherit their role's size, including pills and animated text spans. */
@layer v9-typography {
  body.sage-edition {
    --type-small:12px;
    --type-body:16px;
    --type-heading:32px;
    --type-display:64px;
    --font-sans:"Nunito Sans",sans-serif;
    --font-display:"Tiempos Headline",serif;
    --font-mono:var(--font-sans);
    font-size:var(--type-body)!important;
    font-family:var(--font-sans)!important;
  }
  body.sage-edition :where(*,*::before,*::after) {
    font-size:inherit!important;
    font-family:inherit!important;
    text-transform:none!important;
  }
  body.sage-edition :where(h1,h2,h3,h4,.h2,.cap-h,.brand,.model-chat-brand,.demo-number,.res-fig) {
    font-size:var(--type-heading)!important;
    font-family:var(--font-display)!important;
  }
  body.sage-edition :where(h1,h2,h3,h4,.h2,.cap-h) {
    line-height:1.2!important;
  }
  body.sage-edition :where(
    small,.label,.hero-logos-label,.logo-brand-name,.logo-fallback,
    .navlinks,.btn,.security-trust-link,.res-tag,.res-who,.fbase,
    footer h4,.security-deployments span,.cap-rail-number,
    .scene,.scene p,.scene table,.scene h3,.scene h4
  ) {
    font-size:var(--type-small)!important;
    font-family:var(--font-sans)!important;
  }
  body.sage-edition :where(.label,.hero-logos-label,.res-tag,footer h4) {
    letter-spacing:0!important;
  }
  body.sage-edition :where(.res-what,.res-out,.security-deploy-title,.security-deployments strong,footer li a) {
    font-size:var(--type-body)!important;
    font-family:var(--font-sans)!important;
  }
  body.sage-edition .scene :where(.model-chat-brand,.demo-number,.connection-wordmark) {
    font-size:var(--type-heading)!important;
    font-family:var(--font-display)!important;
  }
  body.sage-edition .scene .finding-email h3 {
    font-size:var(--type-body)!important;
    font-family:var(--font-display)!important;
  }
  body.sage-edition .hero .display {
    font-size:var(--type-display)!important;
    line-height:1.1!important;
    max-width:24ch!important;
  }
  body.sage-edition .hero-inner {max-width:1040px!important}
  body.sage-edition .h2 {
    font-size:var(--type-display)!important;
    font-weight:500!important;
    line-height:1.12!important;
  }
  @media(max-width:1199px) {
    body.sage-edition .h2 {font-size:var(--type-heading)!important}
  }
  body.sage-edition .res-card {container-type:inline-size}
  body.sage-edition .res-fig {
    font-size:var(--type-display)!important;
    font-family:var(--font-sans)!important;
    font-weight:600;
    font-variant-numeric:lining-nums tabular-nums;
    line-height:1!important;
    letter-spacing:-.04em!important;
  }
  @container(max-width:280px) {
    body.sage-edition .res-fig {font-size:var(--type-heading)!important}
  }
  @media(max-width:700px) {
    /* Reuse the heading size on phones, rather than adding a fifth size. */
    body.sage-edition .hero .display {font-size:var(--type-heading)!important}
    body.sage-edition .res-fig {font-size:var(--type-heading)!important}
  }
}
