/* Mars Austin — The Correction. Carbon Arc palette. */
:root{
  --ground:#121417; --deep:#0b0d0f; --ink:#f2ede4; --arc:#38c4d6; --ember:#e0621f;
  --clay:#c96442; --clay-ink:#e08a5c; --flag:#b00020; --flag-ink:#e8566b;
  --ink-dim:rgba(242,237,228,.82); --ink-quiet:rgba(242,237,228,.58); --rule:rgba(242,237,228,.22);
  --accent:var(--arc);
  --display:'Familjen Grotesk',system-ui,sans-serif;
  --prose-face:'Zilla Slab',Georgia,serif;
  --ui:'Libre Franklin',system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --measure:68ch; --breakout:min(1180px,92vw); --pad:24px;
  --body:1.0625rem; --gap-p:1.15em; --ins:34px;
}
*,*::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-face);
  font-size:var(--body);line-height:1.62;overflow-x:hidden;text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:hover{color:var(--accent)}
h1,h2,h3,h4,.display{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0}
p{margin:0 0 var(--gap-p)}
.wrap{width:100%;max-width:var(--breakout);margin-inline:auto;padding-inline:var(--pad)}
.bleed{width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mark{color:var(--arc);flex:none;display:inline-flex;align-items:center}
.wordmark .mark svg{display:block}

/* ---------- masthead ---------- */
.masthead{position:relative;z-index:4;border-bottom:1px solid var(--rule);background:var(--ground)}
.masthead.over{position:absolute;top:0;left:0;right:0;z-index:6;border-bottom:0;
  background:linear-gradient(180deg,rgba(9,11,13,.95) 0%,rgba(9,11,13,.92) 55%,rgba(9,11,13,.88) 76%,rgba(9,11,13,.4) 90%,rgba(9,11,13,0) 100%);
  padding-bottom:clamp(18px,3vw,46px)}
.masthead.over .wordmark{text-shadow:0 2px 18px rgba(9,11,13,.75)}
.masthead.over .sitenav a{text-shadow:0 1px 10px rgba(9,11,13,.85)}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:20px var(--pad);width:100%;max-width:2400px;margin-inline:auto}
.wordmark{display:flex;align-items:center;gap:14px;font-family:var(--display);font-weight:700;
  font-size:clamp(1.6rem,2.4vw,2.8rem);letter-spacing:-.04em;line-height:.95;text-decoration:none;white-space:nowrap}
.sitenav{display:flex;flex-wrap:wrap;white-space:nowrap;gap:10px clamp(14px,1.6vw,34px);
  font-family:var(--ui);font-size:.85rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.masthead-in{flex-wrap:wrap}
@media (min-width:1100px){.sitenav{flex-wrap:nowrap}.masthead-in{flex-wrap:nowrap}}
.sitenav::-webkit-scrollbar{display:none}
.sitenav a,.footnav a{text-decoration:none}
.sitenav a{padding-block:6px;border-bottom:2px solid transparent;color:var(--nv,var(--ink))}
.footnav a{color:var(--nv,var(--ink-dim))}
.sitenav a:hover,.footnav a:hover{color:var(--nv,var(--arc));filter:brightness(1.18)}
.sitenav a[aria-current]{border-bottom-color:currentColor}
.nv-correction{--nv:#38c4d6}
.nv-roads-water{--nv:#e08a5c}
.nv-barbecue{--nv:#e0621f}
.nv-music{--nv:#7fd8e3}
.nv-older-bones{--nv:#e8566b}
.nv-archive{--nv:#f2ede4}
.navtoggle{display:none}

/* ---------- homepage bands ---------- */
.lead-band{position:relative}
.lead-figure{position:relative;width:100%}
.lead-figure img{width:100%;height:clamp(340px,62vh,760px);object-fit:cover;filter:saturate(.92) contrast(1.04)}
.lead-body{display:grid;gap:clamp(24px,3vw,64px);padding-block:clamp(28px,3.4vw,54px);
  grid-template-columns:minmax(0,1fr)}
.yr{font-family:var(--display);font-weight:700;letter-spacing:-.055em;line-height:.78;color:var(--accent);display:block}
.yrblock{display:flex;flex-direction:column;gap:10px}
.yrlabel{display:flex;align-items:center;gap:12px;font-family:var(--ui);font-size:.7rem;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;color:var(--ink-quiet)}
.yrlabel::after{content:'';flex:1 1 auto;height:1px;background:currentColor;opacity:.45}
.yrrule{display:block;color:var(--accent);opacity:.9}
.yr-out{-webkit-text-fill-color:transparent;-webkit-text-stroke:2px currentColor;text-shadow:none}
@media (min-width:1024px){.yr-out{-webkit-text-stroke-width:3px}}
.yr-xl{font-size:clamp(5.5rem,13vw,16rem)}
.yr-l{font-size:clamp(4rem,8vw,10rem)}
.yr-m{font-size:clamp(2.6rem,4.4vw,5.5rem)}
.yr-s{font-size:clamp(2rem,2.6vw,3rem)}
.h-lead{font-size:clamp(1.9rem,3.4vw,3.4rem)}
.h-band{font-size:clamp(1.6rem,2.6vw,2.7rem)}
.h-card{font-size:clamp(1.2rem,1.5vw,1.7rem);font-family:var(--prose-face);font-weight:600;letter-spacing:-.015em;line-height:1.14}
.deck{font-size:clamp(1.02rem,1.15vw,1.3rem);color:var(--ink-dim);max-width:60ch;margin:0}
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--ui);font-size:.78rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.band{padding-block:clamp(46px,5.5vw,104px);border-top:1px solid var(--rule)}
.band-clay{background:#71351a;color:#fbf1e8;border-top:0}
.band-clay .yr{color:#ffc38a}
.band-clay .kicker{color:#ffc38a}
.band-clay .deck,.band-clay .card-deck{color:rgba(251,241,232,.86)}
.band-clay .cap{color:#fbf1e8}
.band-clay .credit{color:rgba(251,241,232,.66)}
.band-clay .card-sec{color:#ffc38a}
.band-clay a:hover{color:#ffd9b6}
.band-deep{background:var(--deep)}
.quiet-band{padding-block:clamp(40px,4.6vw,84px);border-top:1px solid var(--rule)}
.quiet-line{font-size:clamp(1.25rem,2.1vw,2.15rem);line-height:1.36;max-width:44ch;margin:0}
.cluster{display:grid;gap:clamp(20px,2.4vw,38px);grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.cluster-lead{grid-column:span 2}
.row-split{display:grid;gap:clamp(22px,3vw,56px);grid-template-columns:minmax(0,1fr)}
.alt-entry{display:grid;gap:clamp(18px,2.4vw,42px);grid-template-columns:minmax(0,1fr);align-items:center}
.bracket{display:block;margin:clamp(28px,3vw,54px) 0;color:var(--accent)}

/* ---------- cards ---------- */
.card{display:flex;flex-direction:column;gap:12px;text-decoration:none;height:100%}
.card-media{position:relative;overflow:hidden;background:#1a1e24;--tick:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(242,237,228,.16)}
.card-media img{aspect-ratio:16/10;width:100%;object-fit:cover;
  filter:saturate(.86) contrast(1.07);transition:transform .6s cubic-bezier(.2,.6,.2,1),filter .6s ease}
.card-media::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(185deg,rgba(9,11,13,.28) 0%,rgba(9,11,13,0) 38%,rgba(9,11,13,.55) 100%);
  transition:opacity .45s ease}
.card-media::before{content:'';position:absolute;left:12px;top:12px;width:26px;height:26px;z-index:2;
  border-left:2px solid var(--tick);border-top:2px solid var(--tick);opacity:.7;transition:opacity .35s ease,transform .35s ease}
.card:hover .card-media img{transform:scale(1.04);filter:saturate(1) contrast(1.02)}
.card:hover .card-media::after{opacity:.55}
.card:hover .card-media::before{opacity:1;transform:translate(-3px,-3px)}
/* framed variant — the picture sits inside a dark mat with a bone hairline */
.card-frame .card-media{padding:10px;background:#101317;box-shadow:inset 0 0 0 1px rgba(242,237,228,.26)}
.card-frame .card-media::after{inset:10px}
.card-frame .card-media::before{left:22px;top:22px}
.band-clay .card-media{--tick:#ffc38a;box-shadow:inset 0 0 0 1px rgba(251,241,232,.24)}
.minicard img{box-shadow:inset 0 0 0 1px rgba(242,237,228,.18);filter:saturate(.86) contrast(1.07);transition:filter .5s ease}
.minicard:hover img{filter:saturate(1) contrast(1.02)}
.strip .card-media{--tick:var(--accent)}
.card .h-card{margin:0}
.card-deck{font-family:var(--ui);font-size:.95rem;line-height:1.45;color:var(--ink-quiet);margin:0}
.card-sec{font-family:var(--ui);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);display:flex;align-items:center;gap:8px}
.card-mat .card-media{padding:10px;background:var(--ink)}
.card-rule{border-top:2px solid var(--accent);padding-top:14px}

/* ---------- article ---------- */
.artwrap{width:100%;max-width:2400px;margin-inline:auto;padding-inline:var(--pad)}
.art-head{padding-block:clamp(30px,4vw,70px);display:grid;gap:clamp(18px,2vw,34px);
  grid-template-columns:minmax(0,1fr)}
.art-h1{font-size:clamp(2.1rem,4.4vw,4.6rem);line-height:1.0}
.lead{font-family:var(--prose-face);font-size:clamp(1.15rem,1.5vw,1.6rem);line-height:1.42;color:var(--ink);margin:0 0 var(--gap-p)}
.art-grid{padding-bottom:clamp(40px,5vw,90px)}
.prose{max-width:var(--measure);margin-inline:auto}
.breakout{width:min(100% + 2*var(--pad), var(--breakout));
  margin-left:calc((100% - min(100% + 2*var(--pad), var(--breakout)))/2)}
@supports (width:min(1px,1px)){.breakout{width:min(var(--breakout), calc(100vw - 2*var(--pad)));
  margin-left:calc((100% - min(var(--breakout), calc(100vw - 2*var(--pad))))/2)}}
.prose h2{font-size:clamp(1.5rem,2.2vw,2.3rem);margin:calc(var(--ins) + 6px) 0 .5em}
.prose h3{font-size:clamp(1.2rem,1.5vw,1.6rem);margin:var(--ins) 0 .4em}
.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}
.prose ul,.prose ol{margin:0 0 var(--gap-p);padding-left:1.2em}
.prose li{margin-bottom:.4em}
.ins{margin-block:var(--ins)}
.side{margin-block:var(--ins)}
figure{margin:0}
.figcap{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;margin-top:12px}
.figcap .cap{font-family:var(--ui);font-size:.98rem;line-height:1.4;font-weight:500;max-width:62ch;margin:0;flex:1 1 260px}
.figcap .credit{font-family:var(--mono);font-size:.74rem;letter-spacing:.02em;color:var(--ink-quiet);margin:0;flex:0 1 auto}
.article-figure{margin-block:var(--ins)}
.article-figure img{width:100%}
.fig-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-block:clamp(38px,4vw,72px)}
.fig-bleed img{height:clamp(280px,52vh,680px);object-fit:cover}
.fig-bleed .figcap{max-width:var(--breakout);margin-inline:auto;padding-inline:var(--pad)}
.fig-mat img{padding:14px;background:var(--ink)}
.fig-mat .figcap{justify-content:flex-end;text-align:right}
.fig-mat .figcap .cap{flex:0 1 auto}
.fig-col .figcap{border-top:2px solid var(--accent);padding-top:10px}
.fig-side img{aspect-ratio:4/3;object-fit:cover}
.fig-side .figcap{margin-top:10px}
.fig-side .cap{font-size:.9rem}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-block:var(--ins)}
.gallery img{aspect-ratio:3/2;object-fit:cover}
.map-figure{margin-block:var(--ins)}
.map-figure .map-slot{width:100%;background:var(--deep);border:1px solid var(--rule);overflow-x:auto}
.map-figure svg{min-width:600px}
.map-figure svg{display:block;width:100%;height:auto}

/* components */
.pullquote{margin:var(--ins) 0;padding-left:22px;border-left:3px solid var(--accent)}
.pullquote p{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,1.9vw,2rem);line-height:1.2;letter-spacing:-.02em;margin:0}
.blockquote{margin:var(--ins) 0;padding:22px 26px;background:var(--deep);border:1px solid var(--rule)}
.blockquote p{font-size:1.05rem;margin:0 0 .6em}
.blockquote cite{font-family:var(--ui);font-size:.85rem;font-style:normal;color:var(--ink-quiet)}
.callout{margin:var(--ins) 0;padding:22px 26px;background:rgba(56,196,214,.09);border-left:3px solid var(--accent)}
.callout p{margin:0 0 .6em}.callout p:last-child{margin:0}
.callout h4,.side h4,.statrow-h{font-family:var(--ui);font-size:.74rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.note{font-family:var(--ui);font-size:.95rem;color:var(--ink-quiet);border-top:1px solid var(--rule);padding-top:12px}
.statrow{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));margin-block:var(--ins)}
.statblock{padding:20px;background:var(--deep);border:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}
.stat-num{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,2.4vw,2.6rem);letter-spacing:-.04em;color:var(--accent);line-height:1}
.stat-label{font-family:var(--ui);font-size:.86rem;line-height:1.4;color:var(--ink-dim)}
.timeline{list-style:none;margin:var(--ins) 0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 22px;padding:14px 0;border-bottom:1px solid var(--rule)}
.t-when{font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--accent)}
.t-what{font-family:var(--ui);font-size:.97rem;line-height:1.45;color:var(--ink-dim)}
.versus,.datatable{width:100%;border-collapse:collapse;font-family:var(--ui);font-size:.95rem}
.tablewrap{overflow-x:auto;margin-block:var(--ins);border:1px solid var(--rule)}
.versus th,.versus td,.datatable th,.datatable td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.versus thead th,.datatable thead th{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.datatable tbody tr:last-child td,.versus tbody tr:last-child td{border-bottom:0}
.chart{margin-block:var(--ins)}
.chart svg{width:100%;height:auto;overflow:visible}
.chart .figcap{border-top:1px solid var(--rule);padding-top:10px}
.profile-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-block:var(--ins)}
.profile-card{padding:20px;background:var(--deep);border:1px solid var(--rule)}
.profile-card h3{font-family:var(--prose-face);font-weight:600;font-size:1.15rem;letter-spacing:0;margin:0 0 4px}
.profile-card .p-role{font-family:var(--ui);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
.profile-card p{font-family:var(--ui);font-size:.94rem;line-height:1.5;margin:0 0 .6em}
.profile-card .p-photo{aspect-ratio:1;object-fit:cover;margin-bottom:14px}
.org-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-block:var(--ins)}
.org-card{display:grid;gap:6px;padding:16px;background:var(--deep);border:1px solid var(--rule);text-decoration:none}
.org-logo{max-height:34px;width:auto;object-fit:contain}
.org-name{font-family:var(--ui);font-weight:600;font-size:.98rem}
.org-host{font-family:var(--mono);font-size:.74rem;color:var(--ink-quiet)}
.entity-ref{font-family:var(--ui);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}
.further-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-block:var(--ins)}
.further-grid a{padding:18px;background:var(--deep);border:1px solid var(--rule);text-decoration:none;
  font-family:var(--prose-face);font-size:1.05rem;line-height:1.25;display:flex;align-items:flex-start;gap:10px}
.related-links{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.related-links li a{font-family:var(--prose-face);font-size:1.08rem;text-decoration:none;display:flex;gap:10px;align-items:flex-start}
.art-end{margin-top:var(--ins);padding-top:26px;border-top:1px solid var(--rule)}
.art-foot{padding-block:clamp(34px,4vw,64px);border-top:1px solid var(--rule);margin-top:var(--ins)}

/* section pages */
.sec-open{position:relative}
.sec-open img{width:100%;height:clamp(240px,42vh,540px);object-fit:cover}
.sec-head{padding-block:clamp(26px,3vw,56px);display:grid;gap:22px;grid-template-columns:minmax(0,1fr);align-items:end}
.sec-h1{font-size:clamp(2rem,4vw,4rem)}
.sec-count{font-family:var(--mono);font-size:.8rem;color:var(--ink-quiet);letter-spacing:.06em}
.seclist{display:grid;gap:clamp(28px,2.8vw,44px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  padding-bottom:clamp(40px,5vw,90px)}
.seclist>.lead-entry{grid-column:1/-1;display:grid;gap:clamp(20px,2.6vw,46px);grid-template-columns:minmax(0,1fr);align-items:center}
.sec-jump{display:flex;flex-wrap:wrap;gap:10px 18px;font-family:var(--ui);font-size:.8rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;padding-block:22px;border-top:1px solid var(--rule)}
.sec-jump a{text-decoration:none;display:flex;align-items:center;gap:8px}

/* archive */
.arch-group{padding-block:clamp(30px,3.4vw,60px);border-top:1px solid var(--rule)}
.arch-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.arch-list li{border-bottom:1px solid var(--rule)}
.arch-list a{display:grid;gap:6px 26px;padding:16px 0;text-decoration:none;grid-template-columns:minmax(0,1fr)}
.arch-list .t{font-family:var(--prose-face);font-size:1.12rem;line-height:1.25}
.arch-list .d{font-family:var(--ui);font-size:.9rem;color:var(--ink-quiet);line-height:1.45}

/* supporters colophon */
.colophon{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding-block:clamp(34px,3.6vw,62px);background:var(--deep)}
.colophon-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px;margin-bottom:26px}
.colophon-h::after{content:'';flex:1 1 80px;height:1px;background:var(--rule);align-self:center}
.sponsor-row{justify-content:flex-start}
.colophon-h h2{font-family:var(--ui);font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.colophon-h p{font-family:var(--ui);font-size:.9rem;color:var(--ink-quiet);margin:0;max-width:52ch}
.sponsor-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}
.sponsor{flex:0 0 260px;display:grid;gap:12px;padding:18px;background:#15181c;border:1px solid var(--rule);
  text-decoration:none;align-content:start}
.sponsor img{width:100%;max-width:100%;max-height:44px;height:auto;object-fit:contain;object-position:left center}
.sponsor-logo{display:flex;align-items:center;min-height:56px;padding:6px 8px;background:#0e1013;border:1px solid rgba(242,237,228,.1)}
.sponsor-name{font-family:var(--ui);font-weight:600;font-size:.95rem;white-space:nowrap}
.sponsor-blurb{font-family:var(--ui);font-size:.88rem;line-height:1.45;color:var(--ink-quiet);min-width:200px}
.sponsor-roll .sponsor{flex:0 0 200px;padding:14px}
.sponsor-roll .sponsor-logo{min-height:46px}
.sponsor-roll img{max-height:34px}

/* footer */
.sitefoot{padding-block:clamp(34px,3.6vw,60px);display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
.sitefoot .fm{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,2.2vw,2.6rem);letter-spacing:-.035em;line-height:1}
.standing{font-family:var(--prose-face);font-size:1.02rem;color:var(--ink-dim);max-width:46ch;margin:10px 0 0}
.footnav{display:flex;flex-wrap:wrap;gap:12px 26px;font-family:var(--ui);font-size:.8rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase}
.footnav a{text-decoration:none}

/* ---------- responsive ---------- */
@media (max-width:640px){
  :root{--ins:24px;--pad:18px}
  .cluster-lead{grid-column:span 1}
}
@media (min-width:768px){
  :root{--pad:32px}
  .lead-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end}
  .row-split{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
  .alt-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .alt-entry.rev>figure{order:2}
  .sec-head{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .sitefoot{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .timeline li{grid-template-columns:minmax(140px,190px) minmax(0,1fr)}
  .arch-list a{grid-template-columns:minmax(0,26ch) minmax(0,1fr)}
  .art-head{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}
  .seclist>.lead-entry{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
}
@media (min-width:1024px){
  :root{--body:1.09rem;--breakout:min(1240px,92vw);--ins:40px}
  .cluster{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
}
@media (min-width:1280px){
  :root{--breakout:min(1360px,92vw);--measure:70ch;--ins:44px}
  .prose{max-width:var(--measure)}
}
@media (min-width:1600px){
  :root{--body:1.16rem;--measure:74ch;--breakout:min(1560px,94vw);--pad:44px;--ins:52px}
  .seclist{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
  .lead-figure img{height:min(74vh,860px)}
}
@media (min-width:1920px){
  :root{--body:1.22rem;--measure:78ch;--breakout:min(1800px,94vw);--ins:58px}
  .seclist{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
}
@media (min-width:2560px){
  :root{--body:1.3rem;--measure:82ch;--breakout:min(2280px,94vw);--pad:64px;--ins:66px}
  .yr-xl{font-size:19rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* article body units */
.prose>.breakout{margin-block:var(--ins)}
.prose .statrow.breakout,.prose .gallery.breakout{margin-block:0}
.unit{margin-block:var(--ins)}
.unit>h4{font-family:var(--ui);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.art-end{margin-top:calc(var(--ins) * 1.4)}
.pagefoot-space{height:clamp(24px,3vw,40px)}

/* ---- wide furniture ---- */
.wrap-wide{width:100%;max-width:2400px;margin-inline:auto;padding-inline:var(--pad)}
/* ---- asymmetric cluster ---- */
.cluster-split{display:grid;gap:clamp(24px,3vw,54px);grid-template-columns:minmax(0,1fr)}
.minilist{display:flex;flex-direction:column;gap:18px}
.minicard{display:grid;grid-template-columns:104px minmax(0,1fr);gap:18px;align-items:start;
  border-top:1px solid var(--rule);padding-top:18px;text-decoration:none}
.minicard img{aspect-ratio:1;object-fit:cover;width:104px}
.minicard h3{font-family:var(--prose-face);font-weight:600;font-size:1.05rem;line-height:1.18;letter-spacing:-.01em;margin:0}
.minicard .card-deck{margin:8px 0 0;font-size:.88rem}
.minicard:hover h3{color:var(--accent)}
/* ---- wide strip card ---- */
.strip{display:grid;gap:clamp(20px,2.4vw,44px);grid-template-columns:minmax(0,1fr);align-items:center;
  border-top:2px solid var(--accent);padding-top:clamp(18px,2vw,30px)}
.strip .h-card{font-size:clamp(1.3rem,1.9vw,2rem)}
/* ---- barbecue entries ---- */
.entry-yr{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:22px}
.entry-yr .yr{line-height:.85}
.entry-note{font-family:var(--ui);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-quiet)}
/* ---- older bones band ---- */
.bones{border-top:1px solid var(--rule);padding-block:clamp(52px,6vw,110px);background:
  radial-gradient(120% 140% at 88% 10%, rgba(232,86,107,.14), transparent 62%),var(--deep)}
.bones-grid{display:grid;gap:clamp(24px,3vw,56px);grid-template-columns:minmax(0,1fr);align-items:center}
.bones .quiet-line{font-size:clamp(1.5rem,2.7vw,2.9rem);line-height:1.24;max-width:34ch}
.bones-years{display:flex;gap:clamp(14px,2vw,34px);color:var(--flag-ink);flex-wrap:wrap}
.bones-years .yr{font-size:clamp(3.4rem,7vw,8.5rem)}
@media (min-width:768px){
  .cluster-split{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
  .strip{grid-template-columns:minmax(0,.95fr) minmax(0,1.55fr)}
  .bones-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
}

/* band figures get the same treatment as the cards: hairline, grade, corner tick */
.figframe{--tick:var(--accent)}
.figimg{position:relative;display:block}
.figimg img{display:block;width:100%;box-shadow:inset 0 0 0 1px rgba(242,237,228,.2);
  filter:saturate(.88) contrast(1.06);transition:filter .5s ease}
.figimg::before{content:'';position:absolute;left:12px;top:12px;width:26px;height:26px;z-index:2;
  border-left:2px solid var(--tick);border-top:2px solid var(--tick);opacity:.75;pointer-events:none}
.figimg::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(185deg,rgba(9,11,13,.24) 0%,rgba(9,11,13,0) 40%,rgba(9,11,13,.42) 100%)}
.figframe.mat{padding:12px;background:var(--ink)}
.figframe.mat .cap{color:#191510}
.figframe.mat .credit{color:rgba(25,21,16,.62)}
.band-clay .figframe{--tick:#ffc38a}

/* colophon: left rail + two tiers, leftover row width taken by a hairline */
.colophon-in{display:grid;gap:clamp(22px,2.6vw,48px);grid-template-columns:minmax(0,1fr);align-items:start}
.colophon-rail h2{margin:0 0 10px}
.colophon-rail p{font-family:var(--ui);font-size:.9rem;line-height:1.5;color:var(--ink-quiet);margin:0;max-width:34ch}
.colophon-rail .bracket{margin:18px 0 0;color:var(--accent)}
.sponsor-tier+.sponsor-tier{margin-top:clamp(18px,2vw,30px);padding-top:clamp(18px,2vw,30px);border-top:1px solid var(--rule)}
.tier-label{display:flex;align-items:center;gap:14px;font-family:var(--ui);font-size:.68rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink-quiet);margin:0 0 16px}
.tier-label::after{content:'';flex:1 1 auto;height:1px;background:var(--rule)}
.sponsor-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:0;align-items:stretch}
@media (min-width:1280px){.colophon-in{grid-template-columns:minmax(220px,290px) minmax(0,1fr)}}

/* 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}
.colophon-h{flex-wrap:wrap!important}
.colophon-h > .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-logo{flex-wrap:wrap!important}
.sponsor-logo > .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:5;-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}

/* pipeline: one brand treatment per tile — the name reads at the blurb's own size */
.sponsor .sp-brand{font:inherit!important;font-weight:700!important;letter-spacing:inherit!important;text-transform:none!important;color:inherit!important;display:inline!important;}

/* 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-panels{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:16px;width:100%}
.mapkit-panels>svg.mapkit{width:100%;height:auto;display:block}
@media (max-width:700px){.mapkit-panels{grid-template-columns:minmax(0,1fr)}}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#0D0F12;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */

/* 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-roll .sponsor.sponsor img{height:38px!important}

/* op-money-columns: the supporters block ran one tile per row — 8 tiles,
   1204px at 390, 11% of the whole page. Two columns bring it to
   952px (21% shorter). Checked before writing: no new overflow, smallest mark still
   113px wide, longest blurb 2 lines, tile heights 132-217px.
   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, .sponsor-row.sponsor-roll), 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:16px!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}
  .sponsor-row.sponsor-roll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important}
    .sponsor-row.sponsor-roll > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row.sponsor-roll > * *{min-width:0!important;max-width:100%}
    .sponsor-row.sponsor-roll img,.sponsor-row.sponsor-roll svg{max-width:100%;height:auto}

}

/* op-odd-tier-lead: .sponsor-row (3 tiles), .sponsor-row.sponsor-roll (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}
  .sponsor-row.sponsor-roll:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
h2:where(.rt-h4){font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; margin: 0px;}
h3:where(.rt-h4){font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; margin: 0px;}
h2:where(.rt-h3){font-family: var(--display); font-weight: 700; letter-spacing: -0.03em; line-height: 1.05; margin: 0px;}
.unit > h2:where(.rt-h4){font-family: var(--ui); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin: 0px 0px 14px;}
.unit > h3:where(.rt-h4){font-family: var(--ui); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); margin: 0px 0px 14px;}
.minicard h2:where(.rt-h3){font-family: var(--prose-face); font-weight: 600; font-size: 1.05rem; line-height: 1.18; letter-spacing: -0.01em; margin: 0px;}
.minicard:hover h2:where(.rt-h3){color: var(--accent);}
h3.rt-h4.rt-h4{margin-top:0px;margin-bottom:14px;font-size:11.84px;line-height:12.432px;letter-spacing:2.368px}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.card > figure.card-media > img,
  a.card.card-frame.card-rule > figure.card-media > img,
  a.card.card-mat > figure.card-media > img,
  article.alt-entry.ins > figure.fig-mat > img,
  article.alt-entry.ins.rev > figure.fig-col > img,
  article.artwrap > figure.article-figure.fig-bleed > img,
  article.lead-entry > a.card-media > img,
  div.breakout.gallery > figure > img,
  div.minilist > a.minicard > img,
  div.prose > figure.article-figure.fig-col > img,
  div.prose > figure.article-figure.fig-mat > img,
  div.strip > figure.card-media > img,
  figure.figframe.ins > span.figimg > img,
  figure.figframe.mat > span.figimg > img,
  main > figure.sec-open > img,
  section.lead-band > figure.lead-figure > img){height:auto}
/* op-img-dims:end */
[data-partner] .sponsor-logo{background:transparent!important}
