/* Clocktower Connections — Typography tokens */
:root {
  /* Families */
  --font-display: 'Zilla Slab', 'Roboto Slab', Georgia, serif;
  --font-body: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', ui-monospace, monospace;

  /* Type scale — 1.250 major-third, 16px base */
  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-md:   1.125rem;  /* 18px */
  --text-lg:   1.375rem;  /* 22px */
  --text-xl:   1.75rem;   /* 28px */
  --text-2xl:  2.25rem;   /* 36px */
  --text-3xl:  2.875rem;  /* 46px */
  --text-4xl:  3.75rem;   /* 60px */
  --text-5xl:  4.75rem;   /* 76px */

  /* Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* Line heights */
  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;   /* eyebrows / overlines, like "PLAIN CITY, OHIO" */
  --tracking-widest: 0.2em;

  /* ===== Semantic roles ===== */
  --type-display: var(--weight-bold) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --type-h1: var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-display);
  --type-h2: var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-display);
  --type-h3: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-display);
  --type-h4: var(--weight-semibold) var(--text-lg)/var(--leading-snug) var(--font-body);
  --type-body: var(--weight-regular) var(--text-base)/var(--leading-relaxed) var(--font-body);
  --type-body-sm: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-body);
  --type-eyebrow: var(--weight-bold) var(--text-xs)/1 var(--font-body);
  --type-mono: var(--weight-medium) var(--text-sm)/var(--leading-normal) var(--font-mono);
}
