/* QuadBlock — Typography tokens
 * Display & long-form: Newsreader (editorial serif).
 * UI & product body:   Hanken Grotesk (humanist grotesk).
 * Eyebrows / tags / meta: Spline Sans Mono (WIRED typewriter motif).
 */
:root {
  /* ---- Families ---- */
  --font-display: "Newsreader", "Times New Roman", Georgia, serif;
  --font-body:    "Newsreader", Georgia, serif;          /* editorial reading */
  --font-ui:      "Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --font-mono:    "Spline Sans Mono", ui-monospace, "SFMono-Regular", monospace;

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

  /* ---- Type scale (rem, 16px base) ---- */
  --fs-display-2xl: 5.5rem;   /* 88 — hero editorial headline */
  --fs-display-xl:  4rem;     /* 64 */
  --fs-display-lg:  3rem;     /* 48 */
  --fs-display-md:  2.25rem;  /* 36 */
  --fs-h1:          2rem;     /* 32 */
  --fs-h2:          1.5rem;   /* 24 */
  --fs-h3:          1.25rem;  /* 20 */
  --fs-body-lg:     1.125rem; /* 18 */
  --fs-body:        1rem;     /* 16 */
  --fs-body-sm:     0.875rem; /* 14 */
  --fs-caption:     0.75rem;  /* 12 */
  --fs-eyebrow:     0.6875rem;/* 11 — mono label */

  /* ---- Line heights (large display / headings / UI / long-form) ---- */
  --lh-tight:    1.04; /* @kind font */
  --lh-snug:     1.18; /* @kind font */
  --lh-normal:   1.5; /* @kind font */
  --lh-relaxed:  1.65; /* @kind font */

  /* ---- Tracking (display / heading / normal / eyebrow / tag) ---- */
  --ls-display:  -0.022em; /* @kind font */
  --ls-heading:  -0.012em; /* @kind font */
  --ls-normal:   0; /* @kind font */
  --ls-eyebrow:  0.18em; /* @kind font */
  --ls-tag:      0.08em; /* @kind font */
}
