/* ============================================================
   Heg.ai — Typography tokens
   Three voices: Onest (structure) · Source Serif 4 (human) ·
   IBM Plex Mono (tech / data).
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-structure: "Onest", "Helvetica Neue", Arial, sans-serif;
  --font-human: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-tech: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* aliases */
  --font-sans: var(--font-structure);
  --font-serif: var(--font-human);
  --font-mono: var(--font-tech);

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

  /* ---- Type scale (px) ---- */
  --size-display: 72px;   /* hero numerals / splash */
  --size-h1: 52px;        /* hero screen titles */
  --size-h2: 34px;        /* block / section titles */
  --size-h3: 24px;        /* card titles */
  --size-lead: 20px;      /* lead paragraph */
  --size-body: 16px;      /* base body */
  --size-small: 14px;     /* secondary text */
  --size-meta: 13px;      /* mono meta, tags, dates */
  --size-micro: 11px;     /* micro labels, status bars */

  /* ---- Line heights (role-tuned) ---- */
  --lh-hero: 1.10;        /* @kind other */ /* H1 / display */
  --lh-title: 1.20;       /* @kind other */ /* H2 / H3 / mono */
  --lh-body: 1.40;        /* @kind other */ /* body / lead */
  --lh-human: 1.30;       /* @kind other */ /* serif accents */

  /* ---- Letter spacing ---- */
  --ls-hero: -0.02em;     /* H1 tight */
  --ls-title: -0.01em;    /* H2 */
  --ls-body: 0em;
  --ls-human: 0.01em;     /* serif italic */
  --ls-tech: 0.03em;      /* mono / hashtags / dates */
  --ls-caps: 0.14em;      /* mono ALL-CAPS eyebrows */

  /* ---- Semantic roles ---- */
  --text-hero-family: var(--font-structure);
  --text-hero-weight: var(--weight-extrabold);
  --text-body-family: var(--font-structure);
  --text-accent-family: var(--font-human);
  --text-tech-family: var(--font-tech);
}
