/* ============================================================
   Symbole de l'amitié — Typography tokens
   ------------------------------------------------------------
   Spectral (serif) carries scholarly gravitas for display &
   headings. Archivo (sans) handles UI, body and dense data.
   IBM Plex Mono marks archival codes, record IDs and dates.
   ============================================================ */

:root {
  /* Families */
  --font-serif: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-sans:  'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:  'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* Semantic family aliases */
  --font-display: var(--font-serif);
  --font-heading: var(--font-serif);
  --font-body:    var(--font-sans);
  --font-ui:      var(--font-sans);
  --font-data:    var(--font-mono);

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

  /* Type scale (1.250 major-third on a 16px base) */
  --text-2xs: 0.6875rem;  /* 11px — labels, captions */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.875rem;   /* 14px — UI, table cells */
  --text-base:1rem;       /* 16px — body */
  --text-md:  1.125rem;   /* 18px — lead body */
  --text-lg:  1.375rem;   /* 22px — h4 / card titles */
  --text-xl:  1.75rem;    /* 28px — h3 */
  --text-2xl: 2.25rem;    /* 36px — h2 */
  --text-3xl: 2.9375rem;  /* 47px — h1 */
  --text-4xl: 3.75rem;    /* 60px — hero display */
  --text-5xl: 4.75rem;    /* 76px — oversized display */

  /* Line heights */
  --leading-tight:   1.12;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-caps:   0.12em;  /* eyebrow / overline uppercase */
}
