/* ============================================================
   Kheiri Lab — Typography tokens
   ------------------------------------------------------------
   Newsreader (serif)     → display & editorial headings, large
                            italics for warmth/voice.
   Hanken Grotesk (sans)  → body, UI, labels.
   IBM Plex Mono (mono)   → keywords, data, eyebrow labels, code.
   Fluid-ish type scale tuned for a content-forward lab site.
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-serif: 'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-sans:  'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:  'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

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

  /* ---- Type scale (rem) ---- */
  --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 — lead body */
  --text-lg:   1.375rem;  /* 22px */
  --text-xl:   1.75rem;   /* 28px */
  --text-2xl:  2.25rem;   /* 36px */
  --text-3xl:  3rem;      /* 48px */
  --text-4xl:  4rem;      /* 64px */
  --text-5xl:  5.25rem;   /* 84px — hero display */

  /* ---- Line heights ---- */
  --leading-tight:   1.04;
  --leading-snug:    1.18;
  --leading-normal:  1.5;
  --leading-relaxed: 1.68;

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

  /* ---- Semantic roles ---- */
  --display-font:   var(--font-serif);
  --display-weight: var(--fw-regular);
  --display-leading:var(--leading-tight);
  --display-tracking:var(--tracking-tight);

  --heading-font:   var(--font-serif);
  --heading-weight: var(--fw-medium);

  --body-font:      var(--font-sans);
  --body-leading:   var(--leading-relaxed);

  --eyebrow-font:   var(--font-mono);
  --eyebrow-size:   var(--text-2xs);
  --eyebrow-tracking: var(--tracking-eyebrow);
}
