@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@500;600;700&display=swap');
/* ============================================================
   MEDIAPATH — canonical design tokens (single source of truth)
   ------------------------------------------------------------
   Loaded by EVERY page:
   · inner pages get it via lib/mp-cap.css (@import at top)
   · index.html + adforge.html link it directly (they don't
     load mp-cap.css)
   Pages load lib CSS BEFORE their own <style>, so a page :root
   wins ties — that is the override contract:

   · Values here are the INNER-PAGE family (capabilities, hub
     pages, privacy). Do not re-declare these per page.
   · index.html + adforge.html are deliberately louder and keep
     a small :root override block (--void #070708 family,
     --ink .95, --maxw 1320, --gutter 4vw/56, their own --pad).
   · privacy.html keeps --maxw 860 + a softer --pad (narrow
     legal page).
   · adforge additionally overrides --font-mono ('Geist Mono',
     which only adforge loads) and owns --pink.

   Add a NEW shared token here, never in a page <style>.
   ============================================================ */
:root{
  /* canvas */
  --void:#000; --void-1:#0A0A0A; --void-2:#141416; --void-3:#1C1C20;
  --paper:#F2F0EA;

  /* brand */
  --v-300:#AA84E6; --v-400:#8B5CF6; --v-500:#6030C0; --v-600:#4F1FA6;
  --accent:#FAA474; --accent-2:#F08A5D; --mp-purple-500:#6030C0;

  /* text on dark — faint floor raised .34→.45 (2026-06-12 taste pass): 12-13px crumbs/notes
     sat under 3:1 on the voids; .45 keeps the whisper and clears readable contrast */
  --ink:rgba(255,255,255,0.92); --ink-mut:rgba(255,255,255,0.56); --ink-faint:rgba(255,255,255,0.45);

  /* hairlines */
  --line:rgba(255,255,255,0.10); --line-soft:rgba(255,255,255,0.06);

  /* type */
  --font-display:'Geist',-apple-system,system-ui,sans-serif;
  --font-sans:'Geist',-apple-system,system-ui,sans-serif;
  --font-serif:'Instrument Serif',Georgia,serif;
  /* label/data face — Urbanist by user mandate (2026-06-10); system mono is banned site-wide */
  --font-mono:'Urbanist','Geist',-apple-system,system-ui,sans-serif;

  /* iridescent gradient */
  --iri:linear-gradient(105deg,#FFE7D3 0%,#FAA474 16%,#CC7FA9 36%,#8B5CF6 54%,#6030C0 70%,#B07BD6 83%,#E89BA0 93%,#FAA474 100%);

  /* motion + layout */
  --ease:cubic-bezier(0.2,0,0,1);
  --maxw:1180px; --gutter:clamp(20px,5vw,48px); --pad:clamp(46px,7.5vh,86px);
}

/* typographic hygiene — balanced headings (no widow words), pretty paragraphs */
h1,h2,h3,.kh{text-wrap:balance;}
p,.lede,figcaption{text-wrap:pretty;}

/* keyboard focus + tactile press — site-wide baseline (2026-06-12 taste pass).
   :where() keeps specificity at zero so page rules still win ties. Reaches every
   page including index + adforge (all load this file). */
:where(a,button,[role="tab"],input,select,textarea,summary):focus-visible{
  outline:2px solid var(--accent,#FAA474);outline-offset:3px;border-radius:6px;}
/* the independent `translate` property composes with each component's own transform
   (hover lifts etc.) instead of losing the specificity fight against them */
:where(.pill,a.cta,button):active{translate:0 1.5px;}
@media(prefers-reduced-motion:reduce){:where(.pill,a.cta,button):active{translate:none;}}

/* plus-chip — replaces decorative ledger numerals (user 2026-06-10): identity-gradient
   circle, white plus, rotates to × when the parent .pc-h row/card is hovered.
   Pass the identity via --pc (falls back to the row's --rg, then violet/magenta).
   Numbers stay ONLY where they're load-bearing (named stages, the four pillars). */
.pluscirc{flex:none;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:999px;color:#fff;
  background:var(--pc,var(--rg,linear-gradient(135deg,#7C3FE6,#E6177E)));
  transition:transform .5s cubic-bezier(.2,0,0,1);}
.pluscirc svg{width:15px;height:15px;display:block;}
.pluscirc--sm{width:28px;height:28px;}
.pluscirc--sm svg{width:12px;height:12px;}
.pluscirc--accent{background:var(--accent,#FAA474);color:#fff;}
.pluscirc--ghost{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff;}
.pc-h:hover .pluscirc{transform:rotate(135deg);}
@media(prefers-reduced-motion:reduce){.pc-h:hover .pluscirc{transform:none;}}
