/* ============================================================================
   K2A BRAND TOKENS · v1 · locked 2026-08-11 · SOURCE OF TRUTH
   ----------------------------------------------------------------------------
   The machine half of tenants/k2a/brand/BRAND.md. Every surface that renders
   the K2A brand consumes THESE values — never a hand-typed hex.

   Consumption rules:
   - Static surfaces (website/): a byte-identical COPY of this file ships in the
     served root (website/brand-tokens.css). scripts/check-brand-parity.mjs
     fails the push if source and copy ever differ. Update HERE, re-copy.
   - Node consumers (carousel, chart constants): read tokens.json (same dir,
     same values, same version).
   - Dashboard (tokens.css / brand.ts / proposal k2a-tokens.css): migration owed
     — the OS cascade step. Until migrated they are listed as pending in the
     parity script so the debt stays visible on every push.
   ========================================================================== */

:root {
  /* ---- the navy ramp (one hue, no second) ---- */
  --k2a-deep: #0b1424;        /* shadows, deepest fills */
  --k2a-sidebar: #101c31;     /* OS sidebar, OG ground, solid chrome */
  --k2a-world: #16243c;       /* dark textured surfaces (grain world) */
  --k2a-ink: #1b2a41;         /* text on light, buttons, logo re-cut target */
  --k2a-slate: #3c4c66;       /* secondary text on light */
  --k2a-muted: #6e7a8e;
  --k2a-muted-2: #8a94a3;
  --k2a-line: #dfe3ea;        /* hairlines on light */
  --k2a-line-soft: #e8ebef;
  --k2a-mist: #ccd3dd;
  --k2a-silver: #eef0f2;      /* the silver stage */
  --k2a-ground: #e9ebee;      /* page ground behind mega-containers */
  --k2a-white: #ffffff;       /* cards on the silver stage */
  --k2a-on-grain: #f2f5f9;    /* primary text on dark; secondary >= .85 alpha */

  /* ---- type: one family end to end, zero licensing ---- */
  --k2a-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --k2a-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --k2a-display-weight: 500;      /* display is 500 sentence case, always */
  --k2a-turn-opacity: 0.62;       /* the turn: tone ... */
  --k2a-turn-weight: 400;         /* ... and one weight step below the display 500 */
  --k2a-track-giant: -0.03em;     /* ghost/hero scale */
  --k2a-track-display: -0.028em;  /* section headlines */
  --k2a-track-small: -0.018em;    /* small display */
  --k2a-track-mono: 0.16em;       /* eyebrows, uppercase mono */

  /* ---- shape + motion ---- */
  --k2a-r-mega: 28px;
  --k2a-r-card: 18px;   /* matches the OS r-xl */
  --k2a-r-pill: 999px;
  --k2a-ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* ---- the ambient wash (silver ground, navy-derived, apple-os style) ---- */
  --k2a-wash-1: rgba(27, 42, 65, 0.07);
  --k2a-wash-2: rgba(27, 42, 65, 0.05);
  --k2a-wash-3: rgba(27, 42, 65, 0.04);

  /* ---- the grain recipe (BRAND.md: grain yields to type) ---- */
  --k2a-grain-size: 220px;    /* 1:1 device pixels on retina, never stretched */
  --k2a-grain-opacity: 0.38;
  --k2a-bloom: radial-gradient(560px 420px at 80% 12%, rgba(240, 244, 250, 0.24), transparent 62%);
  --k2a-grain-mask: radial-gradient(85% 115% at 36% 45%, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.5) 46%, #000 80%);
}
