:root{
  /* brand blues */
  --b-050:#EEF1FF; --b-100:#DCE3FF; --b-200:#C3CDFF; --b-300:#A3B2FF;
  --b-500:#5271FF; --b-600:#3A56E8; --b-700:#2A3FBD; --b-800:#22349B; --b-900:#101A4A;
  --navy-950:#080D24; --navy-900:#0B1230; --navy-800:#131C42; --navy-700:#1E2A5C;

  /* ink + lines + grounds */
  --ink:#121A33; --ink-2:#38425F; --ink-3:#667289;
  --line:#E2E6F2; --line-2:#C8CFE4;
  --paper:#F7F9FD; --wash:#EDF1FC; --white:#FFFFFF;

  /* FIX: --ok was referenced but never declared on the homepage. #1E7A4C is the
     same green the lead modal's .st--rta chip already uses, and it measures
     4.9:1 on white — so it clears AA as text, not just as a decorative tick. */
  --ok:#1E7A4C; --ok-soft:#E6F5EC;
  /* caution pair, used by the record-alert callout. Amber reads as "read this",
     not "something failed" — which is the right register for a demerger notice. */
  --warn:#8A5300; --warn-soft:#FFF4E2; --warn-line:#F0DCB8;

  /* type */
  --f-d:"Schibsted Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-r:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-m:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* type scale — 12 roles (resolved: the v2 scale, which supersedes the original
     30 ad-hoc sizes). Nothing below 13px, deliberately: a large share of this
     audience is older or reading on a phone. */
  --fs-h2:clamp(28px,3.6vw,42px);
  --fs-h3:20px; --fs-h4:17px;
  --fs-body-lg:18px; --fs-body:16px; --fs-body-sm:14.5px;
  --fs-caption:13.5px; --fs-label:13px;
  --fs-button:15px; --fs-nav:14.5px; --fs-quote:17px;

  /* radii */
  --r-panel-sm:20px; --r-panel:28px; --r-panel-lg:36px;
  --r-el-xs:4px; --r-el-sm:6px; --r-el:8px; --r-pill:999px;

  /* elevation */
  --e1:0 1px 2px rgba(18,26,51,.04), 0 8px 24px -14px rgba(18,26,51,.12);
  --e2:0 2px 4px rgba(18,26,51,.05), 0 22px 44px -18px rgba(42,63,189,.24);

  /* motion */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-ui:cubic-bezier(.4,0,.2,1);
  --ease-pop:cubic-bezier(.34,1.56,.64,1);
  --dur:220ms; --dur-fast:150ms;
  --dur-slow:340ms; /* FIX: referenced by .ds-spot on the homepage, never declared */

  /* 4px spacing scale */
  --s-1:4px;  --s-2:8px;  --s-3:12px; --s-4:16px;
  --s-5:20px; --s-6:24px; --s-7:32px; --s-8:40px;
  --s-9:48px; --s-10:64px; --s-11:80px; --s-12:96px;

  /* One shared page width AND one shared side inset, so every band — flat
     sections and framed panels alike — starts on the same left edge. */
  --container:1440px; --container-wide:1440px;
  --gutter:clamp(22px,4vw,64px); --frame:clamp(22px,4vw,64px);

  /* section rhythm (resolved: the v2 values) */
  --section-pad:clamp(56px,8vw,124px);
  --section-pad-tight:clamp(40px,5vw,76px); /* v2.1.0 spacing pass — see the note above .wk-block__head */
  --section-gap:clamp(24px,2.8vw,40px);
  --panel-gap:clamp(20px,3vw,32px);
}
