/* ECS_STATIC_BRAND_FONTS */
/* Self-hosted brand fonts, fetched 2026-09-16 by scripts/fetch-wgi-brand-fonts.mjs. Playfair Display and Inter, latin and latin-ext subsets, woff2. */
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src:url('/assets/fonts/inter-normal-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 500;
  font-display:swap;
  src:url('/assets/fonts/playfair-display-italic-400-500-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 500;
  font-display:swap;
  src:url('/assets/fonts/playfair-display-italic-400-500-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 600;
  font-display:swap;
  src:url('/assets/fonts/playfair-display-normal-400-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 600;
  font-display:swap;
  src:url('/assets/fonts/playfair-display-normal-400-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* WHO GETS IN? - built to ECS brand canon.
   Fog Ivory default page. Deep Navy as accent, never the page default.
   Gold is a thin rule and a label colour only, never a fill.
   Playfair Display + Inter only. ASCII punctuation only. */
:root{
  --navy:#0B1426; --ivory:#F9F8F5; --gold:#C9A33F; --white:#FFFFFF;
  --ink:#0B1426; --ink-70:rgba(11,20,38,.70); --ink-50:rgba(11,20,38,.50); --ink-34:rgba(11,20,38,.34);
  --rule:rgba(11,20,38,.12); --rule-2:rgba(11,20,38,.22);
  --onnavy:rgba(255,255,255,.86); --onnavy-d:rgba(255,255,255,.62);
  --serif:"Playfair Display",serif;
  --sans:"Inter",sans-serif;
  --page:1240px; --gut:clamp(16px,2.4vw,38px); --measure:700px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);
  font-size:15.5px;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased}
::selection{background:rgba(201,163,63,.24)}
a{color:inherit}
img{max-width:100%;display:block}
.page{max-width:var(--page);margin:0 auto;padding:0 var(--gut)}

/* ---------- masthead: the one navy band ---------- */
.mast{background:var(--navy)}
.mast-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0 13px}
.brand{display:flex;align-items:center;gap:17px;text-decoration:none;min-width:0}
.brand>span{display:block}
.brand .mk-ecs{width:74px;height:auto;flex:none;background:none;opacity:.98}
.brand .bdiv{width:1px;align-self:stretch;background:rgba(255,255,255,.26);flex:none;margin:2px 0}
.brand .wm{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(23px,2.6vw,32px);
  line-height:1;letter-spacing:-.026em;color:var(--white)}
.brand .wm i{font-style:italic}
.brand .sub{display:block;font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:0;
  text-transform:none;color:rgba(255,255,255,.6);margin-top:5px}
.mast-r{text-align:right;font-size:10px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;
  color:var(--onnavy-d);line-height:1.75;white-space:nowrap}
.mast-nav{border-top:1px solid rgba(255,255,255,.16);display:flex;overflow-x:auto;overflow-y:hidden}
.mast-nav a{font-size:10.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;
  color:var(--onnavy-d);white-space:nowrap;padding:10px 17px 9px;border-bottom:2px solid transparent;margin-bottom:0}
.mast-nav a:first-child{padding-left:0}
.mast-nav a:hover{color:var(--white)}
.mast-nav a[aria-current="page"]{color:var(--white);border-bottom-color:var(--gold)}

/* press strip: ivory, gold rule - never a gold fill */
.pstrip{background:var(--ivory);border-bottom:1px solid var(--rule-2);border-top:2px solid var(--gold)}
.pstrip .page{display:flex;gap:22px;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  padding-top:10px;padding-bottom:10px}
.pstrip .l{font-size:12.5px;color:var(--ink)}
.pstrip b{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.pstrip a{color:var(--ink);font-weight:500;text-decoration:none;border-bottom:1px solid var(--rule-2)}
.pstrip a:hover{border-bottom-color:var(--gold)}
.pstrip .r{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}

/* ---------- structure ---------- */
section{padding:clamp(15px,1.5vw,24px) 0}
.br{border-top:1px solid var(--rule)}
.br2{border-top:2px solid var(--navy)}
.art{display:grid;grid-template-columns:184px minmax(0,var(--measure)) minmax(0,1fr);
  column-gap:clamp(20px,3vw,52px)}
.art>*{grid-column:2;min-width:0}
.marg{grid-column:1;text-align:right;font-size:11px;line-height:1.5;color:var(--ink-50);padding-top:5px}
.marg b{display:block;font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--ink);margin-bottom:4px}
.marg .v{color:var(--ink);font-weight:500}
.mid{grid-column:2 / -1}
.wide{grid-column:1 / -1}

.kick{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:none;color:var(--ink-50);margin:0 0 8px;display:block}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(27px,2.9vw,37px);line-height:1.12;
  letter-spacing:-.02em;margin:0 0 10px;color:var(--ink);max-width:26ch;text-wrap:balance}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(18px,1.75vw,22px);line-height:1.2;
  letter-spacing:-.015em;margin:0 0 9px;color:var(--ink);text-wrap:balance}
h3{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink);margin:24px 0 6px}
.sf{font-family:var(--sans);font-size:clamp(15.5px,1.25vw,17px);line-height:1.45;font-weight:400;
  color:var(--ink-70);margin:0 0 12px;letter-spacing:0;max-width:62ch}
p{margin:0 0 12px;color:var(--ink)}
.body p{font-size:15.5px;line-height:1.52}

.byl{font-size:11.5px;line-height:1.55;color:var(--ink-50);border-top:1px solid var(--rule);
  padding-top:10px;margin-top:18px}
.byl b{color:var(--ink);font-weight:600}
.fine{font-size:11.5px;line-height:1.55;color:var(--ink-50)}

.sh{display:grid;grid-template-columns:184px minmax(0,1fr);column-gap:clamp(18px,2.4vw,44px);
  border-top:1px solid var(--navy);padding-top:9px;margin-bottom:14px}
.sh .n{font-family:var(--sans);font-size:14px;line-height:1.3;color:var(--ink-34);font-weight:600;text-align:right}
.sh .k{font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-50);margin-bottom:4px}
.sh h2{margin:0}

/* ---------- key figures: ivory, navy numerals, gold rule ---------- */
.kf{grid-column:3;grid-row:1 / span 3;border-top:2px solid var(--navy);padding-top:9px;align-self:start}
.kf h4{font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;margin:0 0 3px;color:var(--ink)}
.kf .row{border-bottom:1px solid var(--rule);padding:9px 0 8px}
.kf .row:last-child{border-bottom:0}
.kf b{font-family:var(--sans);font-weight:600;font-size:26px;line-height:1;letter-spacing:-.02em;
  display:block;color:var(--navy);font-variant-numeric:tabular-nums}
.kf span{display:block;font-size:11.5px;line-height:1.4;color:var(--ink-70);margin-top:5px}

/* ---------- one navy panel, used sparingly ---------- */
.panel{background:var(--navy)}
.panel h1,.panel h2,.panel h3{color:var(--white)}
.panel p{color:var(--onnavy)}
.panel .kick,.panel .sh .k,.panel .marg b{color:var(--gold)}
.panel .sh{border-top-color:rgba(255,255,255,.4)}
.panel .sh .n{color:rgba(255,255,255,.34)}
.panel .marg{color:var(--onnavy-d)}
.panel .go{color:var(--gold);border-bottom-color:var(--gold)}
.panel .pq{color:var(--white)}
.panel .qa{color:var(--onnavy-d)}
.panel .lim p{color:var(--onnavy)}
.panel .lim b{color:var(--gold)}

/* ---------- ruled list (no cards) ---------- */
.rl{column-count:2;column-gap:clamp(24px,3.2vw,52px);column-rule:1px solid var(--rule);
  margin:0;padding:0;list-style:none}
.rl.one{column-count:1}
.rl li{break-inside:avoid;border-top:1px solid var(--rule);padding:10px 0 12px;margin:0}
.rl .n{font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-50);display:block;margin-bottom:4px}
.rl .c{font-family:var(--sans);font-size:15px;line-height:1.35;font-weight:600;letter-spacing:-.005em;
  color:var(--ink);margin-bottom:5px}
.rl .b{font-size:14px;line-height:1.45;color:var(--ink-70);margin-bottom:7px}
.rl .x{font-size:12px;line-height:1.45;color:var(--ink-50);padding-left:13px;border-left:2px solid var(--gold)}
.rl .x b{font-weight:600;color:var(--ink)}
.panel .rl li{border-top-color:rgba(255,255,255,.28)}
.panel .rl{column-rule-color:rgba(255,255,255,.2)}
.panel .rl .c{color:var(--white)}
.panel .rl .b{color:var(--onnavy)}
.panel .rl .x{color:var(--onnavy-d)}
.panel .rl .x b{color:var(--white)}

/* ---------- figures ---------- */
.figure{border-top:2px solid var(--navy);padding-top:11px;margin:24px 0}
.fh{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px;flex-wrap:wrap}
.fh .figt{font-weight:600;font-size:13.5px;color:var(--ink)}
.fh .fn{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-50);white-space:nowrap}
.fnote{font-size:11px;line-height:1.5;color:var(--ink-50);margin-top:12px;border-top:1px solid var(--rule);padding-top:9px}
.panel .figure{border-top-color:rgba(255,255,255,.4)}
.panel .fh .figt{color:var(--white)}
.panel .fnote{color:var(--onnavy-d);border-top-color:rgba(255,255,255,.2)}

.mx{width:100%;border-collapse:collapse;font-size:12px}
.mx th,.mx td{border:0;padding:0}
.mx thead th{font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);
  padding:0 8px 9px;text-align:center;border-bottom:1px solid var(--navy)}
.mx thead th:first-child{text-align:left;padding-left:0}
.mx tbody th{text-align:left;font-weight:500;font-size:13px;padding:0;white-space:nowrap;color:var(--ink);
  border-bottom:1px solid var(--rule);width:1%}
.mx tbody td{text-align:center;height:40px;border-bottom:1px solid var(--rule)}
.mx tbody tr:last-child th,.mx tbody tr:last-child td{border-bottom:1px solid var(--navy)}
.mk{display:inline-block;width:11px;height:11px;border-radius:50%}
.mk.p{background:var(--navy)}
.mk.n{border:1px solid var(--ink-34)}
.lg{display:flex;gap:22px;margin-top:11px;font-size:11px;color:var(--ink-50);align-items:center;flex-wrap:wrap}
.lg em{font-style:normal;display:inline-flex;align-items:center;gap:7px}

.bars{display:grid}
.bar{display:grid;grid-template-columns:168px 1fr 38px;align-items:center;gap:14px;font-size:13px;
  border-bottom:1px solid var(--rule);padding:7px 0;color:var(--ink)}
.bar:first-child{border-top:1px solid var(--navy)}
.bar .t{height:10px}
.bar .f{height:10px;background:var(--navy);display:block}
.bar .f.g{background:var(--gold)}
.bar .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}

.share{display:flex;height:30px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.share i{display:flex;align-items:center;padding:0 12px;font-style:normal;white-space:nowrap}
.share .on{background:var(--navy);color:var(--ivory)}
.share .off{color:var(--ink-50)}

table.dt{width:100%;border-collapse:collapse;font-size:13px}
table.dt th,table.dt td{text-align:left;padding:9px 22px 9px 0;border-bottom:1px solid var(--rule);
  vertical-align:top;line-height:1.5;color:var(--ink)}
table.dt thead th{font-size:9.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50);
  border-bottom:1px solid var(--navy);padding-bottom:8px}
table.dt tbody tr:last-child td{border-bottom:1px solid var(--navy)}

/* ---------- photography: UNCROPPED, letterboxed on navy ---------- */
.ph{margin:0}
.ph .frame{background:var(--navy);display:flex;align-items:center;justify-content:center;padding:0}
.ph .frame img{width:auto;max-width:100%;height:auto;max-height:520px;object-fit:unset}
.cap{font-family:var(--sans);font-style:italic;font-size:12px;line-height:1.5;color:#666666;margin-top:9px;max-width:74ch}
.cap b{color:var(--ink);font-weight:600;font-style:normal}
.pt .frame img{max-height:340px}

/* ---------- quote ---------- */
.pq{font-family:var(--serif);font-size:clamp(17px,1.6vw,21px);line-height:1.34;font-weight:400;
  letter-spacing:-.01em;margin:0;color:var(--ink);padding-left:16px;border-left:2px solid var(--navy)}
.qa{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-50);margin-top:13px}

/* ---------- index rows ---------- */
.idx{border-top:2px solid var(--navy)}
.idx a{display:grid;grid-template-columns:184px minmax(0,1fr) 180px;column-gap:clamp(18px,2.4vw,44px);
  text-decoration:none;padding:11px 0 13px;border-bottom:1px solid var(--rule);align-items:start}
.idx .m{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50);
  text-align:right;padding-top:5px}
.idx h3{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.18;letter-spacing:-.015em;
  margin:0 0 5px;text-transform:none;color:var(--ink)}
.idx p{font-size:14px;color:var(--ink-70);margin:0;line-height:1.42}
.idx .s{font-size:11px;color:var(--ink-50);text-align:right;font-variant-numeric:tabular-nums;line-height:1.7;padding-top:5px}
.idx a:hover h3{color:var(--gold)}
.panel .idx{border-top-color:rgba(255,255,255,.4)}
.panel .idx a{border-bottom-color:rgba(255,255,255,.22)}
.panel .idx h3{color:var(--white)}
.panel .idx p{color:var(--onnavy)}
.panel .idx .m,.panel .idx .s{color:var(--onnavy-d)}

/* ---------- source register ---------- */
.sr{font-size:12.5px}
.sr .h,.sr .r{display:grid;grid-template-columns:78px 196px minmax(0,1fr) 88px;column-gap:18px;padding:7px 0}
.sr .h{font-size:9.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50);
  border-bottom:1px solid var(--navy)}
.sr .r{border-bottom:1px solid var(--rule)}
.sr .id{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.sr .i{font-weight:500;color:var(--ink)}
.sr .t a{color:var(--ink-70);text-decoration:none;border-bottom:1px solid var(--rule)}
.sr .t a:hover{border-bottom-color:var(--gold);color:var(--ink)}
.sr .d{color:var(--ink-50);text-align:right;font-variant-numeric:tabular-nums}

.lim{border-left:2px solid var(--gold);padding:2px 0 2px 15px;margin:16px 0}
.lim p{font-size:13.5px;line-height:1.5;color:var(--ink-70);margin:0 0 7px}
.lim p:last-child{margin:0}
.lim b{display:block;font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--ink);margin-bottom:4px}

.go{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
  color:var(--ink);border-bottom:2px solid var(--gold);padding-bottom:2px;display:inline-block}
.inl{text-decoration:none;border-bottom:1px solid var(--rule-2)}
.inl:hover{border-bottom-color:var(--gold)}

/* ---------- footer ---------- */
.pfoot{background:var(--ivory);margin-top:4px;padding:14px 0 20px;border-top:1px solid var(--navy)}
.pfoot-g{display:grid;grid-template-columns:184px minmax(0,var(--measure)) minmax(0,1fr);
  column-gap:clamp(20px,3vw,52px)}
.pfoot-g .l{text-align:right}
.pfoot-g .l .mk-foot{width:62px;height:auto;background:none;margin-left:auto}
.pfoot-g .l .fl{display:block;margin-top:7px;font-family:var(--sans);font-size:9.5px;font-weight:500;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50);line-height:1.5}
.pfoot h2{color:var(--ink);font-size:14px;font-family:var(--sans);font-weight:600;max-width:60ch;margin:0 0 6px}
.pfoot p{font-size:12px;color:var(--ink-70);max-width:78ch;margin:0 0 5px}
.pfoot a{color:var(--ink)}
.pfoot ul{list-style:none;margin:8px 0 0;padding:0;font-size:12px;display:flex;flex-wrap:wrap;gap:0 18px}
.pfoot li{margin-bottom:5px}
.pfoot li a{text-decoration:none;color:var(--ink-70);border-bottom:1px solid var(--rule)}
.pfoot li a:hover{color:var(--ink)}
.pfoot .disc{font-size:10.5px;line-height:1.55;color:var(--ink-50);border-top:1px solid var(--rule);
  margin-top:12px;padding-top:9px;max-width:none}

@media (max-width:1060px){
  .art,.sh,.idx a,.pfoot-g{grid-template-columns:1fr}
  .art>*{grid-column:1}
  .marg{grid-column:1;text-align:left;border-left:2px solid var(--gold);padding:0 0 0 12px;margin-bottom:14px}
  .kf{grid-column:1;grid-row:auto;margin-top:18px}
  .sh .n{text-align:left;font-size:25px;margin-bottom:4px}
  .idx .m,.idx .s{text-align:left}
  .brand .mk-ecs{width:52px}
  .brand{gap:12px}
  .brand .sub{font-size:10px}
  .pfoot-g .l{text-align:left}
  .pfoot-g .l .mk-foot{margin-left:0;margin-bottom:6px}
  .rl{column-count:1}
}
@media (max-width:640px){
  .mast-top{flex-direction:column;align-items:flex-start;gap:12px}
  .mast-r{text-align:left;white-space:normal}
  .sr .h,.sr .r{grid-template-columns:68px 1fr;gap:2px 14px}
  .sr .d{text-align:left;grid-column:2}
  .bar{grid-template-columns:110px 1fr 32px}
  .pfoot ul{columns:1}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* research-lead block */
.lead{display:grid;grid-template-columns:196px minmax(0,1fr);gap:22px;align-items:start;
  border-top:1px solid var(--navy);padding-top:12px}
.lead .ph{margin:0}
.lead img{width:100%;height:auto}
.lead .nm{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-.015em;margin:0 0 2px}
.lead .rl2{font-size:11.5px;color:var(--ink-50);margin:0 0 8px}
.lead p{font-size:14px;line-height:1.45;margin:0 0 7px;max-width:70ch}
.lead .cap{margin-top:6px}
@media (max-width:1060px){.lead{grid-template-columns:1fr}.lead img{max-width:220px}}

/* mobile overflow guards */
.art>*,.sh>*,.idx a>*,.pfoot-g>*{min-width:0}
.mid,.marg{min-width:0;max-width:100%}
.mx{min-width:540px}
.figure>div[style*="overflow-x"]{max-width:100%}
table.dt{min-width:0}
.tw{overflow-x:auto;max-width:100%}
.tw table.dt{min-width:520px}
.tw,.figure div[style*="overflow"]{-webkit-overflow-scrolling:touch}
@media (max-width:640px){
  .lead{grid-template-columns:1fr}
  .lead img{max-width:100%}
  .idx a{grid-template-columns:1fr}
}

@media (max-width:760px){
  .bar{grid-template-columns:96px 1fr 28px;font-size:12px}
  .share{font-size:9.5px}
  .share i{padding:0 7px}
  .body p,p{overflow-wrap:anywhere}
  .sr .t a{overflow-wrap:anywhere}
}

/* ================= EVIDENCE VISUALISATIONS ================= */

/* G1 - dot matrix, 57 coded signals */
.dm{display:flex;gap:34px;align-items:flex-start;flex-wrap:wrap}
.dm-grid{display:grid;grid-template-columns:repeat(19,1fr);gap:4px;flex:1 1 300px;min-width:0;max-width:392px}
.dm-grid i{display:block;aspect-ratio:1;border:1px solid var(--navy);background:none}
.dm-grid i.on{background:var(--navy)}
.dm-key{flex:1 1 270px;min-width:0;max-width:340px}
.dm-key .kr{border-top:1px solid var(--rule);padding:9px 0 10px}
.dm-key .kr:first-child{border-top:2px solid var(--navy)}
.dm-key .kn{display:flex;align-items:baseline;gap:9px}
.dm-key b{font-family:var(--serif);font-weight:600;font-size:29px;line-height:1;letter-spacing:-.02em;
  color:var(--ink);font-variant-numeric:tabular-nums}
.dm-key .pc{font-size:12px;font-weight:600;color:var(--ink-50);font-variant-numeric:tabular-nums}
.dm-key span.d{display:block;font-size:12px;line-height:1.45;color:var(--ink-70);margin-top:4px}
.dm-key i.sw{display:inline-block;width:10px;height:10px;border:1px solid var(--navy);vertical-align:1px;margin-right:7px}
.dm-key i.sw.on{background:var(--navy)}

/* G2 - timeline */
.tl{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--navy)}
.tl>div{padding:12px 20px 14px 0;border-right:1px solid var(--rule);position:relative}
.tl>div:last-child{border-right:0;padding-right:0}
.tl>div:not(:first-child){padding-left:20px}
.tl .st{font-size:9.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-50);margin-bottom:7px}
.tl h5{font-family:var(--serif);font-weight:600;font-size:16px;line-height:1.25;letter-spacing:-.012em;margin:0 0 7px;color:var(--ink)}
.tl p{font-size:12.5px;line-height:1.5;color:var(--ink-70);margin:0 0 9px}
.tl .fig{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1;color:var(--ink);
  font-variant-numeric:tabular-nums;display:block;margin-bottom:3px}
.tl .fl2{font-size:11.5px;line-height:1.45;color:var(--ink-50)}
.tl .ex{margin-top:9px;padding-top:8px;border-top:1px solid var(--rule);font-size:11.5px;color:var(--ink-50);line-height:1.5}
.tl .ex b{color:var(--ink);font-weight:600}
.tl .ax{height:0;border-top:1px solid var(--gold)}
.tlx{display:grid;grid-template-columns:repeat(3,1fr);margin-top:0}
.tlx div{border-top:2px solid var(--gold);height:0}
.tlx div:nth-child(2){border-top-color:var(--gold)}

/* G3 - matrix heatmap */
.hm{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
.hm col.lbl{width:170px}
.hm thead th{font-size:9.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-50);
  padding:0 4px 8px;text-align:center;vertical-align:bottom;line-height:1.3}
.hm thead th.lb{text-align:left;padding-left:0}
.hm tbody th{text-align:left;font-weight:500;font-size:13px;color:var(--ink);padding:0 14px 0 0;line-height:1.3}
.hm tbody td{padding:2px}
.hm .cell{height:34px;display:flex;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.hm .cell.y{background:var(--navy);color:var(--ivory)}
.hm .cell.n{background:none;border:1px solid var(--rule-2);color:var(--ink-34)}
.hm tfoot td,.hm tfoot th{padding-top:9px;font-size:10px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-50);text-align:center;border-top:1px solid var(--navy);
  font-variant-numeric:tabular-nums}
.hm tfoot th{text-align:left;padding-left:0}
.hmk{display:flex;gap:24px;margin-top:12px;font-size:11px;color:var(--ink-50);align-items:center;flex-wrap:wrap}
.hmk em{font-style:normal;display:inline-flex;align-items:center;gap:8px}
.hmk .cell{height:15px;width:32px;display:inline-block;font-size:0;flex:none}
.hmk .cell.y{background:var(--navy)}
.hmk .cell.n{border:1px solid var(--rule-2)}

/* G4 - architecture taxonomy */
.arch{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid var(--navy)}
.arch>div{border-right:1px solid var(--rule);padding:11px 16px 13px 0}
.arch>div:last-child{border-right:0;padding-right:0}
.arch>div:not(:first-child){padding-left:16px}
.arch .sn{font-size:10px;font-weight:600;color:var(--ink-34);font-variant-numeric:tabular-nums;margin-bottom:5px}
.arch h5{font-family:var(--sans);font-weight:600;font-size:13px;line-height:1.3;margin:0 0 8px;color:var(--ink)}
.arch ul{list-style:none;margin:0;padding:0}
.arch li{font-size:11.5px;line-height:1.45;color:var(--ink-70);padding:4px 0;border-top:1px solid var(--rule)}
.arch li:first-child{border-top:0;padding-top:0}
.archf{display:grid;grid-template-columns:repeat(5,1fr);margin-top:10px}
.archf div{height:0;border-top:2px solid var(--navy)}

@media(max-width:860px){
  .tl,.arch,.tlx,.archf{grid-template-columns:1fr}
  .tl>div,.arch>div{border-right:0;border-bottom:1px solid var(--rule);padding:11px 0 12px}
  .tl>div:not(:first-child),.arch>div:not(:first-child){padding-left:0}
  .tl>div:last-child,.arch>div:last-child{border-bottom:0}
  .tlx,.archf{display:none}
  .dm-grid{grid-template-columns:repeat(12,1fr);max-width:100%}
  .dm-key{flex:1 1 100%}
  .hmw{overflow-x:auto}
  .hmw .hm{min-width:560px}
}

/* ---- dark-panel variants: data marks must invert on navy ---- */
.panel .bar{color:var(--ivory);border-bottom-color:rgba(255,255,255,.22)}
.panel .bar:first-child{border-top-color:rgba(255,255,255,.55)}
.panel .bar .f{background:var(--ivory)}
.panel .bar .f.g{background:var(--gold)}
.panel .bar .v{color:var(--ivory)}
.panel .fnote,.panel .lg,.panel .hmk{color:var(--onnavy-d)}

.panel .dm-grid i{border-color:rgba(255,255,255,.55)}
.panel .dm-grid i.on{background:var(--ivory);border-color:var(--ivory)}
.panel .dm-key .kr{border-top-color:rgba(255,255,255,.22)}
.panel .dm-key .kr:first-child{border-top-color:rgba(255,255,255,.55)}
.panel .dm-key b{color:var(--ivory)}
.panel .dm-key .pc{color:var(--onnavy-d)}
.panel .dm-key span.d{color:var(--onnavy)}
.panel .dm-key i.sw{border-color:rgba(255,255,255,.7)}
.panel .dm-key i.sw.on{background:var(--ivory)}

.panel .tl{border-top-color:rgba(255,255,255,.55)}
.panel .tl>div{border-right-color:rgba(255,255,255,.22)}
.panel .tl h5,.panel .tl .fig{color:var(--ivory)}
.panel .tl p{color:var(--onnavy)}
.panel .tl .st,.panel .tl .fl2,.panel .tl .ex{color:var(--onnavy-d)}
.panel .tl .ex{border-top-color:rgba(255,255,255,.22)}
.panel .tl .ex b{color:var(--ivory)}

.panel .hm thead th{color:var(--onnavy-d);border-bottom-color:rgba(255,255,255,.55)}
.panel .hm tbody th{color:var(--ivory)}
.panel .hm .cell.y{background:var(--ivory);color:var(--navy)}
.panel .hm .cell.n{border-color:rgba(255,255,255,.32);color:rgba(255,255,255,.45)}
.panel .hm tfoot td,.panel .hm tfoot th{color:var(--onnavy-d);border-top-color:rgba(255,255,255,.55)}
.panel .hmk .cell.y{background:var(--ivory)}
.panel .hmk .cell.n{border-color:rgba(255,255,255,.32)}

.panel .arch{border-top-color:rgba(255,255,255,.55)}
.panel .arch>div{border-right-color:rgba(255,255,255,.22)}
.panel .arch h5{color:var(--ivory)}
.panel .arch .sn{color:rgba(255,255,255,.45)}
.panel .arch li{color:var(--onnavy);border-top-color:rgba(255,255,255,.22)}
.panel .archf div{border-top-color:rgba(255,255,255,.7)}

/* ================= EXHIBIT SYSTEM - institutional ================= */
/* every figure becomes a numbered exhibit: rule, number, action title,
   descriptive subtitle, the mark, a source line. numerals in Playfair. */

.figure{border-top:0;padding-top:0;margin:26px 0}
.figure .fh{display:block;margin-bottom:0;border-top:2px solid var(--navy);padding-top:8px}
.fh .fn{display:block;font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-50);margin-bottom:6px}
.fh .figt{display:block;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.24;
  letter-spacing:-.014em;color:var(--ink);max-width:62ch}
.fh .figs{display:block;font-family:var(--sans);font-size:12.5px;line-height:1.45;color:var(--ink-70);
  margin-top:5px;max-width:74ch}
.figbody{margin-top:18px}
.fnote{font-size:10.5px;line-height:1.5;color:var(--ink-50);margin-top:14px;
  border-top:1px solid var(--rule);padding-top:8px}
.fnote b{color:var(--ink-70);font-weight:600}
.panel .fh .figt{color:var(--white)}
.panel .fh .fn,.panel .fh .figs{color:var(--onnavy-d)}
.panel .figure .fh{border-top-color:rgba(255,255,255,.55)}

/* every numeral, everywhere, in Playfair with tabular figures */
.num,.kf b,.bar .v,.dm-key b,.tl .fig,.hm tfoot td,.hm tfoot th b,.arch .sn,
.sh .n,.idx .s b,.mx tfoot td{
  font-family:var(--serif);font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1}
.kf b{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:-.018em}
.sh .n{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:0}
.bar .v{font-family:var(--serif);font-weight:600;font-size:15px}
.arch .sn{font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:0}

/* ---- unit chart: 57 coded signals ---- */
.uc{display:grid;grid-template-columns:repeat(19,1fr);gap:3px;max-width:330px}
.uc i{display:block;aspect-ratio:1;background:none;box-shadow:inset 0 0 0 1px var(--rule-2)}
.uc i.on{background:var(--navy);box-shadow:none}
.panel .uc i{box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
.panel .uc i.on{background:var(--ivory);box-shadow:none}

/* ---- split bar with direct labels ---- */
.sb{display:flex;height:44px;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.sb>div{display:flex;align-items:center;padding:0 12px;min-width:0}
.sb .a{background:var(--navy);color:var(--ivory)}
.sb .b{color:var(--ink-70)}
.sb .lb{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.sb .lx{font-family:var(--sans);font-size:11px;margin-left:9px;opacity:.82;line-height:1.3}
.panel .sb{border-color:rgba(255,255,255,.55)}
.panel .sb .a{background:var(--ivory);color:var(--navy)}
.panel .sb .b{color:var(--onnavy)}
.sbleg{display:flex;justify-content:space-between;font-size:10.5px;color:var(--ink-50);margin-top:7px}

/* ---- exhibit grid: big number + supporting note ---- */
.stat{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--navy)}
.stat>div{padding:12px 22px 14px 0;border-right:1px solid var(--rule)}
.stat>div:last-child{border-right:0;padding-right:0}
.stat>div:not(:first-child){padding-left:22px}
.stat .n{display:block;font-family:var(--serif);font-weight:600;font-size:38px;line-height:.98;
  letter-spacing:-.024em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat .u{display:block;font-size:11.5px;line-height:1.45;color:var(--ink-70);margin-top:7px;max-width:34ch}
.panel .stat{border-top-color:rgba(255,255,255,.55)}
.panel .stat>div{border-right-color:rgba(255,255,255,.22)}
.panel .stat .n{color:var(--ivory)}
.panel .stat .u{color:var(--onnavy)}

/* ---- matrix: marks not words ---- */
.hm .cell{height:26px;font-size:0}
.hm .cell.y{background:var(--navy)}
.hm .cell.n{background:none;box-shadow:inset 0 0 0 1px var(--rule-2);border:0}
.hm tfoot td,.hm tfoot th{font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:0;
  text-transform:none;color:var(--ink);padding-top:10px}
.hm tfoot th{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-50);padding-top:13px}
.hm td.rt{font-family:var(--serif);font-size:14px;font-weight:600;color:var(--ink);
  text-align:right;padding-right:0;font-variant-numeric:tabular-nums;width:52px}
.hm th.rl{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-50);text-align:right;padding:0 0 8px}
.panel .hm .cell.n{box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}
.panel .hm td.rt,.panel .hm tfoot td{color:var(--ivory)}

/* ---- timeline as an axis ---- */
.tl{border-top:0}
.tlax{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--navy);margin-bottom:0}
.tlax div{position:relative;height:0}
.tlax div::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--navy)}
.panel .tlax{border-top-color:rgba(255,255,255,.55)}
.panel .tlax div::before{background:var(--ivory)}
.tl>div{padding-top:14px}

/* ---- architecture: numbered stages with a shared baseline ---- */
.arch{border-top:2px solid var(--navy)}
.archf div{border-top:2px solid var(--navy)}

/* ---- all titles in Playfair ---- */
h3,.rl .c,.pfoot h2,.arch h5,.kf h4,.tl h5,.marg b,.lim b,.sh .k,.fh .figt,
.dm-key .kn,.stat .lb,.qa,.nm{
  font-family:var(--serif)}
h3{font-family:var(--serif);font-weight:600;font-size:14px;letter-spacing:-.005em;
  text-transform:none;color:var(--ink)}
.rl .c{font-family:var(--serif);font-weight:600;font-size:16.5px;line-height:1.26;letter-spacing:-.012em}
.pfoot h2{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.012em}
.arch h5{font-family:var(--serif);font-weight:600;font-size:15px;line-height:1.22;letter-spacing:-.012em}
.kf h4{font-family:var(--serif);font-weight:600;font-size:13px;letter-spacing:-.008em;margin-bottom:5px}
.marg b{font-family:var(--serif);font-weight:600;font-size:12.5px;letter-spacing:-.008em;color:var(--ink);
  margin-bottom:4px}
.lim b{font-family:var(--serif);font-weight:600;font-size:12.5px;letter-spacing:-.008em;color:var(--ink)}
.sh .k{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-50);margin-bottom:6px}
.panel .sh .k{color:var(--onnavy-d)}
.kick{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.panel .rl .c,.panel .arch h5,.panel .marg b{color:var(--white)}

/* ================= RE-COMPOSITION: hierarchy, rhythm, limitation device ================= */

/* --- 1. decisive typographic hierarchy --------------------------------- */
/* insight headline > subhead > statistic > body > method > limitation */
.sh h2{font-size:clamp(21px,2.05vw,27px);line-height:1.16;letter-spacing:-.018em;max-width:26ch}
.sh{align-items:end;padding-bottom:9px;margin-bottom:22px;border-bottom:1px solid var(--rule)}
.lede{font-family:var(--sans);font-size:15.5px;line-height:1.5;color:var(--ink-70);
  max-width:60ch;margin:0 0 18px;font-weight:400}
.body p,.mid>p{font-size:14.5px;line-height:1.55;max-width:66ch}
/* methodology and caveat copy must read as subordinate, not as analysis */
.marg,.fnote,.fine,.cap,.lg,.hmk,.sbleg{font-size:10.5px;line-height:1.5}
.marg{color:var(--ink-50)}

/* --- 2. the limitation device ------------------------------------------ */
.dne{border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);
  padding:11px 0 12px;margin:20px 0 0;display:grid;
  grid-template-columns:172px minmax(0,1fr);column-gap:clamp(16px,2.4vw,40px)}
.dne .k{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-50);line-height:1.5;text-align:right}
.dne .t{font-size:12.5px;line-height:1.5;color:var(--ink-70);max-width:76ch}
.dne .t p{font-size:12.5px;line-height:1.5;margin:0 0 6px;max-width:76ch}
.dne .t p:last-child{margin:0}
.panel .dne{border-color:rgba(255,255,255,.5)}
.panel .dne .k{color:var(--onnavy-d)}
.panel .dne .t,.panel .dne .t p{color:var(--onnavy)}
@media(max-width:860px){
  .dne{grid-template-columns:1fr;row-gap:7px}
  .dne .k{text-align:left}
}

/* --- 3. section rhythm: five deliberate layouts ------------------------- */
/* a. full-width insight page */
.r-insight{padding:clamp(26px,3.4vw,46px) 0}
.r-insight .hl{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.1vw,42px);
  line-height:1.1;letter-spacing:-.022em;max-width:19ch;margin:0 0 16px}
.r-insight .sub{font-size:16px;line-height:1.5;color:var(--ink-70);max-width:56ch;margin:0}
/* b. left insight / right evidence */
.r-split{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  column-gap:clamp(28px,4.2vw,74px);align-items:start}
.r-split .ev{border-top:2px solid var(--navy);padding-top:12px}
/* c. large visual page - graphic runs the full measure */
.r-visual .figure{margin:0}
.r-visual .figbody{margin-top:22px}
/* d. quote / implication page */
.r-quote{background:var(--navy);color:var(--ivory);padding:clamp(30px,3.8vw,54px) 0}
.r-quote .q{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.5vw,33px);
  line-height:1.24;letter-spacing:-.016em;max-width:22ch;margin:0 0 16px;color:var(--white)}
.r-quote .a{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--onnavy-d)}
.r-quote .imp{border-top:1px solid rgba(255,255,255,.4);margin-top:22px;padding-top:12px;
  font-size:13.5px;line-height:1.5;color:var(--onnavy);max-width:62ch}
@media(max-width:860px){.r-split{grid-template-columns:1fr;row-gap:24px}}

/* --- 4. progressive disclosure for method detail ------------------------ */
details.more{border-top:1px solid var(--rule);margin-top:16px}
details.more>summary{list-style:none;cursor:pointer;padding:9px 0 0;
  font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-50);display:flex;align-items:baseline;gap:9px}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"+";font-size:13px;line-height:1;color:var(--ink-34)}
details.more[open]>summary::after{content:"\2212"}
details.more>summary:hover{color:var(--ink)}
details.more .dd{padding-top:10px;font-size:12.5px;line-height:1.55;color:var(--ink-70);max-width:76ch}
details.more .dd p{font-size:12.5px;line-height:1.55;margin:0 0 7px;max-width:76ch}
.panel details.more{border-top-color:rgba(255,255,255,.28)}
.panel details.more>summary{color:var(--onnavy-d)}
.panel details.more .dd,.panel details.more .dd p{color:var(--onnavy)}

/* ================= FLAGSHIP GRAPHIC: comparative matrix ================= */
.cm{border-top:2px solid var(--navy)}
.cm-h{display:grid;grid-template-columns:212px repeat(6,minmax(0,1fr)) 74px;
  column-gap:0;border-bottom:1px solid var(--navy)}
.cm-h>div{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-50);padding:9px 6px 8px;text-align:center;
  line-height:1.3;align-self:end}
.cm-h>div:first-child{text-align:left;padding-left:0}
.cm-h>div:last-child{text-align:right;padding-right:0}
.cm-fam{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-34);padding:15px 0 6px;
  border-bottom:1px solid var(--rule)}
.cm-r{display:grid;grid-template-columns:212px repeat(6,minmax(0,1fr)) 74px;
  align-items:center;border-bottom:1px solid var(--rule)}
.cm-r:hover{background:rgba(11,20,38,.028)}
.cm-r .lb{font-size:13.5px;color:var(--ink);padding:9px 14px 9px 0;line-height:1.3}
.cm-r .c{height:34px;display:flex;align-items:center;justify-content:center}
.cm-r .c i{display:block;width:15px;height:15px;background:var(--navy)}
.cm-r .c i.o{background:none;box-shadow:inset 0 0 0 1px var(--rule-2)}
.cm-r .n{font-family:var(--serif);font-weight:600;font-size:15px;text-align:right;
  padding-right:0;font-variant-numeric:tabular-nums;color:var(--ink)}
.cm-r.all{background:rgba(11,20,38,.045)}
.cm-r.all .lb{font-weight:600}
.cm-f{display:grid;grid-template-columns:212px repeat(6,minmax(0,1fr)) 74px;
  border-top:1px solid var(--navy);padding-top:10px}
.cm-f>div{text-align:center;font-family:var(--serif);font-weight:600;font-size:16px;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.cm-f>div:first-child{text-align:left;font-family:var(--sans);font-size:9.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);align-self:center}
.cm-f>div:last-child{text-align:right}
.cmk{display:flex;gap:26px;margin-top:12px;font-size:10.5px;color:var(--ink-50);
  align-items:center;flex-wrap:wrap}
.cmk em{font-style:normal;display:inline-flex;align-items:center;gap:8px}
.cmk i{width:13px;height:13px;background:var(--navy);display:block;flex:none}
.cmk i.o{background:none;box-shadow:inset 0 0 0 1px var(--rule-2)}
@media(max-width:900px){
  .cmw{overflow-x:auto;max-width:100%}
  .cmw .cm{min-width:720px}
}

/* ================= FLAGSHIP GRAPHIC: architecture framework ================= */
.fw{border-top:2px solid var(--navy);padding-top:0}
.fw-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:14px;
  margin-top:20px}
.fw-s{position:relative;display:flex;flex-direction:column}
.fw-s .bar{height:5px;background:var(--navy);margin-bottom:12px}
.fw-s:nth-child(1) .bar{opacity:.30}
.fw-s:nth-child(2) .bar{opacity:.46}
.fw-s:nth-child(3) .bar{opacity:.62}
.fw-s:nth-child(4) .bar{opacity:.80}
.fw-s:nth-child(5) .bar{opacity:1}
.fw-s .sn{font-family:var(--serif);font-weight:600;font-size:12.5px;color:var(--ink-34);
  font-variant-numeric:tabular-nums;margin-bottom:4px}
.fw-s h5{font-family:var(--serif);font-weight:600;font-size:16.5px;line-height:1.18;
  letter-spacing:-.014em;margin:0 0 4px;color:var(--ink)}
.fw-s .rl3{font-size:11px;line-height:1.4;color:var(--ink-50);margin:0 0 11px;min-height:2.8em}
.fw-s ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.fw-s li{font-size:11.5px;line-height:1.4;color:var(--ink-70);padding:6px 0;
  border-bottom:1px solid var(--rule)}
.fw-note{margin-top:16px}
.panel .fw{border-top-color:rgba(255,255,255,.55)}
.panel .fw-s .bar{background:var(--ivory)}
.panel .fw-s h5{color:var(--white)}
.panel .fw-s .sn{color:rgba(255,255,255,.45)}
.panel .fw-s .rl3{color:var(--onnavy-d)}
.panel .fw-s ul{border-top-color:rgba(255,255,255,.28)}
.panel .fw-s li{color:var(--onnavy);border-bottom-color:rgba(255,255,255,.18)}
@media(max-width:860px){
  .fw-track{grid-template-columns:1fr;row-gap:20px}
  .fw-s .rl3{min-height:0}
}

/* ================= MEDIA ROUTE: scan layer ================= */
.scan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--navy);
  border-bottom:1px solid var(--navy)}
.scan>div{padding:13px 20px 15px 0;border-right:1px solid var(--rule)}
.scan>div:last-child{border-right:0;padding-right:0}
.scan>div:not(:first-child){padding-left:20px}
.scan .k{font-family:var(--sans);font-size:9.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-50);margin-bottom:7px}
.scan .v{font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.04;
  letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;display:block}
.scan .d{font-size:11.5px;line-height:1.45;color:var(--ink-70);margin-top:6px}
.scan a{color:var(--ink)}
@media(max-width:860px){
  .scan{grid-template-columns:1fr 1fr}
  .scan>div{border-right:0;border-bottom:1px solid var(--rule);padding:11px 0 12px!important}
  .scan>div:nth-child(odd){padding-right:16px!important}
}
.r-quote .go{color:var(--gold-300,#E4C87A);border-bottom:1px solid rgba(228,200,122,.5);
  text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.r-quote .go:hover{color:#fff;border-bottom-color:#fff}
.r-quote .ev .dne .k{color:rgba(255,255,255,.62)}
.r-quote .ev .dne .t p{color:rgba(255,255,255,.86);font-size:12.5px;line-height:1.5}

/* ---- legibility floor: no rendered text below 10px on any breakpoint ---- */
.kick,.sh .k,.fh .fn,.dne .k,.scan .k,.cm-fam,.cm-h>div,.cm-f>div:first-child,
.hm thead th,.hm th.rl,.hm tfoot th,.mast-nav a,.mast-r,.pfoot-g .l .fl,
.fw-s .sn,details.more>summary{font-size:10px}
.pstrip{font-size:10.5px}
.fnote,.cap,.lg,.hmk,.cmk,.sbleg,.fine{font-size:10.5px}
.pfoot .disc{font-size:10px;line-height:1.6}
.tl .st,table.dt thead th,.srcs .h,.srcs .h div,.srcs .d{font-size:10px}
.sr .h>div,.sr .d,.sr .h{font-size:10px}

/* ---- one boundary device, set once, not repeated in prose ---- */
.rl .x::before{content:"Boundary";display:block;font-family:var(--sans);font-size:9px;
  font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-34);margin-bottom:4px}
.panel .rl .x::before{color:rgba(255,255,255,.45)}

/* ---- homepage: the first ten seconds ---- */
.hero{padding:clamp(28px,3.4vw,52px) 0 clamp(20px,2.4vw,32px)}
.hero-g{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,.76fr);
  column-gap:clamp(32px,5vw,86px);align-items:start}
.hero h1{font-size:clamp(31px,3.7vw,52px);line-height:1.06;letter-spacing:-.026em;
  max-width:15ch;margin:0 0 20px}
.hero .prop{font-family:var(--sans);font-size:clamp(15px,1.2vw,16.5px);line-height:1.5;
  color:var(--ink-70);max-width:52ch;margin:0}
.hero .prop b{color:var(--ink);font-weight:600}
.hero-r{border-top:2px solid var(--navy);padding-top:4px}
.hf{border-bottom:1px solid var(--rule);padding:13px 0 12px}
.hf:last-child{border-bottom:0}
.hf .n{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(30px,2.9vw,40px);
  line-height:1;letter-spacing:-.024em;color:var(--ink);font-variant-numeric:tabular-nums}
.hf .u{display:block;font-size:12px;line-height:1.45;color:var(--ink-70);margin-top:6px;max-width:34ch}
.hero-f{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,4vw,64px);
  border-top:1px solid var(--rule);margin-top:clamp(22px,2.6vw,34px);padding-top:12px}
.hero-f>div{font-size:11.5px;line-height:1.55;color:var(--ink-50);max-width:58ch}
.hero-f b{color:var(--ink);font-weight:600}
.hero-f .l{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-34);display:block;margin-bottom:4px}
@media(max-width:860px){
  .hero-g{grid-template-columns:1fr;row-gap:26px}
  .hero-f{grid-template-columns:1fr;row-gap:14px}
}
.sh{align-items:start}
.sh .n{padding-top:2px}

/* ================= PRINT PRODUCTION FIXES ================= */
@media print{
  /* CSS multi-column paginates as horizontal boxes and runs off the sheet.
     Fall back to a two-up grid, which paginates vertically and never clips. */
  .rl{column-count:1;column-rule:0;display:block}
  .rl li{max-width:96ch}
  .rl li{break-inside:avoid}
  .panel .rl{column-rule:0}

  /* break-inside:avoid on anything taller than a page makes Chromium clip.
     Restrict it to atomic units only. */
  .figure,details.more,.dne,.scan,.stat,.hero-g,.hero-f,section{break-inside:auto}
  .cm-r,.fw-s,.hf,.rl li,.bar,.sb,.idx a,tr,.tl>div,.stat>div,.scan>div{break-inside:avoid}
  .cm-h,.cm-fam{break-after:avoid}
  .cm-f{break-before:avoid}

  /* never strand a section opener, a headline or an exhibit header */
  .sh,.fh,h1,h2,h3,.figt,.pgbrk{break-after:avoid;page-break-after:avoid}
  .fh + .figbody{break-before:avoid}
  .sh + *{break-before:avoid}

  /* typographic hygiene across page breaks */
  p,li,td,.dne .t{orphans:3;widows:3}

  /* a full section can exceed a page: never avoid-break it, only its children */
  .panel,.r-quote{break-inside:auto}
  .panel .rl li,.r-quote .q,.r-quote .imp,.r-quote .dne{break-inside:avoid}
}

@media print{
  /* Chromium clips the last child of a CSS grid that crosses a page break.
     Page-level grids become block flow for print; the side note sets above
     its block as a standfirst, which is the correct print idiom anyway. */
  .art.tall,.pfoot-g.tall,.lead.tall,.r-split.tall{display:block}
  .art,.sh,.idx a,.pfoot-g,.lead,.r-split,.hero-g{break-inside:avoid;page-break-inside:avoid}
  .art.tall,.pfoot-g.tall,.lead.tall,.r-split.tall{break-inside:auto}
  .tall>*,.tall .sh>*,.tall.pfoot-g>*,.tall.idx a>*{grid-column:auto!important;grid-row:auto!important}
  .tall .marg{text-align:left;max-width:none;padding:0 0 10px;margin:0 0 12px;
        border-bottom:1px solid var(--rule);color:var(--ink-50)}
  .tall .marg b{display:inline;margin:0 8px 0 0}
  .tall .kf{margin:18px 0 0;border-top:2px solid var(--navy)}
  .sh .n{display:inline;text-align:left;margin-right:10px}
  .sh .k{display:inline}
  .sh h2{max-width:34ch;margin-top:6px}
  .idx a .m,.idx a .s{text-align:left}
  .idx a{padding:12px 0}
  .lead .ph{margin-bottom:14px}
  .hero h1{max-width:22ch}
  .hero-r{margin-top:20px}
  .hero-f>div{margin-bottom:8px}
  .r-split>*+*{margin-top:20px}
}
@media print{
  .tall>*{grid-column:auto!important;grid-row:auto!important}
  .tall .marg{text-align:left;max-width:none;padding:0 0 10px;margin:0 0 12px;
    border-bottom:1px solid var(--rule)}
  .tall .marg b{display:inline;margin:0 8px 0 0}
  .tall .kf{margin:18px 0 0;border-top:2px solid var(--navy)}
}

/* ---- PDF: A4 portrait, single measure, grid-free (Chromium grid fragmentation) ---- */
@media print{
  @page{size:A4 portrait;margin:14mm 0 13mm}
  .page{max-width:none;padding:0 16mm}
  /* every page-level grid becomes block flow: no grid fragmentation, no clipping */
  .art,.pfoot-g,.sh,.idx a,.lead,.r-split,.hero-g,.hero-f,.stat,.scan,.tl,.fw-track,.arch{display:block}
  .art,.sh,.idx a,.pfoot-g,.lead,.r-split,.hero-g{break-inside:auto}
  .marg,.tall .marg{text-align:left;max-width:none;padding:0 0 9px;margin:0 0 13px;
    border-bottom:1px solid var(--rule);font-size:10px;line-height:1.5}
  /* Inlining these ran values into the next label ("2026Evidence date"), because a
     <br> that is hidden - or given an explicit display - stops breaking in Chromium.
     In portrait there is room to set the credit block as it reads: label, then values. */
  .marg b,.tall .marg b{display:block;font-size:10.5px;margin:0}
  .marg br,.tall .marg br{line-height:0.6}
  /* stacked, a credit block must not strand its label at the foot of a page */
  .marg,.tall .marg{break-inside:avoid;page-break-inside:avoid}
  /* the colophon reads as one block; four orphan lines on a final page do not */
  .pfoot{break-inside:avoid;page-break-inside:avoid}
  .kf,.tall .kf{margin:16px 0 0;border-top:2px solid var(--navy)}
  .kf .row{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule)}
  .kf b{font-size:23px;min-width:4.5em}
  .kf span{margin:0}
  .sh .n{display:inline;text-align:left;margin-right:9px}
  .sh .k{display:inline}
  .sh h2{max-width:30ch;margin-top:5px;font-size:20px}
  .idx a{padding:11px 0}
  .idx a .m,.idx a .s{text-align:left;margin-bottom:3px}
  /* stat / scan / timeline / framework rows read as stacked records in portrait */
  .stat>div,.scan>div,.tl>div,.fw-s,.arch>div{border-right:0;border-bottom:1px solid var(--rule);
    padding:9px 0 10px!important}
  .stat>div:last-child,.scan>div:last-child,.tl>div:last-child,.fw-s:last-child,.arch>div:last-child{border-bottom:0}
  .fw-s .bar{height:4px;margin-bottom:8px}
  .fw-s .rl3{min-height:0}
  .tlax,.archf{display:none}
  /* wide exhibits sized to the portrait measure */
  .cm-h,.cm-r,.cm-f{grid-template-columns:150px repeat(6,minmax(0,1fr)) 52px}
  .cm-r .lb{font-size:11px;padding-right:9px}
  .cm-r .c i{width:11px;height:11px}
  .cm-r .c,.cm-r .n{height:26px}
  .cm-h>div{font-size:8.5px;letter-spacing:.06em;padding:7px 2px 6px}
  .uc{max-width:100%;grid-template-columns:repeat(19,1fr)}
  .hero h1{font-size:34px;max-width:20ch}
  .hero .prop{font-size:14px}
  .hf{padding:10px 0 9px}
  .hf .n{font-size:28px}
  .hero-r{margin-top:18px}
  .r-quote .q{font-size:23px;max-width:26ch}
  .body p,.mid>p,.dne .t p,details.more .dd p{max-width:none}
  .figure{margin:20px 0}
}

/* ================= FINAL ART DIRECTION ================= */
/* 1. tracking: .14-.16em is too loose at 10px. Institutional labels sit at .09-.11em. */
.kick,.sh .k,.fh .fn,.dne .k,.scan .k,.cm-fam,.hero-f .l,.tl .st,.fw-s .sn,
.mast-r,.mast-nav a,.pfoot-g .l .fl,details.more>summary,.rl .x::before,
.hm th.rl,.hm tfoot th,.cm-h>div,.cm-f>div:first-child,.r-quote .a,.pgbrk span,
.share i,.go,.qa{letter-spacing:.09em}
.dne .k,.sh .k,.fh .fn{letter-spacing:.105em}

/* 2. headlines are typeset, not auto-wrapped */
h1,h2,.hero h1,.sh h2,.fh .figt,.r-quote .q,.rl .c,.idx h3,.fw-s h5,.tl h5,.arch h5{
  text-wrap:balance;hanging-punctuation:first}
.hero .prop,.sf,.lede,.fh .figs,.hf .u,.stat .u{text-wrap:pretty}
p,li,.dne .t,.fnote{text-wrap:pretty}

/* 3. widow and orphan control on screen as well as print */
p,li,td,.dne .t,.fnote,.marg{orphans:3;widows:3}

/* 4. numerals align optically wherever they stack */
.hf .n,.stat .n,.scan .v,.kf b,.dm-key b,.tl .fig,.cm-r .n,.cm-f>div,.bar .v,.hm td.rt{
  font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}

/* 5. rule weights: one hairline, one structural, one section. No fourth weight. */
.hf{border-bottom-color:var(--rule)}
.cm-r{border-bottom-color:var(--rule)}
.figure .fh{border-top-width:2px}
.dne{border-top-width:1px;border-bottom-width:1px}

/* 6. baseline rhythm: section openers share one vertical step */
.sh{margin-bottom:24px;padding-bottom:10px}
.figbody{margin-top:20px}
.fnote{margin-top:16px;padding-top:9px}
.dne{margin-top:18px;padding:12px 0 13px}
/* CSS-spaced separators replace nbsp padding */
.pstrip .l>b{margin-right:11px}
i.sep{display:inline-block;width:1px;height:9px;background:var(--rule-2);
  margin:0 13px;vertical-align:baseline;font-style:normal}
.pstrip a+a{margin-left:18px}
.go+.go{margin-left:22px}

.cm-hint{display:none}
/* ---- wide exhibit on narrow screens: scroll with a stated affordance ---- */
@media(max-width:900px){
  .cmw{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;padding-bottom:4px}
  .cmw .cm{min-width:660px}
  .cmw::after{content:"";position:sticky;right:0;top:0;float:right;width:34px;height:100%;
    margin-left:-34px;pointer-events:none;
    background:linear-gradient(90deg,rgba(249,248,245,0),rgba(249,248,245,.96))}
  .cm-hint{display:block;font-family:var(--sans);font-size:10px;font-weight:600;
    letter-spacing:.09em;text-transform:uppercase;color:var(--ink-34);margin-top:9px}
}
@media print{.cm-hint{display:none!important}.cmw::after{display:none}}


/* --- P1 audit fixes ------------------------------------------------------ */
/* 1. Approved quotations carry a topic label, not a research boundary. */
.rl .x.qx::before{content:"Context"}
/* 2. Mobile masthead wraps, so Methodology and For media stay visible. */
@media(max-width:860px){
  .mast-nav{flex-wrap:wrap;overflow-x:visible}
  .mast-nav a{padding:9px 15px 8px}
  .mast-nav a:first-child{padding-left:0}
}
/* 3. Closing pull quote is six lines at 22ch; balance over-balances it. */
.r-quote .q{text-wrap:pretty}
/* 4. Wrapped press-strip links align to the grid instead of hanging indented. */
@media(max-width:760px){
  .pstrip .page{justify-content:flex-start;gap:10px 22px}
  .pstrip .r{width:100%;justify-content:flex-start;gap:10px 20px}
  .pstrip .r a+a{margin-left:0}
}

/* Exhibit 3 third state: unverified, distinct from not-observed. */
.cm-r .c i.u{background:none;box-shadow:inset 0 0 0 1px var(--gold);position:relative}
.cm-r .c i.u::after{content:'';position:absolute;left:50%;top:2px;bottom:2px;width:1px;background:var(--gold)}
.cmk i.u{background:none;box-shadow:inset 0 0 0 1px var(--gold)}

/* Held observations are marked in the register, not hidden. */
.reg td.hold{color:#8a6d3b;font-weight:600}

/* An observation with no located passage prints its status, not itself. */
.reg td.wh{color:#8a6d3b;font-style:italic}

/* ---------- front door, 11 September 2026 ----------
   Finding first, evidence base second, apparatus on demand.
   Scoped fd- classes only, so no existing route changes shape. */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--wg-local-h,48px) + 24px)}
.fd-hero{padding:clamp(30px,4vw,60px) 0 clamp(22px,2.6vw,34px);border-bottom:1px solid var(--rule)}
.fd-hg{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);column-gap:clamp(32px,5vw,80px);align-items:start}
.fd-hero .kick{margin-bottom:14px}
.fd-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.9vw,68px);line-height:1.02;
  letter-spacing:-.03em;margin:0 0 22px;color:var(--ink);max-width:14ch}
.fd-dek{font-family:var(--serif);font-weight:400;font-size:clamp(18px,1.6vw,22px);line-height:1.42;
  color:var(--ink);max-width:40em;margin:0 0 16px;letter-spacing:-.005em}
.fd-why{font-size:15px;line-height:1.55;color:var(--ink-70);max-width:62ch;margin:0 0 24px}
.fd-why b{color:var(--ink);font-weight:600}
.fd-cta{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.fd-btn{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:13px 20px 12px;background:var(--navy);color:var(--white);border:1px solid var(--navy)}
.fd-btn:hover{background:#1c2740}
.fd-btn2{background:transparent;color:var(--ink)}
.fd-btn2:hover{background:rgba(11,20,38,.05)}
.fd-tl{font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px}
.fd-tl:hover{border-bottom-width:2px}
.fd-base{border-top:2px solid var(--navy);padding-top:12px}
.fd-bk{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-50);margin:0 0 6px}
.fd-b{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--rule)}
.fd-b .n{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1;color:var(--ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;min-width:3.4ch}
.fd-b .u{font-size:12.5px;line-height:1.4;color:var(--ink-70)}
.fd-base .fd-tl{display:inline-block;margin-top:12px;font-size:12.5px}
.fd-by{font-size:12.5px;line-height:1.5;color:var(--ink-50);margin:28px 0 0;padding-top:14px;border-top:1px solid var(--rule);max-width:none}
.fd-by b{color:var(--ink);font-weight:600}
.sh[id]{scroll-margin-top:16px}
.fd-more{margin:18px 0 0;border-top:1px solid var(--rule)}
.fd-more summary{cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);padding:12px 0;list-style:none}
.fd-more summary::-webkit-details-marker{display:none}
.fd-more summary::before{content:"+";display:inline-block;width:1.2em;color:var(--gold);font-weight:600}
.fd-more[open] summary::before{content:"-"}
.fd-more>p,.fd-more>.fnote{margin-top:6px}
.fd-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--navy);margin-bottom:26px}
.fd-steps>div{padding:14px 20px 16px 0;border-right:1px solid var(--rule)}
.fd-steps>div:not(:first-child){padding-left:20px}
.fd-steps>div:last-child{border-right:0}
.fd-sn{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold);line-height:1}
.fd-steps h3{font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.25;margin:8px 0 6px;color:var(--ink)}
.fd-steps p{font-size:13px;line-height:1.55;color:var(--ink-70);margin:0}
.fd-not{border-left:2px solid var(--gold);padding:2px 0 2px 18px;margin:0 0 30px}
.fd-not ul{margin:4px 0 0;padding:0 0 0 18px}
.fd-not li{font-size:14px;line-height:1.5;color:var(--ink);margin:0 0 6px}
.fd-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin:22px 0 0}
.fd-idx{border-top:2px solid rgba(255,255,255,.5)}
.fd-r{display:grid;grid-template-columns:170px minmax(0,1fr) 170px;column-gap:clamp(18px,2.4vw,44px);
  padding:16px 0 18px;border-bottom:1px solid rgba(255,255,255,.18);align-items:start}
.fd-r .m,.fd-r .s{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--onnavy-d);line-height:1.7;padding-top:5px}
.fd-r .m{text-align:right}
.fd-r .s{text-align:right}
.fd-r h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2;margin:0 0 5px;color:var(--white)}
.fd-r p{font-size:13.5px;line-height:1.55;color:var(--onnavy);margin:0;max-width:64ch}
.fd-r .fd-dl{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px}
.fd-dl a{font-size:12px;font-weight:600;color:var(--white);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:1px}
.fd-dl a:hover{border-bottom-width:2px}
.fd-q{grid-column:2;margin-top:34px}
.fd-qa{font-size:12.5px;color:var(--ink-50);margin:0 0 10px}
.fd-q .rl li:first-child{border-top:1px solid var(--rule-2)!important}
.fd-q .rl .c{font-size:19px!important}
@media (max-width:1060px){
  .fd-hg{grid-template-columns:1fr}
  .fd-base{margin-top:30px}
  .fd-r{grid-template-columns:1fr}
  .fd-r .m,.fd-r .s{text-align:left;padding-top:0}
  .fd-q{grid-column:1}
}
@media (max-width:760px){
  .fd-steps{grid-template-columns:1fr}
  .fd-steps>div{border-right:0;border-bottom:1px solid var(--rule);padding:14px 0!important}
}
/* mobile masthead: one row of navigation, metadata moved into the page */
@media (max-width:640px){
  .mast-r{display:none}
  .mast-top{flex-direction:row;align-items:center;padding:12px 0 11px}
  .brand .sub{display:none}
  .mast-nav{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .mast-nav::-webkit-scrollbar{display:none}
  .mast-nav a{padding:11px 12px 10px;font-size:10.5px}
  .pstrip .r,.pstrip .pl,.pstrip .sep{display:none}
  .pstrip .page{padding-top:8px;padding-bottom:8px}
  .fd-hero h1{font-size:38px}
  .fd-btn{flex:1 1 100%;text-align:center}
  .fd-b .n{font-size:21px}
}
.fd-desc h3{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin:18px 0 6px}
.fd-desc h3:first-child{margin-top:0}
.fd-desc p{font-family:var(--serif);font-size:17px;line-height:1.5;color:var(--ink);margin:0;max-width:62ch}
@media (max-width:640px){
  .mast-nav{display:grid!important;grid-template-columns:repeat(3,auto);justify-content:space-between;overflow:visible!important;-webkit-mask-image:none!important;row-gap:0}
  .mast-nav a,.mast-nav a:first-child{padding:10px 0 9px!important;margin:0!important;font-size:10px!important;letter-spacing:.1em!important}
  .fd-dek{font-size:18px}
}
.fd-lim{font-size:13px;line-height:1.55;color:var(--ink-70);margin:0 0 10px;max-width:70ch}.fd-lim b{color:var(--ink)}

/* ---------- front door v2, 11 September 2026: shorter hero, matrix in view, legibility floor ---------- */
.fd-hg{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)}
.fd-hero h1{font-size:clamp(40px,5.4vw,76px);max-width:12ch;margin-bottom:20px}
.fd-dek{font-size:clamp(20px,1.85vw,25px);line-height:1.38;max-width:31em;margin-bottom:14px}
.fd-why{font-size:16.5px;line-height:1.55;max-width:56ch}
.fd-mm{margin:0;border-top:2px solid var(--navy);padding-top:12px}
.fd-mm .fd-bk{margin-bottom:10px}
.mm-h,.mm-r{display:grid;grid-template-columns:minmax(150px,2fr) repeat(6,minmax(0,1fr)) 40px;align-items:center}
.mm-h span,.mm-h b{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ink-50);text-align:center;padding-bottom:6px}
.mm-h b{text-align:right}
.mm-r{border-top:1px solid var(--rule);min-height:34px}
.mm-r .mm-l{font-size:13.5px;color:var(--ink);line-height:1.25;padding-right:8px}
.mm-r.all{background:rgba(11,20,38,.045)}
.mm-r.all .mm-l{font-weight:600}
.mm-r i{justify-self:center;width:14px;height:14px;background:var(--navy)}
.mm-r i.o,.mm-k i.o{background:none;box-shadow:inset 0 0 0 1px var(--rule-2)}
.mm-r b{font-family:var(--serif);font-size:16px;text-align:right}
.mm-k{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink-50);border-top:1px solid var(--rule);padding-top:9px;margin-bottom:10px}
.mm-k i{display:inline-block;width:10px;height:10px;background:var(--navy);margin-right:5px;vertical-align:-1px}
.fd-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin:30px 0 0;padding-top:16px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-70)}
.fd-stats b{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);margin-right:2px}
.fd-by{margin-top:12px;padding-top:0;border-top:0;font-size:13.5px}
.fd-by .fd-tl{margin-left:6px;font-size:13.5px}
.cm-h .sm{display:none}
.fd-trail{border-top:1px solid var(--rule-2);margin-top:40px}
.fd-trail .page{display:flex;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:22px;flex-wrap:wrap}
.fd-trail a{text-decoration:none;max-width:48%}
.fd-trail a span{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin-bottom:3px}
.fd-trail a b{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);border-bottom:1px solid var(--gold)}
.fd-trail a.nx{text-align:right;margin-left:auto}
@media screen{
  .kick,.sh .k,.fh .fn,.dne .k,.scan .k,.cm-fam,.cm-h>div,.cm-f>div:first-child,.idx .m,.idx .s,.fd-r .m,.fd-r .s,
  .fd-bk,.tl .st,.mast-r,.pstrip .r,.fd-more summary,.go{font-size:11px!important}
  .mast-nav a{font-size:11.5px}
  .marg{font-size:13px}
  .marg b{font-size:14px}
  .fnote{font-size:12.5px}
  .rl .c{font-size:18px}
  .rl .b{font-size:15.5px;line-height:1.5}
  .rl .x{font-size:13.5px}
  .fh .figs{font-size:14px}
  .dne .t,.dne .t p{font-size:14px}
  .tl p{font-size:14px}
  .sr .t{font-size:14px}
  .cm-r .lb{font-size:14.5px}
  .lead p{font-size:15.5px;line-height:1.5}
  .fd-steps p{font-size:14.5px}
  .fd-steps h3{font-size:19px}
  .fd-not li{font-size:15px}
  .fd-r h3{font-size:24px}
  .fd-r p{font-size:15px}
  .fd-dl a{font-size:13px}
  .pstrip .l{font-size:13.5px}
}
@media (max-width:1060px){.fd-hg{grid-template-columns:1fr}.fd-mm{margin-top:34px;max-width:560px}}
@media (max-width:640px){
  .fd-hero h1{font-size:42px}
  .fd-dek{font-size:20px}
  .fd-why{font-size:16px}
  .mast-nav a,.mast-nav a:first-child{font-size:11px!important;letter-spacing:.06em!important}
  .mm-h,.mm-r{grid-template-columns:minmax(104px,1.6fr) repeat(6,minmax(0,1fr)) 30px}
  .mm-r .mm-l{font-size:12.5px}
  .mm-h span,.mm-h b{font-size:10px;letter-spacing:.02em}
  .fd-stats{gap:6px 18px;font-size:13.5px}
  .fd-stats span{flex:1 1 100%}
  .cmw .cm{min-width:0!important}
  .cm-h,.cm-r,.cm-f{grid-template-columns:minmax(96px,1.7fr) repeat(6,minmax(0,1fr)) 34px!important}
  .cm-h .lg{display:none}.cm-h .sm{display:inline}
  .cm-h>div{padding-left:0!important;padding-right:0!important;letter-spacing:.02em!important;font-size:10px!important}
  .cm-r .lb{font-size:12.5px!important;padding-right:6px!important}
  .cm-r .c i{width:12px;height:12px}
  .cm-hint{display:none!important}
  .fd-trail a{max-width:100%}
  .fd-trail a.nx{text-align:left;margin-left:0}
}

/* about + how to use, 11 Sep 2026 */
.fd-about{background:#F1EFEA;border-bottom:1px solid var(--rule);padding:clamp(28px,3.4vw,46px) 0}
.fd-ag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,48px)}
.fd-ag p{font-size:15.5px;line-height:1.55;color:var(--ink);margin:6px 0 0}
.fd-use{margin-top:30px;border-top:2px solid var(--navy);padding-top:12px}
.fd-use ol{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.fd-use li{padding:10px 20px 4px 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:5px}
.fd-use li:not(:first-child){padding-left:20px}
.fd-use li:last-child{border-right:0}
.fd-use b{font-family:var(--serif);font-weight:600;font-size:18px}
.fd-use span{font-size:14.5px;line-height:1.5;color:var(--ink-70);flex:1}
.fd-use a{font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start;margin-top:4px}
@media (max-width:1060px){.fd-ag{grid-template-columns:1fr}.fd-use ol{grid-template-columns:1fr 1fr}.fd-use li{padding:12px 16px 12px 0!important;border-right:0;border-bottom:1px solid var(--rule)}}
@media (max-width:640px){.fd-use ol{grid-template-columns:1fr}}

/* journalist toolkit, 11 Sep 2026 */
.jt-hero{padding:clamp(30px,4vw,56px) 0 clamp(26px,3vw,40px);border-bottom:1px solid var(--rule)}
.jt-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.2vw,56px);line-height:1.05;letter-spacing:-.025em;margin:10px 0 14px;max-width:18ch}
.jt-dek{font-size:18px;line-height:1.5;color:var(--ink-70);max-width:60ch;margin:0 0 30px}
.jt{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--navy)}
.jt li{padding:18px 22px 20px 0;border-right:1px solid var(--rule);display:flex;flex-direction:column}
.jt li:not(:first-child){padding-left:22px}
.jt li:last-child{border-right:0}
.jt li.jt-c{background:#F1EFEA;padding-right:22px}
.jt-n{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1;color:var(--gold)}
.jt h3{font-family:var(--serif);font-weight:600;font-size:21px;margin:10px 0 8px;color:var(--ink)}
.jt p{font-size:15px;line-height:1.5;color:var(--ink-70);margin:0 0 12px}
.jt p b{color:var(--ink)}
.jt-l{display:flex;flex-direction:column;gap:8px;margin-top:auto!important;align-items:flex-start}
.jt-l a:not(.fd-btn){font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold)}
.jt-e{font-size:13.5px!important;margin:10px 0 0!important}
.jt-rule{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-top:26px;padding:14px 18px;border-left:3px solid var(--gold);background:#F1EFEA}
.jt-rule b{font-family:var(--serif);font-size:17px}
.jt-rule span{font-size:15px;color:var(--ink);flex:1 1 420px}
.jt-rule a{font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold)}
@media (max-width:1060px){.jt{grid-template-columns:1fr 1fr}.jt li{padding:18px 18px 20px 0!important;border-right:0;border-bottom:1px solid var(--rule)}.jt li.jt-c{padding-left:18px!important}}
@media (max-width:640px){.jt{grid-template-columns:1fr}}

/* 11 Sep 2026: findings read across in rows; mobile menu */
@media screen and (min-width:1061px){
  .rl:not(.one){column-count:auto;column-rule:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3.2vw,52px)}
  .rl:not(.one)>li:nth-child(even){box-shadow:-1px 0 0 0 var(--rule);padding-left:clamp(12px,1.6vw,26px);margin-left:calc(-1*clamp(12px,1.6vw,26px))}
}
.mnav-t{display:none}
@media (max-width:640px){
  .mnav-t{display:inline-block;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.4);color:var(--white);
    font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border-radius:0;cursor:pointer}
  .mast-nav{display:none!important}
  .mast-nav.open{display:grid!important;grid-template-columns:1fr 1fr!important}
  .mast-nav.open a{padding:12px 0!important;font-size:12px!important}
}


/* ===== Skim layer - 12 September 2026 =====================================
   Eyebrow labels were 10 to 10.5px at 50 per cent ink, the same optical weight as
   the 15.5px prose under them: nothing for a scanning reader to land on. Labels get
   darker and a size up, section headings get a size up, finding headlines get a size
   up, and each label binds tighter to its own paragraph with more air above the block.
   Sizes, weights and spacing only. Delete this block to revert. */
.fd-bk{font-size:11.5px;letter-spacing:.16em;color:var(--ink);margin:0 0 9px}
.panel .fd-bk{color:var(--gold)}
.sh .k{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--ink)}
.panel .sh .k{color:var(--gold)}
.sh h2{font-size:clamp(22px,2.3vw,31px)}
.rl .c{font-size:21px!important;line-height:1.22}
.panel .rl .c{font-size:21px!important}
.fd-steps h3{font-size:20px;margin-top:10px}
.fd-r h3{font-size:24px}
.fd-r .m{color:var(--gold)}
.fd-ag>div+div,.fd-scope>div+div{padding-left:0}
.fd-ag p,.fd-scope p{margin-top:0}
.marg b{font-size:15px;color:var(--ink)}
/* reading size for section prose, site-wide: the research pages carried the same
   14.5px column as the landing page did before 12 Sep. */
.mid>p{font-size:15.5px;line-height:1.6}
.rl .b{font-size:15px;line-height:1.55}
.rl .x{font-size:13px;line-height:1.5}
@media (max-width:700px){.sh h2{font-size:22px}.rl .c{font-size:19px!important}.fd-r h3{font-size:21px}}

/* Research audit, 12 September 2026. */
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:#fff;color:#0B1426;padding:12px 18px}.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8B6914;outline-offset:4px}
.wgi-sample-note{font-size:14px;line-height:1.5;max-width:65ch;color:var(--ink-70);margin:18px 0}
[id^="SRC-"],[id^="SIG-"]{scroll-margin-top:80px}

/* ---------------------------------------------------------------------------
   Published-in band. Lifted from the WGI home page, which carries these rules
   inline because it is a self-contained document and does not load this sheet.
   Every other WGI route does load it, so the rules live here once rather than
   being duplicated per page.

   Two deliberate differences from the home page copy:
   - the Times of India mark is the shared file at /press/ rather than a base64
     data URI, which keeps ~12KB off every page that carries the band and lets
     the browser cache one copy across routes. Its aspect ratio is therefore
     1019/71, the intrinsic size of that file, not the 764/63 of the inlined
     image on the home page.
   - the Financial Times mark stays inline SVG and keeps fill="currentColor",
     so it inherits the band's white text colour instead of depending on a
     fixed fill matching --navy.

   The band is navy, so both marks must read white. Do not restyle it to a
   light ground without replacing both marks with their dark-ground variants.
--------------------------------------------------------------------------- */
.wgi-pub{background:var(--navy);color:var(--white)}
.wgi-pub .page{padding-top:clamp(20px,2.2vw,28px);padding-bottom:clamp(18px,2vw,24px);text-align:center}
.wgi-pub-k{margin:0 0 16px;font-size:10.5px;font-weight:600;letter-spacing:.2em;color:var(--gold)}
.wgi-pub ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;align-items:stretch}
.wgi-pub li{margin:0;padding:0 clamp(28px,4.5vw,72px)}
.wgi-pub li+li{border-left:1px solid rgba(255,255,255,.22)}
.wgi-pub a{display:inline-flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:rgba(255,255,255,.94);border-radius:2px;padding:3px 6px}
.wgi-lg{display:block;height:28px;width:auto}
.wgi-lg-ft{height:26px;margin:1px 0;aspect-ratio:1054/86}
.wgi-lg-toi{aspect-ratio:1019/71}
.wgi-pub-d{font-size:12px;line-height:1.3;color:var(--onnavy-d)}
.wgi-pub a:hover{color:var(--white)}
.wgi-pub a:hover .wgi-pub-d{color:var(--onnavy)}
.wgi-pub a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.wgi-pub-n{margin:18px auto 0;max-width:64ch;font-size:12px;line-height:1.5;color:var(--onnavy-d)}
@media (max-width:640px){
.wgi-pub ul{flex-direction:column;align-items:center;gap:22px}
.wgi-pub li{padding:0}
.wgi-pub li+li{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-top:22px}
.wgi-lg{height:23px}
.wgi-lg-ft{height:21px;margin:1px 0}
.wgi-pub-k{margin-bottom:18px}
}

/* =====================================================================
   WGI v3: research-product layer, 15 September 2026.
   Scope: (a) global lifts that every route inherits: legibility floor of
   12px on screen, 16px reading size, focus rings, 44px touch targets, one
   masthead and footer, plain tables on generated pages; (b) the wg-
   component library used by the generated landing and markets pages.
   Brand canon holds: Fog Ivory page, Deep Navy ink, gold as rule and label
   only, Playfair Display + Inter, ASCII punctuation. No new colours except
   the AA-contrast gold-ink for small text. Delete this block to revert.
   ===================================================================== */
:root{
  --wg-paper:#F1EFEA; --wg-white:#FFFFFF;
  --wg-gold-ink:#7A5C10;      /* gold as text on ivory, 6.1:1 */
  --wg-mute:#5B6270;          /* analytical secondary text, 6.4:1 on ivory */
  --wg-rule:rgba(11,20,38,.14); --wg-rule-2:rgba(11,20,38,.5);
  /* Contrast repairs for the inherited tokens, measured against Fog Ivory:
     ink-50 was 3.44:1 and ink-34 2.19:1 where both are used as running text;
     rule-2 at .28 gave 1.87:1 on the open matrix cells that carry state. */
  --ink-50:rgba(11,20,38,.64); --ink-34:rgba(11,20,38,.6); --rule-2:rgba(11,20,38,.5);
  --wg-fs-0:12px; --wg-fs-1:13.5px; --wg-fs-2:15px; --wg-fs-3:16px; --wg-fs-4:17.5px;
  --wg-lh:1.6; --wg-measure:68ch; --wg-local-h:48px;
}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---- global lifts ---- */
body{font-size:var(--wg-fs-3);line-height:var(--wg-lh)}
.mid>p,.body p,main>section p,.sf,.lede{font-size:var(--wg-fs-3);line-height:var(--wg-lh)}
.sf{color:var(--ink);max-width:var(--wg-measure)}
.kick{font-size:var(--wg-fs-0);letter-spacing:.1em;color:var(--wg-mute)}
.sec{padding:clamp(18px,2.4vw,32px) 0}
main a{text-underline-offset:.14em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--wg-gold-ink);outline-offset:3px;border-radius:2px}
.skip-link{font-size:var(--wg-fs-2);font-weight:600;border:2px solid var(--navy)}
/* plain tables on generated routes read as data, not as unstyled markup */
main table:not([class]){width:100%;border-collapse:collapse;font-size:var(--wg-fs-2);margin:14px 0}
main table:not([class]) th,main table:not([class]) td{text-align:left;vertical-align:top;padding:10px 14px 10px 0;border-bottom:1px solid var(--wg-rule);line-height:1.5}
main table:not([class]) thead th{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wg-mute);border-bottom:1px solid var(--navy)}
main table:not([class]) tbody tr:last-child td{border-bottom:1px solid var(--navy)}
main div[style*="overflow-x"]{-webkit-overflow-scrolling:touch}

/* masthead: one row on desktop, menu on phones, 44px targets throughout */
.brand .sub{font-size:var(--wg-fs-0);color:rgba(255,255,255,.72)}
.mast-nav{border-top:1px solid rgba(255,255,255,.16);flex-wrap:wrap;overflow:visible}
.mast-nav a,.mast-nav a:first-child{font-size:var(--wg-fs-1)!important;letter-spacing:.06em!important;text-transform:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center;padding:0 16px 0 0!important;margin-right:6px;border-bottom:2px solid transparent}
.mast-nav a[aria-current="page"]{color:var(--white);border-bottom-color:var(--gold)}
.mnav-t{min-height:44px;min-width:44px}
@media (max-width:640px){
  .brand .sub{display:block}
  .brand .wm{font-size:22px}
  .mast-nav.open{display:grid!important;grid-template-columns:1fr!important;padding:4px 0 8px}
  .mast-nav.open a,.mast-nav.open a:first-child{font-size:15px!important;padding:0!important;min-height:46px;border-bottom:1px solid rgba(255,255,255,.14);letter-spacing:0!important}
  .mast-nav.open a[aria-current="page"]{border-bottom:1px solid rgba(255,255,255,.14);color:var(--gold)}
}

/* ---- evidence-status taxonomy: shape + label, never colour alone ---- */
.ev{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);white-space:nowrap;line-height:1.2}
.ev i{display:inline-block;width:10px;height:10px;flex:none;box-shadow:inset 0 0 0 1px var(--navy);background:var(--navy)}
.ev-gov i{background:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.ev-frozen i{background:repeating-linear-gradient(45deg,var(--navy) 0 2px,transparent 2px 4px)}
.ev-partial i{background:linear-gradient(90deg,var(--navy) 50%,transparent 50%)}
.ev-gap i{background:none;box-shadow:inset 0 0 0 1px var(--wg-gold-ink)}
.ev-gap{color:var(--wg-gold-ink)}
.ev-bench i{border-radius:50%}
.ev-bench{color:var(--wg-mute)}
.wg-cell{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;vertical-align:middle;position:relative}
.wg-cell i{display:block;width:14px;height:14px;box-shadow:inset 0 0 0 1px var(--navy)}
.wg-cell-v i{background:var(--navy)}
.wg-cell-p i{background:linear-gradient(90deg,var(--navy) 50%,transparent 50%)}
.wg-cell-g i{box-shadow:inset 0 0 0 1px var(--wg-gold-ink);background:none;border-radius:50%}
.wg-cell-h i,.wg-cell-c i,.wg-cell-n i{box-shadow:inset 0 0 0 1px var(--wg-rule-2);background:none}
.wg-cell-c i{background:repeating-linear-gradient(-45deg,var(--wg-rule-2) 0 2px,transparent 2px 4px)}

/* ---- shared small parts ---- */
.wg-sep{display:inline-block;margin:0 8px;color:rgba(11,20,38,.34)}
.wg-muted{color:var(--wg-mute);font-weight:400;font-size:var(--wg-fs-1)}
.wg-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.wg-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:22px 0 0}
.go{font-size:var(--wg-fs-0)!important;letter-spacing:.08em;min-height:32px;display:inline-flex;align-items:center}
.wg-h3{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:-.01em;margin:0 0 10px}
.wg-dl{display:flex;flex-wrap:wrap;gap:8px 20px;margin:10px 0 0}
.wg-dl a{font-size:var(--wg-fs-1);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding:6px 0;min-height:32px;display:inline-flex;align-items:center}
.wg-dl a:hover{border-bottom-width:2px}
.dne .k{font-size:var(--wg-fs-0)}
.dne .t,.dne .t p{font-size:var(--wg-fs-2)}
.fnote{font-size:var(--wg-fs-1)}

/* ---- hero: compact, editorial, exploration first ---- */
.wg-hero{padding:clamp(26px,3.6vw,52px) 0 clamp(20px,2.4vw,32px);border-bottom:1px solid var(--wg-rule)}
.wg-hero-g{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);column-gap:clamp(32px,5vw,84px);align-items:start}
.wg-hero .kick{margin-bottom:12px;color:var(--ink)}
.wg-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.3vw,54px);line-height:1.06;letter-spacing:-.026em;margin:0 0 16px;max-width:17ch;color:var(--ink)}
.wg-stand{font-family:var(--serif);font-weight:400;font-size:clamp(17px,1.45vw,20px);line-height:1.45;color:var(--ink);max-width:38em;margin:0 0 12px}
.wg-corpus{font-size:var(--wg-fs-2);line-height:1.55;color:var(--wg-mute);max-width:62ch;margin:0 0 22px}
.wg-corpus b{color:var(--ink);font-weight:600;font-family:var(--serif);font-size:1.1em}
.wg-corpus a{color:var(--ink)}
.wg-hero-s h1{max-width:22ch}
.wg-search{margin:0 0 18px;max-width:640px}
.wg-search label{display:block;font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.wg-search-row{display:flex;gap:0}
.wg-search input{flex:1 1 auto;min-width:0;font-family:var(--sans);font-size:16px;line-height:1.3;padding:12px 14px;min-height:48px;border:1px solid var(--navy);border-right:0;background:var(--wg-white);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.wg-search input::placeholder{color:rgba(11,20,38,.45)}
.wg-search button{flex:none;font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:0 18px;min-height:48px;background:var(--navy);color:var(--white);border:1px solid var(--navy);cursor:pointer;border-radius:0}
.wg-search button:hover{background:#1c2740}
.wg-search-help{font-size:var(--wg-fs-0);color:var(--wg-mute);margin:7px 0 0}
.wg-results{margin-top:8px}
.wg-results[hidden]{display:none}
.wg-results:not(:empty){border:1px solid var(--wg-rule-2);background:var(--wg-white);padding:12px 16px 6px;max-height:60vh;overflow:auto}
.wg-res-k{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-mute);margin:8px 0 4px}
.wg-res-l{list-style:none;margin:0 0 8px;padding:0}
.wg-res-l li{border-top:1px solid var(--wg-rule);padding:8px 0}
.wg-res-l a{font-size:var(--wg-fs-2);font-weight:600;color:var(--ink);text-decoration:none;display:block;min-height:24px}
.wg-res-l a:hover{text-decoration:underline}
.wg-res-l span{display:block;font-size:var(--wg-fs-1);color:var(--wg-mute);margin-top:2px}
.wg-res-empty{font-size:var(--wg-fs-2);margin:4px 0 8px;color:var(--ink)}
.wg-explore{display:flex;flex-wrap:wrap;align-items:center;gap:0 22px;border-top:1px solid var(--wg-rule);padding-top:8px}
.wg-explore-k{font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-mute);margin-right:4px}
.wg-explore a{font-size:var(--wg-fs-2);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);min-height:44px;display:inline-flex;align-items:center;padding:0 0 1px}
.wg-explore a:hover{border-bottom-width:2px}
.wg-hero-side{border-top:2px solid var(--navy);padding-top:10px}
.wg-side-h{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 4px}
.wg-kv{margin:0}
.wg-kv div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--wg-rule);padding:9px 0}
.wg-kv dt{font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-kv dd{margin:0;font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;text-align:right;letter-spacing:-.01em}
.wg-kv dd.wg-mono{font-family:var(--sans);font-size:var(--wg-fs-1);font-weight:500}
.wg-side-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0}
.wg-side-links a{font-size:var(--wg-fs-1);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);min-height:32px;display:inline-flex;align-items:center}

/* ---- sticky local navigation ---- */
.wg-local{position:sticky;top:0;z-index:30;background:rgba(249,248,245,.96);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--wg-rule)}
.wg-local .page{display:flex;align-items:center;gap:18px;min-height:var(--wg-local-h)}
.wg-local-k{font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-mute);white-space:nowrap;flex:none}
.wg-local-links{display:flex;gap:0 22px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);min-width:0}
.wg-local-links::-webkit-scrollbar{display:none}
.wg-local-links a{font-size:var(--wg-fs-1);font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;min-height:var(--wg-local-h);display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.wg-local-links a:hover,.wg-local-links a[aria-current]{border-bottom-color:var(--gold)}
.wg-sh[id],.wg-exhibit[id],[id^="wgi-find-"]{scroll-margin-top:calc(var(--wg-local-h) + 14px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---- section rhythm ---- */
.wg-sec{padding:clamp(28px,3.6vw,52px) 0;border-top:1px solid var(--wg-rule)}
.wg-sh{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;margin:0 0 24px;align-items:start}
.wg-sn{font-family:var(--serif);font-weight:600;font-size:15px;color:rgba(11,20,38,.4);padding-top:8px;font-variant-numeric:tabular-nums}
.wg-sh .kick{margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.wg-sh h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.6vw,34px);line-height:1.15;letter-spacing:-.02em;margin:0;max-width:28ch;text-wrap:balance}
.wg-lede{font-size:var(--wg-fs-4);line-height:1.5;color:var(--wg-mute);max-width:66ch;margin:10px 0 0;text-wrap:pretty}
.wg-lede a{color:var(--ink)}
.wg-sec-panel{background:var(--navy);color:var(--onnavy);border-top:0}
.wg-sec-panel .wg-sh h2,.wg-sec-panel h3,.wg-sec-panel .wg-sn{color:var(--white)}
.wg-sec-panel .kick{color:var(--gold)}
.wg-sec-panel .wg-lede{color:var(--onnavy)}
.wg-sec-panel .go{color:var(--white);border-bottom-color:var(--gold)}

/* ---- key findings ---- */
.wg-findings{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-finding{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:20px 0 22px;border-bottom:1px solid var(--wg-rule)}
.wg-fn{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1;color:var(--wg-gold-ink);padding-top:4px;font-variant-numeric:tabular-nums}
.wg-finding h3{font-family:var(--serif);font-weight:600;font-size:clamp(19px,1.9vw,24px);line-height:1.22;letter-spacing:-.015em;margin:0 0 8px;max-width:30ch;text-wrap:balance}
.wg-finding h3 a{color:var(--ink);text-decoration:none}
.wg-finding h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-finding-s{font-size:var(--wg-fs-3);line-height:1.55;margin:0 0 10px;max-width:70ch;color:var(--ink)}
.wg-finding-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:var(--wg-fs-1);margin:0 0 10px;color:var(--wg-mute)}
.wg-denom b{color:var(--ink);font-weight:600}
.wg-limit{font-size:var(--wg-fs-2);line-height:1.5;color:var(--wg-mute);border-left:2px solid var(--gold);padding-left:12px;margin:0 0 10px;max-width:70ch}
.wg-limit b{color:var(--ink);font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-right:8px}
.wg-more{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;font-size:var(--wg-fs-1);align-items:center;color:var(--wg-mute)}
.wg-more a{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);min-height:32px;display:inline-flex;align-items:center}
.wg-exhibit{margin-top:40px;border-top:2px solid var(--navy);padding-top:14px}
.wg-exhibit-h h3{font-family:var(--serif);font-weight:600;font-size:clamp(21px,2.2vw,28px);line-height:1.18;letter-spacing:-.018em;margin:6px 0 0;max-width:30ch;text-wrap:balance}
.wg-exhibit .figure{margin:20px 0 0}
.wg-exhibit .figbody{margin-top:0}
.wg-exhibit .cm-h>div,.wg-exhibit .cm-f>div:first-child,.wg-exhibit .cm-fam{font-size:var(--wg-fs-0)!important}
.wg-exhibit .cmk,.wg-exhibit .cm-hint{font-size:var(--wg-fs-0)}
.wg-exhibit .cm-r .lb{font-size:var(--wg-fs-2)}

/* ---- direct answers ---- */
.wg-answers{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,60px)}
.wg-answers li{border-bottom:1px solid var(--wg-rule);padding:16px 0 18px}
.wg-answers h3{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.012em;margin:0 0 8px}
.wg-answers h3 a{color:var(--ink);text-decoration:none}
.wg-answers h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-ans{font-size:var(--wg-fs-2);line-height:1.55;margin:0 0 8px;color:var(--ink)}
.wg-ans-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font-size:var(--wg-fs-0);color:var(--wg-mute)}
.wg-denom-s{color:var(--wg-mute)}

/* ---- institution and coverage matrices ---- */
.wg-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;position:relative}
.wg-matrix{width:100%;border-collapse:collapse;min-width:640px;border-top:2px solid var(--navy)}
.wg-matrix th,.wg-matrix td{border-bottom:1px solid var(--wg-rule);vertical-align:middle}
.wg-matrix thead th{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wg-mute);padding:10px 6px 8px;text-align:center;border-bottom:1px solid var(--navy)}
.wg-matrix thead th:first-child{text-align:left;padding-left:0}
.wg-matrix tbody th{text-align:left;font-weight:600;font-size:var(--wg-fs-3);padding:12px 14px 12px 0;position:sticky;left:0;background:var(--ivory);z-index:1;min-width:190px}
.wg-matrix tbody th a{color:var(--ink);text-decoration:none;display:inline-block;padding:4px 0}
.wg-matrix tbody th a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-inst-s{display:block;font-weight:400;font-size:var(--wg-fs-0);color:var(--wg-mute);margin-top:3px;letter-spacing:0}
.wg-matrix td.wg-hub-c{text-align:center;padding:6px}
.wg-matrix td.wg-inst-r{text-align:right;padding-right:0;font-size:var(--wg-fs-1);white-space:nowrap}
.wg-matrix td.wg-inst-r a{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);display:inline-block;padding:4px 0 2px}
.wg-matrix tfoot th,.wg-matrix tfoot td{border-top:1px solid var(--navy);border-bottom:0;padding-top:10px}
.wg-matrix tfoot th{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wg-mute);position:sticky;left:0;background:var(--ivory)}
.wg-hub-n{font-family:var(--serif);font-weight:600;font-size:17px;font-variant-numeric:tabular-nums}
.wg-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:12px 0 0;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-lg-i{display:inline-flex;align-items:center;gap:6px}
.wg-cov-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);column-gap:clamp(28px,4vw,64px);row-gap:28px}
.wg-hubs{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-hubs li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;border-bottom:1px solid var(--wg-rule);padding:10px 0}
.wg-hubs a{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.wg-hubs a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-hubs span{font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-cov{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-cov li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;border-bottom:1px solid var(--wg-rule);padding:10px 0;font-size:var(--wg-fs-2);align-items:baseline}
.wg-cov li>span:first-child{font-weight:600;color:var(--ink)}
.wg-cov-n{grid-column:1 / -1;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-datapoint{margin-top:30px;border-top:2px solid var(--navy);padding-top:12px}
.wg-datapoint .kick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}
.wg-dp{font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.8vw,23px);line-height:1.34;letter-spacing:-.012em;margin:0 0 8px;max-width:40em;color:var(--ink)}
.wg-dp-m{font-size:var(--wg-fs-1);color:var(--wg-mute);max-width:76ch;margin:0}
.wg-dp-m a{color:var(--ink)}
.wg-gaps{font-size:var(--wg-fs-2);color:var(--ink);margin:16px 0 0;max-width:76ch}
.wg-hub-rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-hub-rows li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:baseline;border-bottom:1px solid var(--wg-rule);padding:12px 0}
.wg-hub-row-i a{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.wg-hub-row-i a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-hub-row-s{font-size:var(--wg-fs-1);color:var(--wg-mute);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.wg-hub-note{grid-column:1 / -1;font-size:var(--wg-fs-2);line-height:1.55;color:var(--ink);margin:4px 0 0;max-width:76ch;border-left:2px solid var(--gold);padding-left:12px}
.wg-related{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-related li{border-bottom:1px solid var(--wg-rule);padding:10px 0}
.wg-related a{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);text-decoration:none;display:inline-block;padding:3px 0}
.wg-related a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}

/* ---- reports and data (navy panel) ---- */
.wg-reports{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.5)}
.wg-reports li{display:grid;grid-template-columns:150px minmax(0,1fr) 160px;column-gap:clamp(20px,3vw,40px);row-gap:8px;padding:18px 0 20px;border-bottom:1px solid rgba(255,255,255,.18)}
.wg-rep-m{font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);line-height:1.6;padding-top:5px}
.wg-rep-m time{display:block;color:var(--onnavy-d);text-transform:none;letter-spacing:0;font-weight:500}
.wg-reports h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2;margin:0 0 6px;color:var(--white)}
.wg-reports h3 a{color:var(--white);text-decoration:none}
.wg-reports h3 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.wg-reports p{font-size:var(--wg-fs-2);line-height:1.55;color:var(--onnavy);margin:0;max-width:64ch}
.wg-reports .wg-dl a{color:var(--white)}
.wg-rep-s{font-size:var(--wg-fs-1);color:var(--onnavy-d);text-align:right;line-height:1.7;padding-top:5px;font-variant-numeric:tabular-nums}
.wg-rep-s span{display:block}

/* ---- release notes ---- */
.wg-releases{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-releases li{border-bottom:1px solid var(--wg-rule);padding:14px 0 16px}
.wg-rel-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 6px;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-rel-m time{font-weight:600;color:var(--ink)}
.wg-releases p{font-size:var(--wg-fs-2);line-height:1.55;margin:0;max-width:78ch}

/* ---- methodology ---- */
.wg-method{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);row-gap:28px;align-items:start}
.wg-def{margin:0;border-top:2px solid var(--navy)}
.wg-def div{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:18px;border-bottom:1px solid var(--wg-rule);padding:12px 0}
.wg-def dt{font-family:var(--serif);font-weight:600;font-size:15.5px;color:var(--ink);padding-top:1px}
.wg-def dd{margin:0;font-size:var(--wg-fs-2);line-height:1.55;color:var(--ink)}
.wg-def dd a{color:var(--ink)}
.wg-def dd .wg-cell{margin-right:4px}
.wg-not{border-left:2px solid var(--gold);padding:2px 0 2px 18px}
.wg-not .kick{margin-bottom:8px;color:var(--ink)}
.wg-not ul{margin:0;padding:0 0 0 18px}
.wg-not li{font-size:var(--wg-fs-2);line-height:1.55;margin:0 0 8px;color:var(--ink)}

/* ---- journalists and researchers ---- */
.wg-jg{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);row-gap:28px;align-items:start}
.wg-lead{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:22px;row-gap:14px;border-top:2px solid var(--navy);padding-top:14px}
.wg-lead img{width:100%;height:auto;display:block;background:var(--navy)}
.wg-lead-n{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:-.012em;margin:0 0 2px}
.wg-lead-r{font-size:var(--wg-fs-1);color:var(--wg-mute);margin:0 0 10px}
.wg-lead p{font-size:var(--wg-fs-2);line-height:1.55;margin:0 0 8px;max-width:64ch}
.wg-lead .cap{font-size:var(--wg-fs-0);color:var(--wg-mute);font-style:normal;margin-top:6px}
.wg-cite{border-top:2px solid var(--navy);padding-top:12px}
.wg-cite .kick{color:var(--ink)}
.wg-cite-t{font-family:var(--serif);font-size:16.5px;line-height:1.45;background:var(--wg-paper);padding:12px 14px;margin:8px 0 10px;color:var(--ink);border-left:2px solid var(--gold)}
.wg-cite-r{font-size:var(--wg-fs-1);line-height:1.5;color:var(--wg-mute);margin:0 0 12px}
.wg-cite-a{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.wg-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--navy);background:var(--wg-white);color:var(--ink);font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:0;text-decoration:none}
.wg-btn:hover{background:var(--navy);color:var(--white)}
.wg-contact{margin-top:22px;border-top:1px solid var(--wg-rule);padding-top:12px}
.wg-contact .kick{color:var(--ink)}
.wg-contact p{font-size:var(--wg-fs-2);margin:0 0 6px}
.wg-quotes{margin-top:34px;border-top:2px solid var(--navy);padding-top:12px}
.wg-quotes .kick{color:var(--ink);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin-bottom:12px}
.wg-quotes .kick .wg-muted{text-transform:none;letter-spacing:0}
.wg-quotes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,40px);row-gap:18px}
.wg-quotes li{border-top:1px solid var(--wg-rule);padding-top:12px}
.wg-quotes blockquote{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.35;letter-spacing:-.008em;margin:0;color:var(--ink);text-wrap:pretty}
.wg-quotes li>span{display:block;font-size:var(--wg-fs-0);color:var(--wg-mute);margin-top:8px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}

/* ---- about Elite Careers Strategy ---- */
.wg-about{background:var(--wg-paper)}
.wg-about-g p{font-size:var(--wg-fs-3);line-height:1.6;max-width:72ch;margin:0 0 12px;color:var(--ink)}

/* ---- footer ---- */
.wg-foot{margin-top:0;padding:26px 0 28px;border-top:2px solid var(--navy);background:var(--ivory)}
.wg-foot-g{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,40px);row-gap:22px}
.wg-foot .mk-foot{width:62px;height:auto;margin:0 0 10px}
.wg-foot-rel{font-family:var(--serif);font-size:16.5px;margin:0 0 6px;color:var(--ink)}
.wg-foot-meta{font-size:var(--wg-fs-1);line-height:1.55;color:var(--wg-mute);margin:0;max-width:44ch}
.wg-foot-nav h2{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 8px;max-width:none}
.wg-foot-nav ul{list-style:none;margin:0;padding:0;display:block}
.wg-foot-nav li{font-size:var(--wg-fs-2);margin:0 0 6px}
.wg-foot-nav a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--wg-rule);min-height:28px;display:inline-flex;align-items:center}
.wg-foot-nav a:hover{border-bottom-color:var(--gold)}
.wg-foot .disc{font-size:var(--wg-fs-0)!important;line-height:1.6;color:var(--wg-mute);border-top:1px solid var(--wg-rule);margin-top:20px;padding-top:12px;max-width:none}

/* ---- responsive ---- */
@media (max-width:1060px){
  .wg-hero-g{grid-template-columns:1fr;row-gap:26px}
  .wg-hero-side{max-width:520px}
  .wg-foot-g{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .wg-answers{grid-template-columns:1fr}
  .wg-cov-g,.wg-method,.wg-jg{grid-template-columns:1fr}
  .wg-quotes ul{grid-template-columns:1fr}
  .wg-reports li{grid-template-columns:1fr}
  .wg-rep-s{text-align:left;padding-top:0}
  .wg-rep-s{display:flex;flex-wrap:wrap;gap:0 14px}
  .wg-rep-s span{display:inline}
  .wg-rep-s span+span::before{content:"|";margin-right:14px;color:rgba(255,255,255,.35)}
}
@media (max-width:640px){
  .wg-hero{padding-top:22px}
  .wg-hero h1{font-size:clamp(30px,8.6vw,36px);max-width:none}
  .wg-stand{font-size:17px}
  .wg-search-row{flex-direction:column}
  .wg-search input{border-right:1px solid var(--navy)}
  .wg-search button{width:100%}
  .wg-explore{gap:0 18px}
  .wg-sh{grid-template-columns:1fr}
  .wg-sn{display:none}
  .wg-finding{grid-template-columns:1fr}
  .wg-fn{padding-top:0;margin-bottom:4px;font-size:18px}
  .wg-def div{grid-template-columns:1fr;row-gap:4px}
  .wg-lead{grid-template-columns:1fr}
  .wg-lead img{max-width:280px}
  .wg-foot-g{grid-template-columns:1fr 1fr;row-gap:18px}
  .wg-foot-brand{grid-column:1 / -1}
  .wg-sec{padding:24px 0}
  .wg-sh{margin-bottom:18px}
  .wg-lede{font-size:16px}
  .wg-finding{padding:16px 0 18px}
  .wg-answers li{padding:14px 0 16px}
  .wg-hub-rows li{grid-template-columns:1fr}
  .wg-local .page{gap:12px}
  .wg-local-k{display:none}
  .wg-cov li{grid-template-columns:1fr}
}
@media print{
  .wg-search,.wg-local,.mnav-t,.wg-cite-a{display:none!important}
  .wg-sec{break-inside:auto}
  .wg-finding,.wg-answers li,.wg-reports li,.wg-def div{break-inside:avoid}
}

/* dark-panel decorative numerals were .34 white; lifted for 1.4.3 */
.panel .sh .n,.wg-sec-panel .wg-sn{color:rgba(255,255,255,.6)}

/* ---- legibility floor, applied last: no rendered text below 12px on screen ---- */
@media screen{
  .kick,.sh .k,.fh .fn,.dne .k,.scan .k,.cm-fam,.cm-h>div,.cm-f>div:first-child,.idx .m,.idx .s,.fd-r .m,.fd-r .s,.fd-bk,.tl .st,.mast-r,.pstrip .r,.fd-more summary,.pfoot-g .l .fl,.hm thead th,.hm th.rl,.hm tfoot th,table.dt thead th,.sr .h,.sr .h>div,.sr .d,.srcs .h,.srcs .h div,.srcs .d,.wgi-pub-k,.rl .x::before,.fw-s .sn,details.more>summary,.mm-h span,.mm-h b,.lg,.hmk,.cmk,.sbleg,.fine,.pfoot .disc,.cap,.fnote,.marg,.byl,.qa,.share i,.r-quote .a,.cm-hint,.arch .sn,.brand .sub,.wgi-pub-d,.wgi-pub-n,.fd-b .u,.hf .u,.stat .u,.scan .d,.tl .fl2,.tl .ex,.fw-s .rl3,.fw-s li,.arch li,.dm-key span.d,.dm-key .pc,.pq+.qa,.rl .n,.reg .unc,.reg .url,td.unc,td.url,.unc,.url{font-size:12px!important}
  .marg{font-size:13px!important}
  .marg b{font-size:14px!important}
  .fnote,.cap,.byl{font-size:13px!important}
  .cm-r .lb{font-size:14px!important}
  .rl .x{font-size:13.5px!important}
  .sr .t,.tl p{font-size:14.5px!important}
}

/* =====================================================================
   WGI v4: evidence layer, 16 September 2026.
   Scope: (a) the evidence card, signal and source pages, institution
   records, the filterable registers and breadcrumbs generated from the
   register; (b) repairs from the 15 September audit: local-navigation
   clipping, scroll affordances on wide tables, section-numeral contrast,
   a 13.5px floor for informational captions and a 76ch cap on full-width
   notes. Brand canon holds: same tokens, same faces, ASCII punctuation,
   rules not cards.
   ===================================================================== */

/* ---- v3 repairs ---- */
.wg-sn{color:var(--ink-50)}
.wg-local-links{-webkit-mask-image:none;mask-image:none}
@media (max-width:1060px){
  .wg-local-links{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);padding-right:40px}
}
.wg-finding-m,.wg-ans-m,.wg-dp-m,.wg-search-help,.wg-lead .cap,.wg-inst-s,.wg-scope,.wg-results .wg-rd{font-size:var(--wg-fs-1)}
.wg-foot .disc{max-width:76ch!important}
.wg-exhibit .fnote,.fnote{max-width:76ch}
.wg-scroll-hint{display:none;font-size:var(--wg-fs-1);color:var(--wg-mute);margin:8px 0 0}
@media (max-width:900px){
  .wg-scroll-hint{display:block}
  .wg-tw::after,.wg-exhibit .cmw::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;pointer-events:none;background:linear-gradient(90deg,rgba(249,248,245,0),var(--ivory))}
}
.wg-exhibit .cmw{position:relative}
.wg-exhibit .cm-fam>div{display:block}

/* ---- hero additions and subpage heroes ---- */
.wg-start{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0 0 22px}
.wg-start a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--navy);color:var(--ink);font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--wg-white)}
.wg-start a:first-child{background:var(--navy);color:var(--white)}
.wg-start a:hover{background:var(--navy);color:var(--white)}
.wg-side-c{font-size:var(--wg-fs-1);line-height:1.5;color:var(--wg-mute);margin:10px 0 6px}
.wg-hero-s{padding:26px 0 18px}
.wg-hero-s h1{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3.4vw,42px);line-height:1.12;letter-spacing:-.02em;margin:6px 0 14px;max-width:26ch;text-wrap:balance}
.wg-hero-s .kick{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--ink)}
.wg-hero-s .wg-stand{max-width:62ch}
.wg-hero-s .wg-corpus{margin-bottom:0}
.wg-hero-s .wg-limit{margin-top:16px}
.wg-crumb{border-bottom:1px solid var(--wg-rule);background:var(--ivory)}
.wg-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;min-height:38px;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-crumb li+li::before{content:"/";margin:0 8px;color:var(--wg-rule-2)}
.wg-crumb a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--wg-rule)}
.wg-crumb a:hover{border-bottom-color:var(--gold)}
.wg-crumb li[aria-current]{color:var(--ink);max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wg-idlink{font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);white-space:nowrap}
.wg-idlink:hover{border-bottom-width:2px}

/* ---- evidence cards ---- */
.wg-evlist{border-top:2px solid var(--navy)}
.wg-evcard{border-bottom:1px solid var(--wg-rule);padding:16px 0 18px;max-width:78ch}
.wg-ev-k{font-family:var(--sans);font-size:var(--wg-fs-1);font-weight:500;margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;color:var(--wg-mute)}
.wg-ev-id{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold)}
.wg-ev-id:hover{border-bottom-width:2px}
.wg-ev-inst a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--wg-rule)}
.wg-ev-inst a:hover{border-bottom-color:var(--gold)}
.wg-ev-obs{font-size:var(--wg-fs-3);line-height:1.55;margin:0 0 10px;color:var(--ink)}
.wg-ev-held{color:var(--wg-gold-ink)}
.wg-ev-q{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 10px;padding:10px 14px;background:var(--wg-paper);border-left:2px solid var(--gold)}
.wg-ev-q-l{font-size:18px;max-width:70ch}
.wg-ev-ql{display:block;font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wg-mute);margin-bottom:6px}
.wg-ev-m{font-size:var(--wg-fs-1);line-height:1.55;color:var(--wg-mute);margin:0}
.wg-ev-m a{color:var(--ink)}
.wg-evcard-c{padding:12px 0 14px}
.wg-evcard-c .wg-ev-obs{font-size:var(--wg-fs-2)}
.wg-evlist-c{border-top-width:1px}
.wg-evsec .wg-sn{font-size:18px;line-height:1;padding-top:10px;color:var(--gold)}
.wg-evsrc{border-top:2px solid var(--navy);padding-top:12px;margin-bottom:16px}
.wg-evsrc .kick{color:var(--ink)}
.wg-evsrc-u{font-size:var(--wg-fs-2);word-break:break-word;margin:0 0 6px}
.wg-evsrc-u a{color:var(--ink)}
.wg-evsrc-n{margin:8px 0 0;padding:0 0 0 18px;font-size:var(--wg-fs-1);color:var(--wg-mute);line-height:1.5}
.wg-evsrc-n li{margin:0 0 4px}
.wg-latest-g{margin-top:4px}
.wg-lede-s{font-size:var(--wg-fs-2);margin:0 0 10px}

/* ---- related research ---- */
.wg-related li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.wg-rel-k{font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-rel-t{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);display:inline-block;padding:3px 0}
.wg-rel-k a{color:var(--ink)}
.wg-srclist{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.wg-srclist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-bottom:1px solid var(--wg-rule);padding:10px 0;font-size:var(--wg-fs-2)}
.wg-srclist li>a:first-child{font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);font-variant-numeric:tabular-nums}
.wg-srclist li>a+a{color:var(--ink);word-break:break-all}
.wg-srclist span{font-size:var(--wg-fs-1);color:var(--wg-mute)}

/* ---- registers: filter bar and data table ---- */
.wg-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin:0 0 14px}
.wg-filter-f{display:flex;flex-direction:column;gap:4px;min-width:150px}
.wg-filter-q{flex:1 1 320px}
.wg-filter-f span{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.wg-filter input,.wg-filter select{font-family:var(--sans);font-size:15px;line-height:1.3;padding:0 12px;min-height:44px;border:1px solid var(--navy);background:var(--wg-white);color:var(--ink);border-radius:0}
.wg-filter select{appearance:none;-webkit-appearance:none;padding-right:32px;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.wg-filter-n{flex:1 1 auto;font-size:var(--wg-fs-1);color:var(--wg-mute);margin:0;min-height:44px;display:flex;align-items:center}
.wg-cols-t{display:none}
.wg-reg{width:100%;border-collapse:collapse;border-top:2px solid var(--navy);font-size:var(--wg-fs-1)}
.wg-reg th,.wg-reg td{text-align:left;vertical-align:top;padding:9px 12px 9px 0;border-bottom:1px solid var(--wg-rule);line-height:1.45}
.wg-reg thead th{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--wg-mute);border-bottom:1px solid var(--navy);position:sticky;top:0;background:var(--ivory);z-index:2;white-space:nowrap}
.wg-reg tbody th{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;position:sticky;left:0;background:var(--ivory);z-index:1}
.wg-reg tbody th a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);display:inline-block;padding:3px 0}
.wg-reg td a{display:inline-block;padding:2px 0}
.wg-reg td a{color:var(--ink)}
.wg-reg-obs{min-width:280px;max-width:52ch}
.wg-reg-url{max-width:34ch;word-break:break-all}
.wg-reg td time{white-space:nowrap}
.wg-reg tr[hidden]{display:none}
.wg-reg-inst td{font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .wg-cols-t{display:inline-flex}
  .wg-reg:not(.wg-show-all) .wg-col-opt{display:none}
  .wg-reg{min-width:0}
  .wg-reg.wg-show-all{min-width:900px}
  .wg-reg-obs{min-width:0}
  .wg-filter-f{min-width:0;flex:1 1 46%}
  .wg-filter-q{flex-basis:100%}
}

/* ---- questions index ---- */
.wg-answers-1{grid-template-columns:1fr}
.wg-answers-1 .wg-ans{max-width:70ch}
.wg-hero-s .wg-search{margin-top:18px}

/* ---- responsive ---- */
@media (max-width:640px){
  .wg-hero-s h1{font-size:clamp(26px,7.4vw,32px)}
  .wg-crumb li[aria-current]{max-width:100%;white-space:normal}
  .wg-start a{flex:1 1 100%;justify-content:center}
  .wg-evsec .wg-sn{display:none}
}
@media print{
  .wg-filter,.wg-cols-t,.wg-scroll-hint,.wg-crumb{display:none!important}
  .wg-reg .wg-col-opt{display:table-cell!important}
}

/* ---- v4.1 (16 September, P1 close-out): scope-note marker, compare navigation ---- */
.wg-cell-note{position:relative}
.wg-cell-star{position:absolute;top:-6px;right:-5px;font-family:var(--sans);font-size:13px;line-height:1;font-weight:700;color:var(--wg-gold-ink);font-style:normal}
.wg-lg-i .wg-cell-note{margin-right:4px}
.wg-compare{border-bottom:1px solid var(--wg-rule);background:var(--wg-paper)}
.wg-compare .page{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;min-height:42px;padding-top:6px;padding-bottom:6px}
.wg-compare-k{font-family:var(--sans);font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-mute)}
.wg-compare a{font-size:var(--wg-fs-1);font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);min-height:32px;display:inline-flex;align-items:center}
.wg-compare a:hover{border-bottom-width:2px}
.wg-compare-m{margin-left:auto}
@media (max-width:640px){.wg-compare-m{margin-left:0}}

/* ---- v4.2 (16 September, P2 polish): type scale, tabular figures, tap targets, provenance stamp, hub routes, finding downloads ---- */
/* Three heading sizes below h2: 28 (exhibit), 24 (finding, report), 19 (everything else). */
.wg-exhibit-h h3{font-size:28px}
.wg-finding h3{font-size:24px}
.wg-reports h3{font-size:24px;font-weight:600}
.wg-h3,.wg-answers h3,.wg-lead-n,.wg-hubs a,.wg-datapoint .kick+.wg-dp{font-size:19px}
.wg-hub-inst h3.wg-h3{font-size:19px;margin:22px 0 10px}
@media (max-width:640px){.wg-exhibit-h h3{font-size:24px}.wg-finding h3,.wg-reports h3{font-size:21px}}
/* Numerals in the sans face with lining, tabular figures, so columns of counts align. */
.wg-kv dd,.wg-hub-n,.cm-r .n,.cm-f>div:not(:first-child),.wg-reg-inst td{font-family:var(--sans);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.wg-kv dd{font-size:19px;font-weight:600}
.wg-hub-n{font-size:16px}
.cm-r .n{font-size:15px}
.cm-f>div:not(:first-child){font-size:15px}
/* Primary actions reach the 44px minimum tap target. */
.wg-btn,.wg-start a{min-height:44px}
.wg-dl a{min-height:36px}
/* Provenance stamp at the foot of every subpage. */
.wg-stamp{margin:32px 0 0;padding:14px 0 26px;border-top:1px solid var(--wg-rule);font-family:var(--sans);font-size:var(--wg-fs-1);line-height:1.5;color:var(--wg-mute)}
.wg-stamp span{display:inline-block;margin-right:14px}
.wg-stamp time{color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.wg-stamp a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);white-space:nowrap}
.wg-stamp a:hover{border-bottom-width:2px}
/* Observed column appended to the dossier hub tables. */
.wg-obs-c{white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
/* Caption under the six-market matrix totals. */
.wg-matrix-cap{font-size:var(--wg-fs-1);color:var(--wg-mute);line-height:1.5;margin:10px 0 0;max-width:76ch}
/* Finding downloads inside the evidence section. */
.wg-dl-ev{margin-top:14px}
/* Hub routes: institution groups and the current-hub marker in the hub navigation. */
.wg-hub-inst{margin:0 0 8px}
.wg-hub-inst .wg-muted{font-family:var(--sans);font-size:var(--wg-fs-1);font-weight:400;color:var(--wg-mute);margin-left:8px}
.wg-explore a[aria-current="page"]{border-bottom:2px solid var(--gold);color:var(--ink)}
.wg-hub-l{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold)}
a.wg-hub-l:hover{border-bottom-width:2px}
.wg-matrix thead th h2,.wg-sh h2 a{color:inherit;text-decoration:none}
.wg-sh h2 a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
/* Long official URLs in definition lists and source blocks wrap instead of widening the page. */
.wg-def dd,.wg-evsrc-u,.wg-srclist li{overflow-wrap:anywhere}
/* Search-result group headings are h2 (styled by .wg-res-k) so the outline never skips from h1 to h3. */
.wg-res-k{line-height:1.3;text-wrap:initial}

/* WGI UX P0 (23 Sep 2026 audit). scroll-padding-top above now clears the sticky
   on-page bar (WCAG 2.4.11): bar height plus 24px, derived from --wg-local-h.
   Scrollable table wrappers are keyboard reachable (WCAG 2.1.1). The attributes are
   added by scripts/patch-wgi-ux-p0.mjs; this makes every marked wrapper scroll. */
/* scroll-padding now carries the bar offset, so the older per-element margin is dropped
   to keep anchor targets at bar + 24px rather than stacking both offsets. */
.wg-sh[id],.wg-exhibit[id],[id^="wgi-find-"]{scroll-margin-top:0}
[data-wg-scroll]{overflow-x:auto;max-width:100%}
[data-wg-scroll]:focus-visible{outline:3px solid #2346B0;outline-offset:3px}
/* Target size (WCAG 2.5.8): standalone links and controls at least 24px, primary controls 40px. */
.wg-tgt{display:inline-flex;align-items:center;min-height:24px;padding:0 2px}
.wg-search-row button,.mnav-t{min-height:40px}
.wg-cite-a,.wg-copy,button{min-height:24px}
/* WGI UX P1 (23 Sep 2026 audit, fixes 2.1 to 2.6). */
/* Home: answer-first hero */
.wg-hero-a .wg-stand{max-width:62ch}
.wg-search-l{max-width:720px;margin:18px 0 0}
.wg-search-l input{font-size:18px;min-height:52px}
@media (max-width:640px){.wg-search-l input{font-size:16px}}
.wg-search-l button{min-height:52px}
.wg-opt{display:block;padding:8px 10px;margin:0 -10px;text-decoration:none;color:var(--ink);border-left:3px solid transparent}
.wg-opt:hover,.wg-opt[aria-selected="true"]{background:rgba(201,162,39,.12);border-left-color:var(--gold)}
.wg-opt-t{display:block;font-weight:500}
.wg-opt-d{display:block;font-size:var(--wg-fs-1);color:var(--wg-mute)}
#wg-results:empty{display:none}
.wg-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0 0;max-width:900px}
.wg-chips a{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--wg-rule-2);border-radius:999px;text-decoration:none;color:var(--ink);font-size:var(--wg-fs-1);line-height:1.3;background:var(--wg-white)}
.wg-chips a:hover{border-color:var(--gold)}
.wg-trust{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:18px 0 0;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-trust>*{display:inline-flex;align-items:center;min-height:24px}
.wg-trust>*+*::before{content:"\00b7";display:inline-block;margin:0 10px;color:var(--wg-mute);text-decoration:none}
.wg-trust a{text-underline-offset:3px}
@media (max-width:640px){.wg-trust{gap:6px 16px}.wg-trust>*+*::before{content:none}}
.wg-trust b{color:var(--ink);margin-right:4px}
/* Home: findings as compact cards */
.wg-fcards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.wg-fcard{border:1px solid var(--wg-rule);background:var(--wg-white);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.wg-fcard-n{margin:0;color:var(--wg-mute);font-size:var(--wg-fs-1)}
.wg-fcard-n b{display:block;font-family:var(--serif);font-size:34px;line-height:1.05;color:var(--ink);font-weight:500}
.wg-fcard h3{font-size:var(--wg-fs-3);margin:0;line-height:1.35}
.wg-fcard-l{margin:0;font-size:var(--wg-fs-1);color:var(--ink-70)}
.wg-fcard-id{margin:auto 0 0;font-size:var(--wg-fs-0);letter-spacing:.08em;color:var(--wg-mute)}
/* Home: coverage */
.wg-corpus{max-width:var(--wg-measure)}
.wg-scope-l{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-scope-l b{color:var(--ink)}
.wg-cov-s{font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-hubsw{display:none}
.wg-hubsw-k{font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wg-mute);margin:0 0 8px}
.wg-hubsw-b{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.wg-hubsw-b button{min-height:40px;padding:6px 12px;border:1px solid var(--wg-rule-2);background:var(--wg-white);color:var(--ink);font:inherit;font-size:var(--wg-fs-1);cursor:pointer}
.wg-hubsw-b button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.wg-hubsw-l{list-style:none;padding:0;margin:0;border-top:1px solid var(--wg-rule)}
.wg-hubsw-l li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--wg-rule);font-size:var(--wg-fs-2)}
.wg-hubsw-l li>span{display:inline-flex;align-items:center;gap:6px;font-size:var(--wg-fs-1);color:var(--wg-mute);white-space:nowrap}
@media (max-width:640px){.wg-atlas-t,.wg-atlas-t+.wg-scroll-hint{display:none}.wg-hubsw{display:block}}
/* Home: recently observed and reports */
.wg-recent{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.wg-recent-g .wg-h3{margin:0 0 2px}
.wg-recent-m{margin:0 0 8px;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-rlist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4px 32px}
.wg-rlist li{padding:12px 0;border-top:1px solid var(--wg-rule)}
.wg-rlist li>a{font-weight:600;color:var(--ink)}
.wg-rlist li>span{display:block;font-size:var(--wg-fs-1);color:var(--wg-mute);margin-top:2px}
/* Header search and utility links (2.4) */
.mast-nav .mast-util{margin-left:auto}
.mast-nav .mast-util~.mast-util{margin-left:0}
.mast-search{display:flex;align-items:center;margin-left:12px}
.mast-search input{min-height:32px;width:140px;padding:4px 8px;border:1px solid rgba(255,255,255,.4);background:transparent;color:var(--white);font:inherit;font-size:13px}
.mast-search input::placeholder{color:rgba(255,255,255,.75)}
.mast-search button{min-height:32px;margin-left:4px}
[data-wgi-home] .mast-search{display:none}
@media (max-width:640px){.mast-search{margin:8px 0 0;grid-column:1/-1}.mast-search input{width:100%;min-height:40px}.mast-nav .mast-util{margin-left:0}}
/* Institutions index filter (2.5) */
.wg-filter{margin:0 0 12px;max-width:420px}
.wg-filter label{display:block;font-size:var(--wg-fs-1);font-weight:600;margin-bottom:4px}
.wg-filter input{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--wg-rule-2);font:inherit}
.wg-filter-n{font-size:var(--wg-fs-1);color:var(--wg-mute);margin:6px 0 0}
/* Mobile tables as stacked cards (2.6): cells carry data-label from their header. */
@media (max-width:640px){
  table.wg-stack,table.wg-stack tbody,table.wg-stack tr,table.wg-stack td,table.wg-stack tbody th{display:block;width:100%}
  table.wg-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  table.wg-stack tr{border:1px solid var(--wg-rule);background:var(--wg-white);padding:10px 12px;margin:0 0 10px}
  table.wg-stack td,table.wg-stack tbody th{border:0;padding:4px 0;text-align:left;overflow-wrap:anywhere}
  table.wg-stack td[data-label]::before,table.wg-stack tbody th[data-label]::before{content:attr(data-label);display:block;font-size:var(--wg-fs-0);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--wg-mute)}
  [data-wg-scroll]:has(>table.wg-stack){overflow-x:visible}
  [data-wg-scroll]:has(>table.wg-stack)+.wg-scroll-hint{display:none}
}
/* Dossier top block (2.2) */
.wg-facts{display:flex;flex-wrap:wrap;gap:4px 0;margin:10px 0 14px;font-size:var(--wg-fs-2);font-weight:500;color:var(--ink)}
.wg-facts span+span::before{content:"\00b7";margin:0 10px;color:var(--wg-mute);font-weight:400}
.wg-dtop{padding-top:6px}
.wg-dblock .wg-lede{margin-top:12px}
.wg-dblock{margin:0 0 clamp(20px,2.6vw,30px)}
.wg-dblock>h2{font-size:clamp(20px,2.2vw,26px);margin:0 0 10px}
.wg-steps{list-style:none;counter-reset:st;display:flex;flex-wrap:wrap;gap:0;padding:0;margin:0 0 8px}
.wg-steps li{counter-increment:st;position:relative;flex:1 1 150px;min-width:140px;padding:12px 26px 12px 14px;background:var(--wg-white);border:1px solid var(--wg-rule);margin:0 -1px -1px 0}
.wg-steps li::before{content:counter(st);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--white);font-size:12px;font-weight:600;margin-right:8px}
.wg-steps li:not(:last-child)::after{content:"\2192";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--gold);font-weight:600}
.wg-step-l{font-weight:600}
.wg-step-n{display:block;margin:4px 0 0 30px;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-src-line,.wg-limit-line{margin:4px 0 0;font-size:var(--wg-fs-1);color:var(--wg-mute);overflow-wrap:anywhere}
.wg-limit-line{font-style:italic}
.wg-mswitch{display:none}
.wg-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.wg-mgrid .wg-mpane[hidden]{display:contents}
.wg-mpane{display:contents}
.wg-mcard{border:1px solid var(--wg-rule);background:var(--wg-white);padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.wg-mcard h3{font-size:var(--wg-fs-3);margin:0;line-height:1.3}
.wg-mcard-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:var(--wg-fs-0)}
.wg-mstate{font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor}
.wg-mstate-v{color:#1f6b45}.wg-mstate-p{color:#8a5a00}.wg-mstate-g{color:var(--wg-mute)}
.wg-mcard-a{margin:0;font-size:var(--wg-fs-1);line-height:1.5}
.wg-mcard-ids{margin:auto 0 0;font-size:var(--wg-fs-0);color:var(--wg-mute);overflow-wrap:anywhere}
.wg-unknown{border:1.5px dashed var(--wg-rule-2);padding:14px 18px;background:transparent}
.wg-unknown ul{margin:0 0 8px;padding-left:18px}
.wg-unknown li{margin:4px 0;font-size:var(--wg-fs-2)}
.wg-unknown-k{margin:10px 0 4px;font-weight:600;font-size:var(--wg-fs-1)}
.wg-evgroup{border-top:1px solid var(--wg-rule)}
.wg-evgroup:last-child{border-bottom:1px solid var(--wg-rule)}
.wg-evgroup summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:var(--wg-fs-3)}
.wg-evgroup summary span{font-weight:400;font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-evgroup .wg-evlist{padding-bottom:14px}
.wg-idlink{overflow-wrap:anywhere}
@media (max-width:640px){
  .wg-steps{flex-direction:column}
  .wg-steps li{flex:none;margin:0 0 -1px}
  .wg-steps li:not(:last-child)::after{content:"\2193";right:12px}
  .wg-mswitch{display:flex}
  .wg-mgrid{display:block}
  .wg-mpane{display:block}
  .wg-mgrid .wg-mpane[hidden]{display:none}
  .wg-mpane .wg-mcard+.wg-mcard{margin-top:10px}
}
.wg-subnav{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 16px;font-size:var(--wg-fs-1)}
.wg-subnav a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--wg-rule)}
.wg-subnav a[aria-current],.wg-subnav a:hover{border-bottom-color:var(--gold)}
.wg-fcard-x{margin:0;font-size:var(--wg-fs-1);color:var(--ink-70)}
.wg-hero-a{padding-top:clamp(20px,2.6vw,34px);padding-bottom:clamp(18px,2vw,26px)}
.wg-hero-a .wg-search-l{margin-top:14px}
/* Explore evidence (3.1) */
.wg-reg tr.wg-grp th{background:var(--wg-paper,#f3f1ea);font-family:var(--serif);font-size:var(--wg-fs-3);font-weight:500;text-align:left;padding:10px 12px;border-top:2px solid var(--wg-rule-2)}
.wg-pager{display:flex;align-items:center;gap:12px;margin:14px 0}
.wg-pager span{font-size:var(--wg-fs-1);color:var(--wg-mute)}
.wg-pager .wg-btn{min-height:40px}
.wg-pager .wg-btn[disabled]{opacity:.45;cursor:default}
.wg-cite-view-t{font-size:var(--wg-fs-1);color:var(--wg-mute);overflow-wrap:anywhere;margin:6px 0 0}
.wg-cite-view-t:empty{display:none}
@media (max-width:640px){table.wg-stack tr.wg-grp{border:0;background:none;padding:0}table.wg-stack tr.wg-grp th{display:block}}
