/* ============================================================
   LeadPixel — Typography tokens
   Editorial optical serif (Fraunces) + quiet grotesque UI
   (Hanken Grotesk) + mono for data (JetBrains Mono).
   Display carries italics as the editorial accent device.
   Fraunces is a lower-contrast, sturdier serif than a Didone —
   it keeps the editorial italic voice but stays legible at
   every size and on the dark canvas.
   ============================================================ */
:root {
  /* — Families — */
  --font-serif: "Fraunces", "Hoefler Text", Georgia, "Times New Roman", serif;
  --font-display: var(--font-serif);
  --font-sans:  "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:  "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* — Weights — */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extra:    800;

  /* — Type scale (px) —
     UI/body sizes step from 12 → 22; display sizes carry the
     editorial serif from 28 → 120. */
  --text-2xs:   11px;
  --text-xs:    12px;
  --text-sm:    13px;
  --text-base:  15px;
  --text-md:    17px;
  --text-lg:    19px;
  --text-xl:    22px;
  --display-xs: 28px;
  --display-sm: 36px;
  --display-md: 48px;
  --display-lg: 64px;
  --display-xl: 84px;
  --display-2xl: 120px;

  /* — Line heights — */
  --leading-none:    1;
  --leading-tight:   1.12;
  --leading-snug:    1.28;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* — Letter spacing —
     The optical serif wants near-zero to a hair tight at display
     sizes; it already carries character. Eyebrows ride wide. */
  --tracking-tighter: -0.02em;
  --tracking-tight:   -0.01em;
  --tracking-display: -0.005em;
  --tracking-normal:  0;
  --tracking-wide:    0.02em;
  --tracking-wider:   0.10em;
  --tracking-caps:    0.22em;  /* eyebrow / overline labels */
}
