/* ============================================================
   TYPOGRAPHY — Zhixiang Xu Advisory
   Serif display (Spectral) for headlines = heritage & gravitas.
   Grotesk (Hanken Grotesk) for UI/body = clarity & precision.
   Mono (JetBrains Mono) for figures, eyebrows, fine print.
   ============================================================ */

:root {
  /* ---- Families ---- */
  /* Single corporate grotesk for display + body (Allianz Neo stand-in). */
  --font-display: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-sans: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* ---- Weights ---- */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Type scale (fluid where it matters) ---- */
  --fs-display: clamp(2.75rem, 1.6rem + 4.6vw, 4.25rem); /* @kind other */
  --fs-h1: clamp(2.1rem, 1.5rem + 2.2vw, 2.75rem); /* @kind other */
  --fs-h2: clamp(1.6rem, 1.25rem + 1.4vw, 2rem); /* @kind other */
  --fs-h3: 1.375rem;     /* 22px */
  --fs-h4: 1.125rem;     /* 18px */
  --fs-body-lg: 1.1875rem; /* 19px lede */
  --fs-body: 1rem;       /* 16px */
  --fs-sm: 0.9375rem;    /* 15px */
  --fs-xs: 0.8125rem;    /* 13px */
  --fs-eyebrow: 0.75rem; /* 12px uppercase label */

  /* ---- Line heights ---- */
  --lh-tight: 1.05; /* @kind font */
  --lh-snug: 1.18; /* @kind font */
  --lh-heading: 1.25; /* @kind font */
  --lh-body: 1.62; /* @kind font */
  --lh-relaxed: 1.7; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-display: -0.02em;   /* tighten large grotesk headlines */
  --ls-heading: -0.011em;
  --ls-body: 0em;
  --ls-eyebrow: 0.16em;    /* wide-track uppercase labels */
  --ls-mono: 0.02em;

  /* ---- Semantic text roles ---- */
  --text-display-font: var(--font-display);
  --text-heading-font: var(--font-display);
  --text-body-font: var(--font-sans);
  --text-eyebrow-font: var(--font-mono);
}
