/* Beyonddo typography. One warm geometric family carries everything; mono is for
 * data that must align in columns (latency, match scores, IDs, currency). */
:root {
  --font-core: "Mona Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* Type scale — 1.25 major-third-ish, tuned for German compound words: the
   * display sizes stay tighter than a typical scale so "Beratungsvorbereitung"
   * still fits a single line on tablet. */
  --text-display-lg: 5rem;     /* 80 — marketing hero only */
  --text-display: 4rem;        /* 64 — page hero */
  --text-h1: 3rem;             /* 48 */
  --text-h2: 2.25rem;          /* 36 */
  --text-h3: 1.625rem;         /* 26 */
  --text-h4: 1.375rem;         /* 22 */
  --text-body-lg: 1.4375rem;   /* 23 */
  --text-body: 1.1875rem;      /* 19 — product default */
  --text-sm: 1.0625rem;        /* 17 */
  --text-xs: 1rem;             /* 16 — smallest permitted; never below */

  --leading-tight: 1.06;
  --leading-snug: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.62;

  --tracking-display: -0.03em;
  --tracking-heading: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;
  --tracking-eyebrow: 0.08em;

  /* Semantic roles */
  --type-hero-family: var(--font-core);
  --type-hero-weight: var(--weight-extrabold);
  --type-heading-weight: var(--weight-semibold);
  --type-label-weight: var(--weight-medium);
  --type-eyebrow-weight: var(--weight-semibold);
}
