/* AIFPA — Typography tokens */
:root {
  /* ---- Families ---- */
  /* Display serif = AIFPA wordmark (Cinzel substitutes the original Trajan-style roman) */
  --font-display: 'Cinzel', 'Noto Serif TC', Georgia, serif;
  /* Elegant CJK/Latin serif for formal prose, quotes */
  --font-serif: 'Noto Serif TC', 'Songti TC', Georgia, serif;
  /* Primary UI + CJK: heavy-capable gothic. Headings and body. */
  --font-sans: 'Noto Sans TC', -apple-system, 'PingFang TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-mono: 'SFMono-Regular', ui-monospace, Menlo, Consolas, monospace;

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

  /* ---- Type scale (1.250 major-third-ish, tuned) ---- */
  --fs-display: 60px;   /* hero / slide title */
  --fs-h1: 44px;
  --fs-h2: 34px;
  --fs-h3: 26px;
  --fs-h4: 21px;
  --fs-lg: 18px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-xs: 12.5px;
  --fs-2xs: 11px;

  /* ---- Line heights ---- */
  --lh-tight: 1.12; /* @kind font */
  --lh-heading: 1.25; /* @kind font */
  --lh-snug: 1.4; /* @kind font */
  --lh-body: 1.7; /* @kind font */

  /* ---- Letter spacing ---- */
  --ls-wordmark: 0.14em; /* @kind font */
  --ls-caps: 0.16em; /* @kind font */
  --ls-tight: -0.01em; /* @kind font */
  --ls-cjk: 0.02em; /* @kind font */
}
