/* ============================================================
   NUKON USA — TYPOGRAPHY
   PER-PROJECT BY DESIGN. The brand constitution leaves families and
   expressive scale free; the roles below are the stable contract.
   Override --font-display / --font-body / --font-mono per demo and every
   component follows. See guidelines/typography.md for the 3 presets.
   ============================================================ */
:root {
  /* role slots — the only names components may reference */
  --font-display:           var(--font-saira);
  --font-display-condensed: var(--font-saira-cond); /* oversized hero headlines only */
  --font-body:              var(--font-inter);
  --font-mono:              var(--font-plex-mono);

  /* fluid display scale — oversized by intent */
  /* Cinematic scale. The headline block MAY overlap the machine's dark top edge —
     only the bare subline must clear the white lower panel. Reduce the ceiling
     before ever letting the CTA row fall below the fold. */
  --text-hero:      clamp(56px, 7.5vw, 108px);
  --text-display-1: clamp(44px, 6.2vw, 96px);
  --text-display-2: clamp(36px, 4.4vw, 68px);
  --text-stat:      clamp(46px, 6.6vw, 108px);

  /* headings */
  --text-h1: clamp(32px, 3.4vw, 48px);
  --text-h2: clamp(26px, 2.3vw, 34px);
  --text-h3: 22px;
  --text-h4: 18px;

  /* body + utility */
  --text-body-lg: 19px;
  --text-body:    17px;
  --text-body-sm: 15px;
  --text-caption: 13px;
  --text-eyebrow: 12px;
  --text-data:    14px;

  /* weights — only these are loaded */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    800;

  /* line heights */
  --leading-hero:    0.95; /* @kind font */
  --leading-display: 0.98; /* @kind font */
  --leading-heading: 1.12; /* @kind font */
  --leading-body:    1.6; /* @kind font */
  --leading-tight:   1.35; /* @kind font */

  /* tracking */
  --tracking-hero:    -0.02em;
  --tracking-display: -0.025em;
  --tracking-heading: -0.015em;
  --tracking-body:     0em;
  --tracking-eyebrow:  0.14em; /* LOCKED — from the exemplar .eyebrow */
  --tracking-data:     0.02em;

  /* composed roles */
  --type-hero:    var(--weight-black) var(--text-hero)/var(--leading-hero) var(--font-display-condensed);
  --type-display: var(--weight-bold) var(--text-display-1)/var(--leading-display) var(--font-display);
  --type-h1:      var(--weight-bold) var(--text-h1)/var(--leading-heading) var(--font-display);
  --type-h2:      var(--weight-semibold) var(--text-h2)/var(--leading-heading) var(--font-display);
  --type-h3:      var(--weight-semibold) var(--text-h3)/var(--leading-tight) var(--font-display);
  --type-body:    var(--weight-regular) var(--text-body)/var(--leading-body) var(--font-body);
  --type-body-sm: var(--weight-regular) var(--text-body-sm)/var(--leading-body) var(--font-body);
  --type-label:   var(--weight-semibold) var(--text-body-sm)/1.3 var(--font-body);
  --type-data:    var(--weight-medium) var(--text-data)/1.45 var(--font-mono);
}
