/* ============================================================
   IUDEX — Typography tokens
   ------------------------------------------------------------
   One family does all the work: a neutral grotesque (Geist, our
   stand-in for the brand's Helvetica-Now-class face). The system
   leans on SCALE and VALUE, not weight — display type is set at
   Regular/Medium, never bold. The signature move is the two-tone
   headline: emphasis words in --text-strong, the rest in
   --text-ghost (light gray).

   Labels are the second voice: small, UPPERCASE, wide-tracked.
   ============================================================ */

:root {
  /* ---- Families ----
     IUDEX's true brand face is Helvetica Neue (see iudex.mx). It is
     listed FIRST so Apple devices — where it ships natively — render
     the real brand type. Geist (loaded as a webfont) is the portable
     fallback for Windows/Linux, where Helvetica Neue is absent. */
  --font-display: 'Helvetica Neue', 'Helvetica', 'Geist', Arial, sans-serif;
  --font-sans:    'Helvetica Neue', 'Helvetica', 'Geist', Arial, sans-serif;
  --font-mono:    'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-light:    300;  /* @kind font */
  --fw-regular:  400;  /* @kind font */
  --fw-medium:   500;  /* @kind font */
  --fw-semibold: 600;  /* @kind font */
  --fw-bold:     700;  /* @kind font */

  /* ---- Display / heading scale (clamped, fluid) ---- */
  --fs-display:  clamp(3.5rem, 7vw, 6.5rem);   /* @kind font */ /* 56→104 hero */
  --fs-h1:       clamp(2.75rem, 5vw, 4.5rem);  /* @kind font */ /* 44→72 */
  --fs-h2:       clamp(2rem, 3.4vw, 3rem);     /* @kind font */ /* 32→48 */
  --fs-h3:       clamp(1.5rem, 2vw, 2rem);     /* @kind font */ /* 24→32 */
  --fs-h4:       1.5rem;                        /* @kind font */ /* 24 */
  --fs-stat:     clamp(3.25rem, 5.5vw, 5rem);  /* @kind font */ /* 52→80 stats */

  /* ---- Body scale ---- */
  --fs-body-lg:  1.3125rem;   /* @kind font */ /* 21 lead */
  --fs-body:     1.0625rem;   /* @kind font */ /* 17 default */
  --fs-body-sm:  0.9375rem;   /* @kind font */ /* 15 */
  --fs-caption:  0.8125rem;   /* @kind font */ /* 13 meta */

  /* ---- Label scale (uppercase, tracked) ---- */
  --fs-label:    0.8125rem;   /* @kind font */ /* 13 section labels */
  --fs-label-sm: 0.6875rem;   /* @kind font */ /* 11 chips */

  /* ---- Line heights ---- */
  --lh-display:  0.98;   /* @kind font */
  --lh-tight:    1.05;   /* @kind font */
  --lh-heading:  1.1;    /* @kind font */
  --lh-snug:     1.3;    /* @kind font */
  --lh-body:     1.6;    /* @kind font */
  --lh-relaxed:  1.75;   /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-display:  -0.03em;   /* @kind font */ /* tight display */
  --ls-heading:  -0.02em;   /* @kind font */
  --ls-tight:    -0.01em;   /* @kind font */
  --ls-normal:   0;         /* @kind font */
  --ls-label:    0.16em;    /* @kind font */ /* wide-tracked labels */
  --ls-label-sm: 0.12em;    /* @kind font */
}
