/* A Chicken in the Kitchen — palette:
   --ground  paper the site sits on
   --ink     text and rules
   --accent  brick red: section marks, kickers, statement bands
   --secondary slate blue: captions, data panels, links in furniture
   --rule    hairline dividers                                            */
:root{
  --ground:#EFEFEA; --ink:#17181A; --accent:#A32D1E; --secondary:#2B4A7A;
  --rule:#C9C8C1; --ink-deep:#121110; --paper:#F7F6F2; --muted:#5C5D5A;
  --ff-display:'Domine',Georgia,'Times New Roman',serif;
  --ff-text:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}
[id]{scroll-margin-top:90px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--ff-text);font-size:17px;line-height:1.55;text-wrap:pretty;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
.prose a,.lead a,.notes-band a,.foot-note a{color:var(--secondary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.prose a:hover,.lead a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;letter-spacing:-.015em;margin:0}
.ico{flex:none;vertical-align:-.15em}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--ink);color:var(--paper);padding:8px 14px;z-index:50}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(20px,4vw,56px)}

/* masthead */
.masthead{border-bottom:1px solid var(--ink);background:var(--ground);position:sticky;top:0;z-index:20}
.mast-inner{max-width:var(--wrap);margin:0 auto;padding:16px clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.wordmark{display:flex;align-items:center;gap:11px;font-family:var(--ff-display);font-weight:600;font-size:20px;letter-spacing:-.01em}
.wordmark .ico{color:var(--accent)}
.wordmark--sm{font-size:17px}
.mainnav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.navlink{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:500;padding:4px 0;border-bottom:2px solid transparent}
.navlink .ico{color:var(--secondary)}
.navlink:hover{border-bottom-color:var(--accent)}
.navlink.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.navlink.is-active .ico{color:var(--accent)}
.navlink--all{color:var(--muted)}

/* homepage hero */
.hero{display:grid;border-bottom:1px solid var(--ink)}
.hero img{grid-area:1/1;width:100%;height:100%;min-height:min(70vh,660px);object-fit:cover}
.hero-plate{grid-area:1/1;align-self:start;justify-self:start;margin:clamp(20px,4vw,44px);max-width:min(700px,88%);background:rgba(18,17,15,.80);color:#fff;padding:clamp(22px,3vw,34px)}
.hero-kicker{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#E4C9C1;margin:0 0 14px}
.hero-plate h1{font-size:clamp(30px,4.4vw,58px);line-height:1.05;color:#fff}
.hero-plate p{margin:16px 0 0;font-size:17px;line-height:1.5;color:#E7E3DA;max-width:52ch}
.hero-cta{display:inline-flex;align-items:center;gap:9px;margin-top:20px;font-weight:600;font-size:16px;color:#fff;border-bottom:2px solid var(--accent);padding-bottom:3px}
.hero-cap{max-width:var(--wrap);margin:0 auto;padding:12px clamp(20px,4vw,56px);font-size:15px;color:var(--secondary)}

/* standfirst band */
.standfirst{border-bottom:1px solid var(--rule)}
.standfirst .wrap{display:grid;grid-template-columns:1fr 340px;gap:56px;padding-block:clamp(32px,4vw,52px)}
.standfirst p{margin:0;font-family:var(--ff-display);font-size:clamp(19px,2vw,25px);line-height:1.5}
.startlist{display:flex;flex-direction:column;gap:14px}
.startlist h2{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);font-family:var(--ff-text)}
.startlist a{display:flex;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--rule);font-size:17px;font-weight:500}
.startlist a:last-child{border-bottom:0}
.startlist .ico{color:var(--accent);margin-top:2px}

/* section blocks */
.secblock{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.secblock:first-of-type{border-top:0}
.secblock--flip .secblock-media{order:2}
.secblock-media img{width:100%;height:100%;min-height:340px;object-fit:cover}
.secblock-body{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;gap:14px;justify-content:center;border-left:1px solid var(--rule)}
.secblock--flip .secblock-body{border-left:0;border-right:1px solid var(--rule)}
.secblock-kicker{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.secblock-body h2{font-size:clamp(24px,2.8vw,38px);line-height:1.12}
.secblock-body p{margin:0;font-size:17px;max-width:46ch}
.secblock-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:16px;color:var(--secondary);font-weight:500}
.secblock-more{font-weight:600;font-size:16px;color:var(--secondary);display:inline-flex;gap:8px;align-items:center}

/* statement band (accent area) */
.statement{background:var(--accent);color:#F7F1E8}
.statement .wrap{padding-block:clamp(38px,4.4vw,60px)}
.statement-grid{display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:end}
.statement h2{font-size:clamp(26px,3.4vw,44px);line-height:1.14}
.statement p{margin:0;font-size:17px;color:#F0D9CF}
.cutrow{display:grid;grid-template-columns:repeat(8,1fr);gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(247,241,232,.35)}
.cutrow div{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:500}

/* ladder (secondary area) */
.ladder{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ladder .wrap{padding-block:clamp(30px,3.6vw,48px);display:grid;grid-template-columns:300px 1fr;gap:48px}
.ladder h2{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);font-family:var(--ff-text);display:flex;align-items:center;gap:10px}
.ladder-intro p{font-size:16px;color:var(--muted);margin:12px 0 0}
.ladder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--secondary)}
.ladder-grid div{background:var(--secondary);color:#EAF0F8;padding:22px 20px;display:flex;flex-direction:column;gap:8px}
.ladder-grid b{font-family:var(--ff-display);font-size:clamp(22px,2.2vw,30px);font-weight:600}
.ladder-grid span{font-size:15px;color:#C6D6EC}

/* index of guides */
.guideindex .wrap{padding-block:clamp(34px,4vw,54px)}
.section-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.section-head h2{font-size:clamp(22px,2.4vw,30px)}
.section-head .ico{color:var(--accent)}
.section-head p{margin:0;font-size:16px;color:var(--muted)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);margin:0 0 8px;display:flex;align-items:center;gap:10px}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px}
.cardgrid.row4{grid-template-columns:repeat(4,1fr);gap:22px}
.cardgrid.row4 .card h3{font-size:19px;min-height:2.6em}
@media (max-width:1080px){.cardgrid.row4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cardgrid.row4 .card h3{min-height:0}}
.card{display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--rule)}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.card h3{font-size:21px;line-height:1.22;min-height:2.44em}
.card p{margin:0;font-size:16px;color:var(--muted)}
.card .meta{margin-top:auto;font-size:15px;color:var(--secondary)}
.indexcols{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:26px;align-items:start}
.indexgroup{background:var(--paper);border:1px solid var(--rule);display:flex;flex-direction:column}
.ig-head{display:flex;align-items:center;gap:11px;background:var(--accent);color:#F7F1E8;padding:11px 16px}
.ig-ico{width:21px;height:21px;flex:none}
.ig-name{font-family:var(--ff-display);font-weight:600;font-size:19px;letter-spacing:-.01em;flex:1}
.ig-count{font-size:13px;font-weight:600;letter-spacing:.1em;font-variant-numeric:tabular-nums;color:#EFC9BF}
.ig-tag{margin:0;padding:11px 16px 10px;font-size:14px;line-height:1.45;color:var(--muted);border-bottom:1px solid var(--rule)}
.cat-list{list-style:none;margin:0;padding:0 16px 8px}
.cat-list li+li{border-top:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:30px 1fr auto;gap:0 12px;align-items:baseline;padding:10px 0}
.cat-list .cl-num{font-family:var(--ff-display);font-size:13px;font-weight:600;color:var(--secondary);font-variant-numeric:tabular-nums}
.cat-list .cl-title{font-family:var(--ff-display);font-weight:600;font-size:17px;line-height:1.35;display:block}
.cat-list .cl-brief{display:none}
.cat-list .cl-meta{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.cat-list a:hover .cl-title{color:var(--accent)}
.cat-list a:hover .cl-num{color:var(--accent)}

/* supporters */
.supporters{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}
.supporters-kicker{max-width:var(--wrap);margin:0 auto;padding:16px clamp(20px,4vw,56px) 0;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}
.sponsor-row{max-width:var(--wrap);margin:0 auto;padding:14px clamp(20px,4vw,56px) 22px;display:flex;flex-wrap:wrap;gap:18px}
.sponsor{flex:1 1 380px;max-width:560px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(160px,200px);gap:18px;align-items:center;border:1px solid var(--rule);background:var(--ground);padding:14px}
.sponsor img{width:100%;height:48px;max-height:48px;object-fit:contain;background:var(--ink-deep);padding:8px 12px}
.sponsor-name{font-size:16px;font-weight:500;color:var(--ink)}
.sponsor.feat{border-color:var(--secondary)}
.sponsor:hover{border-color:var(--accent)}

/* article */
.article{max-width:var(--wrap);margin:0 auto;padding:clamp(28px,3.4vw,48px) clamp(20px,4vw,56px) 0}
.article-head{display:flex;flex-direction:column;gap:18px;max-width:56ch}
.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.article-head h1{font-size:clamp(30px,4.2vw,54px);line-height:1.06}
.lead{margin:0;font-family:var(--ff-display);font-size:clamp(19px,1.9vw,23px);line-height:1.5;color:#2C2D2F;max-width:60ch}
.byline{margin:0;font-size:16px;color:var(--muted)}
.byline a{color:var(--secondary)}
.lead-figure{margin:clamp(24px,3vw,38px) 0 0}
.lead-figure img{width:100%;aspect-ratio:16/8;object-fit:cover}
figure{margin:0}
figcaption{font-size:15px;line-height:1.5;color:var(--secondary);padding-top:10px;max-width:74ch}
.prose{padding-block:clamp(26px,3vw,40px);max-width:1060px}
.prose::after{content:"";display:block;clear:both}
.prose p{font-size:20px;line-height:1.65;margin:0 0 22px;max-width:68ch}
.prose h2{font-size:clamp(23px,2.4vw,31px);line-height:1.2;margin:36px 0 18px;max-width:60ch}
.prose h2:first-child{margin-top:0}
.article-figure{margin:8px 0 30px}
.article-figure.wide img{width:100%;aspect-ratio:16/9;object-fit:cover}
.article-figure.inset{float:right;width:320px;margin:6px 0 22px 36px}
.article-figure.inset img{width:100%;aspect-ratio:3/4;object-fit:cover}
.pullquote{margin:34px 0;padding:26px 0 26px 28px;border-left:4px solid var(--accent);max-width:64ch}
.pullquote p{margin:0;font-family:var(--ff-display);font-size:clamp(21px,2.2vw,28px);line-height:1.32}
.blockquote{margin:30px 0;padding:22px 26px;background:var(--paper);border:1px solid var(--rule);max-width:66ch}
.blockquote p{margin:0;font-family:var(--ff-display);font-size:20px;line-height:1.45}
.blockquote cite{display:block;margin-top:12px;font-size:15px;font-style:normal;color:var(--secondary)}
.callout{margin:30px 0;padding:24px 26px;background:var(--secondary);color:#EAF0F8;max-width:70ch}
.callout p{margin:0;font-size:18px;line-height:1.55}
.note{font-size:16px;color:var(--muted);border-left:2px solid var(--rule);padding-left:16px;max-width:66ch}
.notes-band{background:var(--ink-deep);color:#EFEAE0;margin:34px 0 34px;clear:both}
.notes-inner{padding:clamp(24px,3vw,34px) clamp(22px,3vw,34px)}
.notes-title{font-family:var(--ff-text);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#E6A99C;margin-bottom:18px}
.register{margin:0;display:grid;gap:0}
.reg-row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:14px 0;border-top:1px solid rgba(239,234,224,.22)}
.reg-row--single{grid-template-columns:1fr}
.reg-row dt{font-family:var(--ff-display);font-weight:600;font-size:19px}
.reg-row dd{margin:0;font-size:17px;line-height:1.5;color:#D9D3C8}
.article-end{border-top:1px solid var(--ink);padding:30px 0 clamp(36px,4vw,56px);clear:both}
.rel-title{font-family:var(--ff-text);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.related-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.related-links a{display:flex;flex-direction:column;gap:7px;border-top:2px solid var(--rule);padding-top:12px}
.related-links a:hover{border-top-color:var(--accent)}
.rl-title{font-family:var(--ff-display);font-weight:600;font-size:20px;line-height:1.25}
.rl-brief{font-size:16px;color:var(--muted)}

/* data components */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:28px 0}
.tablewrap>table{margin:0;min-width:520px}
.versus,.datatable{width:100%;border-collapse:collapse;margin:28px 0;font-size:17px}
.versus caption,.datatable caption{text-align:left;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary);padding-bottom:12px}
.versus th,.versus td,.datatable th,.datatable td{border-bottom:1px solid var(--rule);padding:12px 14px;text-align:left;vertical-align:top}
.versus thead th,.datatable thead th{border-bottom:2px solid var(--ink);font-family:var(--ff-text);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.versus tbody th{font-family:var(--ff-display);font-weight:600;width:180px}
.datatable tbody tr:hover{background:var(--paper)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--rule);margin:28px 0}
.statblock{background:var(--ground);padding:20px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--ff-display);font-size:34px;font-weight:600;color:var(--accent)}
.stat-label{font-size:15px;color:var(--muted)}
.timeline{list-style:none;margin:28px 0;padding:0}
.timeline li{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:14px 0;border-top:1px solid var(--rule)}
.t-when{font-family:var(--ff-display);font-weight:600;font-size:18px;color:var(--secondary)}
.t-what{font-size:17px}
.chart{margin:28px 0}
.chart svg{width:100%;height:auto;overflow:visible}
.chart .bar-rect{fill:var(--secondary)}
.chart .bar-rect.is-key{fill:var(--accent)}
.chart text{font-family:var(--ff-text);font-size:13px;fill:var(--ink)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:28px 0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin:28px 0}
.profile-card{border:1px solid var(--rule);background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:10px}
.p-photo{width:84px;height:84px;object-fit:cover;border-radius:50%}
.profile-card h3{font-size:21px}
.p-role{margin:0;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.profile-card p{margin:0;font-size:16px}
.p-links a{color:var(--secondary);text-decoration:underline}
.p-attr{font-size:14px;color:var(--muted)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}
.org-card{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;border:1px solid var(--rule);padding:14px;background:var(--paper)}
.org-card.no-logo{grid-template-columns:1fr}
.org-logo{width:52px;height:52px;object-fit:contain;background:var(--ink-deep)}
.org-name{font-family:var(--ff-display);font-weight:600;font-size:18px;display:block}
.org-host{font-size:15px;color:var(--secondary);display:block}
.entity-ref{color:var(--secondary);text-decoration:underline}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0}
.further-grid a{border-top:2px solid var(--rule);padding-top:12px;font-family:var(--ff-display);font-weight:600;font-size:19px}
.further-grid a:hover{border-top-color:var(--accent)}
details.more{margin-top:14px}
details.more summary{cursor:pointer;font-size:16px;font-weight:600;color:var(--secondary);list-style:none}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:" +"}
details.more[open] summary::after{content:" –"}

/* text pages */
.page{max-width:var(--wrap);margin:0 auto;padding:clamp(30px,4vw,56px) clamp(20px,4vw,56px)}
.page h1{font-size:clamp(30px,4vw,50px);line-height:1.06;max-width:24ch}
.page .prose{max-width:none}
.formrow{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;max-width:520px}
.formrow label{font-size:15px;font-weight:600}
.formrow input,.formrow textarea{font:inherit;font-size:17px;padding:11px 13px;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#F7F1E8;border:0;font:inherit;font-weight:600;font-size:17px;padding:12px 22px;cursor:pointer}
.btn:hover{background:#8A2417;color:#F7F1E8}

/* footer */
.sitefoot{border-top:1px solid var(--ink);background:var(--paper)}
.foot-inner{max-width:var(--wrap);margin:0 auto;padding:30px clamp(20px,4vw,56px) 44px;display:flex;flex-direction:column;gap:16px}
.footnav{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:16px;color:var(--muted)}
.foot-note{margin:0;font-size:15px;color:var(--muted);max-width:80ch}

@media (max-width:1080px){
  .standfirst .wrap{grid-template-columns:1fr;gap:30px}
  .statement-grid{grid-template-columns:1fr;gap:24px;align-items:start}
  .ladder .wrap{grid-template-columns:1fr;gap:26px}
  .ladder-grid{grid-template-columns:repeat(2,1fr)}
  .cutrow{grid-template-columns:repeat(4,1fr);gap:18px}
}
@media (max-width:900px){
  .secblock,.secblock--flip{grid-template-columns:1fr}
  .secblock--flip .secblock-media{order:0}
  .secblock-body{border-left:0;border-top:1px solid var(--rule)}
  .secblock--flip .secblock-body{border-right:0}
  .secblock-media img{min-height:240px}
  .article-figure.inset{float:none;width:100%;margin:8px 0 26px}
  .article-figure.inset img{width:100%;aspect-ratio:3/2}
  .reg-row{grid-template-columns:1fr;gap:6px}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .cat-list a{grid-template-columns:26px 1fr;gap:2px 10px}
  .cat-list .cl-meta{grid-column:2}
  .cardgrid.row4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
  .prose p{font-size:18px}
}
@media (max-width:620px){
  .masthead{position:static}
  html{scroll-padding-top:0}
  [id]{scroll-margin-top:0}
  .mast-inner{padding-block:10px;flex-wrap:wrap;align-items:center;gap:10px 14px}
  .wordmark{font-size:17px;min-width:0}
  .wordmark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mainnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:16px;margin-inline:calc(clamp(20px,4vw,56px)*-1);padding-inline:clamp(20px,4vw,56px);flex:0 0 100%;order:2}
  .mainnav::-webkit-scrollbar{display:none}
  .navlink{font-size:15px;white-space:nowrap;padding-block:8px}
  .cat-list a{padding:13px 0}
  .startlist a{padding-block:6px 14px}
  .footnav a{padding-block:4px}
  .ladder-grid,.cutrow{grid-template-columns:1fr}
  .cutrow div{flex-direction:row;align-items:center;gap:12px}
  .sponsor{grid-template-columns:1fr;gap:12px}
  .sponsor img{height:44px}
  .hero img{min-height:52vh}
  .hero-plate{margin:14px;padding:18px 18px 20px;max-width:none}
  .hero-plate p{font-size:16px}
  .versus tbody th{width:auto}
}

/* photo credits */
.credit{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:5px}
.secblock-media{position:relative}
.credit-tag{position:absolute;bottom:0;left:0;background:rgba(18,17,15,.72);color:#E7E3DA;font-size:12px;line-height:1.3;padding:5px 9px;max-width:100%}
.hero-cap .credit{display:inline;color:var(--muted);margin:0}

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


/* op-money-columns: the supporters block ran one tile per row — 10 tiles,
   1378px at 390, 11% of the whole page. Two columns bring it to
   735px (47% shorter). Checked before writing: no new overflow, smallest mark still
   136px wide, longest blurb 1 lines, tile heights 103-115px.
   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.
   Only the tier(s) that were one-per-row are touched (.sponsor-row), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sponsor-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}
    .sponsor-row > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row > * *{min-width:0!important;max-width:100%}
    .sponsor-row img,.sponsor-row svg{max-width:100%;height:auto}
}

/* op-page-overflow: the page scrolled sideways at 320 — div.indexgroup reached
   350px in a 320px screen (+30px), inside
   div.indexcols. Remedy: unpin the grid track. Structural only, no spacing value of mine;
   tried in order and this is the first that held, with the page's visible copy unchanged.
   Phone widths only — desktop is re-measured after writing and must not move. */
@media (max-width:360px){
  div.indexcols{grid-template-columns:minmax(0,1fr)!important}
  div.indexgroup{min-width:0!important;max-width:100%!important}
}

/* op-article-width: the article column was capped at 762px (86 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 68ch (declared in .prose p) 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){
  main.article div.prose > :is(p:not([class])){max-width:min(904px, 100%)!important}
}
@media (min-width:1600px){
  main.article div.prose > :is(p:not([class])){max-width:min(clamp(904px, 62.778vw, 1085px), 100%)!important}
  main.article div.prose > :is(p:not([class])){font-size:clamp(20px,1.3889vw,24.0px)!important}
}
/* op-article-width:end */

/* op-article-head: the article header followed the text column (762px) and was left behind when the text went to 904px. Operator: "article header page with title + meta info that are super shrinked". Its containers now follow the text again by the text's own factor. */
@media (min-width:1024px){
  div.article-head{max-width:min(632px, 100%)!important}
}
@media (min-width:1600px){
  div.article-head{max-width:min(calc(clamp(632px, 43.889vw, 758px) + 0px), 100%)!important}
}
/* op-article-head:end */

/* op-grow-same-size: this tier grows by STRETCHING (flex rows, flex-grow) — one added tile would wrap onto a new row alone and stretch across the grid. Same minimum (380px), same columns at every width, but a short row keeps its siblings' size. Today's look unchanged (measured 1440/1024/390). Phones keep their own rules. */
@media (min-width:641px){
  section.supporters:nth-of-type(11) > div.sponsor-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important}
}
/* op-grow-same-size:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article.secblock > div.secblock-media > img,
  article.secblock.secblock--flip > div.secblock-media > img,
  div.cardgrid.row4 > a.card > img,
  div.gallery > figure > img,
  div.prose > figure.article-figure.inset > img,
  div.prose > figure.article-figure.wide > img,
  main > section.hero > img,
  main.article > figure.lead-figure > img,
  main.page > figure.lead-figure > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:949px){.sponsor-row.sponsor-row:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(560px,calc(50% - 9px)),1fr))!important;column-gap:18px!important;row-gap:18px!important;justify-content:stretch!important;align-items:stretch!important}.sponsor-row.sponsor-row > [data-partner]{flex:none!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
@media (min-width:621px) and (max-width:819px){.sponsor-row > .sponsor[data-partner]{grid-template-columns:minmax(0,1fr)!important;row-gap:8px!important}.sponsor-row > .sponsor[data-partner] > *{grid-column:1!important;grid-row:auto!important}}
