/* chemicalshealthmonitor.org — The Sampling Train
   Palette (named jobs):
   --paper  ground          --ink  ink
   --accent ultramarine     — links, section marks, the paper-chain band (used at area)
   --gold   ochre           — entry numbers, plate tabs, chart fills (saturated, hue-separated from accent)
   --tint   lavender panel  — inset mats, featured tiles                                            */
:root{
  --paper:#F2F1EA; --ink:#16141C; --accent:#3A2FBF; --gold:#C99700; --gold-ink:#8A6800;
  --tint:#E7E4F6; --card:#FBFAF5; --muted:#494538; --hair:rgba(22,20,28,.2);
  --mono:'Red Hat Mono',monospace; --serif:'Spectral',serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);overflow-x:clip;border-top:5px solid var(--accent)}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent)}
img{display:block;max-width:100%}
.wrap{max-width:1240px;margin:0 auto;padding-inline:32px}
.kicker{font:600 12px/1.4 var(--mono);letter-spacing:2.2px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:9px;margin:0}
.kicker svg{flex:none}
.eno{color:var(--gold-ink);margin-left:6px}

/* ---------- header ---------- */
.site-head .mast{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-top:24px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{flex:none;align-self:center}
.brand-name{font:700 27px/1 var(--serif);letter-spacing:-.4px}
.brand-name .tld{color:var(--accent)}
.mast-tag{font-style:italic;font-size:15px;color:var(--muted)}
.mainnav{margin-top:18px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:11px 0;display:flex;gap:28px;row-gap:8px;align-items:center;flex-wrap:wrap;font:500 12.5px var(--mono);letter-spacing:1px;text-transform:uppercase}
.mainnav a{display:flex;align-items:center;gap:8px}
.mainnav a[aria-current="true"]{color:var(--accent)}
.mainnav .nav-right{margin-left:auto}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--ink);margin-top:72px}
.site-foot .inner{display:flex;justify-content:space-between;align-items:baseline;gap:32px;flex-wrap:wrap;padding:38px 0}
.foot-brand{display:flex;align-items:center;gap:10px;font:700 18px var(--serif)}
.foot-nav{display:flex;gap:22px;row-gap:8px;flex-wrap:wrap;font:400 11.5px var(--mono);letter-spacing:1px;text-transform:uppercase}
.foot-line{font:400 11px var(--mono);color:var(--muted);letter-spacing:.5px}

/* ---------- homepage ---------- */
.hero{background:var(--ink);color:var(--paper);padding:68px 0 60px;border-bottom:5px solid var(--accent)}
.hero a{color:var(--paper)}
.hero a:hover{color:var(--gold)}
.hero .kicker{color:var(--gold)}
.hero .kicker .eno{color:var(--paper);background:var(--accent);padding:2px 8px;margin-left:8px}
.hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.hero h1{font:600 clamp(40px,5.6vw,68px)/1.04 var(--serif);letter-spacing:-1.4px;margin:16px 0 18px}
.hero .dek{font-style:italic;font-size:21px;line-height:1.55;color:rgba(242,241,234,.78);margin:0 0 22px;max-width:560px}
.hero .go{display:inline-block;font:600 13px var(--mono);letter-spacing:1px;text-transform:uppercase;border:1px solid var(--gold);padding:12px 18px}
.hero .go:hover{background:var(--gold);color:var(--ink)}
.hero .go em{color:inherit;font-style:normal}
.hero .fig-plate .mat{background:var(--card);border-color:var(--card)}
.hero figcaption{color:rgba(242,241,234,.75)}
.hero .credit{color:rgba(242,241,234,.45)}
.hero .credo{border-color:rgba(242,241,234,.3);color:rgba(242,241,234,.65)}
.credo{margin-top:44px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:20px 8px;text-align:center;font:400 13px/1.7 var(--mono);letter-spacing:.5px;color:var(--muted)}
.bandhead{display:flex;align-items:baseline;gap:18px;border-bottom:3px solid var(--ink);padding-bottom:10px}
.bandhead .bh-title{font:600 13px var(--mono);letter-spacing:2.4px}
.bandhead .bh-sub{font:400 12px var(--mono);color:var(--muted)}
.band{padding:56px 0 8px}

/* register table (homepage + archive) */
.tscroll{overflow-x:auto}
.register{width:100%;border-collapse:collapse;font:400 13px/1.45 var(--mono)}
.register thead th{text-align:left;font-weight:500;font-size:11px;letter-spacing:1.4px;color:var(--muted);padding:14px 18px 10px 0;border-bottom:1px solid var(--ink);text-transform:uppercase}
.register td{padding:14px 18px 14px 0;border-bottom:1px solid var(--hair);vertical-align:baseline}
.register tr:last-child td{border-bottom:1px solid var(--ink)}
.register .rno{color:var(--gold-ink);font-weight:600}
.register .rname a{display:flex;align-items:center;gap:8px;font:600 16px var(--serif)}
.register .rname svg{color:var(--accent);flex:none}
.regnote{font:400 11.5px var(--mono);color:var(--muted);margin-top:10px}

/* feed + rail */
.feedgrid{display:grid;grid-template-columns:1fr 320px;gap:52px;align-items:start;margin-top:4px}
.entryrow{display:grid;grid-template-columns:74px 1fr auto;gap:20px;align-items:baseline;border-bottom:1px solid var(--hair);padding:20px 0}
.entryrow .eno{margin:0;font:600 13px var(--mono)}
.entryrow h3{margin:0;font:600 21px/1.25 var(--serif);letter-spacing:-.2px}
.entryrow p{margin:5px 0 0;font-size:15px;color:var(--muted);line-height:1.5}
.entryrow .read{font:400 11.5px var(--mono);letter-spacing:1px;color:var(--muted);white-space:nowrap}
.feed-feat{border-bottom:1px solid var(--ink);padding-bottom:24px;margin-bottom:4px}
.feed-feat .ff-grid{display:grid;grid-template-columns:5fr 7fr;gap:26px;align-items:center;margin-top:16px}
.feed-feat h3{margin:8px 0 8px;font:600 26px/1.15 var(--serif);letter-spacing:-.3px}
.feed-feat p{margin:0;font-size:15.5px;color:var(--muted);line-height:1.55}
.allentries{display:inline-block;margin-top:20px;font:600 13px var(--mono);letter-spacing:1px;text-transform:uppercase}
.allentries em{color:var(--accent);font-style:normal}

/* supporters rail */
.supporters{border:1px solid var(--ink);background:var(--card);padding:20px 20px 24px}
.sup-kicker{font:600 11px var(--mono);letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin:0}
.sup-line{font-style:italic;font-size:13.5px;color:var(--muted);margin:8px 0 16px;line-height:1.5}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:10px}
.sponsor{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--hair);padding:10px 12px 12px}
.sponsor .s-logobox{background:var(--ink);height:52px;display:flex;align-items:center;justify-content:center;padding:10px 14px}
.sponsor .s-logobox img{max-height:40px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor-name{font:600 13px var(--mono);letter-spacing:.5px}
.sponsor-blurb{font-style:italic;font-size:14px;line-height:1.5;color:var(--muted)}
.sponsor.feat{background:var(--tint);border-top:3px solid var(--accent)}
.article-figure{margin:36px 0;background:var(--card);border:1px solid var(--ink);padding:10px;clear:both}
.article-figure img{width:100%;height:auto;max-height:520px;object-fit:cover}
.article-figure figcaption{padding:10px 2px 0}
.arch-lead{font-style:italic;font-size:18px;color:var(--muted);max-width:640px;line-height:1.55}

/* sections strip */
.sectstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:34px 0 20px}
.sectstrip .sec{border-top:1px solid var(--ink);padding-top:16px}
.sectstrip svg{color:var(--ink)}
.sectstrip h3{font:600 22px var(--serif);margin:12px 0 6px}
.sectstrip p{font-size:14.5px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.sectstrip .cnt{font:400 11px var(--mono);letter-spacing:1.5px;color:var(--gold-ink)}
.sectstrip .enter{display:inline-block;margin-top:10px;font:600 12px var(--mono);letter-spacing:1px}
.sectstrip .enter em{color:var(--accent);font-style:normal}

/* paper chain band */
.chainband{background:var(--accent);color:var(--paper);padding:68px 0;margin-top:64px}
.chainband a{color:var(--paper)}
.chainband a:hover{text-decoration:underline;color:#fff}
.chainband .bandhead{border-color:rgba(242,241,234,.35)}
.chainband .bh-title{color:var(--paper)}
.chainband .bh-sub{color:rgba(242,241,234,.65)}
.chainsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:34px;margin-top:40px}
.chainsteps .no{font:600 26px var(--mono);color:var(--gold)}
.chainsteps h3{font:600 18px var(--serif);margin:10px 0 6px}
.chainsteps p{font-size:14px;line-height:1.55;color:rgba(242,241,234,.82);margin:0}

/* plate band */
.plateband{margin:72px 0 0}
.plateband .frame{position:relative;border:1px solid var(--ink);padding:10px;background:var(--card)}
.plateband .figtab{position:absolute;top:-12px;left:18px;background:var(--gold);color:var(--ink);font:600 11px var(--mono);letter-spacing:2px;padding:3px 10px;z-index:1}
.plateband img{width:100%;height:min(520px,58vw);object-fit:cover}
.plateband figcaption{display:flex;gap:14px;align-items:baseline;padding:12px 4px 2px}

/* ---------- figure system (three treatments) ---------- */
figure{margin:0}
figcaption{font-size:14.5px;line-height:1.5;color:var(--muted)}
.figno{font:600 11px var(--mono);letter-spacing:1.5px;color:var(--gold-ink);white-space:nowrap;margin-right:10px}
.credit{display:inline-block;font:400 10.5px var(--mono);color:#8B8574;margin-left:10px;letter-spacing:.3px}
/* 1 — the plate: matted card, ochre tab */
.fig-plate{position:relative;margin:36px 0}
.fig-plate .mat{border:1px solid var(--ink);padding:10px;background:var(--card)}
.fig-plate .figtab{position:absolute;top:-12px;left:18px;background:var(--gold);color:var(--ink);font:600 10px var(--mono);letter-spacing:2px;padding:3px 10px;z-index:1}
.fig-plate img{width:100%;height:auto;max-height:520px;object-fit:cover}
.fig-plate figcaption{padding:12px 2px 0}
/* 2 — the bleed: breaks the measure, accent rule */
.fig-bleed{width:100vw;position:relative;left:50%;margin:44px 0 44px -50vw;border-top:3px solid var(--accent)}
.fig-bleed img{width:100%;height:min(460px,56vw);object-fit:cover}
.fig-bleed figcaption{max-width:768px;margin:0 auto;padding:10px 32px 0;text-align:right;border-bottom:1px solid var(--ink);padding-bottom:10px}
/* 3 — the inset: tinted mat, prose wraps beside it */
.fig-inset{float:right;width:46%;margin:6px 0 20px 28px;background:var(--tint);padding:9px}
.fig-inset img{width:100%;height:auto}
.fig-inset figcaption{padding:9px 3px 2px;font-size:13.5px}
/* hero plate on articles */
.art-hero{max-width:1080px;margin:34px auto 0;padding-inline:32px}

/* ---------- article ---------- */
.art-head{max-width:900px;margin:0 auto;padding:56px 32px 0}
.art-head h1{font:600 clamp(32px,4.6vw,50px)/1.08 var(--serif);letter-spacing:-.9px;margin:14px 0 16px}
.lead{font-style:italic;font-size:20px;line-height:1.55;color:var(--muted);margin:0 0 26px}
.specline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--accent);border-bottom:1px solid var(--ink);margin:0}
.specline>div{padding:13px 18px 13px 0}
.specline>div+div{padding-left:18px;border-left:1px solid var(--hair)}
.specline dt{font:600 10.5px var(--mono);letter-spacing:1.8px;color:var(--gold-ink);text-transform:uppercase;margin:0 0 5px}
.specline dd{margin:0;font:400 13.5px/1.45 var(--mono)}
.art-body{max-width:768px;margin:12px auto 0;padding-inline:32px}
.art-body p{font-size:19px;line-height:1.7;margin:0 0 22px}
.art-body h2{clear:both;font:600 27px/1.2 var(--serif);letter-spacing:-.4px;margin:42px 0 16px}
.art-body a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
.art-body a:hover{color:var(--accent)}
.endmark{display:inline-block;width:9px;height:9px;background:var(--gold);margin-left:8px}

/* pull quote / quotes / callouts */
.pullquote{clear:both;margin:40px 0;padding:28px 20px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);text-align:center}
.pullquote p{font-style:italic;font-size:24px !important;line-height:1.45 !important;margin:0 !important}
.blockquote{margin:36px 0;padding:4px 0 4px 26px;border-left:none;position:relative}
.blockquote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}
.blockquote p{font-style:italic;font-size:19px;margin:0 0 8px}
.blockquote cite{font:400 12px var(--mono);color:var(--muted);font-style:normal;letter-spacing:.5px}
.callout{clear:both;background:var(--tint);border-top:3px solid var(--accent);padding:20px 24px;margin:36px 0}
.callout p{font-size:16.5px !important;line-height:1.6 !important;margin:0 !important}
.note{font-size:15px;font-style:italic;color:var(--muted);border-top:1px solid var(--hair);padding-top:10px}
.note::before{content:"Note — ";font:600 11px var(--mono);font-style:normal;letter-spacing:1.5px;color:var(--gold-ink)}

/* notes-for-design panels: ledgered key tables */
.notes{clear:both;margin:38px 0}
.notes h3{font:600 12px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:0 0 2px;display:flex;align-items:center;gap:10px}
.notes h3::after{content:"";flex:1;height:1px;background:var(--hair)}
.datatable{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.datatable th{text-align:left;font:500 11px var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);border-top:2px solid var(--accent);border-bottom:1px solid var(--ink);padding:10px 14px 8px 0}
.datatable td{border-bottom:1px solid var(--hair);padding:11px 16px 11px 0;vertical-align:baseline}
.datatable tr:last-child td{border-bottom:1px solid var(--ink)}
.datatable td.k{font:600 13px var(--mono);width:34%;color:var(--ink)}
.notes .datatable td:first-child{border-top:none}
.notes .datatable tr:first-child td{border-top:2px solid var(--accent)}

/* versus + stats + timeline */
.versus{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;margin:30px 0}
.versus th{font:600 13px var(--mono);letter-spacing:1px;text-transform:uppercase;text-align:left;padding:10px 16px 10px 0;border-top:2px solid var(--accent);border-bottom:1px solid var(--ink)}
.versus th:first-child{color:var(--gold-ink)}
.versus td{padding:11px 16px 11px 0;border-bottom:1px solid var(--hair);vertical-align:top}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:2px solid var(--accent);border-bottom:1px solid var(--ink);margin:34px 0}
.statblock{padding:18px 18px 16px 0;display:flex;flex-direction:column;gap:6px}
.statblock+.statblock{padding-left:18px;border-left:1px solid var(--hair)}
.stat-num{font:600 34px/1 var(--mono);color:var(--accent)}
.stat-label{font-size:13.5px;color:var(--muted);line-height:1.4}
.timeline{list-style:none;margin:34px 0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--hair);position:relative}
.timeline li:first-child{border-top:2px solid var(--accent)}
.timeline .t-when{font:600 13px/1.5 var(--mono);color:var(--gold-ink)}
.timeline .t-what{font-size:15.5px;line-height:1.55}

/* charts */
.chart{background:var(--card);border:1px solid var(--ink);padding:18px 18px 12px;margin:36px 0;clear:both}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{padding-top:10px;border-top:1px solid var(--hair);margin-top:12px}
.chart text{font-family:'Red Hat Mono',monospace}

/* gallery, map frame */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:36px 0}
.gallery figure{background:var(--card);border:1px solid var(--ink);padding:7px}
.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover}
.gallery figcaption{padding:7px 2px 1px;font-size:12.5px}
.map-figure{margin:36px 0;border:1px solid var(--ink);background:var(--card);padding:10px}
.map-figure .map-slot{background:var(--tint);min-height:320px;display:flex;align-items:center;justify-content:center}
.map-figure figcaption{padding:10px 2px 0}

/* cards / references */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:34px 0}
.profile-card{border:1px solid var(--ink);background:var(--card);padding:18px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:76px;height:76px;object-fit:cover;border-radius:50%}
.profile-card h3{margin:4px 0 0;font:600 19px var(--serif)}
.profile-card .p-role{font:400 11.5px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--gold-ink);margin:0}
.profile-card p{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0}
.profile-card .p-links{margin-top:auto}
.profile-card .p-links a{font:600 12px var(--mono);letter-spacing:.5px;margin-right:12px}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:34px 0}
.org-card{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;align-items:center;border:1px solid var(--hair);background:var(--card);padding:12px 14px}
.org-card .org-logo{grid-row:span 2;width:44px;height:44px;object-fit:contain;background:var(--ink);padding:6px}
.org-card.no-logo{grid-template-columns:1fr}
.org-card .org-name{font:600 15px var(--serif)}
.org-card .org-host{font:400 11px var(--mono);color:var(--muted);letter-spacing:.5px}
.entity-ref{font:600 14px var(--mono);letter-spacing:.3px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:34px 0}
.further-grid a{border:1px solid var(--ink);background:var(--card);padding:14px 16px;font:600 15px/1.35 var(--serif)}
.further-grid a:hover{background:var(--tint);color:var(--ink)}

/* related + filed */
.related-links{list-style:none;margin:52px 0 0;padding:0;border-top:3px solid var(--ink)}
.related-links::before{content:"Related entries";display:block;font:600 12px var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--accent);padding:12px 0 4px}
.related-links li{border-bottom:1px solid var(--hair)}
.related-links a{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:baseline;padding:14px 0}
.related-links .eno{font:600 12.5px var(--mono)}
.related-links .rl-t{font:600 17px var(--serif)}
.related-links .read{font:400 11px var(--mono);letter-spacing:1px;color:var(--muted)}
.filed{display:flex;align-items:center;gap:10px;font:600 12px var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin:36px 0 0}
.filed svg{color:var(--accent)}
.filed .fl{color:var(--muted)}

/* ---------- category pages ---------- */
.cat-head{padding:56px 0 8px}
.cat-head .titleline{display:flex;align-items:center;gap:20px;margin-top:12px}
.cat-head h1{font:600 clamp(36px,5vw,58px)/1 var(--serif);letter-spacing:-1px;margin:0}
.cat-head .lead{max-width:640px;margin-top:14px}
.cat-list{list-style:none;margin:8px 0 0;padding:0}
.cat-list li{border-bottom:1px solid var(--hair)}
.cat-list li:first-child{border-top:3px solid var(--ink)}
.cat-list a{display:grid;grid-template-columns:80px 1fr auto;gap:22px;align-items:baseline;padding:22px 0}
.cat-list .eno{font:600 13px var(--mono)}
.cat-list h3{margin:0;font:600 23px/1.2 var(--serif);letter-spacing:-.2px}
.cat-list p{margin:5px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.cat-list .read{font:400 11.5px var(--mono);letter-spacing:1px;color:var(--muted);white-space:nowrap}

/* 404 */
.err{max-width:640px;margin:0 auto;padding:110px 32px;text-align:center}
.err h1{font:600 44px var(--serif);margin:18px 0 10px}
.err p{font-size:18px;color:var(--muted)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .feedgrid{grid-template-columns:1fr}
  .sectstrip{grid-template-columns:1fr 1fr;gap:28px}
  .chainsteps{grid-template-columns:1fr 1fr;gap:26px}
  .feed-feat .ff-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap,.art-head,.art-body,.art-hero{padding-inline:20px}
  .brand-name{font-size:22px}
  .mast-tag{display:none}
  .mainnav{gap:16px}
  .sectstrip,.chainsteps{grid-template-columns:1fr}
  .specline{grid-template-columns:1fr}
  .specline>div+div{padding-left:0;border-left:none;border-top:1px solid var(--hair)}
  .fig-inset{float:none;width:100%;margin:26px 0}
  .art-body p{font-size:17.5px}
  .entryrow{grid-template-columns:56px 1fr}
  .entryrow .read{display:none}
  .cat-list a{grid-template-columns:56px 1fr}
  .cat-list .read{display:none}
  .related-links a{grid-template-columns:52px 1fr}
  .related-links .read{display:none}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .fig-bleed figcaption{padding-inline:20px}
}

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img,.sponsor-box img,.sp-logo img{object-fit:contain!important;display:block;margin-left:auto;margin-right:auto;align-self:center}

/* sp-mark-align: marks sit CENTRED in their box. Placement only — Design's size,
   padding, panel and object-fit are untouched. */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.sponsor .sp-logo,.sponsor-box{display:flex;align-items:center;justify-content:center}

/* sp-tile-uniform: a slot never grows to fill its row — every tile the same width in
   every row, whatever the count. Only flex-grow is touched. */
.sponsor{flex-grow:0!important}
.sponsor.lead-line,.sponsor.feat.lead-line{flex-grow:1!important}

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

/* op-article-width: the article column was capped at 704px (84 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 768px (declared in .art-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.art-body{max-width:min(915px, 100%)!important}
}
@media (min-width:1600px){
  div.art-body{max-width:min(clamp(915px, 63.542vw, 1098px), 100%)!important}
  div.art-body > :is(p:not([class]), p.filed){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
.entryrow h2:where(.rt-h3){margin: 0px; font: 600 21px/1.25 var(--serif); letter-spacing: -0.2px;}
.feed-feat h2:where(.rt-h3){margin: 8px 0px; font: 600 26px/1.15 var(--serif); letter-spacing: -0.3px;}
.sectstrip h2:where(.rt-h3){font: 600 22px var(--serif); margin: 12px 0px 6px;}
.chainsteps h2:where(.rt-h3){font: 600 18px var(--serif); margin: 10px 0px 6px;}
.cat-list h2:where(.rt-h3){margin: 0px; font: 600 23px/1.2 var(--serif); letter-spacing: -0.2px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.art-body > figure.fig-bleed > img,
  div.art-body > figure.fig-inset > img,
  figure > div.frame > img,
  figure.fig-plate > div.mat > img){height:auto}
/* op-img-dims:end */
