/* Sovereign — Typography (Geist foundation)
   Two fonts, one voice. Geist Sans carries everything human; Geist Mono is the
   machine voice — cryptographic digests, keys, canonical JSON, and uppercase
   technical labels. Signature move: aggressive negative tracking at display sizes,
   relaxing to 0 as text shrinks, going slightly positive (+0.04em) on mono caps. */

:root {
  /* ---- Families ---- */
  --font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ---- Weights (three do the work; 700 rare) ---- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Size scale ---- */
  --text-caption: 12px;    /* mono labels, captions */
  --text-body: 14px;       /* default body / UI */
  --text-body-lg: 16px;
  --text-lead: 18px;       /* lead paragraph */
  --text-h20: 20px;        /* small heading */
  --text-h32: 32px;        /* section heading */
  --text-display-lg: 48px;
  --text-display-2xl: 72px;

  /* ---- Line-height ---- */
  --leading-display: 0.98;
  --leading-heading: 1.1;
  --leading-snug: 1.3;
  --leading-body: 1.6;

  /* ---- Tracking (bigger = tighter) ---- */
  --tracking-display: -0.045em;
  --tracking-heading: -0.03em;
  --tracking-tight: -0.02em;
  --tracking-body: -0.01em;
  --tracking-normal: 0;
  --tracking-mono-label: 0.04em;  /* uppercase mono caps go positive */
  --tracking-mono-wide: 0.06em;
}
