/* typography.css — DSC type tokens.
   Three typefaces, each with a job:
     Newsreader  (serif) — headlines & pull-quotes
     Geist       (sans)  — body, UI, everything functional
     Geist Mono  (mono)  — labels, kickers, code, the logo */
:root{
  /* ---- families ---- */
  --font-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --font-sans:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'Geist Mono','SFMono-Regular',Consolas,'Liberation Mono',monospace;
  /* short aliases (match original ds.css) */
  --serif:var(--font-serif);
  --sans:var(--font-sans);
  --mono:var(--font-mono);

  /* ---- weights ---- */
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;

  /* ---- type scale (px) ----
     serif sets display & headings, sans sets body, mono sets small labels */
  --text-display:54px;   /* Newsreader 600, -0.025em */
  --text-h1:38px;        /* Newsreader 600, -0.02em */
  --text-h2:28px;        /* Newsreader 600, -0.02em */
  --text-h3:21px;        /* Newsreader 600, -0.02em */
  --text-subhead:16px;   /* Geist 600, -0.01em */
  --text-body-lg:18px;   /* Geist 400 — lede */
  --text-body:15px;      /* Geist 400 — workhorse */
  --text-small:13px;     /* Geist 400 — captions, notes */
  --text-label:12px;     /* Geist Mono 500, 0.14em uppercase — kickers */

  /* ---- line heights ---- */
  --leading-tight:1.05;  /* display & headings */
  --leading-snug:1.2;    /* subheads */
  --leading-body:1.55;   /* paragraphs */

  /* ---- tracking ---- */
  --tracking-display:-0.025em;
  --tracking-heading:-0.02em;
  --tracking-tight:-0.01em;
  --tracking-label:0.14em;  /* uppercase mono kickers */
  --tracking-seg:0.16em;    /* nav segment labels */
}
