/* Belleville en Vues — Foyer Light */
:root{
  --ground:#2a0f16; --ground-2:#1d0a10; --ground-3:#150609; --panel:#38161f;
  --ivory:#f6ecdb; --body-c:#e9d7c1; --muted:#c9a58f; --dim:#8f6f5e;
  --amber:#dfa14e; --amber-soft:rgba(223,161,78,.55); --rule:rgba(246,236,219,.18);
  --serif:'Young Serif',Georgia,serif; --mono:'IBM Plex Mono',ui-monospace,monospace; --sans:'Newsreader',Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--body-c);font-family:var(--sans);font-size:17.5px;line-height:1.7;text-wrap:pretty}
img{max-width:100%;display:block}
a{color:var(--amber);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--amber-soft)}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ivory);line-height:1.18;text-wrap:balance;margin:0}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:30px;height:1px;background:var(--amber)}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:24px}
.hero-plate h1,.hero-plate .dek,.hero-plate .kicker,.hero-plate .byline,.poster-plate h2,.poster-plate .dek,.poster-plate .kicker,.poster-plate .go{text-shadow:0 1px 3px rgba(21,6,9,.9),0 2px 18px rgba(21,6,9,.75)}

/* ---------- header ---------- */
.site-head{border-bottom:1px solid var(--rule);padding:20px 0 14px}
.site-head .wrap{display:flex;flex-direction:column;gap:11px}
.brand-row{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-size:24px;color:var(--ivory);white-space:nowrap}
.wordmark em{font-style:normal;color:var(--amber)}
.standing{font-family:var(--mono);font-size:11px;color:var(--muted)}
.site-nav{display:flex;gap:24px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.site-nav a{color:#e6d6c2;white-space:nowrap;padding-bottom:2px}
.site-nav a:hover{color:var(--amber);text-decoration:none}
.site-nav a[aria-current]{color:var(--amber);border-bottom:1px solid var(--amber)}
.head-overlay{position:absolute;inset:0 0 auto 0;z-index:3;border-bottom:1px solid rgba(246,236,219,.25);background:linear-gradient(to bottom,rgba(21,6,9,.75),rgba(21,6,9,0))}

.head-overlay .wordmark,.head-overlay .standing,.head-overlay .site-nav a{text-shadow:0 1px 3px rgba(21,6,9,.9),0 2px 14px rgba(21,6,9,.8)}
/* ---------- hero (home) ---------- */
.hero{position:relative;min-height:640px;height:78vh;display:flex;align-items:flex-end}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .hero-plate{position:relative;z-index:2;width:100%;padding:170px 0 54px;background:linear-gradient(to top,rgba(21,6,9,.95),rgba(21,6,9,0))}
.hero h1{font-size:clamp(34px,4.6vw,54px);max-width:16ch}
.hero .dek{font-size:16px;color:var(--muted);max-width:56ch;margin:16px 0 0}

/* ---------- generic band ---------- */
.band{padding:64px 0}
.band+.band{border-top:1px solid var(--rule)}
.band-deep{background:var(--ground-2)}
.band-deepest{background:var(--ground-3)}

/* ---------- featured poster ---------- */
.poster{position:relative;display:block;min-height:620px;overflow:hidden}
.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.poster:hover>img{transform:scale(1.03)}
.poster::after{content:"";position:absolute;inset:16px;border:1px solid rgba(246,236,219,.28);pointer-events:none;z-index:3}
.poster .poster-plate{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:620px;padding:190px 0 60px;background:linear-gradient(to top,rgba(21,6,9,.97) 12%,rgba(21,6,9,.1))}
.poster h2{font-size:clamp(38px,5.2vw,64px);line-height:1.06;max-width:15ch;margin-top:16px}
.poster .dek{color:var(--body-c);font-size:17.5px;max-width:52ch;margin:18px 0 0}
.poster .go{display:inline-block;align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--amber);margin-top:26px;border-bottom:1px solid var(--amber-soft);padding-bottom:4px}
a.poster:hover{text-decoration:none}
a.poster:hover .go{color:var(--ivory);border-color:var(--ivory)}

/* ---------- section pull-quote nav ---------- */
.section-quotes{display:flex;flex-direction:column}
.sq{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:baseline;padding:30px 0;border-top:1px solid var(--rule)}
.sq:first-child{border-top:none}
.sq q{quotes:"\201C" "\201D";font-family:var(--serif);font-size:clamp(21px,2.4vw,29px);color:var(--ivory);line-height:1.3}
.sq:hover q{color:var(--amber)}
.sq .sq-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right;white-space:nowrap}
.sq:hover{text-decoration:none}
.sq:hover .sq-label{color:var(--amber)}

/* ---------- shorts strip ---------- */
.shorts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.short{display:flex;flex-direction:column;gap:13px;border-top:2px solid var(--amber-soft);padding-top:16px}
.short:hover{border-top-color:var(--amber)}
.short .s-top{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.short .s-top span:first-child{color:var(--amber)}
.short h3{font-size:23px}
.short h3 a{color:var(--ivory)}
.short h3 a:hover{color:var(--amber);text-decoration:none}
.short p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.7}
.short .s-go{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--amber)}
.short .s-go:hover{color:var(--ivory);text-decoration:none}

/* ---------- photography-led secondary feature ---------- */
.photo-feature{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center}
.photo-feature figure{margin:0;position:relative}
.photo-feature img{width:100%;aspect-ratio:3/2;object-fit:cover;outline:1px solid rgba(246,236,219,.25);outline-offset:-14px}
.photo-feature .pf-caption{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--dim);margin-top:14px}
.photo-feature .pf-caption::before{content:"";width:30px;height:1px;background:var(--amber);flex:none}
.photo-feature h2{font-size:clamp(28px,3.2vw,40px);margin-top:16px}
.photo-feature h2 a:hover{color:var(--amber);text-decoration:none}
.photo-feature .pf-rule{width:56px;height:2px;background:var(--amber);margin:20px 0 4px}
.photo-feature .pf-text p{font-size:15.5px;color:var(--muted);line-height:1.8}
.photo-feature .pf-go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;margin-top:26px}
.photo-feature .pf-go a{border-bottom:1px solid var(--amber-soft);padding-bottom:3px}
.photo-feature .pf-go a:hover{text-decoration:none;color:var(--ivory);border-color:var(--ivory)}

/* ---------- sponsors: foyer noticeboard ---------- */
.supporters{padding:34px 0 40px;background:var(--ground-3);border-top:1px solid var(--rule)}
.supporters .sub-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);display:flex;align-items:center;gap:12px;margin-bottom:16px}
.supporters .sub-label::after{content:"";flex:1;height:1px;background:var(--rule)}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.sponsor{display:flex;align-items:center;justify-content:center;min-height:88px;padding:16px 24px;background:var(--ground-2);border:1px solid var(--rule);border-top:2px solid var(--amber-soft)}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor:hover{border-color:var(--amber-soft);text-decoration:none}
.sponsor.feat{min-height:120px}
.sponsor.feat img{max-height:56px}

/* ---------- article ---------- */
.post-hero{position:relative;min-height:440px;height:58vh;display:flex;align-items:flex-end}
.post-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-hero .hero-plate{position:relative;z-index:2;width:100%;padding:140px 0 42px;background:linear-gradient(to top,rgba(21,6,9,.96),rgba(21,6,9,0))}
.post-hero h1{font-size:clamp(30px,4.2vw,50px);max-width:22ch}
.byline{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:16px}
.byline a{color:var(--amber)}
.measure{max-width:740px;margin-inline:auto;padding-inline:24px}
.post-body{padding:44px 0 8px}
.post-body p{font-size:21px;line-height:1.8;margin:0 0 26px;color:var(--body-c)}
.post-body p a{text-decoration:underline;text-decoration-color:var(--amber-soft);text-underline-offset:3px}
.post-body p a:hover{color:var(--ivory);text-decoration-color:var(--ivory)}
.post-body h2{font-size:28px;margin:54px 0 20px;color:var(--ivory)}
.post-body h2::before{content:"";display:block;width:34px;height:2px;background:var(--amber);margin-bottom:14px}
.post-body h3{font-size:21px;margin:36px 0 14px}
.post-body ul,.post-body ol{font-size:19.5px;line-height:1.8;padding-left:24px;margin:0 0 26px}
.post-body li{margin-bottom:8px}
.lead{font-size:21px;line-height:1.65;color:var(--ivory);margin:0 0 30px}
.post-body .lead{font-size:24.5px;line-height:1.6;font-weight:500;color:var(--ivory);padding-bottom:28px;border-bottom:1px solid var(--rule);margin-bottom:36px}
.dropcap::first-letter{float:left;font-family:var(--serif);font-size:64px;line-height:.85;padding:7px 12px 0 0;color:var(--amber)}

/* notes band — full-bleed interruption */
.notesband{width:100vw;margin-left:calc(50% - 50vw);background:var(--ground-2);border-top:2px solid var(--amber-soft);border-bottom:1px solid var(--rule);padding:44px 0 48px;margin-block:48px}
.notesband .nb-inner{max-width:1080px;margin-inline:auto;padding-inline:24px}
.notesband h4{font-family:var(--serif);font-weight:400;font-size:23px;color:var(--ivory);margin:12px 0 22px}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.nb-item{background:var(--ground-2);border:1px solid var(--rule);padding:16px 18px 18px}
.nb-item .nb-term{font-family:var(--serif);font-size:16.5px;color:var(--amber);display:block;margin-bottom:6px}
.nb-item p{margin:0;font-size:14.5px;line-height:1.65;color:var(--muted)}

/* wide figure interruption */
.article-figure{width:100vw;margin:42px 0 42px calc(50% - 50vw)}
.article-figure img{width:100%;max-height:560px;object-fit:cover;outline:1px solid rgba(246,236,219,.22);outline-offset:-14px}
.article-figure figcaption{max-width:1080px;margin:10px auto 0;padding-inline:24px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.figure-inset{width:auto;margin:36px 0}
.figure-inset img{max-height:460px}
.figure-inset figcaption{padding-inline:0;max-width:none}

/* pullquote / quotes / callouts */
.pullquote{margin:40px 0;padding:6px 0 6px 26px;border-left:3px solid var(--amber)}
.pullquote p{font-family:var(--serif);font-size:25px;line-height:1.45;color:var(--ivory);margin:0}
.blockquote{margin:36px 0;padding:24px 28px;background:var(--ground-2);border:1px solid var(--rule)}
.blockquote p{font-size:17.5px;font-style:italic;color:var(--ivory);margin:0 0 10px}
.blockquote cite{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);font-style:normal}
.callout{margin:36px 0;padding:22px 26px;background:var(--panel);border-top:2px solid var(--amber)}
.callout p{margin:0;font-size:16.5px;color:var(--ivory)}
.note{font-size:14.5px;color:var(--muted);border-top:1px dashed var(--amber-soft);border-bottom:1px dashed var(--amber-soft);padding:12px 2px;margin:32px 0}

/* related */
.post-end{padding:34px 0 64px;border-top:1px solid var(--rule);margin-top:34px}
.filed{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:0 0 26px}
.filed a{color:var(--amber)}
.post-end .kicker{margin-bottom:18px}
.related-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.related-links li{background:var(--ground-2);border:1px solid var(--rule)}
.related-links a{display:flex;flex-direction:column;gap:8px;height:100%;padding:18px 20px 20px;color:var(--ivory)}
.related-links a:hover{text-decoration:none;border-color:var(--amber)}
.related-links .rl-title{font-family:var(--serif);font-size:18px;line-height:1.35}
.related-links a:hover .rl-title{color:var(--amber)}
.related-links .rl-meta{margin-top:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

/* ---------- category pages ---------- */
.cat-head{padding:58px 0 40px}
.cat-head h1{font-size:clamp(32px,4vw,46px);max-width:20ch;margin-top:14px}
.cat-head .dek{color:var(--muted);max-width:58ch;font-size:16.5px;margin:16px 0 0}
.cat-strip{height:320px;overflow:hidden}
.cat-strip img{width:100%;height:100%;object-fit:cover}
.cat-list{list-style:none;margin:0;padding:24px 0 70px}
.cat-list li{border-top:1px solid var(--rule)}
.cat-list li:last-child{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:1fr 130px;gap:28px;align-items:baseline;padding:26px 6px;color:var(--ivory)}
.cat-list a:hover{text-decoration:none;background:var(--ground-2)}
.cat-list .cl-title{font-family:var(--serif);font-size:clamp(21px,2.4vw,27px);line-height:1.3}
.cat-list a:hover .cl-title{color:var(--amber)}
.cat-list .cl-dek{grid-column:1;font-size:14.5px;color:var(--muted);margin:8px 0 0;max-width:64ch}
.cat-list .cl-meta{grid-column:2;grid-row:1 / span 2;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:right}

/* ---------- footer ---------- */
.site-foot{background:var(--ground-3);border-top:1px solid var(--rule);padding:38px 0 44px;font-family:var(--mono)}
.foot-nav{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px}
.foot-nav a{color:#e6d6c2}
.foot-nav a:hover{color:var(--amber)}
.foot-lines{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:10px;letter-spacing:.08em;color:var(--dim)}

/* ---------- styleguide-only data components ---------- */
.versus,.datatable{width:100%;border-collapse:collapse;margin:32px 0;font-size:15px}
.versus th,.datatable th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);text-align:left;padding:10px 12px;border-bottom:2px solid var(--amber-soft)}
.versus td,.datatable td{padding:11px 12px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--body-c)}
.versus td:first-child{font-family:var(--serif);color:var(--ivory)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:32px 0}
.statblock{background:var(--ground-2);border:1px solid var(--rule);padding:20px 18px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--serif);font-size:38px;color:var(--amber);line-height:1}
.stat-label{font-size:13px;color:var(--muted);line-height:1.5}
.timeline{list-style:none;margin:32px 0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--rule)}
.timeline .t-when{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--amber);line-height:1.6}
.timeline .t-what{font-size:15.5px;color:var(--body-c)}
.chart{margin:36px 0}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:10px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:36px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--dim);margin-top:8px}
.map-figure{margin:36px 0}
.map-figure .map-slot{aspect-ratio:16/9;background:var(--ground-2);border:1px dashed var(--amber-soft)}
.map-figure figcaption{font-family:var(--mono);font-size:10.5px;color:var(--dim);margin-top:10px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:32px 0}
.profile-card{background:var(--ground-2);border:1px solid var(--rule);padding:20px}
.profile-card .p-photo{width:72px;height:72px;object-fit:cover;border-radius:50%;margin-bottom:14px}
.profile-card h3{font-size:19px}
.profile-card .p-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin:6px 0 10px}
.profile-card p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 10px}
.profile-card .p-links a{margin-right:14px;font-size:13.5px}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:32px 0}
.org-card{display:flex;align-items:center;gap:12px;background:var(--ground-2);border:1px solid var(--rule);padding:12px 16px;color:var(--ivory)}
.org-card:hover{border-color:var(--amber);text-decoration:none}
.org-logo{max-height:32px;width:auto;object-fit:contain}
.org-name{font-size:14.5px}
.org-host{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--dim)}
.entity-ref{border-bottom:1px solid var(--amber-soft)}
.entity-ref:hover{text-decoration:none;color:var(--ivory)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:32px 0}
.further-grid a{background:var(--ground-2);border:1px solid var(--rule);padding:16px 18px;font-family:var(--serif);font-size:16.5px;color:var(--ivory);line-height:1.4}
.further-grid a:hover{border-color:var(--amber);color:var(--amber);text-decoration:none}

/* ---------- misc pages ---------- */
.page-plain{padding:60px 0 80px}
.page-plain h1{font-size:clamp(30px,4vw,44px);margin:14px 0 22px}
.page-plain p{max-width:64ch;font-size:17.5px;line-height:1.8}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .shorts{grid-template-columns:1fr;gap:28px}
  .photo-feature{grid-template-columns:1fr}
  .sq{grid-template-columns:1fr;gap:8px}
  .sq .sq-label{text-align:left}
}
@media (max-width:640px){
  body{font-size:16px}
  .post-body p{font-size:18.5px}
  .sponsor-grid{grid-template-columns:1fr}
  .sponsor{min-height:76px}
  .sponsor.feat{min-height:88px}
  .sponsor.feat img{max-height:48px}
  .cat-list a{grid-template-columns:1fr}
  .cat-list .cl-meta{grid-column:1;grid-row:auto;text-align:left;margin-top:8px}
  .hero{min-height:520px}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .site-nav{gap:14px}
}

.home-top{position:relative}
.head-overlay{position:absolute;left:0;right:0;top:0;z-index:5;border-bottom:1px solid rgba(246,236,219,.25);background:linear-gradient(to bottom,rgba(21,6,9,.82),rgba(21,6,9,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}

/* 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:39px!important;display:block!important;width:285px!important;max-width:100%!important;flex:none!important}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1048px at 390, 18% of the whole page. Two columns bring it to
   688px (34% shorter). Checked before writing: no new overflow, smallest mark still
   74px wide, longest blurb 2 lines, tile heights 76-88px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sponsor-grid), 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-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:14px!important}
    .sponsor-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-grid > * *{min-width:0!important;max-width:100%}
    .sponsor-grid img,.sponsor-grid svg{max-width:100%;height:auto}

}

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

/* op-article-width: the article column was capped at 692px (83 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 740px (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){
  article.post-body > div.measure{max-width:min(893px, 100%)!important}
}
@media (min-width:1600px){
  article.post-body > div.measure{max-width:min(clamp(893px, 62.014vw, 1072px), 100%)!important}
  article.post-body > div.measure > :is(p.dropcap, p:not([class])){font-size:clamp(21px,1.4583vw,25.2px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
.notesband h3:where(.rt-h4){font-family: var(--serif); font-weight: 400; font-size: 23px; color: var(--ivory); margin: 12px 0px 22px;}
.notesband h3:where(.rt-h4p36982b){font-family: var(--serif); font-weight: 400; font-size: 23px; color: var(--ivory); margin: 12px 0px 22px;}
.notesband h3:where(.rt-h4p662646){font-family: var(--serif); font-weight: 400; font-size: 23px; color: var(--ivory); margin: 12px 0px 22px;}
.notesband h3:where(.rt-h4pb54e25){font-family: var(--serif); font-weight: 400; font-size: 23px; color: var(--ivory); margin: 12px 0px 22px;}
h3.rt-h4.rt-h4{height:39.0938px;line-height:39.1px}
h3.rt-h4p36982b.rt-h4p36982b{line-height:39.1px}
h3.rt-h4p662646.rt-h4p662646{line-height:39.1px}
h3.rt-h4pb54e25.rt-h4pb54e25{line-height:39.1px}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(body > div.post-hero > img,
  div.home-top > div.hero > img,
  div.measure > figure.article-figure > img,
  div.photo-feature > figure > img,
  main > a.poster > img,
  main > div.cat-strip > img){height:auto}
/* op-img-dims:end */
