:root {
  --font-mono: 'Space Mono', ui-monospace, monospace; /* the only typeface on the site — body and display both */

  /* display / headline scale — clamp(min, viewport, max), tight tracking */
  --text-display-xl: clamp(44px, 10vw, 152px);   /* hero H1 */
  --text-display-lg: clamp(30px, 5vw, 68px);      /* final-CTA H2 */
  --text-display-md: clamp(27px, 4.2vw, 54px);    /* section H2 */
  --text-display-sm: clamp(23px, 3.1vw, 40px);    /* framework H2 */
  --text-heading-lg: clamp(25px, 3.3vw, 44px);    /* H3 panel titles */
  --text-heading-md: clamp(19px, 2.1vw, 26px);    /* card titles */
  --text-heading-sm: clamp(17px, 1.8vw, 21px);    /* small card titles */

  --text-body-lg: clamp(17px, 1.7vw, 22px);  /* hero subhead */
  --text-body-md: 15px;                       /* standard paragraph */
  --text-body-sm: 14.5px;                     /* dense paragraph */
  --text-body-xs: 13.5px;                     /* card copy */
  --text-caption: 12.5px;
  --text-kicker: 10.5px;   /* uppercase tracked eyebrow labels */
  --text-micro: 9.5px;     /* filter pills, numerals */

  --leading-tight: .9;      /* display headlines */
  --leading-snug: 1.06;
  --leading-heading: 1.28;
  --leading-body: 1.95;    /* paragraphs — generously loose for mono */
  --leading-list: 1.6;

  --tracking-display: -.07em;   /* negative tracking on big headlines */
  --tracking-heading: -.05em;
  --tracking-tight: -.03em;
  --tracking-kicker: .28em;     /* wide-tracked uppercase labels */
  --tracking-kicker-sm: .16em;
  --tracking-button: .12em;

  --weight-regular: 400;
  --weight-bold: 700;
}
