/* ============================================================
   S.C.O.P.E. — TYPOGRAPHY SYSTEM
   Spectral (serif)  → display, headings, pull-quotes  [the romantic layer]
   IBM Plex Sans     → UI, body, labels                [the technical layer]
   IBM Plex Mono     → math, scope syntax, code, IDs    [the formal layer]
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-serif:   'Spectral', 'Iowan Old Style', Georgia, serif;
  --font-sans:    'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono:    'IBM Plex 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 */
  --fw-black:     800;  /* @kind font */

  /* ---- Type scale (rem, 16px base; major-third-ish) ---- */
  --fs-display:   4.5rem;    /* 72px — hero display */
  --fs-h1:        3rem;      /* 48px */
  --fs-h2:        2.25rem;   /* 36px */
  --fs-h3:        1.625rem;  /* 26px */
  --fs-h4:        1.25rem;   /* 20px */
  --fs-lead:      1.3125rem; /* 21px — lead paragraph */
  --fs-body:      1rem;      /* 16px */
  --fs-sm:        0.875rem;  /* 14px */
  --fs-xs:        0.75rem;   /* 12px — labels, captions */
  --fs-mono-sm:   0.8125rem; /* 13px — inline math / IDs */

  /* ---- Line heights ---- */
  --lh-tight:     1.05;  /* @kind font */
  --lh-snug:      1.2;   /* @kind font */
  --lh-heading:   1.25;  /* @kind font */
  --lh-body:      1.65;  /* @kind font */
  --lh-relaxed:   1.8;   /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tight:     -0.02em;  /* @kind font */
  --ls-normal:    0;        /* @kind font */
  --ls-wide:      0.04em;   /* @kind font */
  --ls-label:     0.14em; /* @kind font */
}
