/* ==========================================================================
   Prism' — Typography tokens
   Headline serif: Playfair Display (700/600) — H1/H2 only, never body.
   Body/UI sans: system-ui stack — no webfont, no license/perf cost.
   Loaded via Google Fonts CDN (no local font files to ship).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');

:root {
  --font-serif-display: "Playfair Display", Georgia, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, Menlo, Consolas, monospace;

  /* ---- Semantic type roles ---- */
  --text-hero: clamp(2.125rem, 4.2vw, 3.25rem);   /* H1 hero, line-height 1.1 */
  --text-h1: clamp(1.75rem, 4vw, 2.625rem);
  --text-h2: 2.5rem;                                /* section title, centered */
  --text-h3: 1.25rem;
  --text-h4: 1.125rem;
  --text-body-lg: 1.125rem;                         /* section description */
  --text-body: 1rem;                                /* 2026 evolution: 17-18px in dense UI */
  --text-body-editorial: 1.0625rem;                 /* b2b prose */
  --text-small: 0.875rem;
  --text-micro: 0.75rem;                            /* uppercase labels */
  --text-price: clamp(2.25rem, 5vw, 3.75rem);       /* price highlight 48-60px */

  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-section: 1.6;
  --leading-body: 1.6;
  --leading-editorial: 1.65;

  --tracking-micro: 0.04em;   /* uppercase micro-labels, 0.02-0.06em */
  --tracking-wide: 0.06em;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
}
