/* ============================================================
   KGM — TYPOGRAPHY TOKENS
   Two families, only two.
   • Fira Sans Condensed — headlines, titles, eyebrows, CTAs, labels.
     ALWAYS bold (700) for headlines; medium (500) for sub-heads.
     Headlines/eyebrows/CTAs are UPPERCASE or tight title-case.
   • Inter — all body copy, ledes, captions, long reading. Light (300)
     for generous reading; italic Light reserved for quotes & subtitles.
   Fira sets the tone; Inter invites reading. Never swap their jobs.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-display: 'Fira Sans Condensed', 'Fira Sans', 'Arial Narrow', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-quote:   'Inter', system-ui, sans-serif; /* use italic + weight 300 */

  /* ---- Weights ---- */
  --fw-display:   700;  /* @kind font */ /* headlines — always bold */
  --fw-subhead:   500;  /* @kind font */ /* Fira medium sub-heads */
  --fw-body:      300;  /* @kind font */ /* Inter light — default reading weight */
  --fw-body-reg:  400;  /* @kind font */
  --fw-emph:      600;  /* @kind font */ /* emphasis within body / labels */
  --fw-bold:      700;  /* @kind font */

  /* ---- Tracking ---- */
  --track-eyebrow: 0.20em;  /* @kind font */ /* uppercase tracked eyebrows */
  --track-cta:     0.04em;  /* @kind font */ /* uppercase button labels */
  --track-tight:  -0.015em; /* @kind font */ /* large display headlines */
  --track-label:   0.06em;  /* @kind font */

  /* ---- Web / responsive type scale (clamped) ---- */
  --type-display:  clamp(2.4rem, 6.5vw, 5.2rem);  /* hero headline */
  --type-h1:       clamp(2.2rem, 5vw, 4rem);
  --type-h2:       clamp(1.8rem, 3.8vw, 3.1rem);
  --type-h3:       1.5rem;
  --type-lede:     1.2rem;
  --type-body:     1.12rem;
  --type-small:    0.98rem;
  --type-eyebrow:  0.8rem;
  --type-caption:  0.85rem;

  /* ---- Line heights ---- */
  --lh-display:   1.02;  /* @kind font */
  --lh-heading:   1.05;  /* @kind font */
  --lh-body:      1.6;   /* @kind font */
  --lh-tight:     1.1;   /* @kind font */

  /* ============================================================
     SLIDE TYPE SCALE — fixed px on a 1920×1080 canvas.
     Body never below 24px on a slide.
     ============================================================ */
  --slide-display:   150px;  /* cover / statement headline */
  --slide-statement: 120px;  /* big statement word */
  --slide-title:     90px;   /* section + content titles */
  --slide-heading:   50px;
  --slide-sub:       40px;
  --slide-body:      30px;
  --slide-small:     26px;
  --slide-label:     24px;   /* eyebrows, stat labels — the floor */
}
