:root {
  /* ---- families ---- */
  --font-serif: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-sans: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* semantic roles */
  --font-display: var(--font-serif);  /* headlines, pull-quotes, numerals */
  --font-body: var(--font-sans);      /* body, UI, everything functional */
  --font-label: var(--font-mono);     /* kickers, metadata, eyebrows */

  /* ---- weights ---- */
  --weight-display-light: 300;   /* the signature headline weight */
  --weight-display-medium: 500;
  --weight-body: 400;
  --weight-body-strong: 600;
  --weight-body-heavy: 700;
  --weight-label: 500;

  /* ---- screen / UI scale ---- */
  --text-display: 4.25rem;   /* 68px */
  --text-h1: 3rem;           /* 48px */
  --text-h2: 2rem;           /* 32px */
  --text-h3: 1.375rem;       /* 22px */
  --text-lead: 1.3125rem;    /* 21px */
  --text-base: 1.0625rem;    /* 17px */
  --text-sm: 0.9375rem;      /* 15px */
  --text-xs: 0.8125rem;      /* 13px */
  --text-label: 0.75rem;     /* 12px — mono kicker */

  /* ---- line heights ---- */
  --leading-display: 1.0;
  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-body: 1.6;
  --leading-loose: 1.75;

  /* ---- tracking ---- */
  --tracking-display: -0.01em;
  --tracking-normal: 0;
  --tracking-label: 0.18em;   /* mono kicker default */
  --tracking-label-wide: 0.28em;

  /* ---- deck scale (1920x1080 slides) ---- */
  --slide-display: 140px;
  --slide-headline: 64px;
  --slide-title: 56px;
  --slide-body: 22px;
  --slide-label: 20px;
}
