/* Culture Shop — The Column Inch (rebuild of the picked homepage)
   ground ink-black #131110 · paper cream #F4EFE6 · accent amber #E7A93C · secondary signal blue #2F55E0 · quiet grey #8C857A
   Zilla Slab display · Spectral prose · Chivo labels · Source Serif 4 figure captions
   Device: column rules, column-inch bars, bracket marks, large numerals. No icons. */

:root{
  --amber:#E7A93C;
  --blue:#2F55E0;
  --grey:#8C857A;
  --display:"Zilla Slab",Georgia,serif;
  --prose:"Spectral",Georgia,serif;
  --ui:"Chivo",system-ui,sans-serif;
  --cap:"Source Serif 4",Georgia,serif;
  --measure:860px;
  --rail:1300px;
  --gutter:26px;
  --body:19px;
}
body{
  --ground:#131110; --ink:#F4EFE6; --panel:#211E1A; --soft:#C6BEB0; --rule:rgba(244,239,230,.22); --quiet:#8C857A;
}
body.paper{
  --ground:#F4EFE6; --ink:#131110; --panel:#E9E1D2; --soft:#3A362F; --rule:rgba(19,17,16,.22); --quiet:#6E675B;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--prose);font-size:var(--body);line-height:1.66;text-wrap:pretty}
img{max-width:100%;display:block}
a{color:var(--amber);text-decoration:none}
body.paper a{color:var(--blue)}
a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.04;margin:0}
p{margin:0 0 1.1em}
figure{margin:0}
table{border-collapse:collapse}

/* ---------- widths ---------- */
.rail{width:min(100% - 2*var(--gutter),var(--rail));margin-inline:auto}
.prose{width:min(100% - 2*var(--gutter),var(--measure));margin-inline:auto}

/* ---------- device ---------- */
.slug{flex:none;color:var(--amber)}
.brk{display:flex;align-items:center;gap:16px;margin:0 0 30px}
.brk svg{flex:none;color:var(--amber)}
.brk span{font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--quiet)}
.brk i{flex:1;height:1px;background:var(--rule)}
.colrule{width:100%;height:14px;color:var(--amber)}

/* ---------- masthead ---------- */
.mast{border-bottom:1px solid var(--rule)}
.mast__inner{display:flex;align-items:center;gap:26px;padding:30px var(--gutter) 24px;max-width:2200px;margin-inline:auto}
.brand{display:flex;align-items:center;gap:20px;color:var(--ink)}
.brand:hover{text-decoration:none;color:var(--ink)}
.brand__name{font-family:var(--display);font-weight:700;font-size:clamp(40px,6vw,92px);line-height:.9;letter-spacing:-.02em}
.brand svg{width:34px;height:44px}
.nav2{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-end}
.nav2 a{font-family:var(--ui);font-weight:700;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.nav2 a:hover{color:var(--amber);text-decoration:none}
.nav2 a[aria-current]{color:var(--amber)}
.nav2 .standing{color:var(--quiet)}
.subnav{display:flex;flex-wrap:wrap;gap:6px 24px;padding:10px var(--gutter) 12px;max-width:2200px;margin-inline:auto;
  border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:13px;color:var(--quiet)}
.subnav a{color:var(--quiet)}
.navtoggle,.burger{display:none}

/* ---------- the lead ---------- */
.lead{display:grid;grid-template-columns:1fr;gap:44px;
  width:min(100% - 2*var(--gutter),1700px);margin-inline:auto;padding:72px 0 0}
.kick{font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}
.lead h1{font-size:clamp(38px,5.2vw,76px);margin:20px 0 26px}
.deck{font-family:var(--prose);font-weight:300;font-size:clamp(19px,1.5vw,23px);line-height:1.55;color:var(--soft);margin:0 0 20px}
.lead p.small{font-size:19px;line-height:1.65;color:var(--quiet);margin:0 0 28px}
.cta{display:inline-block;background:var(--amber);color:#131110;font-family:var(--ui);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;padding:14px 22px}
.cta:hover{background:var(--ink);color:var(--ground);text-decoration:none}
.diag svg{width:100%;height:auto}
.diag figcaption{display:block;font-family:var(--cap);font-size:16px;line-height:1.5;color:var(--soft);margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.diag figcaption span{display:block;margin-top:6px;font-family:"Zilla Slab",Georgia,serif;font-size:13px;letter-spacing:.01em;color:var(--quiet)}


/* ---------- figure treatments ---------- */
/* 1 · full bleed, amber rule beneath, Chivo caption at the left margin */
.fig-bleed{width:100%;margin:0}
.fig-bleed img{width:100%;height:clamp(320px,58vh,760px);object-fit:cover;border-bottom:6px solid var(--amber)}
.fig-bleed figcaption{width:min(100% - 2*var(--gutter),var(--rail));margin-inline:auto;padding-top:14px;
  display:flex;flex-wrap:wrap;gap:4px 26px;align-items:baseline;font-family:var(--ui);font-size:15.5px;line-height:1.5;color:var(--soft)}
.credit{font-family:"Zilla Slab",Georgia,serif;font-size:13px;color:var(--quiet)}
/* the lead photograph carries the headline */
.leadphoto{position:relative}
.leadphoto__over{position:absolute;left:0;right:0;top:0;height:clamp(320px,58vh,760px);display:flex;align-items:flex-end;padding:0 var(--gutter) 44px}
.leadphoto__box{width:100%;background:linear-gradient(to top,rgba(19,17,16,.88),rgba(19,17,16,.5));padding:26px 30px;display:grid;grid-template-columns:1fr;gap:8px 44px;align-items:end}
.leadphoto h2{font-size:clamp(30px,3.4vw,52px);margin:12px 0 12px;color:#F4EFE6}
.leadphoto p{font-family:var(--prose);font-size:19px;line-height:1.5;color:#CFC7B8;margin:0}
/* 2 · inset mat, caption offset right, italic Source Serif with slab credit beneath */
.fig-mat{margin:52px 0;background:var(--panel);padding:22px;display:grid;grid-template-columns:1fr;gap:16px}
.fig-mat img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fig-mat figcaption{font-family:var(--cap);font-style:italic;font-size:17px;line-height:1.45;color:var(--ink)}
.fig-mat .credit{display:block;font-style:normal;margin-top:8px}
/* 3 · tight inline, 1px grey border, caption below at full column width */
.fig-inline{margin:44px 0}
.fig-inline img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--grey)}
.fig-inline figcaption{padding-top:10px;font-family:var(--cap);font-size:16.5px;line-height:1.45;color:var(--soft)}
/* 4 · a real mark on a plate */
.fig-logo{margin:52px 0}
.fig-logo__plate{background:#F4EFE6;padding:38px 26px;display:flex;align-items:center;justify-content:center;border-bottom:6px solid var(--blue)}
.fig-logo__plate img{max-height:104px;width:auto;max-width:min(100%,520px);object-fit:contain}
.fig-logo figcaption{padding-top:12px;font-family:var(--cap);font-size:16.5px;line-height:1.45;color:var(--soft)}
.article-figure{margin:44px 0}
.article-figure img{width:100%;border:1px solid var(--grey)}
.article-figure figcaption{padding-top:10px;font-family:var(--cap);font-size:16.5px;color:var(--soft)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:44px 0}
.gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--grey)}
.gallery figcaption{font-family:"Zilla Slab",serif;font-size:13px;color:var(--quiet);padding-top:6px}

/* ---------- three sections, deliberately unequal ---------- */
.band{padding:84px 0}
.sections3{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;align-items:start}
.sections3 h3{font-size:clamp(24px,2.2vw,40px);margin-bottom:16px}
.sections3 .minor{border-top:2px solid var(--rule);padding-top:18px}
.sections3 .minor h3{font-size:28px;margin-bottom:12px}
.sections3 p{font-size:18.5px;line-height:1.6;color:var(--soft);margin:0}
.sections3 a{color:var(--ink)}
.sections3 a:hover{color:var(--amber);text-decoration:none}
.more{display:inline-block;margin-top:16px;font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);border-bottom:2px solid currentColor}
.more:hover{text-decoration:none}

/* ---------- figures: numerals as the mark ---------- */
.figband{background:var(--panel);padding:84px 0}
.numrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 44px;border-top:2px solid var(--amber)}
.numrow div{padding:22px 0;border-bottom:1px solid var(--rule)}
.numrow b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(44px,5vw,84px);line-height:.94;letter-spacing:-.03em;color:var(--amber)}
.numrow span{display:block;font-family:var(--prose);font-size:17.5px;line-height:1.45;margin-top:8px;color:var(--soft)}
.numrow i{display:block;font-family:"Zilla Slab",serif;font-style:normal;font-size:13px;color:var(--quiet);margin-top:6px}
.chart{margin:34px 0 0}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart figcaption{font-family:"Zilla Slab",serif;font-size:14px;color:var(--quiet);padding-top:10px}
.chart .bar-a{fill:var(--amber)}
.chart .bar-b{fill:var(--blue)}
.chart .ax{stroke:var(--quiet);stroke-width:1}
.chart .lbl{font-family:var(--ui);font-size:12px;letter-spacing:.06em;fill:var(--quiet)}
.chart .val{font-family:var(--ui);font-weight:700;font-size:13px;fill:var(--ink)}

/* ---------- map ---------- */
.mapband{background:#F4EFE6;color:#131110;padding:64px 0 72px}
.mapband__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:end}
.mapband h2{font-size:34px;margin-bottom:12px}
.mapband p{font-family:var(--prose);font-size:19px;line-height:1.6;color:#3A362F;margin:0}
.mapwrap{background:#131110;border-top:2px solid var(--amber)}
.mapwrap svg{width:100%;height:auto;display:block}
.map-pin{fill:#E7A93C}
.map-label{font-family:"Zilla Slab",serif;font-size:19px;fill:#F4EFE6}
.map-figure{margin:0}

/* ---------- supporters ---------- */
.supporters{border-top:1px solid var(--rule);padding:46px 0 10px}
.supporters__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:22px}
.supporters__head h2{font-family:var(--ui);font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.supporters__head p{font-family:"Zilla Slab",serif;font-size:14px;color:var(--quiet);margin:0}
.sponsor-row{display:flex;flex-wrap:wrap;gap:18px}
.sponsor{flex:0 0 236px;display:grid;grid-template-columns:1fr;gap:10px;background:var(--panel);border:1px solid var(--rule);padding:16px 18px}
.sponsor:hover{border-color:var(--amber);text-decoration:none}
.sponsor img{width:100%;max-height:40px;height:auto;object-fit:contain;object-position:left center}
.sponsor-name{font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);line-height:1.25}
.sponsor-blurb{font-family:var(--prose);font-size:15px;color:var(--soft);min-width:200px}

/* ---------- footer ---------- */
.foot{background:#131110;color:#F4EFE6;margin-top:64px;border-top:1px solid rgba(244,239,230,.22)}
.foot__inner{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:baseline;padding-top:26px;padding-bottom:56px}
.foot__name{font-family:var(--display);font-weight:700;font-size:24px}
.foot p{font-family:var(--prose);font-size:17.5px;color:#B6AE9F;margin:0;max-width:60ch}
.foot__links{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--ui);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.foot__links a{color:#8C857A}

/* ---------- article ---------- */
.art-top{width:min(100% - 2*var(--gutter),var(--rail));margin-inline:auto;padding:60px 0 0;display:grid;grid-template-columns:1fr;gap:22px}
.art-top h1{font-size:clamp(40px,6vw,96px);letter-spacing:-.035em;max-width:22ch}
.art-top .standfirst{font-family:var(--prose);font-weight:300;font-size:clamp(19px,1.4vw,22px);line-height:1.5;color:var(--soft)}
.art-body{padding-top:8px}
.art-body h2{font-size:clamp(25px,2.1vw,34px);margin:52px 0 16px}
.pullquote{margin:48px 0;padding:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.pullquote p{font-family:var(--display);font-weight:700;font-size:clamp(23px,2vw,34px);line-height:1.16;letter-spacing:-.02em;padding:20px 0;margin:0}
.blockquote{margin:40px 0;padding-left:24px;border-left:2px solid var(--grey)}
.blockquote p{font-family:var(--cap);font-style:italic;font-size:20px;margin:0 0 8px}
.blockquote cite{font-family:"Zilla Slab",serif;font-style:normal;font-size:14px;color:var(--quiet)}
.callout{margin:40px 0;padding:22px 26px;background:var(--panel);border-left:6px solid var(--blue)}
.callout p{margin:0;font-size:18px}
.note{font-family:"Zilla Slab",serif;font-size:16px;color:var(--quiet);border-top:1px solid var(--rule);padding-top:10px}
.lead-p{font-family:var(--prose);font-size:1.14em;line-height:1.55;color:var(--soft)}
.datebox{background:#131110;color:#F4EFE6;padding:22px 24px}
.datebox h2{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:10px}
.datebox ul{list-style:none;margin:0;padding:0;font-family:var(--prose);font-size:16.5px;line-height:1.8}
.srcrail{border-top:2px solid var(--amber);padding-top:14px}
.srcrail h2{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}
.srcrail ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 28px}
.srcrail li{font-family:"Zilla Slab",serif;font-size:14.5px;line-height:1.4;color:var(--quiet);border-bottom:1px solid var(--rule);padding:9px 0}
.art-rail{display:flex;flex-direction:column;gap:26px;margin:40px auto 0;width:min(100% - 2*var(--gutter),var(--measure))}

/* interruption bands */
.notes{margin:56px 0;padding:44px 0}
.notes--chron{background:#131110;color:#F4EFE6;border-top:1px solid var(--amber);border-bottom:1px solid var(--amber)}
.notes--figs{background:var(--panel)}
.notes__title{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700;font-size:22px;margin-bottom:22px}
.notes--chron .notes__title{color:#E7A93C}
.notes--figs .notes__title{color:var(--ink)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(140px,16%) 1fr;gap:6px 28px;padding:14px 0;align-items:baseline;border-top:1px solid rgba(244,239,230,.2)}
.notes--figs .timeline li{border-color:var(--rule)}
.t-when{font-family:var(--ui);font-weight:700;font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;color:#E7A93C}
.notes--figs .t-when{color:var(--blue)}
.t-what{font-family:var(--prose);font-size:18px;line-height:1.5}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 40px;border-top:2px solid var(--blue)}
.statblock{padding:20px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:5px}
.stat-num{font-family:var(--display);font-weight:700;font-size:clamp(30px,2.8vw,46px);letter-spacing:-.03em;line-height:1;color:var(--blue)}
.stat-label{font-family:var(--prose);font-size:16.5px;line-height:1.4}
.stat-src{font-family:"Zilla Slab",serif;font-size:13px;color:var(--quiet)}
.notes-list{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:0 44px}
.notes-list li{padding:13px 0;border-top:1px solid var(--rule);font-family:var(--prose);font-size:17.5px;line-height:1.45}
.notes--chron .notes-list li{border-color:rgba(244,239,230,.2)}
.notes-list b{display:block;font-family:var(--ui);font-weight:700;font-size:14px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px}
.notes-list i{display:block;font-family:"Zilla Slab",serif;font-style:normal;font-size:13px;color:var(--quiet);margin-top:4px}

/* tables */
.datatable,.versus{width:100%;font-family:var(--prose);font-size:17px;margin:22px 0}
.datatable th,.versus th{font-family:var(--ui);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:10px 14px 10px 0;border-bottom:2px solid currentColor}
.datatable td,.versus td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.versus td:first-child{font-family:var(--ui);font-weight:700;font-size:14.5px;letter-spacing:.04em;text-transform:uppercase}

/* lists, cards, hubs */
.cat-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.cat-list li{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:1fr;gap:6px;padding:22px 0;color:var(--ink)}
.cat-list a:hover{text-decoration:none;color:var(--amber)}
body.paper .cat-list a:hover{color:var(--blue)}
.cat-list strong{font-family:var(--display);font-weight:700;font-size:clamp(21px,1.7vw,28px);line-height:1.1;letter-spacing:-.02em}
.cat-list span{font-family:var(--prose);font-size:17.5px;line-height:1.5;color:var(--soft);max-width:80ch}
.cat-list em{font-style:normal;font-family:var(--ui);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet)}
.divisions{background:var(--amber);color:#131110;padding:40px 0 44px;margin:56px 0}
.divisions__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-top:20px}
.divisions h3{font-size:26px;margin-bottom:8px}
.divisions p{font-family:var(--prose);font-size:17px;line-height:1.5;margin:0;color:#2A2214}
.divisions .brk span{color:#5A4A28}
.divisions .brk i{background:rgba(19,17,16,.3)}
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:26px}
.hub a{display:flex;flex-direction:column;gap:10px;background:var(--panel);border-top:4px solid var(--amber);padding:22px;color:var(--ink)}
.hub a:hover{text-decoration:none;color:var(--amber)}
body.paper .hub a{border-top-color:var(--blue)}
body.paper .hub a:hover{color:var(--blue)}
.hub strong{font-family:var(--display);font-weight:700;font-size:23px}
.hub span{font-family:var(--prose);font-size:16.5px;color:var(--soft)}
.related-links,.further-grid{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.related-links li{display:flex}
.related-links a,.further-grid a{display:flex;flex-direction:column;gap:8px;min-height:100%;background:var(--panel);border-top:3px solid var(--amber);padding:18px;
  font-family:var(--display);font-weight:700;font-size:19px;line-height:1.16;color:var(--ink)}
body.paper .related-links a,body.paper .further-grid a{border-top-color:var(--blue)}
.related-links a:hover,.further-grid a:hover{text-decoration:none;color:var(--amber)}
.related-links em,.further-grid em{font-style:normal;font-family:"Zilla Slab",serif;font-weight:400;font-size:13.5px;color:var(--quiet);margin-top:auto}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin:34px 0}
.profile-card{background:var(--panel);padding:20px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:88px;aspect-ratio:1;object-fit:cover}
.profile-card h3{font-size:21px}
.profile-card .p-role{font-family:"Zilla Slab",serif;font-size:14px;color:var(--blue);margin:0}
.profile-card p{font-size:16.5px;margin:0}
.profile-card .p-attr{font-family:"Zilla Slab",serif;font-size:13px;color:var(--quiet)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:28px 0}
.org-card{display:grid;gap:6px;background:var(--panel);border:1px solid var(--rule);padding:16px 18px}
.org-card:hover{border-color:var(--amber);text-decoration:none}
.org-logo{max-height:32px;width:auto;object-fit:contain;object-position:left}
.org-name{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink)}
.org-host{font-family:"Zilla Slab",serif;font-size:13px;color:var(--quiet)}
.entity-ref{font-family:"Zilla Slab",serif;border-bottom:1px solid var(--amber)}
.page-head{padding:56px 0 0}
.page-head h1{font-size:clamp(36px,4.6vw,72px);max-width:26ch}
.page-head .standfirst{font-family:var(--prose);font-size:clamp(19px,1.3vw,23px);line-height:1.5;color:var(--soft);max-width:62ch;margin-top:18px}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  :root{--body:18px;--gutter:18px}
  .lead{grid-template-columns:1fr;gap:40px;padding-top:44px}
  .sections3,.mapband__grid{grid-template-columns:1fr;gap:32px}
  .mast__inner{flex-wrap:wrap;gap:14px}
  .nav2{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:6px}
  .navtoggle:checked ~ .nav2{display:flex}
  .burger{display:block;margin-left:auto;font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--quiet);cursor:pointer}
  .subnav{display:none}
  .timeline li{grid-template-columns:1fr}
  .sponsor{flex:0 0 100%}
  .foot__links{margin-left:0}
}
@media (min-width:1600px){
  :root{--measure:1000px;--rail:1480px;--body:20px;--gutter:40px}
  .diag .third{display:block}
  .art-top{grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:64px;align-items:end}
  .fig-mat{grid-template-columns:1.5fr 1fr;align-items:start;gap:26px}
  .timeline{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
  .cat-list a{grid-template-columns:minmax(0,34ch) 1fr;gap:8px 48px;align-items:baseline}
}
@media (min-width:2200px){
  :root{--rail:1720px;--measure:1080px;--gutter:64px}
  .band,.figband{padding:110px 0}
  .art-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:80px;width:min(100% - 2*var(--gutter),1900px);margin-inline:auto;align-items:start}
  .art-wrap .art-rail{position:sticky;top:36px;width:100%;margin:0}
  .art-wrap .prose,.art-wrap .art-body>.prose{margin-inline:0}
  .sponsor{flex:0 0 300px}
}
@media print{body{background:#fff;color:#000}}

/* article top right column spacing; stat colour on dark bands */
.art-top > div{display:flex;flex-direction:column;gap:22px}
.art-top > div > h1{margin:0}
.notes--chron .stat-num{color:var(--amber)}
.notes--chron .statrow{border-top-color:var(--amber)}
.notes--chron .statblock{border-bottom-color:rgba(244,239,230,.2)}
.notes--chron .stat-src{color:#8C857A}

/* two-column three-sections band: the minors stack in one column, no void */
.sections3__side{display:flex;flex-direction:column;gap:40px}
.leadphoto__box .more{margin-top:14px}
.leadphoto__box p{max-width:52ch}
@media (min-width:1600px){.sections3{gap:64px}}

/* the stand-in marks already spell the name: keep the label for screen readers only */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sponsor{align-content:center;min-height:78px}
.sponsor img{max-height:46px}
/* the lead runs two-up only when the measure and the diagram both fit */
@media (min-width:1560px){
  .lead{grid-template-columns:minmax(0,var(--measure)) minmax(592px,1fr);gap:76px;align-items:start}
}
/* one drawing, always rendered at 1:1 */
.diag{width:min(100%,592px);margin-inline:auto}
.diag svg{display:block;max-width:592px}

/* cascade fixes, appended last so they win outright */
body.paper .brand,body.paper .brand:hover,body.paper .brand__name,
body.paper .nav2 a,body.paper .foot__links a{color:var(--ink)}
body.paper .nav2 a:hover{color:var(--blue)}
body.paper .nav2 a[aria-current]{color:var(--amber)}
body.paper .nav2 .standing,body.paper .subnav a{color:var(--quiet)}
body.paper .foot__links a{color:#8C857A}
/* the credit always takes its own line except in the flex bleed caption */
.fig-inline figcaption .credit,.fig-mat figcaption .credit,
.fig-logo figcaption .credit,.article-figure figcaption .credit,
.gallery figcaption .credit{display:block;margin-top:6px;font-style:normal}

/* section columns: hairline rule, label, title, one line, link */
.sec{display:flex;flex-direction:column;gap:12px;border-top:2px solid var(--amber);padding-top:16px}
.sec__no{font-family:var(--ui);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--quiet)}
.sec h3{font-size:clamp(22px,1.8vw,30px)}
.sec p{font-size:17.5px;line-height:1.55;color:var(--soft);margin:0}
.sec .more{margin-top:0;align-self:start}
.leadphoto__box .more{justify-self:start}
.sec .fig-inline{margin:10px 0 0}
.sec .fig-inline img{aspect-ratio:4/3}
/* lead photo caption: full rail, link ranged right on wide screens */
.leadphoto__box p{max-width:none}
@media (min-width:1000px){
  .leadphoto__box{grid-template-columns:minmax(0,1fr) minmax(220px,24%)}
  .leadphoto__box .kick,.leadphoto__box h2,.leadphoto__box p{grid-column:1}
  .leadphoto__box .more{grid-column:2;grid-row:2 / span 2;justify-self:end;align-self:end;margin-top:0}
}
/* map: full width with the legend over the empty south-west */
.mapband{padding:0;background:#131110;overflow-x:clip;max-width:100%}
.mapwrap--bleed{position:relative;width:100%;border-top:2px solid var(--amber)}
.map-legend{position:absolute;right:3%;bottom:6%;width:min(34%,420px);overflow:visible;background:rgba(19,17,16,.92);border-left:3px solid var(--amber);padding:20px 22px;color:#F4EFE6}
.map-legend h2{font-family:var(--display);font-weight:700;font-size:clamp(22px,1.9vw,32px);margin-bottom:10px}
.map-legend p{font-family:var(--prose);font-size:16.5px;line-height:1.5;color:#C6BEB0;margin:0 0 12px}
.map-legend .more{color:var(--amber)}
@media (max-width:1000px){
  .sections3{grid-template-columns:1fr;gap:34px}
}

/* every section column carries a figure, so pin them to a common baseline */
.sec{height:100%}
.sec .fig-inline{margin-top:auto}
.sec .fig-inline figcaption{font-size:15.5px}

/* A2 · reserve real space around the hero bleed and the end-of-article unit */
.art-top{padding-bottom:50px}
.art-end{margin-top:56px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0}
.tablewrap table{margin:0;min-width:480px}
@media (max-width:1000px){
  .art-top{padding-bottom:42px}
  .art-end{margin-top:46px}
}

/* body.paper a is (0,1,2) — every card/list anchor must outrank it on cream pages */
body.paper .cat-list a,body.paper .hub a,body.paper .related-links a,
body.paper .further-grid a,body.paper .sec h3 a,body.paper .org-card,
body.paper .sponsor,body.paper .sec a.more{color:var(--ink)}
body.paper .cat-list a:hover,body.paper .hub a:hover,body.paper .related-links a:hover,
body.paper .further-grid a:hover{color:var(--blue)}
body.paper .hub a strong,body.paper .related-links a em,body.paper .further-grid a em,
body.paper .org-card .org-host{color:inherit}
body.paper .related-links a em,body.paper .further-grid a em,body.paper .org-card .org-host{color:var(--quiet)}
body.paper .sec a.more{color:var(--blue)}

.notes-list .nl-text{display:block;font-family:var(--prose);font-size:17.5px;line-height:1.5;text-transform:none;letter-spacing:0}

/* two inline figures run as one paired unit */
.fig-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:44px 0;align-items:start}
.fig-pair .fig-inline{margin:0}
.fig-pair .fig-inline img{aspect-ratio:4/3}
.fig-pair figcaption{font-size:15.5px}
@media (max-width:700px){.fig-pair{grid-template-columns:1fr;gap:32px}}

/* mobile masthead: brand and burger never share a row below 430px */
@media (max-width:430px){
  .mast__inner{flex-wrap:wrap;gap:0;padding:20px var(--gutter) 0}
  .brand{width:100%;gap:14px}
  .brand__name{font-size:clamp(32px,9vw,44px)}
  .brand svg{width:26px;height:34px}
  .burger{width:100%;margin:14px 0 0;padding:12px 0;border-top:1px solid var(--rule);text-align:left}
  .navtoggle:checked ~ .nav2{padding-bottom:14px}
}
/* the map keeps a legible scale on phones and scrolls inside itself */
@media (max-width:700px){
  .mapwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mapwrap svg{width:860px;min-width:860px}
  .map-figure .mapwrap{border-top:2px solid var(--amber)}
  .mapband .mapwrap--bleed{overflow-x:auto}
  /* the legend must not be absolutely placed inside a scrolling box */
  .map-legend{position:static;width:100%;border-left:0;border-top:2px solid var(--amber);background:#131110;padding:20px var(--gutter)}
}

/* 44px hit targets in the mobile menu */
@media (max-width:1000px){
  .nav2 a{padding:11px 0;min-height:44px;display:flex;align-items:center;width:100%}
  .burger{min-height:44px;display:flex;align-items:center}
}

/* the map scrolls only on phones; say so there */
.map-hint{display:none}
@media (max-width:700px){
  .map-hint{display:block;margin:0;padding:14px var(--gutter) 10px;font-family:var(--ui);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
}

/* sp-mark-align: marks sit CENTRED in their box. Placement only — Design's size,
   padding, panel and object-fit are untouched. */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.sponsor .sp-logo,.sponsor-box{display:flex;align-items:center;justify-content:center}

/* sp-tile-uniform: a slot never grows to fill its row — every tile the same width in
   every row, whatever the count. Only flex-grow is touched. */
.sponsor{flex-grow:0!important}
.sponsor.lead-line,.sponsor.feat.lead-line{flex-grow:1!important}
.sponsor:not(.lead-line){flex-basis:var(--sp-tile,232px)!important}
.supporters__head{flex-wrap:wrap!important}
.supporters__head > .sponsor{flex:1 1 var(--sp-min,220px)!important;min-width:min(220px,100%)!important}
.sponsor-row{flex-wrap:wrap!important}
.sponsor-row > .sponsor{flex:1 1 var(--sp-min,220px)!important;min-width:min(220px,100%)!important}
.sponsor:not(.lead-line){grid-column:span 1!important;grid-row:span 1!important}

/* sp-blurb-stack: a slot holding BOTH a mark and our copy stacks them —
   a fixed-height row clips the mark once the copy is un-hidden. */
.sponsor:has(> img):has(> .sponsor-blurb:not(:empty)){flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;height:auto!important;min-height:0!important;overflow:visible!important;gap:8px}
.sponsor:has(> img):has(> .sponsor-blurb:not(:empty)) > img{align-self:flex-start}

/* sp-blurb-unhide: every supporter slot shows its text — no half-texted grids */
.sponsor-blurb:not(:empty){display:block!important;line-height:1.5}

/* sp-tile-fit: a slot fills its track, keeps a symmetric inset, and cannot be inflated
   by one long line of our copy. */
.sponsor.sponsor{width:100%!important;box-sizing:border-box!important;align-self:stretch!important;align-items:center!important;height:auto!important;min-height:0!important;overflow:hidden}
.sponsor.sponsor{justify-content:center!important}
:has(> .sponsor.sponsor){align-items:stretch!important}
.sponsor.sponsor .sponsor-name{min-width:0!important;overflow-wrap:anywhere}
.sponsor.sponsor > img{flex:0 0 auto!important;align-self:center!important}
.sponsor.sponsor > .sponsor-txt,.sponsor.sponsor > span:not(.sponsor-name){flex:1 1 auto!important;min-width:0!important}
.sponsor.sponsor .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0!important}
/* the mobile un-clamp is retired: the operator asked for "2-3 rows max" on phones, which is
   what the desktop rule above already does — so mobile simply keeps it. */
@media (max-width:640px){.sponsor.sponsor .sponsor-blurb{-webkit-line-clamp:3!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;overflow:hidden!important}}

/* sp-blurb-link: money-link anchors in blurbs must inherit the blurb colour (readable on dark OR light tiles) */
.sponsor-blurb a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sponsor-row .sponsor.sponsor img{height:46px!important}


/* op-money-columns: the supporters block ran one tile per row — 5 tiles,
   472px at 390, 7% of the whole page. Two columns bring it to
   276px (42% shorter). Checked before writing: no new overflow, smallest mark still
   131px wide, longest blurb 0 lines, tile heights 80-80px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sponsor-row), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sponsor-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
    .sponsor-row > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row > * *{min-width:0!important;max-width:100%}
    .sponsor-row img,.sponsor-row svg{max-width:100%;height:auto}

}

/* op-odd-tier-lead: .sponsor-row (5 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sponsor-row:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; line-height: 1.04; margin: 0px;}
.divisions h2:where(.rt-h3){font-size: 26px; margin-bottom: 8px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article > figure.fig-bleed > img,
  div.fig-pair > figure.fig-inline > img,
  div.prose > figure.fig-inline > img,
  div.prose > figure.fig-mat > img,
  div.sec > figure.fig-inline > img,
  main > figure.fig-bleed > img,
  main > figure.fig-bleed.leadphoto > img){height:auto}
/* op-img-dims:end */

/* op-grow-same-size: an added partner would have wrapped onto a new row ALONE and stretched across the grid (flex rows that grow). Same minimum (basis 220px, min-width min(220px, 100%)), same columns at every width, a short row keeps its siblings' size — applied at the moment of adding, as the operator chose (2026-09-23). Phones keep their own rules. */
@media (min-width:641px){
  div.sponsor-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
}
/* op-grow-same-size:end */
