/* ==========================================================================
   PRJ-48 · PIM Website — DESIGN TOKENS v3
   Sole visual authority: design-refs/stitch-home-v1.html (Nick's mockup, 14 Jul).
   Governed by design-refs/design-direction-v3-amendment.md (LOCKED 14 Jul) which
   AMENDS design-direction-v2.md — where they conflict, v3 wins.
   Extracted from the mockup's USED values only; the Material/Tailwind token dump
   (purples, blues, containers, fixed-dims) is PURGED.
   Absolutes:
     • ONE saturated hue: --lime #b7e34b. --error #ba1a1a is the sole documented
       exception, form-validation only. Any other hue is a defect.
     • Grounds are pure #000 / #fff (warm charcoal/bone family retired).
     • Rounded geometry + shadows (v2's radius-0/no-shadow rule is DEAD).
     • Space Grotesk 400/700 only. IBM Plex Mono kept for data/code. Material
       Symbols Outlined for functional icons.
   This file is byte-identical to the theme's assets/css/tokens.css. Keep in sync.
   ========================================================================== */

:root {
  /* --- Grounds --- */
  --black:#000;
  --white:#fff;

  /* --- Cool-grey ramp (normalised from the mockup's used neutrals) — text/lines on WHITE --- */
  --ink:#191b23;         /* primary text on light (was on-surface) */
  --ink-soft:#454556;    /* secondary / body text on light (was on-surface-variant) */
  --muted:#767587;       /* tertiary / small labels on light (was outline) */
  --line-light:#c6c4d8;  /* borders / hairlines on light (was outline-variant) */

  /* --- Text / lines on BLACK (white opacity scale; ≥.62 clears AA for body/secondary) --- */
  --on-black:#fff;
  --on-black-1:rgba(255,255,255,.82);  /* body on black (~14:1) */
  --on-black-2:rgba(255,255,255,.62);  /* secondary / small on black (~6:1, AA) */
  --on-black-3:rgba(255,255,255,.45);  /* placeholder / disabled on black ONLY */
  --line-dark:rgba(255,255,255,.10);   /* hairline on black */

  /* --- Accent — sole saturated hue. Text on lime is black (--on-primary #000). --- */
  --lime:#b7e34b;
  --lime-ink:#3d4a1e;    /* deep chartreuse — accent text/links on WHITE (~8.8:1), same hue */
  --lime-soft:#eef7d8;   /* pale chartreuse chip ground on light, same hue */
  --error:#ba1a1a;       /* form-validation ONLY — documented one-hue exception */

  /* --- Radii (from mockup) --- */
  --r-card:16px;         /* cards, panels, form panel, stat blocks */
  --r-btn:8px;           /* buttons, skip-link */
  --r-input:8px;         /* form inputs */
  --r-chip:8px;          /* icon chips */
  --r-badge:9999px;      /* pill badges (eyebrow badge, Free/Paid step badges) */

  /* --- Shadows (from mockup usage: cards + primary CTA) --- */
  --shadow-sm:0 1px 2px 0 rgba(0,0,0,.06);
  --shadow-card:0 1px 3px 0 rgba(0,0,0,.08), 0 1px 2px -1px rgba(0,0,0,.06);
  --shadow-lg:0 12px 24px -8px rgba(0,0,0,.14);           /* card hover */
  --shadow-panel:0 24px 48px -16px rgba(0,0,0,.18);       /* process / form panels */
  --shadow-cta:0 12px 30px -6px rgba(183,227,75,.42);     /* lime glow — primary CTA hover */

  /* --- Type scale --- */
  --h1:clamp(40px,5vw,72px);          /* hero — fold-fit scale (mockup's 96px deprecated for the hero) */
  --h2:clamp(2.25rem,4.5vw,3.75rem);  /* section — ~60px */
  --h2-cta:clamp(2.5rem,6vw,4.5rem);  /* CTA — ~72px */

  /* --- Fonts --- */
  --font-display:'Space Grotesk', system-ui, sans-serif;  /* headings 700 */
  --font-body:'Space Grotesk', system-ui, sans-serif;     /* body 400 */
  --font-mono:'IBM Plex Mono', ui-monospace, Menlo, monospace; /* DATA/CODE ONLY */

  /* LEGACY v2 ALIASES — REMOVED (Gate 3 STOP 2, 14 Jul 2026). All page-types are
     re-gated to v3; the migration shim's last usages (components.css blog/interior
     blocks) were migrated to v3 tokens 1:1 (byte-identical values, grep-verified 0
     references) and the alias block deleted. One v3 token system, no shim. */
}
