:root{--paper:#0d1418;--panel:#121d24;--panel2:#101c22;--ink:#e7e3da;--body:#d5dbde;--muted:#aeb9be;--faint:#8fa0a8;--accent:#8ed3c6;--line:rgba(231,227,218,.14);--line2:rgba(231,227,218,.28);--serif:'Newsreader',Georgia,serif;--sans:'Familjen Grotesk',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:hover{color:#b8e6dc}
img{max-width:100%;display:block}
.wrap{max-width:1280px;margin:0 auto;padding-inline:32px}
@media(max-width:640px){.wrap{padding-inline:18px}}

/* ---------- chrome ---------- */
.site-head{padding-top:28px}
.mast{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3vw,30px);letter-spacing:.15em;color:var(--ink);text-decoration:none}
.wordmark:hover{color:var(--ink)}
.tagline{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--faint)}
.site-nav{display:flex;gap:10px 28px;flex-wrap:wrap;margin-top:14px;padding:13px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.13em}
.site-nav a{position:relative;color:var(--muted);text-decoration:none;text-transform:uppercase;padding:2px 0}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-14px;height:2px;background:var(--accent);transition:right .25s ease}
.site-nav a:hover{color:var(--ink)}
.site-nav a:hover::after{right:0}
.site-nav a.on{color:var(--accent)}
.site-nav a.on::after{right:0}
@media(max-width:720px){.site-nav{justify-content:flex-start;gap:8px 18px}.site-nav a::after{bottom:-4px}}
.site-foot{border-top:1px solid var(--line);margin-top:72px;padding:30px 0 44px}
.disc{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--muted);margin:0}
.disc2{font-size:12px;color:var(--faint);margin:8px 0 0}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}
.kicker a{color:var(--accent);text-decoration:none}

/* ---------- homepage ---------- */
.hero{position:relative;margin-top:24px}
.hero img{width:100%;height:min(76vh,700px);object-fit:cover}
.hero-cap{position:absolute;right:28px;bottom:22px;text-align:right;max-width:520px}
.hero-cap .h1line{font-family:var(--serif);font-size:22px;line-height:1.35;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.hero-cap .h2line{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:#d7dee2;text-shadow:0 1px 10px rgba(0,0,0,.7);margin-top:8px}
.hero-cap .h2line a{color:#d7dee2;text-decoration:none}
.standfirst{max-width:840px;margin:44px auto 0;padding-inline:24px;text-align:center}
.standfirst p{font-family:var(--serif);font-size:clamp(20px,2.6vw,27px);line-height:1.5;margin:0;text-wrap:pretty}
.flagship{max-width:840px;margin:26px auto 0;padding-inline:24px;text-align:center;font-size:14px;color:var(--muted)}
.flagship a{text-decoration:none;border-bottom:1px solid rgba(142,211,198,.4)}
.plates{margin-top:28px}
.plate{margin-top:52px}
.plate img{width:100%;height:540px;object-fit:cover}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:52px}
.pair .plate{margin-top:0}
.pair img{height:420px}
.plate-cap{display:flex;gap:10px 20px;align-items:baseline;margin-top:12px;flex-wrap:wrap}
.plate-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent);flex:none;text-transform:uppercase}
.plate-t{font-family:var(--serif);font-size:17px;line-height:1.5;color:#c9d2d6}
.plate-t a{color:var(--accent);text-decoration:none}
@media(max-width:900px){.pair{grid-template-columns:1fr}.plate img,.pair img{height:auto;max-height:62vh}}
.secdex{margin-top:72px;border-top:1px solid var(--line);padding-top:44px}
.secdex-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px 24px;flex-wrap:wrap}
.secdex-sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint)}
.secdex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px 26px;margin-top:26px}
.sd{display:flex;flex-direction:column}
.sd-img{position:relative;display:block;margin-bottom:14px}
.sd-img img{width:100%;height:120px;object-fit:cover;filter:saturate(.75) contrast(.95);transition:filter .25s}
.sd-img:hover img{filter:saturate(1)}
.sd-num{position:absolute;left:0;bottom:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink);background:var(--paper);padding:5px 10px 0 0}
.sd-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.sd-k a{color:var(--accent);text-decoration:none}
.sd-b{font-family:var(--serif);font-size:14.5px;line-height:1.45;color:var(--muted);margin:8px 0 4px}
.sd-list{list-style:none;margin:8px 0 0;padding:0}
.sd-list li{border-top:1px solid var(--line)}
.sd-list li:first-child{border-top:1px solid var(--line2)}
.sd-list a{display:flex;gap:12px;align-items:baseline;padding:9px 0;text-decoration:none}
.sd-i{font-family:var(--mono);font-size:10px;color:var(--faint);flex:none}
.sd-t{font-family:var(--serif);font-size:14.5px;line-height:1.35;color:var(--body)}
.sd-list a:hover .sd-t{color:var(--accent)}
.sd-all{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;margin-top:14px}
.sd-all a{text-decoration:none}
.mapband{margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel2);padding:44px 0 48px}
.mapband-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px 24px;flex-wrap:wrap;margin-bottom:16px}
.mapband-sub{font-size:12.5px;color:var(--faint)}
.map-svg{width:100%;height:auto;display:block}
.map-note{font-family:var(--serif);font-size:15.5px;line-height:1.55;color:#c9d2d6;margin:18px auto 0;max-width:760px;text-align:center}

/* ---------- passage (sponsors) ---------- */
.passage{background:var(--panel);border-top:1px solid var(--line);margin-top:72px;padding:48px 0 54px}
.passage .wrap{max-width:1400px}
.passage-title{font-family:var(--serif);font-size:22px;color:var(--ink);margin:10px 0 4px}
.passage-sub{font-size:13px;color:var(--faint)}
.p-groups{display:flex;flex-wrap:wrap;gap:36px 48px;margin-top:28px}
.p-group{flex:1 1 560px;min-width:280px}
.p-glabel{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--faint);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}
.p-slots{display:flex;flex-wrap:wrap;gap:14px}
.sponsor{flex:1 1 190px;max-width:280px;min-width:170px;display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid rgba(233,237,242,.16);background:rgba(233,237,242,.03);text-decoration:none}
.sponsor:hover{border-color:rgba(233,237,242,.34)}
.s-mark{display:flex;align-items:center;height:48px;overflow:hidden}
.sponsor img{max-height:32px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor-name{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#d7e0ea;text-transform:uppercase;line-height:1.4}
.sponsor-blurb{font-family:var(--serif);font-size:14px;line-height:1.5;color:#9fb0b8}
@media(max-width:520px){.sponsor{flex:1 1 100%;max-width:none}}

/* ---------- category pages ---------- */
.cat-head{max-width:880px;margin:48px auto 0;padding-inline:24px;text-align:center}
.cat-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.6vw,46px);line-height:1.08;margin:14px 0 0}
.cat-blurb{font-family:var(--serif);font-size:18px;line-height:1.55;color:var(--muted);margin:14px 0 0}
.cat-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;padding:0;margin:48px 0 0}
.cat-list li{display:flex}
.cat-list a{display:flex;flex-direction:column;width:100%;border:1px solid var(--line);background:var(--panel);text-decoration:none;color:var(--ink)}
.cat-list a:hover{border-color:var(--line2)}
.cat-list img{width:100%;aspect-ratio:16/10;object-fit:cover}
.c-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.c-body h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin:0 0 8px;min-height:2.5em}
.c-dek{font-size:13.5px;line-height:1.5;color:var(--muted);margin:0}
.c-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint);margin-top:auto;padding-top:14px}

/* ---------- article ---------- */
.art-hero2{position:relative}
.art-hero2>img{width:100%;height:min(72vh,620px);object-fit:cover;display:block}
.art-panel{position:relative;max-width:760px;background:var(--paper);margin-top:-120px;padding:26px 34px 0 0}
.art-panel h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.8vw,56px);line-height:1.04;margin:14px 0 0;text-wrap:pretty}
.byline{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--faint);margin-top:16px;display:flex;gap:8px 24px;flex-wrap:wrap;align-items:baseline}
.byline .credit{margin:0}
.figcap{font-family:var(--serif);font-size:15px;line-height:1.5;color:#c9d2d6;margin-top:10px}
.credit{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:rgba(143,160,168,.75);margin-top:5px}
.art-body{max-width:800px;margin:20px auto 0;padding-inline:24px;font-family:var(--serif);font-size:19px;line-height:1.72;color:var(--body)}
.art-body p{margin:0 0 1.35em;text-wrap:pretty}
.art-body h2{font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.2;margin:56px 0 18px;color:var(--ink);display:flex;align-items:baseline;gap:16px;border-top:1px solid var(--line2);padding-top:22px}
.h2-i{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--accent);flex:none;transform:translateY(-.2em)}
.art-body ul{margin:0 0 1.35em;padding-left:1.2em}
.art-body li{margin-bottom:.5em}
.art-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(142,211,198,.35)}
.lead{font-size:22.5px;line-height:1.55;color:var(--ink)}
.lead.drop::first-letter{font-family:var(--serif);font-size:3.1em;line-height:.82;float:left;padding:.08em .14em 0 0;color:var(--accent)}
.art-fig{margin:56px auto;max-width:1160px;padding-inline:24px}
.art-fig img{width:100%;max-height:560px;object-fit:cover}
.next-band{position:relative;display:block;margin:72px 0 0;text-decoration:none;overflow:hidden}
.next-band img{width:100%;height:340px;object-fit:cover;display:block;filter:saturate(.7) brightness(.55);transition:filter .3s,transform .5s}
.next-band:hover img{filter:saturate(.9) brightness(.7);transform:scale(1.015)}
.nb-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;max-width:820px;margin:0 auto;padding-inline:24px}
.nb-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}
.nb-t{font-family:var(--serif);font-size:clamp(26px,3.6vw,40px);line-height:1.1;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.6);text-wrap:pretty}
.nb-d{font-family:var(--serif);font-size:16px;line-height:1.5;color:#d7dee2;text-shadow:0 1px 10px rgba(0,0,0,.6);max-width:560px}
.nb-go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent);margin-top:6px}
.rel2{margin-top:56px}
.rel2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:18px}
.rel2-card{display:flex;flex-direction:column;gap:10px;text-decoration:none}
.rel2-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.8)}
.rel2-card:hover img{filter:saturate(1)}
.rel2-t{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--ink)}
.rel2-card:hover .rel2-t{color:var(--accent)}
.rel2-d{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--muted)}
@media(max-width:760px){
.art-panel{margin-top:-56px;padding:18px 20px 0 0}
.art-hero2>img{height:52vh}
.next-band img{height:300px}
}
/* notes bands */
.notes-band{max-width:1160px;margin:52px auto;padding:30px 24px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.notes-band .kicker{display:block}
.statrow{display:flex;flex-wrap:wrap;gap:28px;margin-top:20px}
.statblock{flex:1 1 200px;min-width:160px;border-top:2px solid var(--accent);padding-top:12px}
.stat-num{font-family:var(--mono);font-size:24px;line-height:1.2;color:var(--ink);display:block}
.stat-label{display:block;font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:6px}
.timeline{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:minmax(110px,230px) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.timeline li:last-child{border-bottom:0}
.t-when{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--accent)}
.t-what{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--body)}
@media(max-width:560px){.timeline li{grid-template-columns:1fr;gap:4px}}
.steps{list-style:none;counter-reset:st;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:16px}
.steps li{counter-increment:st;flex:1 1 170px;min-width:150px;border-top:1px solid var(--line2);padding-top:10px;font-size:14px;line-height:1.5;color:var(--body)}
.steps li::before{content:counter(st,decimal-leading-zero);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}
.keylist{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0}
.keylist li{display:grid;grid-template-columns:minmax(140px,280px) 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.keylist li:last-child{border-bottom:0}
.k-term{font-family:var(--serif);font-size:16px;color:var(--ink)}
.k-desc{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--muted)}
@media(max-width:560px){.keylist li{grid-template-columns:1fr;gap:4px}}
.notes-band .note{margin:16px 0 0}

/* related */
.related{max-width:800px;margin:60px auto 0;padding-inline:24px}
.related h2{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;margin:0 0 4px;border-top:1px solid var(--line);padding-top:18px}
.related-links{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.related-links a{font-family:var(--serif);font-size:17px;color:var(--ink);text-decoration:none}
.related-links a:hover{color:var(--accent)}
.related-links .r-sec{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--faint);margin-left:10px;text-transform:uppercase}

/* ---------- shared components (styleguide + articles) ---------- */
.pullquote{margin:44px 0;padding:0;border:0}
.pullquote p{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.4;color:var(--ink);margin:0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:22px 0}
.blockquote{margin:36px 0;padding:20px 24px;border:1px solid var(--line)}
.blockquote p{font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.6;margin:0;color:var(--body)}
.blockquote cite{display:block;font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.1em;color:var(--faint);margin-top:12px}
.callout{margin:36px 0;padding:20px 24px;border:1px solid var(--line2);background:var(--panel2)}
.callout p{margin:0;font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--ink)}
.note{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--faint)}
.versus,.datatable{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:14px;margin:24px 0}
.versus th,.datatable th{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--line2)}
.versus td,.datatable td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}
.article-figure{margin:36px 0}
.article-figure img{width:100%}
.article-figure figcaption,.gallery figcaption,.chart figcaption,.map-figure figcaption{font-family:var(--serif);font-size:14.5px;line-height:1.5;color:#c9d2d6;margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:36px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.chart{margin:36px 0}
.chart svg{width:100%;height:auto;display:block}
.map-figure{margin:36px 0}
.map-slot{min-height:320px;border:1px dashed var(--line2);background:var(--panel2)}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:36px 0}
.profile-card{border:1px solid var(--line);background:var(--panel);padding:18px;font-family:var(--sans);font-size:14px;color:var(--muted)}
.profile-card h3{font-family:var(--serif);font-weight:500;font-size:20px;margin:12px 0 2px;color:var(--ink)}
.profile-card .p-photo{width:72px;height:72px;object-fit:cover;border-radius:50%}
.profile-card.no-photo .p-photo{display:none}
.profile-card .p-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}
.profile-card .p-links a{margin-right:12px}
.p-attr{font-size:11px;color:var(--faint)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:36px 0}
.org-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--panel);padding:14px;text-decoration:none}
.org-card .org-logo{max-height:28px;width:auto;align-self:flex-start}
.org-card.no-logo .org-logo{display:none}
.org-name{font-family:var(--sans);font-size:14.5px;color:var(--ink)}
.org-host{font-family:var(--mono);font-size:10.5px;color:var(--faint)}
.entity-ref{font-family:inherit;color:var(--accent);text-decoration:none;border-bottom:1px dotted rgba(142,211,198,.5)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:36px 0}
.further-grid a{display:block;border:1px solid var(--line);padding:16px 18px;font-family:var(--serif);font-size:16px;line-height:1.4;color:var(--ink);text-decoration:none;background:var(--panel)}
.further-grid a:hover{border-color:var(--line2)}

/* 404 */
.err{max-width:640px;margin:100px auto;padding-inline:24px;text-align:center}
.err h1{font-family:var(--serif);font-weight:500;font-size:44px;margin:0 0 12px}
.err p{font-family:var(--serif);font-size:18px;color:var(--muted)}

/* ---------- plate essay ---------- */
.plates{display:flex;flex-direction:column;gap:72px;margin-top:64px}
.pl{margin:0}
.pl img{width:100%;object-fit:cover;display:block}
.pl-full{position:relative}
.pl-full img{height:min(76vh,640px)}
.pl-panel{position:relative;max-width:580px;background:var(--paper);margin:-76px 0 0;padding:20px 30px 0 0}
.pl-panel.right{margin-left:auto;padding:20px 0 0 30px;text-align:right}
.pl-no{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;display:block}
.pl-arg{font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);line-height:1.45;color:var(--ink);margin:12px 0 10px;text-wrap:pretty}
.pl-arg-sm{font-family:var(--serif);font-size:17px;line-height:1.5;color:#c9d2d6;margin:10px 0 8px;text-wrap:pretty}
.pl-link{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.pl-under{margin-top:14px}
.pl-row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px;align-items:end}
.pl-row.rev{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.pl-lead img{height:620px}
.pl-side{display:flex;flex-direction:column;gap:30px;justify-content:flex-end}
.pl-side .pl img{height:360px}
.pl-state{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.3vw,26px);line-height:1.5;color:var(--muted);margin:0;border-top:1px solid var(--line2);padding-top:20px;text-wrap:pretty}
.pl-row70{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:30px;align-items:center}
.pl-row70 img{height:520px}
.pl-aside{margin:0}
@media(max-width:900px){
.plates{gap:56px}
.pl-row,.pl-row.rev,.pl-row70{grid-template-columns:1fr}
.pl-row.rev .pl-side{order:2}
.pl-full img,.pl-lead img,.pl-side .pl img,.pl-row70 img{height:auto;max-height:62vh}
.pl-panel,.pl-panel.right{margin-top:-44px;max-width:none;padding:16px 18px 0 0}
.pl-panel.right{padding:16px 0 0 18px}
}

/* category list: featured lead + even remainder */
.cat-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.cat-list li:first-child{grid-column:1/-1}
.cat-list li:first-child a{flex-direction:row;align-items:stretch}
.cat-list li:first-child img{width:56%;aspect-ratio:auto;min-height:340px;height:auto}
.cat-list li:first-child .c-body{width:44%;padding:26px 28px;justify-content:center}
.cat-list li:first-child h3{font-size:29px;min-height:0}
.cat-list li:first-child .c-dek{font-size:15px;line-height:1.55}
.cat-list li:first-child .c-meta{margin-top:20px}
@media(max-width:760px){
.cat-list li:first-child a{flex-direction:column}
.cat-list li:first-child img{width:100%;min-height:0;aspect-ratio:16/10}
.cat-list li:first-child .c-body{width:100%;padding:16px 18px 18px}
.cat-list li:first-child h3{font-size:22px}
}

/* 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}

/* 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. */
.p-slots .sponsor .s-mark.s-mark{background:#121013!important;padding:8px 12px!important;box-sizing:border-box!important}
.p-slots .sponsor .s-mark.s-mark{display:block!important;width:100%!important}
.p-slots .sponsor.sponsor img{height:38px!important;display:block!important;width:100%!important;background:transparent!important;width:100%!important;padding:0!important}

/* op-no-tile-ground: operator: extra background. The tile carries a 3% white wash
   (rgba(233,237,242,.03)) — just enough to read as a panel on a dark page. Fill only. */
.p-slots .sponsor{background:transparent}

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

}

/* op-odd-tier-lead: .p-slots (3 tiles), .p-slots (3 tiles), .p-slots (3 tiles), .p-slots (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){
  .p-slots:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .p-slots:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .p-slots:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .p-slots:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
.c-body h2:where(.rt-h3){font-family: var(--serif); font-weight: 500; font-size: 21px; line-height: 1.25; margin: 0px 0px 8px; min-height: 2.5em;}
.cat-list li:first-child h2:where(.rt-h3){font-size: 29px; min-height: 0px;}
@media (max-width: 760px){.cat-list li:first-child h2:where(.rt-h3){font-size: 22px;}}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.pl-row > figure.pl.pl-lead > img,
  div.pl-row.rev > figure.pl.pl-lead > img,
  div.pl-row70 > figure.pl > img,
  div.pl-side > figure.pl > img,
  div.plates.wrap > figure.pl.pl-full > img,
  div.rel2-grid > a.rel2-card > img,
  div.sd > a.sd-img > img,
  div.wrap > div.hero > img,
  li > a > img,
  main > a.next-band > img,
  main > div.art-hero2 > img,
  main > figure.art-fig > img){height:auto}
/* op-img-dims:end */
@media (min-width:1060px) and (max-width:1279px){.p-slots.p-slots:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(280px,calc(50% - 7px)),1fr))!important;column-gap:14px!important;row-gap:14px!important;justify-content:stretch!important;align-items:stretch!important}.p-slots.p-slots > [data-partner]{flex:none!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
[data-partner] .s-mark{background:transparent!important}
:root body [data-partner][data-partner] .s-mark{background:transparent!important}
