/* ─────────────────────────────────────────────────────────────
   RankingBite — Design Tokens
   Portable. Plain CSS custom properties, zero framework deps.
   Safe to drop into the WordPress theme as-is (§5a deliverable).
   ───────────────────────────────────────────────────────────── */
:root{
  /* ── Colour: ink ── */
  --ink-900:#0D1420;
  --ink-800:#18212F;
  --ink-700:#2A3444;
  --ink-600:#414C5E;
  --ink-500:#5A6779;
  --ink-400:#7D8798;
  --ink-300:#A8B2C0;
  --ink-200:#CBD2DB;

  /* ── Colour: surfaces ── */
  --paper:#F5F7F9;
  --paper-sunk:#E3E9F0;
  --surface:#FFFFFF;
  --rule:#DCE2EA;
  --rule-strong:#CFD6DF;

  /* ── Colour: signal (structural — links, entities) ── */
  --signal-700:#152FA8;
  --signal-600:#1F3FE0;
  --signal-500:#3D5CF5;
  --signal-100:#DDE3FF;
  --signal-50:#EEF1FF;

  /* ── Colour: cite (the one bold move — citation only) ── */
  --cite-500:#F5C518;
  --cite-400:#FFD84D;
  --cite-200:#FFE9A3;
  --cite-100:#FFF6D6;

  /* ── Colour: verify ── */
  --verify-600:#0E7C5A;
  --verify-100:#D8F0E7;

  /* ── Colour: semantic aliases ── */
  --text:var(--ink-900);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-400);
  --bg:var(--paper);
  --link:var(--signal-600);
  --link-hover:var(--signal-700);

  /* ── Type: stacks ── */
  --font-sans:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* ── Type: scale (named sizes) ── */
  --t-display:clamp(2.75rem,6vw,4.5rem);   /* 44 → 72 */
  --t-h1:clamp(2.25rem,4.6vw,3.5rem);      /* 36 → 56 */
  --t-h2:clamp(1.75rem,3vw,2.5rem);        /* 28 → 40 */
  --t-h3:1.5rem;                            /* 24 */
  --t-h4:1.1875rem;                         /* 19 */
  --t-quote:clamp(1.375rem,2.4vw,2.125rem);/* 22 → 34 */
  --t-lead:1.25rem;                         /* 20 */
  --t-body:1.0625rem;                       /* 17 */
  --t-small:0.9375rem;                      /* 15 */
  --t-meta:0.75rem;                         /* 12 */
  --t-micro:0.6875rem;                      /* 11 */

  /* ── Type: weights ── */
  --w-regular:400;
  --w-medium:500;
  --w-semibold:600;
  --w-bold:700;

  /* ── Type: leading + tracking ── */
  --lh-tight:1.04;
  --lh-snug:1.18;
  --lh-body:1.62;
  --lh-loose:1.75;
  --tr-display:-0.03em;
  --tr-head:-0.02em;
  --tr-body:-0.005em;
  --tr-meta:0.09em;

  /* ── Space scale ── */
  --s-1:0.25rem;
  --s-2:0.5rem;
  --s-3:0.75rem;
  --s-4:1rem;
  --s-5:1.5rem;
  --s-6:2rem;
  --s-7:2.5rem;
  --s-8:3rem;
  --s-9:4rem;
  --s-10:5rem;
  --s-11:6.5rem;
  --s-12:8rem;

  /* ── Radii ── */
  --r-sm:4px;
  --r-md:8px;
  --r-lg:14px;
  --r-xl:20px;
  --r-pill:999px;

  /* ── Shadows ── */
  --sh-sm:0 1px 2px rgba(13,20,32,.06);
  --sh-md:0 4px 14px rgba(13,20,32,.07);
  --sh-lg:0 14px 40px rgba(13,20,32,.10);
  --sh-cite:0 6px 20px rgba(245,197,24,.28);

  /* ── Layout ── */
  --wrap:1240px;
  --wrap-narrow:760px;
  --gutter:clamp(1.25rem,4vw,3rem);

  /* ── Motion ── */
  --ease:cubic-bezier(.2,.7,.3,1);
  --dur-fast:120ms;
  --dur:200ms;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
