/* ── Lifetime Coatings — Typography tokens ─────────────────────────────
   Three roles:
   • Display  → Monument Extended (brand wordmark face; big, wide, UPPERCASE)
   • Sans/UI  → Syne (body, labels, buttons, nav — the live-dashboard face)
   • Mono     → DM Mono (numbers, metrics, tabular data, timestamps)

   2026-07-29 — Two roles now, per Tanner: "monument on the headlines... everything
   else should honestly be like Helvetica now in different weights."

   Helvetica Now itself couldn't be used: the only files we hold are Bold (700) and
   Black (900) demos, and the app sets 400/500/600 on most text, so every sentence
   and label would have rendered bold. He picked **Inter** instead — a screen-drawn
   neo-grotesque with the same skeleton as Helvetica, the full 100-900 range, and
   real tabular figures.

   Both --font-sans and --font-mono point at Inter, so "everything except Monument"
   is one face at many weights. --font-mono keeps its name and its 182 call sites
   because it still means "numbers/data"; `tabular-nums` on body (index.html) is what
   holds digits to equal widths now that a true monospace isn't doing it.

   History, so the earlier mistakes aren't repeated: I first pointed --font-sans at
   DM Mono (wrong — the KPI leaderboard inherits Syne, it isn't mono), then pointed
   --font-mono at Syne (consistent but ugly — Syne's 700/800 are wide and quirky, so
   dashboard tiles and notification badges read as a display face). Both reverted,
   beta-only. The lesson: a face has to work at every size the app uses it, from a
   10px badge to a 40px tile. Inter is chosen precisely because it does.
   ───────────────────────────────────────────────────────────────────── */

:root {
  /* ---- Families ---- */
  --font-display: 'Monument Extended', 'Inter', sans-serif;
  --font-sans:    'Inter', system-ui, -apple-system, sans-serif;
  /* Numbers/data. Same face as --font-sans by design (Tanner: everything but the
     headlines is one font); the token stays so number surfaces remain identifiable
     and so this can be split again later without touching 182 call sites. */
  --font-mono:    'Inter', system-ui, -apple-system, sans-serif;
  --font-alt:     'Helvetica Now Text', 'Syne', sans-serif; /* heavy display alt */

  /* Back-compat aliases used in the live app */
  --font: var(--font-sans);
  --mono: var(--font-mono);

  /* ---- Type scale (px) ---- */
  --fs-display: 52px;  /* hero metric / big number */
  --fs-h1: 34px;
  --fs-h2: 26px;
  --fs-h3: 18px;
  --fs-body: 14px;
  --fs-sm: 13px;
  --fs-xs: 12px;
  --fs-2xs: 11px;
  --fs-3xs: 10px;
  --fs-micro: 9px;     /* eyebrow / unit labels */

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

  /* ---- Letter-spacing ---- */
  --ls-tight: -0.02em;   /* @kind font */
  --ls-normal: 0;        /* @kind font */
  --ls-label: 0.1em;     /* @kind font */
  --ls-eyebrow: 0.16em;  /* @kind font */
  --ls-wide: 0.22em;     /* @kind font */

  /* ---- Line-heights ---- */
  --lh-solid: 1;       /* @kind font */
  --lh-tight: 1.2;     /* @kind font */
  --lh-snug: 1.45;     /* @kind font */
  --lh-body: 1.6;      /* @kind font */

  /* ---- Semantic roles ---- */
  --label-transform: uppercase; /* @kind other */
}
