/* §04 Typography — one step per level, no in-between sizes.
   Serif display · neutral grotesque body · mono labels and figures. */
:root{
  --size-display:60px;  --lh-display:1.06/* @kind other */;  --ls-display:-0.015em/* @kind other */;
  --size-h1:44px;       --lh-h1:1.1/* @kind other */;        --ls-h1:-0.015em/* @kind other */;
  --size-h2:32px;       --lh-h2:1.2/* @kind other */;        --ls-h2:-0.012em/* @kind other */;
  --size-h3:24px;       --lh-h3:1.3/* @kind other */;        --ls-h3:-0.01em/* @kind other */;
  --size-body:17px;     --lh-body:1.8/* @kind other */;
  --size-small:14px;    --lh-small:1.7/* @kind other */;
  --size-label:11px;    --lh-label:1.4/* @kind other */;     --ls-label:0.18em/* @kind other */;
  --size-label-lg:12px;
  --size-nav:10.5px;    --ls-nav:0.16em/* @kind other */;
  --size-disclosure:8px;

  --weight-light:300/* @kind other */;
  --weight-regular:400/* @kind other */;
  --weight-medium:500/* @kind other */;   /* the only emphasis weight — never bold Caslon */
  --weight-semibold:600/* @kind other */;

  --measure-body:72ch/* @kind other */;   /* maximum 72 characters per line */
  --measure-serif:26ch/* @kind other */;  /* display lines break short and deliberately */

  /* Semantic type roles */
  --type-display:var(--weight-regular) var(--size-display)/var(--lh-display) var(--font-display);
  --type-h1:var(--weight-regular) var(--size-h1)/var(--lh-h1) var(--font-display);
  --type-h2:var(--weight-regular) var(--size-h2)/var(--lh-h2) var(--font-display);
  --type-h3:var(--weight-regular) var(--size-h3)/var(--lh-h3) var(--font-display);
  --type-body:var(--weight-regular) var(--size-body)/var(--lh-body) var(--font-sans);
  --type-small:var(--weight-regular) var(--size-small)/var(--lh-small) var(--font-sans);
  --type-label:var(--weight-medium) var(--size-label)/var(--lh-label) var(--font-mono);
  --type-figure:var(--weight-regular) var(--size-h1)/1 var(--font-mono);
}
