/* ============================================================
   Taste Skill — Typography
   Editorial contrast: big, tight display sans (Geist) against
   calm 1.6 body. Mono (Geist Mono) carries eyebrows, keystrokes,
   numbers and meta. Never pure #000 for text. No serif default —
   the brand's whole thesis is that "creative = serif" is a tell.
   ============================================================ */
:root {
  /* ---- Families ---- */
  --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', 'Roboto Mono', monospace;
  --font-display: var(--font-sans);

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

  /* ---- Fluid display scale (tracking tightens as size grows) ---- */
  --text-display-2xl: clamp(3.25rem, 7vw, 5.75rem);  /* hero */
  --text-display-xl:  clamp(2.75rem, 5vw, 4.25rem);
  --text-display-lg:  clamp(2.25rem, 4vw, 3.25rem);

  /* ---- Fixed step scale ---- */
  --text-h1: 2.5rem;    /* 40 */
  --text-h2: 2rem;      /* 32 */
  --text-h3: 1.5rem;    /* 24 */
  --text-h4: 1.25rem;   /* 20 */
  --text-body-lg: 1.125rem; /* 18 */
  --text-body: 1rem;        /* 16 */
  --text-body-sm: 0.875rem; /* 14 */
  --text-caption: 0.8125rem;/* 13 */
  --text-micro: 0.75rem;    /* 12 — eyebrows, kbd, meta */

  /* ---- Line heights ---- */
  --leading-none: 1;
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-display: 1.02;
  --leading-heading: 1.15;
  --leading-body: 1.6;
  --leading-relaxed: 1.75;

  /* ---- Tracking (negative for display, wide for eyebrows) ---- */
  --tracking-tightest: -0.035em;
  --tracking-tighter: -0.025em;
  --tracking-tight: -0.015em;
  --tracking-normal: 0em;
  --tracking-wide: 0.02em;
  --tracking-eyebrow: 0.18em;   /* uppercase mono labels */
  --tracking-caps: 0.08em;
}
