/* SEMAI — Typography
   Geist for voice, Geist Mono for the machine. Mono is not decorative here:
   it signals data, systems and answer-engine chrome. Tight tracking on
   display, generous line-height on body. */

:root {
  /* Brandbook §04: Inter Display (hero/headings), Inter (body/UI),
     JetBrains Mono (data/tokens). Inter Display via Inter's opsz axis. */
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', 'IBM Plex Mono', 'Menlo', monospace;

  /* Weights */
  --fw-light: 300;    /* @kind font */
  --fw-regular: 400;  /* @kind font */
  --fw-medium: 500;   /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold: 700;     /* @kind font */
  --fw-black: 800;    /* @kind font */

  /* ---- Type scale (px) ---- */
  --fs-display-xl: 76px;   /* hero */
  --fs-display-l: 56px;
  --fs-display-m: 44px;
  --fs-h1: 34px;
  --fs-h2: 26px;
  --fs-h3: 20px;
  --fs-body-lg: 18px;
  --fs-body: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 13px;
  --fs-micro: 11px;        /* mono eyebrows / labels */

  /* ---- Line heights ---- */
  --lh-tight: 1.02;    /* @kind font */
  --lh-snug: 1.14;     /* @kind font */
  --lh-heading: 1.22;  /* @kind font */
  --lh-body: 1.6;      /* @kind font */
  --lh-relaxed: 1.72;  /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-tight: -0.03em;   /* @kind font */
  --ls-snug: -0.015em;   /* @kind font */
  --ls-normal: 0em;      /* @kind font */
  --ls-wide: 0.02em;     /* @kind font */
  --ls-eyebrow: 0.16em;  /* @kind font */

  /* ---- Semantic roles ---- */
  --text-display: var(--fw-semibold) var(--fs-display-l)/var(--lh-tight) var(--font-sans);  /* @kind font */
  --text-h1: var(--fw-semibold) var(--fs-h1)/var(--lh-heading) var(--font-sans);  /* @kind font */
  --text-h2: var(--fw-semibold) var(--fs-h2)/var(--lh-heading) var(--font-sans);  /* @kind font */
  --text-h3: var(--fw-medium) var(--fs-h3)/var(--lh-snug) var(--font-sans);  /* @kind font */
  --text-body-role: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);  /* @kind font */
  --text-mono-label: var(--fw-medium) var(--fs-micro)/1.2 var(--font-mono);  /* @kind font */
}
