/* ============================================================
   Compuhelp — Typography tokens
   Display/UI: Montserrat  (official brand typeface — geometric,
   confident, multilingual; weights 100–900 via variable font)
   Mono/technical: IBM Plex Mono  (labels, code, the "binary" motif,
   stats, kbd). Montserrat has no mono cut.
   ============================================================ */
:root {
  --font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --font-display: var(--font-sans);

  /* Weights */
  --fw-regular: 400;   /* @kind other */
  --fw-medium: 500;    /* @kind other */
  --fw-semibold: 600;  /* @kind other */
  --fw-bold: 700;      /* @kind other */

  /* Type scale (1.25 major-third-ish, tuned) */
  --text-2xs: 0.6875rem;  /* 11px — mono micro-labels */
  --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 */

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

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;  /* mono eyebrow labels */

  /* Semantic roles */
  --type-display-size: var(--text-4xl);
  --type-h1-size: var(--text-3xl);
  --type-h2-size: var(--text-2xl);
  --type-h3-size: var(--text-xl);
  --type-h4-size: var(--text-lg);
  --type-body-size: var(--text-base);
  --type-small-size: var(--text-sm);
  --type-eyebrow-size: var(--text-xs);
}
