/* Design tokens, resets and the base type scale. Loaded first. */
:root{
  --paper:#FBFAF6; --panel:#F1F5F2; --panel-2:#E6EEE9; --ink:#132D28; --ink-2:#3C5450; --muted:#5E706B; --hair:#D9E2DD;
  /* --gold is a decorative fill only: at 2.8:1 on paper it is too light to carry
     text or any mark a reader has to resolve. Anything meaning-bearing -- units on
     figures, focus rings, legend keys, chart lines -- uses --gold-ink (4.6:1 or
     better on paper, panel and the v-part chip). --gold stays where the reader
     loses nothing by missing it, and behind --ink text on the tour button. */
  --emerald:#1F7A63; --emerald-soft:#8FC3B2; --emerald-pale:#DDEDE6; --gold:#B8912F; --gold-ink:#886A20; --gold-soft:#E7D7A9;
  /* Verification states: confirmed / partly confirmed / unconfirmed. */
  --verified:#1B74E4; --verified-soft:#8FC2F7; --verified-pale:#E6F0FD; --verified-ink:#0F4C9E;
  --warn:#B4552F; --warn-soft:#F0A88A; --warn-pale:#F7E4DA;
  --serif:'Fraunces','Fraunces Fallback',Georgia,serif;
  --sans:'Scoutie Sans','IBM Plex Sans Arabic','Scoutie Fallback',-apple-system,Segoe UI,sans-serif;
  --t-xs:12px; --t-sm:13.5px; --t-md:15px; --t-lg:17px; --t-xl:20px; --t-2xl:26px; --t-3xl:34px; --t-4xl:52px;
  --track-display:-0.015em; --track-label:0.01em;
  /* Space the absolutely-positioned .exports cluster occupies in a card's top-right
     corner. Anything in the card's first row must keep clear of it. Sized for the
     widest cluster: SVG + PNG + Table. */
  --exports-clear:158px;
  /* Height of the sticky nav, measured at runtime (see initNavOffset); anything
     that has to clear it derives its offset from this. */
  --navh:72px;
}
@font-face{font-family:'Fraunces Fallback';src:local('Georgia');size-adjust:104%;ascent-override:92%;descent-override:24%;}
/* Arial dressed in Scoutie's metrics (2000 upm, x-height 1030, asc/desc 2000/-600)
   so the swap when the webfont arrives barely moves the page. */
@font-face{font-family:'Scoutie Fallback';src:local('Arial');size-adjust:99.3%;ascent-override:100.7%;descent-override:30.2%;}
*{box-sizing:border-box;}
/* An author `display` beats the UA's [hidden] rule, so any component that sets
   display would ignore the attribute. Make hidden win. */
[hidden]{display:none!important;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-md);line-height:1.5;-webkit-font-smoothing:antialiased;}
html[dir=rtl] body{font-family:'IBM Plex Sans Arabic',var(--sans);}
::selection{background:var(--gold-soft);}
a{color:var(--emerald);}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px;}
button,input,select{font-family:inherit;}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
/* Offscreen until focused, so the keyboard route past the nav is one Tab away. */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;font-size:13.5px;font-weight:600;text-decoration:none;transition:top .12s;}
.skip-link:focus{top:0;}
.nojs{margin:0;padding:14px 28px;background:var(--warn-pale);border-bottom:1px solid var(--warn-soft);color:var(--warn);font-size:var(--t-sm);line-height:1.55;}
.nojs a{color:var(--warn);}
main:focus{outline:none;}
h1,h2,h3,h4,.flag,.kpi .num,.story-stat .n,.cmp-num{font-family:var(--serif);font-optical-sizing:auto;letter-spacing:var(--track-display);}
.num,.kpi .num,.bar-val,td.num,.fact .v,.story-stat .n,.axis text,.rk,.cmp-num{font-variant-numeric:tabular-nums lining-nums;}
.kpi .lbl,.card .sub,.section-note,.legend,.legend-bar,.story-layer,.take .tag,th,.hint,.axis text,.tag{letter-spacing:var(--track-label);}

/* NAV */
