/* ============================================================
   DESIGN TOKENS
   Evolution of the Way Prieto identity: the same warm black +
   gold, deepened and given a cool "science" counterpoint drawn
   from the blue rim light in the studio photography.
   Contrast ratios noted against --ink-900 unless stated.
   ============================================================ */

:root {
  /* ---- Surfaces (warm black, 5 elevations) ---- */
  --ink-900: #050402; /* page */
  --ink-850: #080604;
  --ink-800: #0b0906; /* alternating section */
  --ink-700: #12100b; /* card base */
  --ink-600: #1a1610; /* card raised */
  --ink-500: #241e15; /* hairline fill / chip */

  /* ---- Cool counterpoint (from the studio's blue rim light) ----
     Used only as a deep sectional tint so consecutive sections
     never read the same. Never as a text or accent colour. */
  --night-900: #04060c;
  --night-800: #070a12;
  --night-700: #0b101c;

  /* ---- Gold ramp ---- */
  --gold-50: #fbf4e2;
  --gold-100: #f4e6b8;
  --gold-200: #e8cd80;
  --gold-300: #d8b96f;
  --gold-400: #c9a961; /* brand anchor — 9.1:1 on --ink-900 */
  --gold-500: #ac8c48;
  --gold-600: #8a6c33;
  --gold-700: #5c4720;

  /* ---- Foreground ----
     Solid hex, not alpha. Composited text colours drift with whatever
     is behind them, so the published ratio stops being true; these are
     fixed values measured against --ink-900. */
  --fg: #fbf7f0; /* 19.4:1 */
  --fg-soft: #c7c2b9; /* 11.7:1 */
  --fg-mute: #948f86; /*  6.4:1 — floor for body copy */
  --fg-dim: #68635b; /*  3.4:1 — decorative / non-text only */
  --on-gold: #0a0704; /*  9.0:1 on --gold-400 */

  /* ---- Semantic ---- */
  --ok: #7ddba6; /* 10.6:1 */
  --ok-dim: rgba(125, 219, 166, 0.14);
  --warn: #e8a06a;
  --warn-dim: rgba(232, 160, 106, 0.12);

  /* ---- Lines, fills, overlays ---- */
  --line: rgba(201, 169, 97, 0.16);
  --line-strong: rgba(201, 169, 97, 0.34);
  --line-soft: rgba(248, 242, 231, 0.08);
  --fill-card: linear-gradient(150deg, rgba(38, 32, 22, 0.62), rgba(14, 11, 7, 0.44));
  --fill-glass: rgba(20, 17, 12, 0.62);
  --scrim: rgba(5, 4, 2, 0.72);

  /* ---- Gold treatments ---- */
  --grad-gold: linear-gradient(135deg, var(--gold-200) 0%, var(--gold-400) 52%, var(--gold-600) 100%);
  --grad-gold-text: linear-gradient(104deg, var(--gold-300) 0%, var(--gold-100) 42%, var(--gold-300) 58%, var(--gold-500) 100%);
  --grad-sheen: linear-gradient(104deg, transparent 32%, rgba(255, 250, 235, 0.42) 50%, transparent 68%);

  /* ---- Radii ---- */
  --r-xs: 8px;
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 22px;
  --r-xl: 30px;
  --r-pill: 999px;

  /* ---- Shadows: soft ambient + a gold key light on interactive gold ---- */
  --sh-sm: 0 1px 2px rgba(0, 0, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.32);
  --sh-md: 0 2px 6px rgba(0, 0, 0, 0.46), 0 14px 34px rgba(0, 0, 0, 0.42);
  --sh-lg: 0 4px 12px rgba(0, 0, 0, 0.5), 0 30px 70px rgba(0, 0, 0, 0.55);
  --sh-gold: 0 10px 30px rgba(201, 169, 97, 0.24), 0 2px 8px rgba(201, 169, 97, 0.18);
  --sh-gold-lg: 0 16px 46px rgba(201, 169, 97, 0.32), 0 3px 10px rgba(201, 169, 97, 0.22);

  /* ---- Type families ---- */
  --f-display: 'Cormorant Garamond', 'Iowan Old Style', 'Times New Roman', serif;
  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --f-script: 'Italianno', 'Snell Roundhand', cursive;

  /* ---- Fluid type scale. Mobile deliberately restrained:
         the client's brief explicitly rejects oversized phone type.
         Values shown as: 390px viewport → 1440px viewport.        ---- */
  --t-display: clamp(2.125rem, 1.58rem + 2.55vw, 3.625rem); /* 35 → 58 */
  --t-h1: clamp(1.9375rem, 1.46rem + 2.2vw, 3.375rem); /* 32 → 54 */
  --t-h2: clamp(1.625rem, 1.32rem + 1.45vw, 2.625rem); /* 27 → 42 */
  --t-h3: clamp(1.1875rem, 1.1rem + 0.42vw, 1.5rem); /* 19 → 24 */
  --t-lead: clamp(1.0625rem, 1rem + 0.35vw, 1.3125rem); /* 17 → 21 */
  --t-body: clamp(1.0625rem, 1.02rem + 0.2vw, 1.1875rem); /* 17 → 19 */
  --t-sm: clamp(0.9375rem, 0.91rem + 0.15vw, 1.0625rem); /* 15 → 17 */
  --t-xs: clamp(0.875rem, 0.85rem + 0.11vw, 0.9375rem); /* 14 → 15 */
  --t-over: 0.8125rem; /* 13, tracked out */

  /* ---- Rhythm ---- */
  --gutter: clamp(1.125rem, 0.85rem + 1.2vw, 2.5rem);
  --section-y: clamp(3rem, 2.1rem + 3.8vw, 7rem);
  --stack: clamp(0.75rem, 0.6rem + 0.6vw, 1.25rem);
  --maxw: 1220px;
  --maxw-narrow: 760px;

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
  --t-fast: 150ms;
  --t-base: 260ms;
  --t-slow: 460ms;

  /* ---- Layering ---- */
  --z-hero-media: 0;
  --z-content: 2;
  --z-sticky: 60;
  --z-header: 70;
  --z-sheet: 80;

  color-scheme: dark;
}
