/* npaction.org — palette: ground (bone paper), ink, accent (petrol), flag (plum), mat (deep bone) */
:root{
  --ground:#F3EEE4;
  --mat:#E4DCCC;
  --mat-2:#EDE6D9;
  --ink:#15181A;
  --ink-soft:#3A4145;
  --ink-quiet:#5C6266;
  --accent:#0C4A59;
  --flag:#9E2B58;
  --line:rgba(21,24,26,.22);
  --line-2:rgba(21,24,26,.42);
  --disp:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Work Sans',system-ui,sans-serif;
  --mono:'Courier Prime',ui-monospace,monospace;
  --pad:clamp(18px,4vw,44px);
  --measure:68ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font:400 17.5px/1.62 var(--body);
  overflow-x:hidden;text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;letter-spacing:-.028em;line-height:1.06;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(12,74,89,.3)}
a:hover,a:focus{color:var(--flag);border-bottom-color:var(--flag)}
a:focus-visible,summary:focus-visible{outline:2px solid var(--flag);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--ground);padding:10px 14px;z-index:20}
.skip:focus{left:8px;top:8px}
.ic{width:17px;height:17px;flex:0 0 auto;color:var(--accent)}
.ic-sec{width:26px;height:26px}
.rule{display:block;width:100%;height:7px;color:var(--ink)}
.rule-s{height:6px}
.emblem{width:64px;height:64px;flex:0 0 auto;color:var(--accent)}
.wrap{max-width:1360px;margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--mono)}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--flag);
  display:flex;align-items:center;gap:8px}
.kicker .ic{color:var(--flag);width:15px;height:15px}

/* ---------- masthead + index ---------- */
.mast{border-bottom:2px solid var(--ink)}
.mast-top{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr)}
.mh-mark{display:flex;gap:16px;padding:24px var(--pad) 22px;border-right:1px solid var(--ink)}
.mh-words{min-width:0}
.mh-name{font-family:var(--disp);font-weight:800;font-size:clamp(34px,3.4vw,46px);line-height:.92;
  letter-spacing:-.04em;color:var(--ink);border:0;display:block;font-stretch:88%}
.mh-name:hover{color:var(--accent)}
.mh-tld{color:var(--flag)}
.mh-sig{margin-top:10px;font-size:14.5px;line-height:1.45;color:var(--ink-soft);max-width:26ch}
.index{min-width:0}
.idx-wrap{min-width:0}
.idx-toggle{display:none}
.idx-body{display:flex;flex-direction:column;min-width:0}
.idx-major{padding:20px var(--pad) 18px}
.idx-h{display:flex;align-items:center;gap:11px}
.idx-title{font-family:var(--disp);font-weight:800;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;
  color:var(--ink);border:0;line-height:1}
.idx-title:hover{color:var(--flag)}
.idx-count{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-quiet);border:1px solid var(--line);padding:2px 6px}
.idx-blurb{font-size:15px;color:var(--ink-soft);margin:8px 0 0}
.idx-list{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:5px 28px;max-width:660px}
.idx-list li{display:flex;align-items:center;gap:8px;min-width:0}
.idx-list a{color:var(--ink-soft);border:0;font-size:16px;line-height:1.3}
.idx-list a:hover{color:var(--flag)}
.idx-runs{background:var(--mat-2);border-top:1px solid var(--ink)}
.idx-run{display:grid;grid-template-columns:212px minmax(0,1fr);align-items:baseline;
  border-bottom:1px solid var(--line)}
.idx-rhead{display:flex;align-items:center;gap:9px;padding:11px 16px 11px var(--pad);
  border-right:1px solid var(--line);align-self:stretch}
.idx-run .ic{width:16px;height:16px;top:0}
.idx-rtitle{font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.025em;color:var(--ink);
  border:0;line-height:1.1}
.idx-rtitle:hover{color:var(--flag)}
.idx-rlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 26px;
  padding:11px var(--pad) 12px 18px}
.idx-rlist li{min-width:0;font-size:14.5px;line-height:1.4}
.idx-rlist a{font-size:14.5px;color:var(--ink-soft);border:0;line-height:1.4}
.idx-rlist a:hover{color:var(--flag)}
.idx-major.is-here .idx-title,.idx-run.is-here .idx-rtitle{color:var(--accent);box-shadow:0 2px 0 var(--flag)}
.idx-all{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  padding:11px var(--pad);border:0;background:var(--mat)}
@media (max-width:1000px){
  .mast-top{grid-template-columns:1fr}
  .mh-mark{border-right:0;border-bottom:1px solid var(--ink)}
  .idx-toggle{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;
    font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
    padding:12px var(--pad);border-bottom:1px solid var(--line)}
  .idx-toggle::-webkit-details-marker{display:none}
  .idx-toggle::after{content:'\002b';font-size:17px;margin-left:auto;color:var(--flag)}
  .idx-wrap[open] .idx-toggle::after{content:'\2013'}
  .idx-list{grid-template-columns:1fr 1fr}
  .idx-run{grid-template-columns:168px minmax(0,1fr)}
  .idx-rhead{padding-right:12px}
  .idx-rlist{padding-left:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
}
@media (max-width:620px){
  .idx-list{grid-template-columns:1fr}
  .idx-run{grid-template-columns:1fr}
  .idx-rhead{border-right:0;padding:10px var(--pad) 0}
  .idx-rlist{padding:5px var(--pad) 11px;grid-template-columns:1fr 1fr}
}

/* ---------- bands ---------- */
.band{border-bottom:2px solid var(--ink)}
.band-in{max-width:1360px;margin:0 auto;padding:44px var(--pad) 40px}
.band-accent{background:var(--accent);color:var(--ground)}
.band-accent a{color:var(--ground);border-bottom-color:rgba(243,238,228,.4)}
.band-accent .ic{color:var(--ground)}
.band-flag{background:var(--flag);color:#F6EFE8}
.band-flag a{color:#F6EFE8}
.band-mat{background:var(--mat-2)}
.h-sec{font-size:clamp(26px,2.6vw,32px);margin-bottom:4px}
.band-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px}
.more{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* opener plate */
.plate{position:relative;border-bottom:2px solid var(--ink)}
.plate img{width:100%;height:clamp(320px,46vw,560px)!important;object-fit:cover}
.plate-card{background:var(--ground);border-top:2px solid var(--ink);border-right:2px solid var(--ink);
  padding:26px 30px 22px;max-width:640px}
@media (min-width:861px){
  .plate-card{position:absolute;left:0;bottom:0;width:min(640px,58%)}
}
.plate-card h1{font-size:clamp(30px,3.6vw,46px);font-stretch:90%;margin-bottom:12px}
.plate-card p{font-size:17px;color:var(--ink-soft);max-width:52ch}
.credit{font-family:var(--mono);font-size:11.5px;color:var(--ink-quiet);margin-top:12px}
.credit span{border:1px solid var(--line-2);padding:2px 7px;letter-spacing:.1em}

/* lead feature */
.lead-band{display:grid;grid-template-columns:1.35fr 1fr;border-bottom:2px solid var(--ink)}
.lead-main{padding:40px var(--pad) 30px;border-right:1px solid var(--ink);min-width:0;
  display:flex;flex-direction:column}
.lead-main h2{font-size:clamp(32px,4vw,54px);font-stretch:88%;margin:12px 0 16px;letter-spacing:-.035em}
.lead-main h2 a{color:var(--ink);border:0}
.lead-main h2 a:hover{color:var(--accent)}
.lead-dek{font-size:19.5px;line-height:1.45;color:var(--ink-soft);max-width:54ch}
.lead-side{padding:40px var(--pad) 30px;min-width:0;display:flex;flex-direction:column;gap:20px;align-self:start}
.second{display:flex;gap:14px}
.second img{width:96px;height:64px!important;object-fit:cover;flex:0 0 auto;border:1px solid var(--line-2)}
.second h3{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.second h3 a{color:var(--ink);border:0}
.second h3 a:hover{color:var(--flag)}
.second p{font-size:14.5px;color:var(--ink-quiet);margin-top:4px;line-height:1.4}
@media (max-width:860px){.lead-band{grid-template-columns:1fr}.lead-main{border-right:0;border-bottom:1px solid var(--ink)}}

/* diptych */
.diptych{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}
.dip{padding:40px var(--pad) 36px;min-width:0}
.dip:first-child{border-right:2px solid var(--ink)}
.dip h3{font-size:clamp(26px,3vw,34px);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.dip h3 a{color:inherit;border:0}
.dip h3 .ic{width:30px;height:30px;color:inherit}
.dip p{font-size:17px;line-height:1.58;margin-bottom:16px}
.spec{font-family:var(--mono);font-size:13px}
.spec div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.band-accent .spec div{border-top-color:rgba(243,238,228,.3)}
.spec b{font-weight:700}
@media (max-width:760px){.diptych{grid-template-columns:1fr}.dip:first-child{border-right:0;border-bottom:2px solid var(--ink)}}

/* dense register */
.reg{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px}
.reg-row{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.reg-k{font-family:var(--mono);font-size:12px;color:var(--flag);flex:0 0 68px}
.reg-v{font-size:15px}
@media (max-width:860px){.reg{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.reg{grid-template-columns:1fr}}

/* quiet line */
.quiet{text-align:center;padding:clamp(44px,7vw,72px) var(--pad)}
.quiet p{font-family:var(--disp);font-weight:600;font-size:clamp(28px,4.4vw,50px);line-height:1.1;
  letter-spacing:-.03em;color:var(--accent);max-width:24ch;margin:0 auto}
.quiet .sub{font-family:var(--body);font-weight:400;font-size:16.5px;color:var(--ink-soft);
  max-width:62ch;margin:18px auto 0;letter-spacing:0;line-height:1.55}

/* cards */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.card{display:flex;flex-direction:column;background:var(--ground);border-top:2px solid var(--ink)}
.card-mat{padding:12px;border:1px solid var(--line);background:var(--ground)}
.card img{aspect-ratio:16/10;height:auto!important;object-fit:cover;width:100%}
.card h3{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.14;margin:10px 0 6px;min-height:2.3em}
.card h3 a{color:var(--ink);border:0}
.card h3 a:hover{color:var(--flag)}
.card p{font-size:14.5px;color:var(--ink-quiet);line-height:1.45}
.card .kicker{margin-top:12px}
.card .foot-meta{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:11px;color:var(--ink-quiet)}

/* sections hub */
.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px 34px}
.hub-item{border-top:2px solid var(--ink);padding-top:12px}
.hub-item.hub-wide{grid-column:span 2;border-top:5px solid var(--accent)}
.hub-item h3{font-size:24px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:10px}
.hub-wide h3{font-size:34px;font-weight:800}
.hub-item h3 a{color:var(--ink);border:0}
.hub-item h3 a:hover{color:var(--flag)}
.hub-item p{font-size:15px;color:var(--ink-quiet);line-height:1.5}
.hub-wide p{font-size:16px;color:var(--ink-soft)}
.hub-n{font-family:var(--mono);font-size:12px;color:var(--flag);margin-bottom:6px}
@media (max-width:760px){.hub-item.hub-wide{grid-column:span 1}}

/* ---------- supporters ---------- */
.support{background:var(--mat);border-bottom:2px solid var(--ink)}
.support-in{max-width:1360px;margin:0 auto;padding:30px var(--pad) 28px}
.support-lede{font-size:15.5px;color:var(--ink-soft);max-width:66ch;margin-top:6px}
.support-run{display:grid;grid-template-columns:repeat(auto-fit,minmax(282px,1fr));gap:0;margin-top:20px;
  border-top:1px solid var(--line-2)}
.support-group{padding:16px 22px 14px;border-right:1px solid var(--line)}
.support-group:last-child{border-right:0}
.support-group h3{font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--flag);margin-bottom:12px}
.support-slots{display:grid;grid-template-columns:1fr;grid-auto-rows:106px;gap:10px}
.sponsor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;gap:5px;
  background:var(--ground);border:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:11px 13px;color:var(--ink)}
.sponsor:hover{border-color:var(--flag);color:var(--flag)}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor-name{font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.015em;line-height:1.15}
.sponsor-blurb{font-size:13.5px;line-height:1.4;color:var(--ink-quiet);min-width:200px;flex:1 1 auto;min-height:0}
.sponsor:hover .sponsor-blurb{color:var(--ink-soft)}
@media (max-width:900px){.support-group{border-right:0;border-bottom:1px solid var(--line)}}

/* ---------- article ---------- */
.art{padding-bottom:0}
.crumb{font-family:var(--mono);font-size:12px;color:var(--ink-quiet);border-bottom:1px solid var(--line);
  padding:12px var(--pad)}
.crumb a{border:0}
.crumb .sep{color:var(--flag);padding:0 6px}
.art-head{max-width:1360px;margin:0 auto;padding:38px var(--pad) 30px}
.art-head h1{font-size:clamp(34px,5.4vw,66px);font-stretch:88%;letter-spacing:-.038em;margin:14px 0 18px;
  max-width:26ch}
.lead{font-size:clamp(19px,2.1vw,22px);line-height:1.44;color:var(--ink-soft);max-width:54ch}
.docket{display:flex;flex-wrap:wrap;gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);
  max-width:1360px;margin:0 auto}
.docket div{flex:1 1 320px;padding:16px var(--pad);border-right:1px solid var(--line);min-width:0}
.docket div:last-child{border-right:0}
.docket dt{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--flag);margin-bottom:6px}
.docket dd{margin:0;font-size:16.5px;line-height:1.45;color:var(--ink)}
.body{max-width:1360px;margin:0 auto;padding:0 var(--pad) 10px}
.measure{max-width:var(--measure);margin:0 auto}
.measure>p{font-size:18.5px;line-height:1.72;margin:0 0 26px}
.measure>h2{font-size:clamp(26px,3vw,34px);margin:0 0 18px;line-height:1.08}
.measure>h3{font-size:22px;font-weight:600;margin:30px 0 10px}
.measure>ul{margin:0 0 22px}
.measure>ul li{position:relative;padding-left:20px;margin-bottom:8px;font-size:17.5px;line-height:1.55}
.measure>ul li::before{content:'';position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--flag)}
.dropcap::first-letter{font-family:var(--disp);font-weight:800;font-size:4.1em;line-height:.78;float:left;
  margin:.06em .07em 0 0;color:var(--accent)}

/* figures */
.article-figure{margin:0 0 38px}
.article-figure img{width:100%}
.article-figure figcaption{margin-top:11px}
.fig-cap{font-size:16px;line-height:1.48;color:var(--ink);max-width:62ch}
.fig-cap .fig-k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--flag);display:block;margin-bottom:4px}
.fig-credit{font-family:var(--mono);font-size:11.5px;color:var(--ink-quiet);margin-top:5px}
/* 1 · plate: breaks the measure edge to edge */
.fig-plate{width:100%;max-width:none;margin:46px 0 42px}
.fig-plate img{height:clamp(260px,40vw,520px)!important;object-fit:cover;border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink)}
.fig-plate figcaption{max-width:var(--measure);margin:11px auto 0}
/* 2 · mat: photograph sits on a deep-bone mat with drawn corner marks */
.fig-mat{position:relative;background:var(--mat);padding:16px;border:1px solid var(--line-2)}
.fig-mat .cnr{position:absolute;width:26px;height:26px;color:var(--accent)}
.fig-mat .cnr-tl{top:6px;left:6px}
.fig-mat .cnr-br{bottom:6px;right:6px}
.fig-mat figcaption{padding:0 2px}
/* 3 · inset: sits in the column, prose runs beside it */
.fig-inset{float:right;width:min(46%,320px);margin:6px 0 18px 26px}
.fig-inset img{border:1px solid var(--line-2)}
.fig-inset .fig-cap{font-size:14.5px;max-width:none}
/* 4 · ruled: column width, accent bar above */
.fig-rule{border-top:4px solid var(--flag);padding-top:14px}
@media (max-width:640px){.fig-inset{float:none;width:100%;margin:0 0 24px}}

/* instrument panels — the note material, breaking the column full width */
.instrument{background:var(--mat-2);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  margin:52px 0;padding:38px 0 34px}
.instrument-in{max-width:1360px;margin:0 auto;padding-inline:var(--pad)}
.instrument h2{font-size:clamp(22px,2.4vw,28px);margin-bottom:4px}
.instrument .rule{color:var(--ink);margin:12px 0 18px}
.inst-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 34px}
.inst-list li{border-top:1px solid var(--line);padding:12px 0}
.inst-k{display:block;font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.015em;
  color:var(--accent);margin-bottom:3px}
.inst-v{display:block;font-size:15.5px;line-height:1.5;color:var(--ink-soft)}
.instrument.is-flag{background:var(--flag);color:#F6EFE8;border-color:var(--ink)}
.is-flag .inst-k{color:#F6EFE8}
.is-flag .inst-v{color:rgba(246,239,232,.9)}
.is-flag .inst-list li{border-top-color:rgba(246,239,232,.35)}
.is-flag .rule{color:rgba(246,239,232,.7)}
.is-flag a{color:#F6EFE8}

/* components */
.callout{background:var(--ground);border:1px solid var(--ink);border-left:7px solid var(--accent);
  padding:26px 28px;margin:40px 0}
.callout p{font-size:17.5px;line-height:1.55;margin:0}
.callout .inst-k{font-size:16px}
.note{font-size:15.5px;line-height:1.55;color:var(--ink-soft);background:var(--mat-2);
  padding:14px 16px;border-left:3px solid var(--flag);margin:0 0 26px}
.pullquote{margin:46px 0;padding:4px 0 4px 30px;border-left:6px solid var(--flag)}
.pullquote p{font-family:var(--disp);font-weight:600;font-size:clamp(22px,2.6vw,28px);line-height:1.24;
  letter-spacing:-.02em;color:var(--accent);margin:0}
.blockquote{margin:30px 0;padding:22px 24px;background:var(--mat-2);border:1px solid var(--line)}
.blockquote p{font-size:19px;line-height:1.5;margin:0 0 10px;font-style:italic}
.blockquote cite{font-family:var(--mono);font-size:12.5px;font-style:normal;color:var(--ink-quiet)}
.versus,.datatable{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:16px}
.versus caption,.datatable caption{text-align:left;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--flag);padding-bottom:10px}
.versus th,.datatable th{text-align:left;font-family:var(--mono);font-weight:400;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-quiet);padding:8px 12px 8px 0;
  border-bottom:1px solid var(--ink)}
.versus td,.datatable td{padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top;
  line-height:1.45}
.versus tbody th{color:var(--accent);font-family:var(--disp);font-size:16px;letter-spacing:-.01em;
  text-transform:none;border-bottom:1px solid var(--line);width:34%}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);margin:0 0 28px}
.statblock{background:var(--ground);padding:18px 16px;display:flex;flex-direction:column;gap:4px}
.stat-num{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.2vw,38px);line-height:1;
  letter-spacing:-.04em;color:var(--accent)}
.stat-label{font-size:14px;line-height:1.4;color:var(--ink-soft)}
.timeline{margin:0 0 28px;border-top:1px solid var(--ink)}
.timeline li{display:grid;grid-template-columns:minmax(120px,26%) 1fr;gap:8px 20px;padding:12px 0;
  border-bottom:1px solid var(--line)}
.t-when{font-family:var(--mono);font-size:13px;color:var(--flag);line-height:1.4}
.t-what{font-size:16px;line-height:1.5}
@media (max-width:520px){.timeline li{grid-template-columns:1fr;gap:3px}}
.chart{margin:0 0 30px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-size:15px;color:var(--ink-soft);margin-top:10px;line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:0 0 30px}
.gallery figure{margin:0}
.gallery img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line-2)}
.gallery figcaption{font-size:13.5px;color:var(--ink-quiet);margin-top:6px;line-height:1.4}
.map-figure{margin:0 0 30px;background:var(--mat);padding:14px;border:1px solid var(--line-2)}
.map-figure .map-slot{min-height:320px;background:var(--mat-2);border:1px dashed var(--line-2)}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:0 0 28px}
.profile-card{display:flex;flex-direction:column;gap:8px;background:var(--mat-2);padding:18px;
  border-top:2px solid var(--accent)}
.p-photo{width:72px;height:72px;object-fit:cover;border-radius:50%}
.profile-card h3{font-size:19px;font-weight:600}
.p-role{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--flag)}
.profile-card p{font-size:15px;line-height:1.5;color:var(--ink-soft)}
.p-attr{font-family:var(--mono);font-size:11.5px;color:var(--ink-quiet);margin-top:auto}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 28px}
.org-card{display:flex;flex-direction:column;gap:3px;background:var(--ground);border:1px solid var(--line);
  padding:14px 16px;color:var(--ink)}
.org-card:hover{border-color:var(--flag)}
.org-logo{max-height:34px;max-width:100%;width:auto;object-fit:contain;margin-bottom:6px}
.org-name{font-family:var(--disp);font-weight:600;font-size:17px}
.org-host{font-family:var(--mono);font-size:12px;color:var(--ink-quiet)}
.entity-ref{white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.further-grid a{border:0;border-top:2px solid var(--ink);padding-top:12px;font-family:var(--disp);
  font-weight:600;font-size:20px;line-height:1.16;letter-spacing:-.02em;color:var(--ink);display:block}
.further-grid a:hover{color:var(--flag)}
.related-links{display:grid;gap:10px}
.related-links li{border-top:1px solid var(--line);padding-top:9px;display:flex;gap:10px;align-items:baseline}
.related-links a{font-size:17px}
.cat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 34px}
.cat-list li{border-top:1px solid var(--line);padding:14px 0;display:grid;
  grid-template-columns:22px 1fr;gap:4px 12px}
.cat-list .ic{margin-top:4px;grid-row:span 2}
.cat-list a{font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--ink);
  border:0;line-height:1.15}
.cat-list a:hover{color:var(--flag)}
.cat-list p{font-size:14.5px;color:var(--ink-quiet);line-height:1.45}
.expand{margin:14px 0 0}
.expand summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);cursor:pointer;border-top:1px solid var(--line);padding-top:10px}
.expand[open] summary{color:var(--flag)}

/* footer */
.foot{background:var(--ink);color:var(--ground);border-top:2px solid var(--ink)}
.foot-in{max-width:1360px;margin:0 auto;padding:32px var(--pad);display:flex;flex-wrap:wrap;
  gap:22px 40px;align-items:center;justify-content:space-between}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot .emblem{width:40px;height:40px;color:var(--ground)}
.foot-name{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:-.03em}
.foot-line{font-size:15px;line-height:1.5;color:rgba(243,238,228,.82);max-width:52ch}
.foot-nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot-nav a{color:var(--ground);border-bottom-color:rgba(243,238,228,.35);font-size:14.5px;
  display:flex;align-items:center;gap:7px}
.foot-nav a:hover{color:#fff;border-bottom-color:#fff}
.foot .ic{color:rgba(243,238,228,.7);width:15px;height:15px}

/* simple pages */
.page-head{max-width:1360px;margin:0 auto;padding:44px var(--pad) 8px}
.page-head h1{font-size:clamp(34px,5vw,58px);font-stretch:88%;margin-bottom:16px}
.prose{max-width:var(--measure);margin:0 auto;padding:22px var(--pad) 60px}
.prose p{font-size:18.5px;line-height:1.66;margin:0 0 22px}
.prose h2{font-size:26px;margin:34px 0 12px}

.flag-lede{max-width:64ch;margin-top:10px;font-size:17px;line-height:1.55;color:rgba(246,239,232,.92)}
.is-flag-item{border-top-color:#F6EFE8}
.is-flag-item .hub-n{color:rgba(246,239,232,.78)}
.is-flag-item h3 a{color:#F6EFE8}
.is-flag-item h3 a:hover{color:#fff}
.is-flag-item p{color:rgba(246,239,232,.88)}
.band-flag .ic{color:#F6EFE8}
.cat-h1{font-size:clamp(36px,5.4vw,62px);font-stretch:88%;margin:14px 0 16px}
.fg-sub{display:block;font-family:var(--body);font-weight:400;font-size:14.5px;color:var(--ink-quiet);
  margin-top:5px;letter-spacing:0;line-height:1.45}
.lead-side .note{border-left-color:var(--accent);background:var(--mat)}

.profile-card.no-photo{border-top-color:var(--flag)}
.p-links{font-size:14.5px}
.org-card.no-logo .org-name{color:var(--accent)}
.chart.donut svg,.chart.line svg{background:var(--ground)}

/* lead band — figure spans both columns, so neither column carries dead space */
.lead-fig{grid-column:1/-1;border-top:1px solid var(--ink);background:var(--mat-2);
  padding:24px var(--pad) 22px}
.lead-fig .article-figure{margin:0;max-width:none}
.lead-fig .article-figure img{height:clamp(260px,30vw,440px);object-fit:cover}
.lead-fig figcaption{display:block}
.lead-fig .fig-cap{max-width:78ch;font-size:17px}
@media (max-width:860px){.lead-fig{grid-template-columns:1fr}.lead-side{padding-top:8px}}

/* the return, drawn */
.ret-band{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:0 44px;align-items:start}
.ret-draw{margin:0}
.ret-draw .sheet{width:100%;height:auto;color:var(--accent);display:block}
.ret-draw figcaption{font-size:14px;line-height:1.45;color:var(--ink-quiet);margin-top:12px;
  border-top:1px solid var(--line);padding-top:9px}
.ret-lede{font-size:17px;line-height:1.55;color:var(--ink-soft);max-width:60ch;margin:10px 0 22px}
.ret-list{display:block;border-top:1px solid var(--line)}
.ret-list li{display:grid;grid-template-columns:84px 1fr;align-items:baseline;column-gap:0;
  padding:9px 0;border-bottom:1px solid var(--line)}
.ret-k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--flag);white-space:nowrap}
.ret-v{font-size:16px;line-height:1.4;position:relative;padding-left:16px}
.ret-v::before{content:'';position:absolute;left:0;top:.62em;width:9px;
  border-top:1px solid var(--line-2)}
@media (max-width:860px){.ret-band{grid-template-columns:1fr;gap:24px}
 .ret-draw{max-width:260px}}

/* governance run */
.gov-run{padding-top:28px}
.gov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0}
.gov-card{padding:18px 26px 6px 0;border-top:2px solid var(--ink);margin-right:26px;display:flex;
  flex-direction:column;gap:7px}
.gov-n{font-family:var(--mono);font-size:12px;color:var(--flag)}
.gov-card h3{font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.14}
.gov-card h3 a{color:var(--ink);border:0}
.gov-card h3 a:hover{color:var(--flag)}
.gov-card p{font-size:15px;line-height:1.5;color:var(--ink-quiet)}
@media (max-width:760px){.gov-card{margin-right:0}}

/* sections hub */
.hub-lede{font-size:16.5px;line-height:1.55;color:var(--ink-soft);max-width:62ch;margin-bottom:26px}
.hub2{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line)}
.hub2-item{background:var(--ground);border:0;padding:20px 20px 22px;display:flex;flex-direction:column;
  gap:9px;color:var(--ink)}
.hub2-item:hover{background:var(--mat-2)}
.hub2-plate{width:46px;height:46px;border:1px solid var(--ink);display:flex;align-items:center;
  justify-content:center;color:var(--accent)}
.hub2-plate .ic{width:24px;height:24px}

.hub2-n{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--flag)}
.hub2-t{font-family:var(--disp);font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1}
.hub2-item:hover .hub2-t{color:var(--flag)}
.hub2-b{font-size:14.5px;line-height:1.45;color:var(--ink-quiet)}

.lead-docket{margin:auto 0 0;padding-top:26px;display:grid;gap:0;border-top:2px solid var(--ink)}
.lead-docket div{padding:13px 0;border-bottom:1px solid var(--line);display:grid;
  grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:4px 20px;align-items:baseline}
.lead-docket dt{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--flag)}
.lead-docket dd{margin:0;font-size:16.5px;line-height:1.42}
.lead-go{display:inline-flex;align-items:center;gap:9px;margin-top:20px;align-self:flex-start;
  background:var(--accent);color:var(--ground);border:0;padding:12px 18px;
  font-family:var(--disp);font-weight:600;font-size:16px}
.lead-go:hover{background:var(--flag);color:var(--ground);border:0}
@media (max-width:620px){.lead-docket div{grid-template-columns:1fr}}

/* section marks — a drawn rule and a numeral before every prose heading */
.sec-mark{display:flex;align-items:center;gap:16px;margin:54px 0 16px;color:var(--accent)}
.measure>.sec-mark:first-child{margin-top:8px}
.sec-mark .hrule{flex:1 1 auto;height:12px;width:auto;min-width:0}
.sec-mark .sec-n{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--flag);
  flex:0 0 auto;order:-1}

/* numbers, pulled out */
.instrument .statrow{margin:0;border:0;background:transparent;gap:1px;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.instrument .statblock{background:var(--ground);border:1px solid var(--line);padding:20px 18px 18px;gap:6px}
.stat-num{font-variant-numeric:tabular-nums}
.stat-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--flag);line-height:1.35}
.stat-more{font-size:14.5px;line-height:1.45;color:var(--ink-soft);border-top:1px solid var(--line);
  padding-top:8px;margin-top:2px}
.is-flag .statblock{background:rgba(0,0,0,.14);border-color:rgba(246,239,232,.34)}
.is-flag .stat-num{color:#F6EFE8}
.is-flag .stat-label{color:rgba(246,239,232,.86)}
.is-flag .stat-more{color:rgba(246,239,232,.9);border-top-color:rgba(246,239,232,.3)}
.inst-rest{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 34px;margin-top:22px}
.inst-rest div{border-top:1px solid var(--line);padding:12px 0}
.inst-rest dt{font-family:var(--disp);font-weight:600;font-size:16.5px;color:var(--accent);margin-bottom:3px}
.inst-rest dd{margin:0;font-size:15.5px;line-height:1.5;color:var(--ink-soft)}
.is-flag .inst-rest dt{color:#F6EFE8}
.is-flag .inst-rest dd{color:rgba(246,239,232,.9)}
.is-flag .inst-rest div{border-top-color:rgba(246,239,232,.35)}
.instrument .versus,.instrument .datatable,.instrument .timeline{margin-bottom:0}
.instrument .timeline li{padding:14px 0}
.is-flag .versus td,.is-flag .datatable td,.is-flag .timeline li{border-bottom-color:rgba(246,239,232,.3)}
.is-flag .versus tbody th,.is-flag .datatable th{color:#F6EFE8;border-bottom-color:rgba(246,239,232,.4)}
.is-flag .t-when{color:rgba(246,239,232,.85)}

/* figures called out wherever they appear in the lifted material */
.num{font-family:var(--mono);font-weight:700;font-size:.96em;color:var(--accent);
  background:rgba(12,74,89,.07);padding:1px 4px;white-space:nowrap}
.is-flag .num{color:#F6EFE8;background:rgba(0,0,0,.2)}
.statblock .num,.stat-num .num{background:none;padding:0}
.stat-more .num{background:rgba(12,74,89,.07)}

/* two plates presented as one object, never as two loose items */
.fig-pair{margin:46px 0 42px;border-top:2px solid var(--ink);padding-top:14px}
.pair-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--flag);margin:0 0 16px}
.fig-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}
.pair-kicker{grid-column:1/-1}
.fig-pair .pair-fig{margin:0;background:var(--mat);border:1px solid var(--line);padding:12px 12px 0}
.fig-pair .pair-fig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border:1px solid rgba(21,24,26,.22)}
.fig-pair figcaption{padding:12px 2px 14px}
@media(max-width:700px){.fig-pair{grid-template-columns:1fr}}

/* the threshold ladder — figure, consequence */
.ladder{list-style:none;margin:0;padding:0}
.ladder li{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,.85fr);
  align-items:baseline;gap:0 14px;padding:18px 0;border-bottom:1px solid var(--line)}
.ladder li:last-child{border-bottom:0;padding-bottom:4px}
.lad-t{font-size:16.5px;line-height:1.45;color:var(--ink)}
.lad-c{font-family:var(--disp);font-weight:600;font-size:17.5px;line-height:1.3;color:var(--accent)}
.lad-a{width:22px;height:22px;color:var(--flag);align-self:center;flex:0 0 auto}
.ladder .num{font-size:1.32em;line-height:1;padding:2px 5px;letter-spacing:-.01em;
  font-variant-numeric:tabular-nums}
.is-flag .lad-t{color:rgba(246,239,232,.94)}
.is-flag .lad-c{color:#F6EFE8}
.is-flag .lad-a{color:rgba(246,239,232,.7)}
.is-flag .ladder li{border-bottom-color:rgba(246,239,232,.3)}
@media(max-width:640px){
  .ladder li{grid-template-columns:1fr;gap:8px;padding:16px 0}
  .lad-a{transform:rotate(90deg);margin-left:-2px}
}

/* next-in-section cards */
.rl-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:22px}
.rl-head .h-sec{margin:0}
.rl-all{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--flag);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.rl-all:hover{color:var(--accent)}
.related-links{list-style:none;margin:0;padding:0;display:grid;gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.related-links li{margin:0;padding:0;border:0}
.related-links a{display:flex;flex-direction:column;gap:8px;height:100%;background:var(--ground);
  border:1px solid var(--ink);padding:18px 20px 16px;text-decoration:none;color:var(--ink);
  transition:background .14s,color .14s}
.related-links a:hover{background:var(--accent);color:#F6EFE8;border-color:var(--accent)}
.rl-n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--flag)}
.rl-t{font-family:var(--disp);font-weight:700;font-size:20px;line-height:1.15;letter-spacing:-.01em}
.rl-d{font-size:15px;line-height:1.45;color:var(--ink-soft)}
.rl-go{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);border-top:1px solid var(--line)}
.related-links a:hover .rl-n,.related-links a:hover .rl-d,.related-links a:hover .rl-go{color:rgba(246,239,232,.92)}
.related-links a:hover .rl-go{border-top-color:rgba(246,239,232,.4)}

/* the docket — a filing slip at the head of every entry */
.docket{background:var(--mat);border:1px solid var(--ink);border-top:3px solid var(--ink);
  padding:4px 24px 6px;margin:28px 0 0;position:relative;max-width:none}
.docket::before,.docket::after{content:"";position:absolute;width:10px;height:10px;
  border:1.5px solid var(--flag);pointer-events:none}
.docket::before{top:5px;left:5px;border-right:0;border-bottom:0}
.docket::after{bottom:5px;right:5px;border-left:0;border-top:0}
.docket div{display:grid;grid-template-columns:126px minmax(0,1fr);gap:0 22px;align-items:baseline;
  padding:15px 0;border-bottom:1px dashed rgba(21,24,26,.28);border-top:0}
.docket div:last-child{border-bottom:0}
.docket dt{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--flag);position:relative;padding-right:22px;margin:0}
.docket dt::after{content:"";position:absolute;right:0;top:-15px;bottom:-15px;width:1px;
  background:rgba(21,24,26,.28)}
.docket dd{margin:0;font-family:var(--disp);font-weight:600;font-size:17.5px;line-height:1.34;
  color:var(--ink);letter-spacing:-.005em}
@media(max-width:560px){
  .docket{padding:2px 16px 4px}
  .docket div{grid-template-columns:1fr;gap:5px;padding:13px 0}
  .docket dt::after{display:none}
}

/* ---------- mobile audit fixes ---------- */
@media(max-width:620px){
  /* full-bleed plate captions must not run to the screen edge */
  .fig-plate figcaption,.plate-card{padding-left:18px;padding-right:18px}
  .fig-plate .fig-cap,.plate-card p{max-width:none}
  /* comfortable hit areas for the index, section lists and footer */
  .idx-list a,.idx-rlist a,.idx-run a,.cat-list a,.foot-nav a,.arch-list a,.arch-row a{padding-block:7px;display:inline-block}
  .idx-list li,.cat-list li{padding-block:1px}
}
@media(max-width:420px){
  .statrow{grid-template-columns:1fr}
}

/* docket — two fields, one divider between them, no stretch */
.docket{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:start}
.docket div{border-bottom:0;padding:16px 0 18px}
.docket div:last-child{border-bottom:0;border-left:1px dashed rgba(21,24,26,.3);padding-left:24px}
.docket div:first-child{padding-right:24px}
.docket dt{padding-right:0;margin-bottom:7px}
.docket dt::after{display:none}
.docket div{display:block}
@media(max-width:560px){
  .docket{grid-template-columns:1fr}
  .docket div:last-child{border-left:0;border-top:1px dashed rgba(21,24,26,.3);padding-left:0;padding-top:16px}
  .docket div:first-child{padding-right:0}
}

/* docket — divider runs the full height, fields keep a sane measure on wide screens */
.docket{align-items:stretch;max-width:1000px}
.docket div{padding-top:15px;padding-bottom:17px}
.docket dd{max-width:44ch}

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

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

/* op-unpin-slots: operator: 'blurbs are not properly seen due to design of grids.' The slots are
   a grid with grid-auto-rows:106px and every .sponsor is height:100% with overflow:hidden — a
   44px mark plus a name plus three lines of copy does not fit 106px, so the sentences were
   clipped away. Keep 106px as a FLOOR so short tiles still line up, then let a tile that carries
   copy grow, and never clip. */
.support-slots{grid-auto-rows:minmax(106px,auto)}
.support-slots .sponsor{height:auto;min-height:106px;overflow:visible}


/* op-nav-collapse: this nav printed 1168px of stacked links at 390 before any content
   (33 links), and the build shipped no control to close it. A disclosure cannot be
   built from CSS alone — :hover and :focus-within are unreachable on touch until a link has
   already been tapped — so a hidden checkbox and its label were injected immediately before
   the nav, and the nav collapses against the checked state. Exactly the mechanism the builds
   that DO have a burger already use.
   Treatment "inset-box", bold, seeded from the domain so 175 builds do not all ship the
   same hairline box in the same place; it inherits this build's font and colour, and where the
   nav's own parent has no inline padding (0px measured) the button carries the build's
   gutter (clamp(18px,4vw,44px)) so it cannot sit against the glass. The links are hidden,
   not removed: they stay in the markup. Desktop is untouched — every rule below is inside the
   phone breakpoint (940px here), where the button appears and the nav starts closed.
   Folded with the "max-height" technique and marked with the "chevron" icon — the mechanism
   is deliberately not identical across the fleet either. */
.index-toggle{display:none}
@media (max-width:940px){
  .index-toggle{align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:inherit;cursor:pointer;min-height:44px;box-sizing:border-box;display:flex;width:fit-content;border:1px solid currentColor;border-radius:2px;padding:10px 15px;margin-inline:clamp(18px,4vw,44px);margin-block:clamp(16px,4.5vw,26px) clamp(12px,3vw,18px)}

  .index-toggle-bars{width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .index{max-height:0;overflow:hidden;padding-block:0;border-top-width:0;border-bottom-width:0;transition:max-height .28s ease}
  .index-toggle-c:checked ~ .index{max-height:220vh;padding-block:revert;border-top-width:revert;border-bottom-width:revert}
  .index-toggle:not(:has(~ .index)){display:none}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1362px at 390, 14% of the whole page. Two columns bring it to
   1052px (23% shorter). Checked before writing: no new overflow, smallest mark still
   117px wide, longest blurb 3 lines, tile heights 106-134px.
   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.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. 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 (.support-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){
  .support-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:10px!important}
    .support-slots > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .support-slots > * *{min-width:0!important;max-width:100%}
    .support-slots img,.support-slots svg{max-width:100%;height:auto}
  .support-slots .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

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

/* op-article-width: the article column was capped at 740px (81 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .measure) 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.body div.measure{--measure:min(85.163ch, 100%)!important}
}
@media (min-width:1600px){
  div.body div.measure{--measure:min(clamp(85.163ch, 64.375vw, calc(85.163ch * 1.2)), 100%)!important}
  div.body div.measure > :is(p:not([class])){font-size:clamp(18.5px,1.2847vw,22.2px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h2.rt-h3{font-family: var(--disp); font-weight: 800; letter-spacing: -0.028em; line-height: 1.06; margin: 0px;}
.measure > h2.rt-h3{font-size: 22px; font-weight: 600; margin: 30px 0px 10px;}
/* op-heading-levels:end */

/* op-tablet-gutter — text never sits on the screen edge between the mobile guard and the max-width */
@media (min-width:681px) and (max-width:799px){
  figure.article-figure.fig-plate > figcaption, figure.article-figure.fig-plate > :is(p,h2,h3,h4,ul,ol,[class*=cap],.credit,.chart-title,.chart-note){padding-left:max(var(--pad), 18px);padding-right:max(var(--pad), 18px)}
}
/* op-tablet-gutter:end */
