/* WW Shipper — one stylesheet.
   Palette, with a job for each member:
   --ground   near-black    site ground
   --paper    warm paper    reading ground (article bodies, the map band)
   --accent   hazard yellow saturated 1 — rules, ticks, dimensions, panels
   --second   aubergine     saturated 2 — full-width band, callouts
   --ink                    text on ground / on paper                        */

:root{
  --ground:#0E1113;
  --panel:#161A1E;
  --panel-2:#1D2226;
  --paper:#F4F1EA;
  --paper-2:#EAE6DC;
  --ink:#F4F1EA;
  --ink-paper:#16191C;
  --accent:#F0A400;
  --accent-ink:#8A5A00;
  --second:#3D1F5C;
  --second-lift:#5B3282;
  --mute:#9AA0A4;
  --mute-paper:#5A5C60;
  --line:#2A3034;
  --line-paper:#D2CDC0;
  --display:Gambetta,"Iowan Old Style",Georgia,serif;
  --text:"Fira Sans",system-ui,-apple-system,Segoe UI,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--text);font-size:17px;line-height:1.6;
  text-wrap:pretty;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.018em;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0}
::selection{background:var(--accent);color:var(--ground)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:1420px;margin-inline:auto;padding-inline:clamp(18px,3.4vw,48px)}
.measure{max-width:72ch}
.kicker{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  display:flex;align-items:center;gap:9px}
.kicker svg{width:18px;height:18px;flex:0 0 auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--accent);color:var(--ground);padding:8px 14px;z-index:99}

/* ── icons: one system. 24 grid, 1.5 stroke, square joins, currentColor ── */
.ico{width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;
  stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
.ico-lg{width:46px;height:46px;stroke-width:1.1}

/* ── masthead: a measured rule. Not a dropdown, not equal columns. ── */
.masthead{background:var(--ground);border-bottom:2px solid var(--accent)}
.mast-top{display:flex;align-items:flex-end;justify-content:space-between;
  gap:20px 34px;flex-wrap:wrap;padding:26px 0 16px}
.mast-name{display:flex;align-items:flex-end;gap:18px}
.mast-name h1,.mast-name .h{font-family:var(--display);font-weight:500;
  font-size:clamp(36px,5.2vw,70px);line-height:.84;letter-spacing:-.028em;margin:0}
.mast-mark{width:92px;height:50px;flex:0 0 auto;fill:none;stroke:var(--accent);
  stroke-width:1.3;margin-bottom:7px}
.mast-line{font-size:14.5px;line-height:1.5;color:var(--mute);max-width:38ch;
  border-left:2px solid var(--accent);padding-left:13px}

.scale{display:flex;flex-wrap:wrap;align-items:stretch}
.scale .seg{border-top:1px solid var(--accent);padding:0 26px 22px 0;min-width:210px}
.scale .seg.s1{flex:3 1 210px}
.scale .seg.s2{flex:4 1 240px;border-top-width:2px}
.scale .seg.s3{flex:3 1 210px}
.scale .seg.s4{flex:3 1 210px}
.scale .seg.util{flex:1 1 150px;min-width:150px;padding-right:0}
.tick{width:1px;height:15px;background:var(--accent)}
.seg.s2 .tick{width:2px;height:24px}
.seg-name{display:flex;align-items:flex-start;gap:9px;margin-top:9px}
.seg-name svg{margin-top:3px}
.seg-name a{font-family:var(--display);font-size:19.5px;line-height:1.12;display:block}
.seg.s2 .seg-name a{font-size:25px;color:var(--accent)}
.seg ul{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:4px}
.seg li a{font-size:13.5px;line-height:1.35;color:var(--mute)}
.seg.s2 li a{color:#C6CACC}
.seg li a:hover{color:var(--accent)}
.seg.util ul{gap:5px}
.seg.util li a{font-size:14px;color:#C6CACC;letter-spacing:.02em}

/* ── homepage bands ── */
.band{padding:74px 0}
.band.tight{padding:54px 0}
.band.paper{background:var(--paper);color:var(--ink-paper)}
.band.paper a{color:var(--ink-paper)}
.band.paper a:hover{color:var(--accent-ink)}
.band.second{background:var(--second)}
.band-head{display:flex;gap:22px 40px;flex-wrap:wrap;align-items:baseline;justify-content:space-between}
.band-head h2{font-size:clamp(28px,3.6vw,54px);line-height:1;max-width:26ch}
.band-head p{font-size:17px;line-height:1.6;max-width:52ch;color:#C6CACC}
.band.paper .band-head p{color:#4A4C50}

/* lead: one thing, real size */
.lead-band{position:relative;min-height:min(80vh,760px);display:flex;align-items:flex-end;
  background:#000;overflow:hidden}
.lead-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}
.lead-band .lead-inner{position:relative;width:100%;padding-block:44px}
.lead-band h2{font-size:clamp(38px,6.4vw,104px);line-height:.9;max-width:21ch;
  margin-top:14px;text-shadow:0 2px 40px rgba(0,0,0,.55)}
.lead-tag{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#16191C;
  padding:6px 13px;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.lead-tag svg{stroke:#16191C}
.lead-dek{font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:60ch;margin-top:18px;
  color:#E6E8E9;text-shadow:0 1px 20px rgba(0,0,0,.6)}
.lead-credit{border-top:1px solid var(--line);margin-top:26px;padding-top:10px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* the drawn signature */
.figure-drawn{background:var(--panel);border:1px solid var(--line);padding:26px 26px 18px}
.band.paper .figure-drawn{background:var(--paper-2);border-color:var(--line-paper)}
.figure-drawn svg{width:100%;height:auto;display:block}
.drawn-label{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.drawn-foot{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:12px}
.drawn-foot p{font-size:15.5px;line-height:1.5;max-width:58ch;color:#DCDEDF}
.band.paper .drawn-foot p{color:#3A3C40}
.drawn-foot .src{font-size:12.5px;line-height:1.5;color:var(--mute);max-width:32ch}

/* two-up run */
.run{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:46px;align-items:start}
.run.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.stack{display:flex;flex-direction:column;gap:26px}

/* quiet line */
.quiet{display:flex;gap:26px;flex-wrap:wrap;align-items:baseline;
  border-top:1px solid var(--line);padding-top:22px}
.quiet .q-title{font-family:var(--display);font-size:clamp(23px,2.5vw,36px);line-height:1.05}
.quiet p{font-size:16.5px;line-height:1.55;color:var(--mute);max-width:54ch}

/* section blocks on the homepage */
.sec-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:34px}
.sec-block{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.sec-block h3{font-size:24px;line-height:1.1}
.sec-block .blurb{font-size:15.5px;color:var(--mute)}
.sec-block ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin-top:2px}
.sec-block li{font-size:16px;line-height:1.4;display:flex;gap:10px}
.sec-block li .n{font-size:12.5px;letter-spacing:.1em;color:var(--accent);padding-top:4px}
.sec-block .more{margin-top:auto;padding-top:10px;font-size:13.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent)}

/* ── figure system: four treatments, one drawing family ── */
figure{margin:0}
.article-figure{background:var(--panel);border:1px solid var(--line);padding:12px}
.article-figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.article-figure figcaption{padding-top:12px;margin-top:12px;border-top:1px solid var(--line);position:relative}
.article-figure figcaption::before{content:"";position:absolute;top:-1px;left:0;width:34px;height:2px;background:var(--accent)}
.paper .article-figure,.band.paper .article-figure{background:var(--paper-2);border-color:var(--line-paper)}
.paper .article-figure figcaption,.band.paper .article-figure figcaption{border-top-color:var(--line-paper)}
.cap{font-size:16px;line-height:1.5;max-width:64ch}
.credit{font-size:12.5px;line-height:1.45;color:var(--mute);margin-top:7px;
  letter-spacing:.04em}
.paper .credit,.band.paper .credit{color:var(--mute-paper)}

/* 2 · full-bleed band, caption on a plate */
.article-figure.bleed{background:none;border:0;padding:0;position:relative}
.article-figure.bleed img{aspect-ratio:16/7;min-height:320px}
.article-figure.bleed figcaption{border:0;margin:0;padding:16px 20px;background:var(--paper);
  color:var(--ink-paper);max-width:44ch;position:relative;margin-top:-56px;margin-left:clamp(18px,3.4vw,48px);
  z-index:2;border-left:3px solid var(--accent)}
.article-figure.bleed figcaption::before{display:none}
.article-figure.bleed .credit{color:var(--mute-paper)}

/* 3 · inset in the column, prose beside it, scale bar under */
.article-figure.inset{float:right;width:min(340px,42%);margin:6px 0 22px 30px;padding:10px}
.article-figure.inset img{aspect-ratio:4/3}
.article-figure.inset .cap{font-size:14.5px;padding-left:14px;text-indent:-14px}
.article-figure.inset .scalebar{display:block;width:78px;height:12px;margin:10px 0 2px;
  fill:none;stroke:var(--accent);stroke-width:1}

/* 4 · wide, breaking the measure, caption offset to the side */
.article-figure.wide{padding:14px;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);
  gap:20px;align-items:end}
.article-figure.wide figcaption{border-top:0;border-left:1px solid var(--line);padding:0 0 4px 18px;margin:0}
.article-figure.wide figcaption::before{top:0;left:-1px;width:2px;height:34px}
.paper .article-figure.wide figcaption{border-left-color:var(--line-paper)}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery figure{background:var(--panel);border:1px solid var(--line);padding:9px}
.paper .gallery figure{background:var(--paper-2);border-color:var(--line-paper)}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gallery figcaption{font-size:13.5px;line-height:1.4;margin-top:9px}

/* map: frame + caption only; geometry comes from the kit */
.map-figure{background:var(--paper-2);border:1px solid var(--line-paper);padding:14px}
.map-holder{position:relative;background:#2A3034}
.map-holder img{width:100%;display:block}
.map-holder svg.pins{position:absolute;inset:0;width:100%;height:100%}
.map-figure figcaption{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;
  padding-top:12px;margin-top:12px;border-top:1px solid var(--line-paper);position:relative}
.map-figure figcaption::before{content:"";position:absolute;top:-1px;left:0;width:34px;height:2px;background:var(--accent)}
.map-slot{min-height:320px;background:var(--panel);border:1px dashed var(--line)}
.pin-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:14px}
.pin-list a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-paper);
  padding:5px 11px;font-size:14px;background:#fff}
.pin-list a:hover{border-color:var(--accent-ink)}
.pin-list .dot{width:8px;height:8px;background:var(--accent);flex:0 0 auto}

/* ── article page ── */
.art-head{background:var(--ground);padding:46px 0 40px}
.art-head h1{font-size:clamp(34px,5.4vw,84px);line-height:.93;max-width:22ch;margin-top:14px}
.art-dek{font-family:var(--display);font-size:clamp(19px,1.75vw,26px);line-height:1.42;
  max-width:54ch;margin-top:20px;color:#C9CDCF}
.art-meta{display:flex;gap:12px 26px;flex-wrap:wrap;align-items:center;margin-top:22px;
  border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--mute)}
.art-meta .sec{display:inline-flex;align-items:center;gap:8px;color:var(--accent);
  letter-spacing:.14em;text-transform:uppercase;font-size:12.5px}

.paper{background:var(--paper);color:var(--ink-paper)}
.paper a{color:var(--ink-paper)}
.paper a:hover{color:var(--accent-ink)}
.art-body{padding:52px 0 70px}
.art-body .col{max-width:74ch}
.art-body p{font-size:19px;line-height:1.74;margin-bottom:22px}
.art-body h2{font-size:clamp(26px,2.9vw,40px);line-height:1.06;margin:44px 0 18px;max-width:30ch}
.art-body h2 .h-tick{display:block;width:44px;height:2px;background:var(--accent);margin-bottom:14px}
.art-body h3{font-size:23px;margin:32px 0 12px}
.art-body>*+.article-figure{margin-block:34px}
.art-body .article-figure{margin-block:34px}
.art-body .article-figure.inset{margin:6px 0 22px 30px}
.art-body ul.body-list{list-style:none;margin:0 0 24px;display:flex;flex-direction:column;gap:9px}
.art-body ul.body-list li{font-size:18px;line-height:1.55;padding-left:20px;position:relative}
.art-body ul.body-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--accent)}
a.xlink{border-bottom:1px solid var(--accent);padding-bottom:1px}
.entity-ref{border-bottom:1px solid var(--line-paper)}
.entity-ref::after{content:"\2197";font-size:.78em;margin-left:2px;color:var(--accent-ink)}
.paper .entity-ref:hover{border-bottom-color:var(--accent-ink)}

/* text components */
.lead-p,p.lead{font-family:var(--display);font-size:clamp(20px,1.9vw,27px);line-height:1.4;
  margin-bottom:26px}
.pullquote{margin:34px 0;border-top:2px solid var(--accent);border-bottom:1px solid var(--line-paper);
  padding:18px 0 20px}
.pullquote p{font-family:var(--display);font-size:clamp(21px,2.2vw,31px);line-height:1.26;
  margin:0;max-width:40ch}
.blockquote{margin:30px 0;padding-left:20px;border-left:3px solid var(--accent)}
.blockquote p{font-size:19px;line-height:1.6;margin:0 0 8px}
.blockquote cite{font-style:normal;font-size:14px;letter-spacing:.06em;color:var(--mute-paper)}
.callout{margin:32px 0;background:var(--second);color:#F1EAF7;padding:24px 26px}
.callout p{font-size:18px;line-height:1.6;margin:0;max-width:58ch}
.callout .c-label{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:12px}
.callout ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.callout li{font-size:16.5px;line-height:1.5;padding-left:20px;position:relative}
.callout li::before{content:"";position:absolute;left:0;top:.65em;width:10px;height:2px;background:var(--accent)}
.callout li b{color:#fff;font-weight:500}
p.note{font-size:15.5px;line-height:1.6;color:var(--mute-paper);border-left:2px solid var(--line-paper);
  padding-left:14px;margin:24px 0}

/* data */
table{border-collapse:collapse;width:100%}
.versus,.datatable{margin:32px 0;font-size:16px}
.versus caption,.datatable caption{text-align:left;font-size:12.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent-ink);padding-bottom:12px}
.versus th,.versus td,.datatable th,.datatable td{padding:10px 12px;text-align:left;
  border-bottom:1px solid var(--line-paper);vertical-align:top}
.versus thead th,.datatable thead th{font-weight:500;font-size:12.5px;letter-spacing:.12em;
  text-transform:uppercase;border-bottom:2px solid var(--ink-paper)}
.versus td+td,.versus th+th,.datatable td+td,.datatable th+th{text-align:right}
.versus tbody tr:hover,.datatable tbody tr:hover{background:var(--paper-2)}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px;
  margin:34px 0;background:var(--line-paper)}
.statblock{background:var(--paper);padding:18px 18px 20px;display:flex;flex-direction:column;gap:7px}
.paper .statblock{background:var(--paper)}
.stat-num{font-family:var(--display);font-size:clamp(30px,3.2vw,44px);line-height:.95;color:var(--ink-paper)}
.stat-label{font-size:14.5px;line-height:1.4;color:var(--mute-paper)}

.timeline{list-style:none;margin:34px 0;display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--line-paper)}
.timeline li{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:10px 22px;
  padding:14px 0;border-bottom:1px solid var(--line-paper);align-items:baseline}
.t-when{font-family:var(--display);font-size:19px;line-height:1.2;color:var(--accent-ink)}
.t-what{font-size:16.5px;line-height:1.5}

.chart{margin:34px 0}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart figcaption{font-size:14.5px;line-height:1.5;color:var(--mute-paper);margin-top:12px;
  border-top:1px solid var(--line-paper);padding-top:10px}
.chart .bar-rect{fill:var(--accent)}
.chart .bar-rect.alt{fill:var(--second)}
.chart text{font-family:var(--text);font-size:12px;fill:var(--ink-paper)}
.chart .axis{stroke:var(--line-paper);stroke-width:1}

/* cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:34px 0}
.profile-card{background:var(--paper-2);border:1px solid var(--line-paper);padding:20px;
  display:flex;flex-direction:column;gap:9px}
.profile-card .p-photo{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:6px}
.profile-card h3{font-size:22px;line-height:1.1}
.profile-card .p-role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0}
.profile-card p{font-size:15.5px;line-height:1.55;margin:0}
.profile-card .p-links{margin-top:auto;padding-top:8px;font-size:14.5px}
.profile-card .p-attr{font-size:12.5px;color:var(--mute-paper)}
.profile-card.no-photo{border-left:3px solid var(--accent)}

.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:26px 0}
.org-card{display:flex;flex-direction:column;gap:5px;background:var(--paper-2);
  border:1px solid var(--line-paper);padding:15px 16px}
.org-card:hover{border-color:var(--accent-ink)}
.org-logo{height:26px;width:auto;object-fit:contain;margin-bottom:6px}
.org-name{font-family:var(--display);font-size:19px;line-height:1.15}
.org-host{font-size:13px;letter-spacing:.06em;color:var(--mute-paper)}
.org-card.no-logo{border-top:2px solid var(--accent)}

.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;
  background:var(--line-paper);margin:30px 0}
.further-grid a{background:var(--paper);padding:18px 18px 20px;display:flex;flex-direction:column;
  gap:8px;min-height:118px}
.further-grid a:hover{background:var(--paper-2)}
.further-grid .f-sec{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}
.further-grid .f-title{font-family:var(--display);font-size:20px;line-height:1.15;margin-top:auto}

.related-links{list-style:none;display:flex;flex-direction:column;gap:0;
  border-top:1px solid var(--line-paper)}
.related-links li{border-bottom:1px solid var(--line-paper)}
.related-links li a{display:flex;gap:14px;align-items:baseline;padding:13px 0;font-size:18px;line-height:1.4}
.related-links li a .n{font-size:12.5px;letter-spacing:.1em;color:var(--accent-ink);flex:0 0 auto}

/* section landing */
.cat-list{list-style:none;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.cat-list li{border-bottom:1px solid var(--line)}
.cat-list li a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 30px;
  padding:20px 0;align-items:baseline}
.cat-list li a:hover{color:var(--ink)}
.cat-list li a:hover .c-title{color:var(--accent)}
.cat-list .c-title{font-family:var(--display);font-size:clamp(21px,2.2vw,30px);line-height:1.1}
.cat-list .c-brief{font-size:16px;line-height:1.55;color:var(--mute)}
.paper .cat-list{border-top-color:var(--line-paper)}
.paper .cat-list li{border-bottom-color:var(--line-paper)}
.paper .cat-list .c-brief{color:var(--mute-paper)}
.paper .cat-list li a:hover .c-title{color:var(--accent-ink)}

/* archive: a register — legitimate here, never on the front */
.register{width:100%;font-size:16px;margin-top:8px}
.register caption{text-align:left;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);padding-bottom:14px}
.register th,.register td{padding:12px 14px 12px 0;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.register thead th{font-weight:500;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:2px solid var(--accent);color:var(--mute)}
.register tbody tr:hover{background:var(--panel)}
.register .r-title{font-family:var(--display);font-size:19px;line-height:1.2}
.register .r-sec{font-size:14px;color:var(--mute);white-space:nowrap}

/* collapsible long list, CSS only */
.expander{border-top:1px solid var(--line);margin-top:24px}
.expander summary{cursor:pointer;list-style:none;padding:14px 0;font-size:13.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:flex;
  align-items:center;gap:10px}
.expander summary::-webkit-details-marker{display:none}
.expander summary::after{content:"+";font-size:17px;line-height:1}
.expander[open] summary::after{content:"\2013"}
.paper .expander{border-top-color:var(--line-paper)}
.paper .expander summary{color:var(--accent-ink)}

/* ── colophon of supporters ── */
.colophon{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:44px 0 46px}
.colo-head{display:flex;gap:14px 34px;flex-wrap:wrap;align-items:baseline;
  border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px}
.colo-head h2{font-family:var(--display);font-size:26px;line-height:1}
.colo-head p{font-size:14.5px;color:var(--mute);max-width:52ch}
.colo-group+.colo-group{margin-top:28px}
.colo-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
  margin-bottom:14px;display:flex;align-items:center;gap:10px}
.colo-label::after{content:"";flex:1 1 auto;height:1px;background:var(--line)}
.colo-run{display:grid;grid-template-columns:repeat(auto-fit,264px);gap:16px;justify-content:start}
.sponsor{display:flex;flex-direction:column;gap:0;text-decoration:none}
.sponsor img{width:100%;height:58px;max-height:58px;object-fit:contain;object-position:center;
  background:#0B0E10;border:1px solid var(--line);padding:7px 14px}
.sponsor .sponsor-name{display:block;font-size:14.5px;line-height:1.35;padding-top:9px;
  color:#C6CACC;border-top:2px solid transparent}
.sponsor:hover img{border-color:var(--accent)}
.sponsor:hover .sponsor-name{color:var(--accent)}
.sponsor .sponsor-blurb{display:block;font-size:14px;line-height:1.45;color:var(--mute);padding-top:6px}

/* ── footer ── */
.foot{border-top:2px solid var(--accent);padding:38px 0 56px;background:var(--ground);color:var(--ink)}
.foot a{color:var(--ink)}
.foot-top{display:flex;gap:26px 40px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end}
.foot-name{font-family:var(--display);font-size:42px;line-height:.9;letter-spacing:-.028em}
.foot-line{font-size:16px;line-height:1.5;max-width:44ch;color:var(--mute)}
.foot-nav{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:26px;
  border-top:1px solid var(--line);padding-top:16px;font-size:14.5px}
.foot-nav a{color:#C6CACC}

/* ── responsive ── */
@media (max-width:1080px){
  .run,.run.flip{grid-template-columns:minmax(0,1fr);gap:32px}
  .article-figure.wide{grid-template-columns:minmax(0,1fr)}
  .article-figure.wide figcaption{border-left:0;border-top:1px solid var(--line);
    padding:12px 0 0;margin-top:4px}
  .paper .article-figure.wide figcaption{border-top-color:var(--line-paper)}
  .article-figure.wide figcaption::before{top:-1px;left:0;width:34px;height:2px}
  .cat-list li a{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  body{font-size:16.5px}
  .band{padding:52px 0}
  .art-body p{font-size:18px}
  .article-figure.inset{float:none;width:100%;margin:24px 0}
  .article-figure.bleed figcaption{margin-top:0;margin-left:0;max-width:none}
  .article-figure.bleed img{min-height:230px;aspect-ratio:4/3}
  .scale .seg{flex:1 1 100% !important;min-width:0;padding-right:0}
  .timeline li{grid-template-columns:minmax(0,1fr);gap:4px}
  .colo-run{grid-template-columns:repeat(auto-fit,204px)}
  .sponsor img{height:50px;max-height:50px;padding:6px 10px}
  .foot-name{font-size:34px}
}
@media (max-width:400px){
  .colo-run{grid-template-columns:repeat(auto-fit,190px)}
}
@media print{
  body{background:#fff;color:#000}
  .masthead,.colophon,.foot{border-color:#000}
}

/* ── notes-for-design devices, entity blocks, and figure break-out ── */
.device{margin:36px 0}
.device-label{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);
  margin-bottom:4px;display:flex;align-items:center;gap:12px}
.device-label::after{content:"";flex:1 1 auto;height:1px;background:var(--line-paper)}
.device .timeline,.device .statrow{margin-top:16px}
.named{margin:46px 0 0}
.named .device-label{margin-bottom:14px}
.further{margin-top:42px}
.further .device-label{margin-bottom:10px}
.figure-drawn text{font-family:var(--text)}
.art-head .kicker a{color:var(--accent)}
.art-meta .sec svg{stroke:var(--accent)}
@media (min-width:1080px){
  .art-body .article-figure.wide{width:118%}
  .art-body .device .statrow{width:112%}
}
.band.second .article-figure{background:rgba(0,0,0,.24);border-color:rgba(244,241,234,.32)}
.band.second .article-figure figcaption{border-top-color:rgba(244,241,234,.32)}
.band.second .credit{color:#C1B0D0}
.band.second .cap{color:#EFE9F5}
.band.second .related-links a:hover{color:var(--accent)}
.band.second .kicker{color:var(--accent)}
.map-holder svg.pins text{pointer-events:none}
.map-holder svg.pins a:hover circle{fill:#fff}
.map-holder svg.pins a:hover circle[fill="none"]{fill:none;stroke:#fff}
.lead-band .lead-credit .cap{max-width:62ch;color:#E6E8E9}
.lead-band .lead-credit .credit{margin-top:0}
.sponsor.feat img{border-color:var(--accent-ink)}

/* ── article body: keep furniture type out of the 19px body scale ── */
.paper .figure-drawn{background:var(--paper-2);border-color:var(--line-paper)}
.paper .drawn-foot p{color:#3A3C40}
.paper .drawn-foot .src{color:var(--mute-paper)}
.art-body figcaption p{margin-bottom:0}
.art-body .cap{font-size:16px;line-height:1.5}
.art-body .article-figure.inset .cap{font-size:14.5px}
.art-body .credit{font-size:12.5px;line-height:1.45}
.art-body .drawn-foot p{font-size:15.5px;line-height:1.5;margin-bottom:0}
.art-body .drawn-foot .src{font-size:12.5px;line-height:1.5}
.art-body .drawn-label{font-size:12.5px;margin-bottom:18px}
.art-body .figure-drawn{margin:36px 0}
.art-body .callout p.c-label{font-size:12.5px;margin-bottom:12px}
.art-body .device-label{font-size:12.5px;margin-bottom:4px}
.art-body .pin-list a{font-size:14px}

/* ── lead band: a real scrim, not a blur, behind the type ── */
.lead-band::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(14,17,19,.96) 0%,rgba(14,17,19,.9) 26%,rgba(14,17,19,.62) 50%,rgba(14,17,19,.12) 78%,rgba(14,17,19,0) 100%)}
.lead-band .lead-inner{position:relative;z-index:2}
.lead-band h2,.lead-dek{text-shadow:none}
.lead-band .lead-credit .cap{color:#F0F1F2}

/* ── register: no nowrap on phones, and one column below 720px ── */
.register .r-sec{white-space:normal}
@media (min-width:721px){.register .r-sec{white-space:nowrap}}
@media (max-width:720px){
  .register,.register tbody,.register tr,.register td,.register th{display:block;width:100%}
  .register thead{display:none}
  .register tr{border-bottom:1px solid var(--line);padding:14px 0}
  .register td{border:0;padding:0 0 6px}
  .register .r-sec{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
}

.named,.further{clear:both}
.art-body .article-figure.inset:last-of-type{margin-bottom:28px}

/* ── menu: icons + section names on one line, pages in a sub-menu ── */
.scale{align-items:flex-start}
.scale .seg,.scale .seg.s1,.scale .seg.s2,.scale .seg.s3,.scale .seg.s4,.scale .seg.util{
  flex:0 0 auto;min-width:0;padding:0 34px 15px 0;position:relative;border-top:1px solid var(--accent)}
.scale .seg.s2{border-top-width:2px}
.scale .seg.util{padding-right:0}
.scale .seg-name a,.scale .seg.s2 .seg-name a{font-size:17.5px;line-height:1.2;max-width:24ch}
.scale .seg ul{position:absolute;top:100%;left:0;margin:0;z-index:60;min-width:292px;
  background:var(--panel);border:1px solid var(--accent);border-top:0;padding:14px 18px 16px;
  gap:7px;visibility:hidden;opacity:0;transition:opacity .12s ease}
.scale .seg:hover ul,.scale .seg:focus-within ul{visibility:visible;opacity:1}
.scale .seg.s4 ul,.scale .seg.util ul{left:auto;right:0}
.scale .seg li a,.scale .seg.s2 li a{font-size:14.5px;color:#C6CACC}
.scale .seg li a:hover{color:var(--accent)}
@media (max-width:720px){
  .scale .seg,.scale .seg.s1,.scale .seg.s2,.scale .seg.s3,.scale .seg.s4,.scale .seg.util{
    flex:1 1 100%;padding-right:0}
  .scale .seg ul{position:static;visibility:visible;opacity:1;border:0;background:none;
    padding:9px 0 18px;min-width:0}
}

/* ── colophon: use the container width ── */
.colo-run{display:flex;flex-wrap:wrap;gap:18px;justify-content:flex-start}
.sponsor{flex:0 0 250px;width:250px}
.colo-group+.colo-group{margin-top:26px}
@media (max-width:720px){.sponsor{flex:0 0 204px;width:204px}}
@media (max-width:400px){.sponsor{flex:0 0 190px;width:190px}}

/* ── map pins: fixed-size labels over the scaled geometry ── */
.map-holder .pins{position:absolute;inset:0}
.pin{position:absolute;transform:translate(-5px,-50%);display:inline-flex;align-items:center;
  gap:8px;white-space:nowrap;line-height:1}
.dotp{width:10px;height:10px;border-radius:50%;background:var(--accent);
  box-shadow:0 0 0 4px rgba(240,164,0,.22);flex:0 0 auto}
.pin .lbl{font-size:12.5px;letter-spacing:.03em;color:#F4F1EA;background:rgba(16,19,22,.76);
  padding:3px 7px}
.pin:hover .lbl{background:var(--accent);color:#16191C}
@media (max-width:720px){.pin .lbl{font-size:11px;padding:2px 5px}}

.mast-mark{width:104px;height:77px;stroke:currentColor;margin-bottom:2px}
@media (max-width:720px){.mast-mark{width:78px;height:58px}}

.map-holder img{width:100%;height:auto;aspect-ratio:1200/371}

.pin.flip{flex-direction:row-reverse;transform:translate(calc(-100% + 5px),-50%)}
.map-holder{overflow:hidden}

.map-holder svg.legs{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
  stroke:var(--accent);stroke-width:1.4;stroke-dasharray:7 6;opacity:.75}
.leglabels{position:absolute;inset:0;pointer-events:none}
.leg{position:absolute;transform:translate(-50%,-50%);font-size:11px;letter-spacing:.08em;
  color:var(--accent);background:rgba(16,19,22,.82);padding:2px 6px;white-space:nowrap;line-height:1}
@media (max-width:900px){.leg{display:none}}

/* ── colophon: one grid across the container, identical tiles, featured tier marked ── */
.colophon .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));
  gap:18px;align-items:start}
.colo-head{grid-column:1/-1;margin-bottom:6px}
.colo-group{display:contents}
.colo-run{display:contents}
.colo-label{grid-column:1/-1;margin:14px 0 2px}
.colo-head+.colo-group .colo-label{margin-top:0}
.sponsor,.colo-run .sponsor{flex:initial;width:auto}
.sponsor img{height:62px;max-height:62px}
.sponsor.feat img{border-color:var(--accent);background:#12161A}
.sponsor.feat .sponsor-name{border-top:2px solid var(--accent);color:var(--accent);
  font-size:15.5px;padding-top:8px}
.sponsor.feat:hover img{border-color:#fff}
@media (max-width:720px){.sponsor img{height:54px;max-height:54px}}

/* nav item spacing: icon set off from the label, label clear of the rule */
.scale .seg,.scale .seg.s1,.scale .seg.s2,.scale .seg.s3,.scale .seg.s4,.scale .seg.util{
  padding-bottom:20px}
.scale .seg-name{gap:14px;margin-top:13px;align-items:flex-start}
.scale .seg-name svg{width:22px;height:22px;margin-top:2px}
.scale .tick{height:13px}
@media (max-width:720px){.scale .seg-name{margin-top:11px}}

.mast-mark{width:100px;height:75px;margin-bottom:1px}
@media (max-width:720px){.mast-mark{width:76px;height:57px}}

.mast-mark{width:96px;height:68px;margin-bottom:2px}
@media (max-width:720px){.mast-mark{width:72px;height:51px}}

/* nav on one row, short labels, full section title heads its sub-menu */
.scale{flex-wrap:nowrap;overflow:visible}
.scale .seg-name a,.scale .seg.s2 .seg-name a{white-space:nowrap;max-width:none;font-size:18px}
.scale .seg,.scale .seg.s1,.scale .seg.s2,.scale .seg.s3,.scale .seg.s4{padding-right:38px}
.scale .seg.util{margin-left:auto;padding-right:0}
.scale .seg ul li.sub-head{font-family:var(--display);font-size:16.5px;line-height:1.2;
  color:var(--accent);padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
@media (max-width:860px){
  .scale{flex-wrap:wrap}
  .scale .seg,.scale .seg.s1,.scale .seg.s2,.scale .seg.s3,.scale .seg.s4,.scale .seg.util{
    flex:1 1 100%;padding-right:0;margin-left:0}
}

/* ── nav, reformatted: one continuous rule, ticked divisions, dividers ── */
.masthead .scale{border-top:1px solid var(--accent);flex-wrap:nowrap;align-items:stretch;
  margin-top:4px}
.masthead .scale .seg,
.masthead .scale .seg.s1,.masthead .scale .seg.s2,
.masthead .scale .seg.s3,.masthead .scale .seg.s4,.masthead .scale .seg.util{
  border-top:0;padding:0 26px 18px;margin:0;flex:0 0 auto}
.masthead .scale .seg:first-child{padding-left:0}
.masthead .scale .seg+.seg{border-left:1px solid var(--line)}
.masthead .scale .seg.util{margin-left:auto;padding-right:0;border-left:1px solid var(--line)}
.masthead .scale .tick{width:1px;height:11px;background:var(--accent)}
.masthead .scale .seg:first-child .tick{margin-left:0}
.masthead .scale .seg-name{margin-top:11px;gap:12px;align-items:center}
.masthead .scale .seg-name svg{width:21px;height:21px;margin-top:0}
.masthead .scale .seg-name a,.masthead .scale .seg.s2 .seg-name a{
  font-size:18px;color:var(--ink);white-space:nowrap}
.masthead .scale .seg-name a[aria-current="page"]{color:var(--accent)}
.masthead .scale .seg-name a:hover{color:var(--accent)}
@media (max-width:860px){
  .masthead .scale{border-top:0;flex-wrap:wrap}
  .masthead .scale .seg,
  .masthead .scale .seg.s1,.masthead .scale .seg.s2,
  .masthead .scale .seg.s3,.masthead .scale .seg.s4,.masthead .scale .seg.util{
    flex:1 1 100%;border-top:1px solid var(--accent);border-left:0;padding:0 0 16px;
    margin-left:0}
}

.masthead .scale .seg .seg-name a[aria-current="page"],
.masthead .scale .seg.s2 .seg-name a[aria-current="page"]{color:var(--accent)}
.masthead .scale .seg:has(a[aria-current="page"]) .tick{width:2px;height:16px}

/* ── colophon grids: each group fills the row it sits on ── */
.colophon .wrap{display:block}
.colophon .colo-head{grid-column:auto;display:flex;margin-bottom:24px}
.colophon .colo-group{display:block}
.colophon .colo-group+.colo-group{margin-top:28px}
.colophon .colo-label{grid-column:auto;margin:0 0 14px}
.colophon .colo-run{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:18px;justify-content:stretch}
.colophon .sponsor{width:auto;flex:initial}
.colophon .sponsor img{height:66px;max-height:66px}
@media (max-width:720px){
  .colophon .colo-run{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .colophon .sponsor img{height:56px;max-height:56px}
}

@media (min-width:760px){
  .colophon .cols-3 .colo-run{grid-template-columns:repeat(3,minmax(0,1fr))}
  .colophon .cols-4 .colo-run{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1180px){
  .colophon .cols-3 .colo-run{grid-template-columns:repeat(3,minmax(0,1fr))}
  .colophon .cols-4 .colo-run{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ══ article pages: breathing room, a centred measure, cleaner intersections ══ */
.art-head{padding:56px 0 44px}
.art-head h1{margin-top:18px}
.art-dek{margin-top:26px;max-width:52ch}
.art-meta{margin-top:30px;padding-top:18px}

/* the reading column sits centred, so there is no dead margin on one side */
.art-body{padding:0 0 96px}
.art-body>.wrap{padding-top:0}
.art-body .col{max-width:72ch;margin-inline:auto}

/* the hero plate and the paper edge no longer collide */
.art-head+.article-figure.bleed{margin-bottom:0}
.article-figure.bleed figcaption{margin-top:-64px;padding:20px 24px;max-width:46ch}
.paper .art-body{padding-top:64px}

/* vertical rhythm */
.art-body p{margin-bottom:26px}
.art-body h2{margin:64px 0 24px}
.art-body h2 .h-tick{width:52px;margin-bottom:18px}
.art-body h3{margin:44px 0 14px}
.art-body .article-figure,.art-body .figure-drawn{margin-block:52px}
.art-body .device,.art-body .callout,.art-body .pullquote{margin-block:52px}
.art-body .callout{padding:30px 34px}
.art-body .device .timeline,.art-body .device .statrow{margin-top:20px}
.art-body .timeline li{padding:17px 0}
.art-body ul.body-list{margin-bottom:30px}
.art-body .named{margin-top:72px}
.art-body .further{margin-top:56px}
.art-body .related-links li a{padding:16px 0}

/* devices that break the measure do it on both sides, not just the right */
@media (min-width:1080px){
  .art-body .article-figure.wide,
  .art-body .device .statrow,
  .art-body .figure-drawn{width:116%;margin-inline:-8%}
  .art-body .callout{width:110%;margin-inline:-5%}
}
/* a trailing inset would leave an L-shaped hole beside the closing blocks */
.art-body .col>figure.article-figure.inset:last-of-type{float:none;width:100%;margin:52px 0}
.art-body .col>figure.article-figure.inset:last-of-type img{aspect-ratio:16/9}
.art-body .col>figure.article-figure.inset:last-of-type .cap{font-size:16px;padding-left:0;text-indent:0}

@media (max-width:1080px){
  .art-body .col{max-width:70ch}
}
@media (max-width:720px){
  .art-head{padding:40px 0 34px}
  .paper .art-body{padding-top:44px}
  .art-body{padding-bottom:64px}
  .art-body h2{margin:46px 0 18px}
  .art-body .article-figure,.art-body .figure-drawn,
  .art-body .device,.art-body .callout,.art-body .pullquote{margin-block:38px}
  .art-body .callout{padding:24px 22px}
}

/* hero plate sits over the image, so the figure box ends with the image */
.article-figure.bleed{position:relative;overflow:hidden}
.article-figure.bleed figcaption{position:absolute;bottom:0;left:0;margin:0;
  margin-left:clamp(18px,3.4vw,48px);max-width:46ch}
@media (max-width:720px){
  .article-figure.bleed{overflow:visible}
  .article-figure.bleed figcaption{position:static;margin-left:0;max-width:none}
}

@media (max-width:720px){
  .art-body .article-figure.inset,
  .art-body .col>figure.article-figure.inset:last-of-type{
    float:none;width:100%;margin:38px 0}
  .art-body .article-figure.inset .cap{padding-left:0;text-indent:0;font-size:15.5px}
}

/* ══ phones: tap targets, and a map that isn't a thicket of labels ══ */
@media (max-width:720px){
  .masthead .scale .seg-name{padding:6px 0 8px}
  .masthead .scale .seg-name a{font-size:19px;padding:9px 0}
  .masthead .scale .seg ul{gap:0;padding:2px 0 10px}
  .masthead .scale .seg li{border-top:1px solid var(--line)}
  .masthead .scale .seg li a{display:block;padding:13px 0;font-size:15px}
  .foot-nav{gap:0;flex-direction:column}
  .foot-nav a{display:block;padding:13px 0;border-top:1px solid var(--line);font-size:15.5px}
  .pin .lbl{display:none}
  .dotp{width:12px;height:12px;box-shadow:0 0 0 3px rgba(240,164,0,.28)}
  .pin-list{gap:10px}
  .pin-list a{padding:11px 13px;font-size:15px}
  .cat-list li a{padding:18px 0}
  .related-links li a{padding:15px 0}
  .further-grid a{min-height:0;padding:16px}
  .sec-block li a{padding:3px 0;display:inline-block}
  .expander summary{padding:16px 0}
  .quiet{gap:14px}
  .colo-head{margin-bottom:18px}
}
.pin .lbl{font-size:12px}

/* drawn figures keep readable dimension labels on phones: scroll the drawing,
   not the page, so it stays at a scale where the type is legible */
@media (max-width:720px){
  .figure-drawn{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .figure-drawn svg{min-width:880px;width:880px;max-width:none}
  .figure-drawn .drawn-label::after{content:"swipe →";margin-left:10px;padding:3px 8px;
    border:1px solid var(--line);border-radius:2px;font-size:11.5px;letter-spacing:.06em;
    color:var(--mute);white-space:nowrap;background:var(--panel-2)}
  .figure-drawn .drawn-foot::after{content:" The drawing scrolls sideways.";color:var(--mute)}
  .masthead .scale .seg-name a{padding:0;min-height:46px;display:flex;align-items:center}
}

/* 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}
.sponsor:not(.lead-line){grid-column:span 1!important;grid-row:span 1!important}

/* sp-mark-pad: the mark keeps the height Design declared AND the inset Design drew.
   border-box stops width:100%+padding overflowing the tile; the box grows by the
   vertical padding and border so the artwork is not shrunk to pay for the inset. */
.sponsor img,.sponsor-box img,.sp-logo img{box-sizing:border-box!important;height:74px!important;max-height:74px!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-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}

/* MAPKIT_BEGIN — injected real geodata; pins are links */
.map-slot{padding:0;background:none!important;border:0!important;display:flex;align-items:center;justify-content:center;min-height:0!important}
.map-slot>svg.mapkit{width:100%!important;max-width:100%;height:auto;max-height:none;margin:0 auto}
.map-slot{width:100%}
.map-slot{aspect-ratio:auto!important;height:auto!important}
.map-slot::after,.map-slot::before{content:none!important;display:none!important}
.map-figure figcaption{}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#2A3034;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1295px at 390, 16% of the whole page. Two columns bring it to
   682px (47% shorter). Checked before writing: no new overflow, smallest mark still
   167px wide, longest blurb 2 lines, tile heights 105-105px.
   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.
   Only the tier(s) that were one-per-row are touched (.colo-run), 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){
  .colo-run{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
    .colo-run > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .colo-run > * *{min-width:0!important;max-width:100%}
    .colo-run img,.colo-run svg{max-width:100%;height:auto}
}

/* op-odd-tier-lead: .colo-run (3 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){
  .colo-run:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-article-width: the article column was capped at 683px (80 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 72ch (declared in .art-body .col) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  article div.col{max-width:min(870px, 100%)!important}
}
@media (min-width:1600px){
  article div.col{max-width:min(clamp(870px, 60.417vw, 1044px), 100%)!important}
  article div.col > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */

/* op-hover-pad */
.register tbody tr>*:first-child{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--display); font-weight: 500; letter-spacing: -0.018em; margin: 0px;}
.sec-block h2:where(.rt-h3){font-size: 24px; line-height: 1.1;}
h1:where(.rt-h2){font-family: var(--display); font-weight: 500; letter-spacing: -0.018em; margin: 0px;}
.lead-band h1:where(.rt-h2){font-size: clamp(38px, 6.4vw, 104px); line-height: 0.9; max-width: 21ch; margin-top: 14px; text-shadow: rgba(0, 0, 0, 0.55) 0px 2px 40px;}
.lead-band h1:where(.rt-h2){text-shadow: none;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article > figure.article-figure.bleed > img,
  div.col > figure.article-figure > img,
  div.col > figure.article-figure.inset > img,
  div.col > figure.article-figure.wide > img,
  div.run > figure.article-figure > img,
  div.wrap > figure.article-figure.wide > img,
  main > section.lead-band > img){height:auto}
/* op-img-dims:end */
[data-partner] img{background:transparent!important}
