/* ============================================================
   Zine Library — "The Table"
   Photocopier & riso, ink on newsprint, one loud spot colour.
   ============================================================ */

:root{
  --paper:#E5DECB;
  --ink:#181209;
  --spot:#FF6C2F;
  --ink-70:rgba(24,18,9,.72);
  --ink-55:rgba(24,18,9,.55);
  --ink-30:rgba(24,18,9,.3);
  --ink-12:rgba(24,18,9,.12);
  --well:rgba(255,255,255,.4);
  --well-2:rgba(255,255,255,.28);
  --shadow:rgba(24,18,9,.32);
  --measure:68ch;
  --sans:'Archivo',system-ui,sans-serif;
  --black:'Archivo Black','Archivo',sans-serif;
  --display:'Anton',Impact,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --mono2:'Space Mono',ui-monospace,monospace;
  --edge:2px solid var(--ink);
  --wrap:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--spot)}
h1,h2,h3,h4{margin:0;line-height:1.04;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
::selection{background:var(--spot);color:var(--ink)}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:28px}
.rule{border:0;border-top:3px solid var(--ink);margin:0}
.kicker{font:600 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--spot)}
.mono{font-family:var(--mono)}

/* halftone texture helper */
.halftone{background-image:radial-gradient(var(--ink) 1px,transparent 1.4px);background-size:6px 6px}

/* ---------- tape strip artefact ---------- */
.tape{
  position:absolute;left:50%;top:-9px;transform:translateX(-50%) rotate(-1.6deg);
  width:132px;height:28px;background:rgba(255,255,255,.32);
  border:1px solid rgba(24,18,9,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset;
}

/* ============================================================
   MASTHEAD
   ============================================================ */
.masthead{position:relative;text-align:center;padding:40px 28px 22px}
.masthead .eyebrow{font:600 11px/1 var(--mono);letter-spacing:.22em;color:var(--ink-55);text-transform:uppercase}
.wordmark{font-family:var(--black);letter-spacing:-.01em;line-height:.92;margin:14px 0 0;font-size:clamp(44px,9vw,92px)}
.standing{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;font:500 15px/1 var(--mono)}
.standing .dash{width:44px;border-top:2px solid var(--spot)}
.masthead-min{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:16px}
.masthead-min .wordmark{font-size:clamp(26px,4vw,34px);margin:0}

/* ============================================================
   NAV — bordered chips, hard offset shadow
   ============================================================ */
.nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:6px 0 30px}
.chip{
  font:700 13px/1 var(--sans);letter-spacing:.03em;
  border:var(--edge);background:var(--well);
  padding:11px 15px;box-shadow:3px 3px 0 var(--ink);
  transition:transform .08s ease,box-shadow .08s ease,background .12s ease,color .12s ease;
  white-space:nowrap;
}
.chip:hover{background:var(--ink);color:var(--paper);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}
.chip[aria-current="page"]{background:var(--spot);color:var(--ink)}
.chip.small{font-size:12px;padding:8px 12px;box-shadow:2px 2px 0 var(--ink)}

/* ============================================================
   COVER PLATES — the signature. Type, never a scan.
   ============================================================ */
.plate-band{background:var(--spot);position:relative;padding:40px 0 46px}
.plate-band::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(24,18,9,.06) 0 1px,transparent 1px 6px);pointer-events:none}
.plate-band .wrap{position:relative}
.band-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.band-head h2{font-family:var(--black);font-size:clamp(26px,4vw,40px);color:var(--ink)}
.band-head .note{font:600 11px/1.4 var(--mono);letter-spacing:.14em;color:var(--ink);text-transform:uppercase;text-align:right}

.plate-row{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:26px;align-items:stretch}
.plate{
  background:var(--paper);border:var(--edge);box-shadow:5px 6px 0 var(--shadow);
  aspect-ratio:17/22;padding:16px;display:flex;flex-direction:column;
  transition:transform .12s ease,box-shadow .12s ease;
}
.plate:hover{transform:rotate(0deg) translateY(-5px)!important;box-shadow:7px 9px 0 var(--shadow)}
.plate:nth-child(1){transform:rotate(-1.6deg)}
.plate:nth-child(2){transform:rotate(1.1deg)}
.plate:nth-child(3){transform:rotate(-.7deg)}
.plate:nth-child(4){transform:rotate(1.7deg)}
.plate:nth-child(5){transform:rotate(-1.1deg)}
.plate .tag{font:600 9px/1 var(--mono);letter-spacing:.14em;color:var(--spot);text-transform:uppercase}
.plate .colophon{font:400 10px/1.5 var(--mono);margin-top:auto;border-top:1.5px solid var(--ink);padding-top:8px;text-transform:uppercase;letter-spacing:.02em}
.plate-title{margin-top:12px;flex:1}
/* five distinct faces */
.pf-black .plate-title{font-family:var(--black);font-size:clamp(20px,2vw,30px);line-height:1}
.pf-anton{background:var(--ink);color:var(--paper)}
.pf-anton .plate-title{font-family:var(--display);font-size:clamp(22px,2.2vw,32px);line-height:1.02;text-transform:uppercase}
.pf-anton .colophon{border-top-color:var(--paper)}
.pf-anton .tag{color:var(--spot)}
.pf-stroke .plate-title{font-family:var(--black);font-size:clamp(20px,2vw,28px);line-height:1.02;letter-spacing:-.01em;color:transparent;-webkit-text-stroke:1.4px var(--ink)}
.pf-mono .plate-title{font-family:var(--mono2);font-weight:700;font-size:clamp(18px,1.9vw,25px);line-height:1.16}
.pf-mono .tag{background:var(--spot);color:var(--ink);align-self:flex-start;padding:2px 6px}
.pf-boxed .plate-title span{display:inline-block;font-family:var(--black);text-transform:uppercase;font-size:clamp(16px,1.7vw,22px);line-height:1.08;border:var(--edge);padding:8px}
.pf-boxed .colophon{border-top-style:dashed}
.band-foot{display:flex;justify-content:center;margin-top:30px;position:relative}
.stamp{font:600 11px/1 var(--mono);letter-spacing:.14em;background:var(--ink);color:var(--paper);padding:9px 15px;transform:rotate(-1deg);text-transform:uppercase}

/* ============================================================
   "NEW ON THE TABLE" — list + photo
   ============================================================ */
.split{display:grid;grid-template-columns:1fr 1fr;border-top:3px solid var(--ink)}
.split > .col{padding:38px 28px}
.split > .col + .col{border-left:2px solid var(--ink)}
.col-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:6px}
.entry{display:block;padding:16px 0;border-bottom:1px solid var(--ink)}
.entry:last-child{border-bottom:0}
.entry .etitle{font-family:var(--black);font-size:clamp(18px,1.8vw,23px);line-height:1.06;display:block}
.entry .edek{font-size:15px;line-height:1.5;color:var(--ink-70);display:block;margin-top:5px}
.entry .emeta{font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--spot);text-transform:uppercase;display:block;margin-top:8px}
.photo-col{position:relative;min-height:340px;background:var(--ink)}
.photo-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-col .plabel{position:absolute;right:14px;top:14px;background:var(--paper);border:var(--edge);font:600 10.5px/1 var(--mono);letter-spacing:.1em;padding:6px 10px;transform:rotate(2deg);text-transform:uppercase}
.photo-col .credit,.figcredit{font:500 10px/1.3 var(--mono);letter-spacing:.02em;color:rgba(255,255,255,.85)}
.photo-col .credit{position:absolute;left:10px;bottom:8px;background:rgba(24,18,9,.6);padding:3px 7px}

/* ============================================================
   FLOW — maker → distro → table → reader
   ============================================================ */
.flow{background:var(--spot);position:relative;padding:34px 0 40px;border-top:3px solid var(--ink)}
.flow::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(24,18,9,.06) 0 1px,transparent 1px 6px);pointer-events:none}
.flow .wrap{position:relative}
.flow .eyebrow{font:600 11px/1 var(--mono);letter-spacing:.16em;color:var(--ink);text-transform:uppercase}
.flow-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch;margin-top:16px}
.flow-step{background:var(--paper);border:var(--edge);box-shadow:4px 5px 0 var(--shadow);padding:18px}
.flow-step:nth-child(1){transform:rotate(-.8deg)}
.flow-step:nth-child(3){transform:rotate(.7deg)}
.flow-step:nth-child(5){transform:rotate(-.5deg)}
.flow-step:nth-child(7){transform:rotate(.9deg);background:var(--ink);color:var(--paper)}
.flow-step .n{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--spot)}
.flow-step h3{font-family:var(--black);font-size:20px;margin-top:6px}
.flow-step p{font-size:14px;line-height:1.5;color:var(--ink-70);margin:6px 0 0}
.flow-step:nth-child(7) p{color:rgba(229,222,203,.82)}
.flow-arrow{align-self:center;font:700 20px/1 var(--mono)}

/* ============================================================
   SPONSORS — cards on the table, dark ground for light logos
   ============================================================ */
.sponsors{padding:40px 0 46px;border-top:3px solid var(--ink)}
.sponsors .col-head{margin-bottom:16px}
.sponsor-tier{font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--ink-55);text-transform:uppercase;margin:22px 0 12px}
.sponsor-grid{display:grid;gap:16px}
.sponsor-grid.featured{grid-template-columns:repeat(4,1fr)}
.sponsor-grid.standard{grid-template-columns:repeat(4,1fr)}
.sponsor{
  display:flex;flex-direction:column;gap:10px;
  background:var(--ink);color:var(--paper);
  border:var(--edge);box-shadow:4px 5px 0 var(--shadow);
  padding:18px;min-height:132px;text-align:left;
  transition:transform .1s ease,box-shadow .1s ease;
}
.sponsor:hover{transform:translateY(-3px);box-shadow:5px 8px 0 var(--shadow);color:var(--paper)}
.sponsor:nth-child(odd){transform:rotate(-.6deg)}
.sponsor:nth-child(even){transform:rotate(.5deg)}
.sponsor:hover{transform:translateY(-3px) rotate(0deg)}
.sponsor img{height:34px;width:auto;object-fit:contain;opacity:.9}
.sponsor .sponsor-slotno{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--spot);text-transform:uppercase}
.sponsor .sponsor-empty{font:500 12px/1.4 var(--mono);color:rgba(229,222,203,.5)}
.sponsor .sponsor-blurb{font-size:13px;line-height:1.5;color:rgba(229,222,203,.85)}
.sponsor.feat{outline:2px solid var(--spot);outline-offset:-8px}

/* ============================================================
   FOOTER + independence disclaimer + sitemap
   ============================================================ */
.site-foot{background:var(--ink);color:var(--paper);border-top:3px solid var(--ink);padding:40px 0 46px}
.site-foot a{color:var(--paper)}
.site-foot a:hover{color:var(--spot)}
.foot-top{display:grid;grid-template-columns:1.4fr 2.6fr;gap:36px;align-items:start}
.foot-brand .wordmark{color:var(--paper);font-size:34px}
.foot-brand .standing{justify-content:flex-start;color:rgba(229,222,203,.85);margin-top:12px}
.sitemap{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.sitemap h4{font:600 11px/1 var(--mono);letter-spacing:.12em;color:var(--spot);text-transform:uppercase;margin-bottom:10px}
.sitemap ul{list-style:none;margin:0;padding:0}
.sitemap li{margin:0 0 8px}
.sitemap li a{font-size:13px;line-height:1.4;color:rgba(229,222,203,.9)}
.disclaimer{margin-top:34px;padding-top:22px;border-top:1px solid rgba(229,222,203,.25);font:400 13px/1.7 var(--mono);color:rgba(229,222,203,.75);max-width:60ch}
.foot-mini{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px;font:600 11px/1.6 var(--mono);letter-spacing:.08em;color:rgba(229,222,203,.7);text-transform:uppercase}

/* ============================================================
   CATEGORY / SECTION PAGE
   ============================================================ */
.cat-hero{padding:52px 0 36px;text-align:center;border-bottom:3px solid var(--ink);position:relative;overflow:hidden}
.cat-hero .halo{position:absolute;right:-40px;top:-40px;width:320px;height:320px;opacity:.4;transform:rotate(8deg);pointer-events:none;background-image:radial-gradient(var(--spot) 2.4px,transparent 2.9px);background-size:12px 12px}
.cat-hero h1{font-family:var(--black);font-size:clamp(40px,7vw,72px);letter-spacing:-.01em;margin-top:12px;position:relative}
.cat-hero .lede{font-size:clamp(18px,2vw,21px);line-height:1.55;max-width:34em;margin:16px auto 0;padding-inline:8px;position:relative}
.cat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.cat-list li{border-bottom:1px solid var(--ink)}
.cat-list li:nth-child(odd){border-right:2px solid var(--ink)}
.cat-list a{display:flex;flex-direction:column;gap:6px;padding:24px 28px;height:100%;transition:background .12s ease}
.cat-list a:hover{background:var(--well)}
.cat-list .ct{font-family:var(--black);font-size:clamp(20px,2.2vw,26px);line-height:1.05}
.cat-list .cd{font-size:15.5px;line-height:1.55;color:var(--ink-70)}
.cat-list .cm{font:600 11px/1 var(--mono);letter-spacing:.08em;color:var(--spot);text-transform:uppercase;margin-top:auto;padding-top:6px}

/* card grid (even height) used on home + hubs */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{display:flex;flex-direction:column;border:var(--edge);background:var(--well);box-shadow:4px 5px 0 var(--shadow);padding:0;overflow:hidden;transition:transform .1s ease,box-shadow .1s ease}
.card:hover{transform:translateY(-4px);box-shadow:5px 8px 0 var(--shadow)}
.card .card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .ck{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--spot);text-transform:uppercase}
.card h3{font-family:var(--black);font-size:20px;line-height:1.08;min-height:2.16em}
.card p{font-size:14.5px;line-height:1.5;color:var(--ink-70);margin:0}
.card .cmeta{font:600 11px/1 var(--mono);letter-spacing:.06em;color:var(--ink-55);margin-top:auto;padding-top:6px;text-transform:uppercase}

/* ============================================================
   ARTICLE
   ============================================================ */
.post{padding:0 0 20px}
.post-head{padding:50px 0 30px;border-bottom:3px solid var(--ink)}
.post-head .wrap{max-width:900px}
.post-head h1{font-family:var(--black);font-size:clamp(34px,5.4vw,60px);letter-spacing:-.01em;margin-top:14px}
.byline{font:600 13px/1.5 var(--mono);letter-spacing:.04em;color:var(--ink-70);margin-top:20px;text-transform:uppercase}
.byline b{color:var(--ink)}
.post-body{max-width:var(--measure);margin:0 auto;padding:40px 28px 10px;font-size:19.5px;line-height:1.72}
.post-body>p:first-child{}
.post-body h2{font-family:var(--black);font-size:clamp(24px,3vw,32px);line-height:1.1;margin:44px 0 14px}
.post-body p{margin:0 0 1.15em}
.post-body a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--spot);text-decoration-thickness:2px;text-underline-offset:3px}
.post-body a:hover{background:var(--spot);color:var(--ink);text-decoration-color:transparent}
.post-body strong{font-weight:800}
.post-body .sec-sep{border:0;border-top:1.5px dashed var(--ink-30);margin:34px auto;width:70px;border-top-width:3px}

.lead{font-family:var(--sans);font-weight:600;font-size:clamp(20px,2.3vw,25px);line-height:1.45;color:var(--ink);margin:0 0 1.1em}

/* pull-quote — full-bleed marginal */
.pullquote{margin:40px 0;padding:0;border:0}
.pullquote p{font-family:var(--display);text-transform:uppercase;font-size:clamp(26px,4.6vw,44px);line-height:1.02;color:var(--ink);margin:0;padding-left:22px;border-left:8px solid var(--spot)}
.pullquote cite{display:block;margin-top:12px;padding-left:22px;font:600 12px/1 var(--mono);letter-spacing:.1em;color:var(--spot);font-style:normal;text-transform:uppercase}

.article-figure{margin:36px 0}
.article-figure img{width:100%;border:var(--edge);box-shadow:5px 6px 0 var(--shadow)}
.article-figure figcaption{font:500 13px/1.5 var(--mono);letter-spacing:.02em;color:var(--ink-70);margin-top:12px}
.article-figure .figcredit{color:var(--ink-55)}

.related{border-top:3px solid var(--ink);margin-top:36px;padding:30px 0 0}
.related .wrap{max-width:900px}
.related h2{font:600 12px/1 var(--mono);letter-spacing:.14em;color:var(--spot);text-transform:uppercase;margin-bottom:16px}
.related-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.related-links a{display:block;border:var(--edge);background:var(--well);box-shadow:4px 4px 0 var(--shadow);padding:18px 20px;transition:background .12s ease}
.related-links a:hover{background:var(--spot);color:var(--ink)}
.related-links .rk{font:600 10px/1 var(--mono);letter-spacing:.12em;color:var(--spot);text-transform:uppercase;display:block}
.related-links a:hover .rk{color:var(--ink)}
.related-links .rt{font-family:var(--black);font-size:19px;line-height:1.1;display:block;margin-top:8px}

/* ============================================================
   GENERIC PAGE (about/contact/404)
   ============================================================ */
.page-body{max-width:var(--measure);margin:0 auto;padding:44px 28px;font-size:19px;line-height:1.7}
.page-body h1{font-family:var(--black);font-size:clamp(34px,6vw,56px);margin-bottom:8px}
.page-body h2{font-family:var(--black);font-size:26px;margin:36px 0 12px}
.page-body a{text-decoration:underline;text-decoration-color:var(--spot);text-decoration-thickness:2px;text-underline-offset:3px}
.notfound{text-align:center;padding:90px 28px}
.notfound .big{font-family:var(--display);font-size:clamp(90px,22vw,220px);line-height:.85;color:var(--spot);-webkit-text-stroke:3px var(--ink)}

/* ============================================================
   STYLEGUIDE COMPONENT LIBRARY
   ============================================================ */
.callout{border:var(--edge);border-left-width:8px;border-left-color:var(--spot);background:var(--well);padding:20px 22px;margin:28px 0}
.callout p{margin:0;font-size:17px;line-height:1.55}
.note{font:500 15px/1.6 var(--mono);color:var(--ink-70);border:1.5px dashed var(--ink-30);padding:14px 16px;margin:22px 0}
.note::before{content:"NOTE — ";font-weight:700;color:var(--spot)}
.blockquote{margin:30px 0;border-left:8px solid var(--ink);padding:6px 0 6px 22px}
.blockquote p{font-size:22px;line-height:1.4;font-weight:600;margin:0 0 10px}
.blockquote cite{font:600 12px/1 var(--mono);letter-spacing:.08em;color:var(--spot);font-style:normal;text-transform:uppercase}

.versus,.datatable{width:100%;border-collapse:collapse;border:var(--edge);margin:28px 0;font-size:15.5px}
.versus caption,.datatable caption{text-align:left;font:600 11px/1 var(--mono);letter-spacing:.12em;color:var(--ink-55);text-transform:uppercase;padding-bottom:10px}
.versus th,.datatable th{background:var(--ink);color:var(--paper);font-family:var(--black);font-weight:400;text-align:left;padding:12px 14px;font-size:15px}
.versus td,.datatable td{padding:12px 14px;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink);vertical-align:top;line-height:1.45}
.versus td:first-child{border-left:0}.datatable td:first-child{border-left:0}
.versus tbody tr:nth-child(even) td,.datatable tbody tr:nth-child(even) td{background:var(--well-2)}
.versus th:first-child{font:600 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:28px 0}
.statblock{border:var(--edge);box-shadow:4px 5px 0 var(--shadow);background:var(--paper);padding:20px}
.statblock .stat-num{font-family:var(--display);font-size:clamp(40px,6vw,60px);line-height:.9;color:var(--spot);display:block;-webkit-text-stroke:1.5px var(--ink)}
.statblock .stat-label{font:600 12px/1.4 var(--mono);letter-spacing:.04em;color:var(--ink-70);display:block;margin-top:10px;text-transform:uppercase}

.timeline{list-style:none;margin:28px 0;padding:0;border-left:3px solid var(--ink)}
.timeline li{position:relative;padding:0 0 22px 24px}
.timeline li::before{content:"";position:absolute;left:-9px;top:4px;width:14px;height:14px;background:var(--spot);border:2px solid var(--ink)}
.timeline .t-when{font:700 13px/1.3 var(--mono);letter-spacing:.02em;display:block;color:var(--ink)}
.timeline .t-what{font-size:16px;line-height:1.5;color:var(--ink-70);display:block;margin-top:3px}

.chart{margin:28px 0}
.chart svg{width:100%;height:auto;display:block;border:var(--edge);background:var(--well-2);padding:16px}
.chart figcaption{font:500 13px/1.5 var(--mono);color:var(--ink-70);margin-top:10px}
.chart .bar-rect{fill:var(--spot);stroke:var(--ink);stroke-width:2}
.chart .bar-label{font:600 12px var(--mono);fill:var(--ink)}
.chart .bar-val{font:700 12px var(--mono);fill:var(--ink)}
.chart .axis{stroke:var(--ink);stroke-width:2}
.chart .line-path{fill:none;stroke:var(--spot);stroke-width:3}
.chart .line-dot{fill:var(--paper);stroke:var(--ink);stroke-width:2}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:var(--edge);box-shadow:3px 4px 0 var(--shadow)}
.gallery figcaption{font:500 12px/1.4 var(--mono);color:var(--ink-70);margin-top:8px}

.map-figure{margin:28px 0}
.map-slot{border:var(--edge);border-style:dashed;background:var(--well-2);min-height:280px;display:grid;place-items:center}
.map-slot::before{content:none;font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--ink-55)}
.map-figure figcaption{font:500 13px/1.5 var(--mono);color:var(--ink-70);margin-top:10px}

.profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:28px 0}
.profile-card{border:var(--edge);box-shadow:4px 5px 0 var(--shadow);background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:64px;height:64px;object-fit:cover;border:var(--edge);border-radius:50%}
.profile-card.no-photo::before{content:attr(data-initials);width:64px;height:64px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-family:var(--black);font-size:24px;border:var(--edge)}
.profile-card h3{font-family:var(--black);font-size:20px}
.profile-card .p-role{font:600 11px/1 var(--mono);letter-spacing:.1em;color:var(--spot);text-transform:uppercase}
.profile-card p{font-size:15px;line-height:1.55;margin:0}
.profile-card .p-links{display:flex;gap:14px;flex-wrap:wrap}
.profile-card .p-links a{font:600 12px/1 var(--mono);color:var(--ink);text-decoration:underline;text-decoration-color:var(--spot)}

.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:28px 0}
.org-card{display:flex;align-items:center;gap:12px;border:var(--edge);box-shadow:3px 4px 0 var(--shadow);background:var(--paper);padding:14px 16px}
.org-card:hover{background:var(--well)}
.org-logo{width:40px;height:40px;object-fit:contain;border:var(--edge);background:var(--ink);flex:none}
.org-card .org-name{font-family:var(--black);font-size:16px;line-height:1.1;display:block}
.org-card .org-host{font:500 12px/1 var(--mono);color:var(--ink-55);display:block;margin-top:3px}

.entity-ref{font-weight:700;text-decoration:underline;text-decoration-color:var(--spot);text-decoration-thickness:2px;text-underline-offset:2px;white-space:nowrap}
.entity-ref:hover{background:var(--spot);color:var(--ink)}

.further-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.further-grid a{display:block;border:var(--edge);background:var(--well);box-shadow:4px 4px 0 var(--shadow);padding:18px 20px;font-family:var(--black);font-size:18px;line-height:1.1}
.further-grid a:hover{background:var(--spot);color:var(--ink)}

/* ============================================================
   PICKER — spot colour + paper (mechanism kept; defaults pinned)
   ============================================================ */
.picker{position:fixed;right:16px;bottom:16px;z-index:50;font-family:var(--mono)}
.picker-toggle{width:46px;height:46px;border:var(--edge);background:var(--paper);box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.picker-toggle span{width:20px;height:20px;background:var(--spot);border:2px solid var(--ink);display:block}
.picker-panel{position:absolute;right:0;bottom:56px;width:210px;background:var(--paper);border:var(--edge);box-shadow:5px 6px 0 var(--shadow);padding:16px;display:none}
.picker.open .picker-panel{display:block}
.picker h5{font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);margin:0 0 8px}
.picker h5+h5{margin-top:16px}
.picker .swatches{display:flex;gap:8px}
.picker .sw{width:32px;height:32px;border:var(--edge);cursor:pointer;box-shadow:2px 2px 0 var(--ink)}
.picker .sw[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:2px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px){
  .plate-row{grid-template-columns:repeat(3,1fr)}
  .flow-row{grid-template-columns:1fr;gap:10px}
  .flow-arrow{transform:rotate(90deg);justify-self:center}
  .card-grid,.gallery,.further-grid{grid-template-columns:repeat(2,1fr)}
  .sponsor-grid.featured,.sponsor-grid.standard{grid-template-columns:repeat(2,1fr)}
  .sitemap{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr}
}
@media (max-width:680px){
  body{font-size:17px}
  .split{grid-template-columns:1fr}
  .split > .col + .col{border-left:0;border-top:2px solid var(--ink)}
  .cat-list,.related-links,.profile-grid{grid-template-columns:1fr}
  .cat-list li:nth-child(odd){border-right:0}
  .plate-row{grid-template-columns:repeat(2,1fr);gap:16px}
  .card-grid,.gallery,.further-grid{grid-template-columns:1fr}
  .band-head .note{text-align:left}
  .post-body{font-size:18px}
}
@media (max-width:400px){
  .plate-row{grid-template-columns:1fr 1fr}
  .nav{gap:7px}
  .chip{font-size:12px;padding:9px 11px}
}

/* ============================================================
   SIGNATURE — "THE HOUR": the make-one walkthrough instrument
   ============================================================ */
.zl-hour{
  margin:52px calc(-1 * clamp(0px, 7vw, 165px));
  border:3px solid var(--ink);background:var(--spot);
  box-shadow:7px 8px 0 var(--shadow);position:relative;
}
.zl-hour::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(24,18,9,.06) 0 1px,transparent 1px 6px);pointer-events:none}
.zl-hour>*{position:relative}
.zl-hour-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:24px 26px 20px}
.zl-eyebrow{font:600 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:var(--ink);color:var(--paper);padding:4px 8px;display:inline-block}
.zl-hour h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(38px,7vw,68px);line-height:.94;color:var(--ink);margin:12px 0 0;letter-spacing:.01em}
.zl-hour-sub{font:500 14.5px/1.5 var(--mono);color:var(--ink);margin:8px 0 0;max-width:44ch}

.zl-progress{display:flex;align-items:center;gap:12px;flex:none}
.zl-count{font:700 13px/1 var(--mono);letter-spacing:.06em;background:var(--ink);color:var(--paper);padding:8px 10px;white-space:nowrap}
.zl-bar{width:clamp(90px,16vw,170px);height:14px;border:2px solid var(--ink);background:var(--paper);display:block;overflow:hidden}
.zl-bar i{display:block;height:100%;width:0;background:var(--ink);transition:width .18s ease}
.zl-reset{font:600 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:8px 10px;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}
.zl-reset:hover{background:var(--ink);color:var(--paper)}

.zl-clock{display:flex;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.zl-seg{padding:12px 16px;border-right:2px solid var(--ink);background:var(--paper)}
.zl-seg:last-child{border-right:0}
.zl-seg:nth-child(2){background:var(--well)}
.zl-seg span{font:600 10px/1 var(--mono);letter-spacing:.14em;color:var(--spot);text-transform:uppercase;display:block}
.zl-seg b{font-family:var(--black);font-size:clamp(13px,1.5vw,17px);line-height:1.1;display:block;margin-top:6px;font-weight:400}

.zl-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.zl-phase{padding:22px 22px 24px;border-right:2px solid var(--ink);display:flex;flex-direction:column;gap:14px}
.zl-phase:last-child{border-right:0}
.zl-phase>header .zl-min{font:700 11px/1 var(--mono);letter-spacing:.1em;color:var(--ink);background:var(--paper);border:2px solid var(--ink);padding:4px 8px;display:inline-block}
.zl-phase>header h3{font-family:var(--black);font-size:clamp(18px,2vw,23px);line-height:1.06;margin-top:10px;color:var(--ink)}

/* diagrams — paper wells inside the band */
.zl-dia{background:var(--paper);border:2px solid var(--ink);box-shadow:3px 4px 0 var(--shadow);padding:14px}
.zl-dia .zl-cap{font:500 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-55);margin-top:10px;display:block}
/* 1 · the folded sheet, 4 panels */
.zl-sheet{position:relative;display:grid;grid-template-columns:1fr 1fr;height:96px;border:1.5px solid var(--ink)}
.zl-sheet div{display:grid;place-items:center;font:600 9px/1.3 var(--mono);letter-spacing:.06em;text-align:center;color:var(--ink-70);padding:4px;text-transform:uppercase}
.zl-sheet div:first-child{border-right:1.5px dashed var(--spot)}
.zl-sheet::after{content:"FOLD";position:absolute;left:50%;top:-9px;transform:translateX(-50%);font:700 8px/1 var(--mono);letter-spacing:.12em;color:var(--spot);background:var(--paper);padding:0 3px}
/* 2 · imposition map */
.zl-imp{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zl-imp .zl-sh{border:1.5px solid var(--ink)}
.zl-imp .zl-sh b{display:block;font:600 8.5px/1 var(--mono);letter-spacing:.1em;background:var(--ink);color:var(--paper);padding:5px 6px;text-transform:uppercase;font-weight:600}
.zl-imp .zl-pg{display:grid;grid-template-columns:1fr 1fr}
.zl-imp .zl-pg span{padding:9px 0;text-align:center;font:700 12px/1 var(--mono);color:var(--ink)}
.zl-imp .zl-pg span:nth-child(odd){border-right:1.5px dashed var(--spot)}
.zl-imp .zl-pg span:nth-child(3),.zl-imp .zl-pg span:nth-child(4){border-top:1px solid var(--ink-30)}
.zl-imp .zl-side{display:block;font:500 8.5px/1 var(--mono);letter-spacing:.08em;color:var(--ink-55);padding:4px 6px;border-top:1.5px solid var(--ink);text-transform:uppercase}
/* 3 · the spine + two staples */
.zl-spine{position:relative;height:96px;border:1.5px solid var(--ink);border-left:5px solid var(--ink);background:var(--well-2)}
.zl-spine i{position:absolute;left:-5px;width:11px;height:5px;background:var(--spot);border:1px solid var(--ink)}
.zl-spine i:nth-child(1){top:29px}
.zl-spine i:nth-child(2){bottom:29px}
.zl-spine em{position:absolute;right:8px;top:50%;transform:translateY(-50%);font:600 9px/1.4 var(--mono);letter-spacing:.06em;color:var(--ink-55);font-style:normal;text-align:right;text-transform:uppercase}

/* checklists */
.zl-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.zl-checks li{margin:0}
.zl-checks label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14.5px;line-height:1.45;color:var(--ink)}
.zl-checks input{appearance:none;-webkit-appearance:none;flex:none;width:19px;height:19px;margin:1px 0 0;border:2px solid var(--ink);background:var(--paper);cursor:pointer;position:relative}
.zl-checks input:checked{background:var(--ink)}
.zl-checks input:checked::after{content:"";position:absolute;left:3px;top:6px;width:9px;height:4px;border-left:2.5px solid var(--spot);border-bottom:2.5px solid var(--spot);transform:rotate(-45deg)}
.zl-checks input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.zl-checks input:checked+span{text-decoration:line-through;text-decoration-color:var(--ink-30);color:var(--ink-55)}

.zl-hour-foot{border-top:3px solid var(--ink);padding:18px 22px;display:flex;justify-content:center}

@media (max-width:900px){
  .zl-phases{grid-template-columns:1fr}
  .zl-phase{border-right:0;border-bottom:2px solid var(--ink)}
  .zl-phase:last-child{border-bottom:0}
  .zl-clock{flex-direction:column}
  .zl-seg{border-right:0;border-bottom:2px solid var(--ink)}
  .zl-seg:last-child{border-bottom:0}
}
@media (max-width:680px){
  .zl-hour{margin-inline:0}
  .zl-hour-head{align-items:flex-start}
  .zl-progress{width:100%}
  .zl-bar{flex:1}
}

/* ============================================================
   SIGNATURE — "ONE SHEET, FIVE FOLDS": the fold diagram plate
   CSS-only format switcher (radios), no JS.
   ============================================================ */
.zl-fold{
  margin:52px calc(-1 * clamp(0px, 7vw, 165px));
  border:3px solid var(--ink);background:var(--spot);
  box-shadow:7px 8px 0 var(--shadow);position:relative;
}
.zl-fold::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(24,18,9,.06) 0 1px,transparent 1px 6px);pointer-events:none}
.zl-fold>*{position:relative}
.zl-fold input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.zl-fhead{padding:24px 26px 18px}
.zl-fold h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(34px,6vw,60px);line-height:.94;color:var(--ink);margin:12px 0 0}
.zl-fsub{font:500 14.5px/1.5 var(--mono);color:var(--ink);margin:8px 0 0;max-width:46ch}

.zl-ftabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 26px 20px}
.zl-ftabs label{font:700 12.5px/1 var(--sans);letter-spacing:.03em;border:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:10px 13px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease,transform .08s ease}
.zl-ftabs label:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ink)}
.zl-ftabs label small{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--ink-55);margin-top:4px;text-transform:uppercase}

.zl-fbody{border-top:3px solid var(--ink)}
.zl-fpanel{display:none;grid-template-columns:1.15fr 1fr}
.zl-fstage{padding:26px;border-right:2px solid var(--ink);background:var(--paper)}
.zl-fspec{padding:26px;display:flex;flex-direction:column;gap:18px}

/* the sheet */
.zl-bigsheet{position:relative;aspect-ratio:11/8.5;border:2px solid var(--ink);background:var(--well);max-width:520px;margin:0 auto}
.zl-bigsheet .fv,.zl-bigsheet .fm{position:absolute;top:-7px;bottom:-7px}
.zl-bigsheet .fv{border-left:2px dashed var(--spot)}
.zl-bigsheet .fm{border-left:2px solid var(--spot)}
.zl-bigsheet .fh{position:absolute;left:-7px;right:-7px;border-top:2px dashed var(--spot)}
.zl-bigsheet .fcut{position:absolute;border-top:4px solid var(--ink)}
.zl-bigsheet .fcut::after{content:"CUT";position:absolute;left:50%;top:-16px;transform:translateX(-50%);font:700 9px/1 var(--mono);letter-spacing:.12em;color:var(--ink);background:var(--paper);padding:0 4px}
.zl-bigsheet .fp{position:absolute;font:600 9.5px/1.3 var(--mono);letter-spacing:.06em;color:var(--ink-55);text-transform:uppercase;text-align:center;transform:translate(-50%,-50%)}
.zl-sheetcap{font:500 10.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-55);text-align:center;margin-top:14px}

.zl-flegend{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:16px;padding-top:14px;border-top:1.5px solid var(--ink-30)}
.zl-flegend span{display:flex;align-items:center;gap:7px;font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-70)}
.zl-flegend i{display:block;width:26px;flex:none}
.zl-flegend i.l1{border-top:2px dashed var(--spot)}
.zl-flegend i.l2{border-top:2px solid var(--spot)}
.zl-flegend i.l3{border-top:4px solid var(--ink)}

.zl-fsteps{list-style:none;counter-reset:zf;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.zl-fsteps li{counter-increment:zf;display:flex;gap:11px;font-size:14.5px;line-height:1.45;color:var(--ink)}
.zl-fsteps li::before{content:counter(zf,decimal-leading-zero);flex:none;font:700 10px/1 var(--mono);letter-spacing:.04em;background:var(--ink);color:var(--paper);padding:5px 6px;margin-top:1px}
.zl-fspecs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--ink);background:var(--paper);margin-top:auto}
.zl-fspecs div{padding:12px 14px;border-top:1.5px solid var(--ink);border-left:1.5px solid var(--ink)}
.zl-fspecs div:nth-child(1),.zl-fspecs div:nth-child(2){border-top:0}
.zl-fspecs div:nth-child(odd){border-left:0}
.zl-fspecs dt{font:600 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--spot)}
.zl-fspecs dd{margin:6px 0 0;font-family:var(--black);font-size:16px;line-height:1.15}
.zl-fnote{font:500 13px/1.6 var(--mono);color:var(--ink);border-top:3px solid var(--ink);padding:16px 26px}
.zl-fnote b{color:var(--ink)}

/* switcher wiring */
#zf1:checked ~ .zl-ftabs label[for="zf1"],
#zf2:checked ~ .zl-ftabs label[for="zf2"],
#zf3:checked ~ .zl-ftabs label[for="zf3"],
#zf4:checked ~ .zl-ftabs label[for="zf4"],
#zf5:checked ~ .zl-ftabs label[for="zf5"]{background:var(--ink);color:var(--paper)}
#zf1:checked ~ .zl-ftabs label[for="zf1"] small,
#zf2:checked ~ .zl-ftabs label[for="zf2"] small,
#zf3:checked ~ .zl-ftabs label[for="zf3"] small,
#zf4:checked ~ .zl-ftabs label[for="zf4"] small,
#zf5:checked ~ .zl-ftabs label[for="zf5"] small{color:var(--spot)}
#zf1:checked ~ .zl-fbody .zl-fpanel[data-f="1"],
#zf2:checked ~ .zl-fbody .zl-fpanel[data-f="2"],
#zf3:checked ~ .zl-fbody .zl-fpanel[data-f="3"],
#zf4:checked ~ .zl-fbody .zl-fpanel[data-f="4"],
#zf5:checked ~ .zl-fbody .zl-fpanel[data-f="5"]{display:grid}
.zl-fold input:focus-visible ~ .zl-ftabs label[for]{outline:none}
#zf1:focus-visible ~ .zl-ftabs label[for="zf1"],
#zf2:focus-visible ~ .zl-ftabs label[for="zf2"],
#zf3:focus-visible ~ .zl-ftabs label[for="zf3"],
#zf4:focus-visible ~ .zl-ftabs label[for="zf4"],
#zf5:focus-visible ~ .zl-ftabs label[for="zf5"]{outline:3px solid var(--ink);outline-offset:3px}

@media (max-width:900px){
  .zl-fpanel{grid-template-columns:1fr}
  .zl-fstage{border-right:0;border-bottom:2px solid var(--ink)}
  .zl-fspecs{margin-top:0}
}
@media (max-width:680px){
  .zl-fold{margin-inline:0}
  .zl-fspecs{grid-template-columns:1fr}
  .zl-fspecs div{border-left:0!important;border-top:1.5px solid var(--ink)!important}
  .zl-fspecs div:first-child{border-top:0!important}
}


/* 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. */
.sponsor-grid.featured .feat.sponsor .sp-logo.sp-logo{display:block!important;width:100%!important}
.sponsor-grid.featured .feat.sponsor.feat.sponsor img{height:38px!important;display:block!important;width:100%!important}
.sponsor-grid.standard .sponsor .sp-logo.sp-logo{display:block!important;width:100%!important}
.sponsor-grid.standard .sponsor.sponsor img{height:38px!important;display:block!important;width:100%!important}

/* op-overflow-pushed: a.plate.pf-anton overhung the viewport by 70px at 320 on
   index.html — width 176px reaching x=389, white-space:normal,
   min-width:auto, inside div.plate-row (grid/nowrap,
   tracks 171.555px 171.547px). Closed at the element that causes it, phone
   widths only. */
@media (max-width:640px){
  .plate-row{min-width:0}
  .plate.pf-anton{min-width:0;max-width:100%}
}

/* op-overflow-pushed: a.plate.pf-anton overhung the viewport by 70px at 320 on
   index.html — width 176px reaching x=389, white-space:normal,
   min-width:0px, inside div.plate-row (grid/nowrap,
   tracks 171.555px 171.547px). Closed at the element that causes it, phone
   widths only, escalated because the first declaration lost the cascade. */
@media (max-width:640px){
  .plate-row{min-width:0!important}
  .plate.pf-anton{min-width:0!important;max-width:100%!important}
}

/* op-overflow-pushed: a.plate.pf-anton overhung the viewport by 70px at 320 on
   index.html — width 176px reaching x=389, white-space:normal,
   min-width:0px, inside div.plate-row (grid/nowrap,
   tracks 171.555px 171.547px). Closed at the element that causes it, phone
   widths only, escalated because the first declaration lost the cascade. */
@media (max-width:640px){
  .plate-row{min-width:0!important}
  .plate.pf-anton{min-width:0!important;max-width:100%!important}
}

/* op-overflow-pushed: a.plate.pf-anton overhung the viewport by 70px at 320 on
   index.html — width 176px reaching x=389, white-space:normal,
   min-width:0px, inside div.plate-row (grid/nowrap,
   tracks 171.555px 171.547px). Closed at the element that causes it, phone
   widths only, escalated because the first declaration lost the cascade. */
@media (max-width:640px){
  .plate-row{min-width:0!important}
  .plate.pf-anton{min-width:0!important;max-width:100%!important}
}

/* op-overflow-cutoff: same shape — hidden overflow on body hid the defect from a scroll test
   while cutting content off. `.plate-row` is a two-track grid of 171.5px each, so at 320 the
   right-hand plate reached x=389, 70px past the page, and its tag, title and colophon went
   with it. One plate per row below 640; desktop keeps the pair. Tested live: +70 -> 0. */
@media (max-width:640px){
  .plate-row{grid-template-columns:minmax(0,1fr)}
}

/* op-blurb-rows: money blurbs ran to 7 rows at 390, 1300px of tier across
   11 tiles. Operator: blurbs should show "2-3 rows max" on mobile —
   a blurb that long eats the screen and, in a two-column grid, rewraps into more height than
   the columns save. Held to three rows at phone width; the copy stays in the markup and
   desktop is untouched. Only the tier(s) measured past three rows are clamped. */
@media (max-width:640px){
  .sponsor-grid.featured .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;max-height:60px!important;min-height:0!important;overflow:hidden!important}
  .sponsor-grid.standard .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;max-height:60px!important;min-height:0!important;overflow:hidden!important}
}

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

/* op-article-width: the article column was capped at 703px (84 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .post-body) 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){
  div.post-body{--measure:min(81.127ch, 100%)!important}
}
@media (min-width:1600px){
  div.post-body{--measure:min(clamp(81.127ch, 62.917vw, calc(81.127ch * 1.2)), 100%)!important}
  div.post-body > :is(p:not([class])){font-size:clamp(19.5px,1.3542vw,23.4px)!important}
}
/* op-article-width:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.post-body > figure.article-figure > img,
  section.split > div.col.photo-col > img){height:auto}
/* op-img-dims:end */
@media (min-width:941px) and (max-width:1059px){.plate-row.plate-row{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media (min-width:760px) and (max-width:819px){.sponsor-grid:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--sp-gap,16px)!important}.sponsor-grid:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}@media (min-width:860px) and (max-width:879px){.sponsor-grid:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--sp-gap,16px)!important}.sponsor-grid:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}
