/* Chroniques de la Rentrée Littéraire — site styles */
:root{
  --paper:#f3ecdd; --paper-deep:#ece2cb; --ink:#241f18; --ink-soft:rgba(36,31,24,.66); --ink-faint:rgba(36,31,24,.45);
  --rule:rgba(36,31,24,.28); --rule-soft:rgba(36,31,24,.16);
  --acc-waiting:#6b2a30; --acc-flood:#8a6a3b; --acc-sorting:#35503c; --acc-remains:#3c4a5d;
  --gold:#8a6a3b; --cream:#efe8da; --cream-soft:rgba(239,232,218,.72);
  --serif:'Spectral',Georgia,serif; --disp:'Marcellus',Georgia,serif;
  --measure:72ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:300;line-height:1.7;font-size:17px;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--acc-waiting)}
.accent-waiting{--acc:var(--acc-waiting)} .accent-flood{--acc:var(--acc-flood)}
.accent-sorting{--acc:var(--acc-sorting)} .accent-remains{--acc:var(--acc-remains)}

/* ---------- chrome ---------- */
.top{border-bottom:1px solid var(--rule);background:var(--paper)}
.top-in{max-width:1240px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.wordmark{font-family:var(--disp);letter-spacing:.09em;text-transform:uppercase;font-size:1.05rem;line-height:1.3}
.wordmark:hover{color:var(--ink)}
.nav{display:flex;gap:20px;flex-wrap:wrap}
.nav a{font-family:var(--disp);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;padding-bottom:2px;border-bottom:2px solid transparent}
.nav a.n-waiting:hover,.nav a.n-waiting.on{color:var(--acc-waiting);border-color:var(--acc-waiting)}
.nav a.n-flood:hover,.nav a.n-flood.on{color:var(--acc-flood);border-color:var(--acc-flood)}
.nav a.n-sorting:hover,.nav a.n-sorting.on{color:var(--acc-sorting);border-color:var(--acc-sorting)}
.nav a.n-remains:hover,.nav a.n-remains.on{color:var(--acc-remains);border-color:var(--acc-remains)}
.nav a.n-about:hover{color:var(--ink);border-color:var(--ink)}
.dial{display:inline-block;width:34px;height:34px;border-radius:50%;flex:none;background:conic-gradient(var(--acc-waiting) 0 25%,var(--acc-flood) 25% 50%,var(--acc-sorting) 50% 75%,var(--acc-remains) 75% 100%);box-shadow:inset 0 0 0 2px var(--paper),0 0 0 1px var(--rule)}

/* footer */
.footer{border-top:2px solid var(--ink);margin-top:72px;background:var(--paper)}
.footer-in{max-width:1240px;margin:0 auto;padding:36px 24px 20px}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.foot-grid h3{font-family:var(--disp);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px}
.foot-grid h3 a:hover{color:var(--acc)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin:0 0 7px}
.foot-grid li a{font-size:.86rem;color:var(--ink-soft)}
.foot-grid li a:hover{color:var(--ink)}
.foot-base{margin-top:30px;padding-top:16px;border-top:1px solid var(--rule-soft);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--ink-faint);font-style:italic}
.foot-base a{color:var(--ink-soft)}

/* ---------- homepage ---------- */
.masthead{text-align:center;padding:64px 24px 30px}
.masthead .kicker{font-family:var(--disp);font-size:.72rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 18px}
.masthead h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:clamp(1.9rem,4.6vw,3.6rem);line-height:1.14;margin:0}
.standing{font-style:italic;font-size:1.06rem;color:var(--ink-soft);margin:14px 0 0}
.mast-rule{max-width:1240px;margin:28px auto 0;padding:0 24px}
.mast-rule div{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);height:4px}
.opening{max-width:820px;margin:0 auto;padding:40px 24px 8px;text-align:center}
.opening p{font-size:1.22rem;line-height:1.75;font-style:italic;color:var(--ink);margin:0}

.band{max-width:1240px;margin:0 auto;padding:44px 24px}
.band-kicker{font-family:var(--disp);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--acc,var(--gold));margin:0 0 16px}

/* lead piece */
.lead-piece{position:relative;display:block}
.lead-piece .lp-img{aspect-ratio:21/10;min-height:340px;max-height:560px;width:100%;object-fit:cover;filter:sepia(.14) saturate(.92) contrast(.98)}
.lead-piece .lp-scrim{position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(to top,rgba(20,16,11,.82),rgba(20,16,11,.35) 55%,transparent)}
.lead-piece .lp-txt{position:absolute;left:0;right:0;bottom:0;padding:28px 34px}
.lead-piece .lp-kicker{font-family:var(--disp);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-soft);margin:0 0 8px}
.lead-piece h2{font-family:var(--disp);font-weight:400;font-size:clamp(1.6rem,3.6vw,2.9rem);line-height:1.12;color:var(--cream);margin:0;max-width:22ch}
.lead-piece .lp-dek{color:var(--cream-soft);font-size:1.02rem;font-style:italic;max-width:62ch;margin:10px 0 0}
.img-credit{font-size:.72rem;color:var(--ink-faint);text-align:right;margin:6px 0 0;font-style:italic}

/* essay pair */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:2px solid var(--ink)}
.pair article{padding:30px 34px 34px;border-top:1px solid var(--ink)}
.pair article + article{border-left:1px solid var(--rule)}
.pair .band-kicker{margin-bottom:10px}
.pair h3{font-family:var(--disp);font-weight:400;font-size:1.7rem;line-height:1.2;margin:0 0 12px}
.pair h3 a:hover{color:var(--acc)}
.pair p{color:var(--ink-soft);font-size:1.02rem;margin:0 0 14px}
.goto{font-family:var(--disp);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--acc,var(--ink));border-bottom:1px solid currentColor;padding-bottom:2px}

/* interlude */
.interlude{padding:0}
.interlude img{width:100%;max-height:600px;object-fit:cover;filter:sepia(.14) saturate(.92) contrast(.98)}
.interlude .pull-line{text-align:center;font-style:italic;font-size:1.3rem;color:var(--ink-soft);padding:22px 24px 0;margin:0}

/* section entrances */
.entrances{padding-top:20px}
.entrance{position:relative;overflow:hidden;color:var(--cream);background:var(--acc);margin:0 0 14px;display:block}
.entrance:hover{color:var(--cream)}
.entrance .en-in{position:relative;padding:40px 44px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 32px;align-items:center}
.entrance .en-no{position:absolute;right:6px;top:-58px;font-family:var(--disp);font-size:230px;line-height:1;color:rgba(239,232,218,.09);pointer-events:none}
.entrance h3{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.7rem,3.4vw,2.6rem);margin:0}
.entrance .en-premise{grid-column:1;font-style:italic;font-size:1.04rem;color:var(--cream-soft);margin:0;max-width:72ch}
.entrance .en-go{grid-row:1/span 2;font-family:var(--disp);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(239,232,218,.5);padding:11px 22px;white-space:nowrap}
.entrance:hover .en-go{background:rgba(239,232,218,.12)}

/* closing device */
.closing{text-align:center;padding:46px 24px 8px}
.closing .dial{margin:0 auto 12px}
.closing p{font-style:italic;font-size:1rem;color:var(--ink-soft);margin:0}

/* ---------- sponsors (Companions) ---------- */
.companions{max-width:1240px;margin:0 auto;padding:14px 24px 34px}
.companions .band-kicker{color:var(--gold);display:flex;align-items:center;gap:16px;margin:0 0 16px}
.companions .band-kicker::after{content:"";flex:1;border-top:1px solid var(--rule-soft)}
.companions.quiet{padding-top:0}
.companions.quiet .band-kicker{font-size:.62rem;color:var(--ink-faint);letter-spacing:.34em}
.comp-row{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.sponsor{flex:1 1 280px;max-width:100%;display:flex;align-items:center;gap:18px;border:1px solid var(--rule);background:var(--paper);padding:16px 20px;min-height:84px;transition:border-color .15s}
.sponsor:hover{border-color:var(--ink);color:inherit}
.sponsor img{background:#241f18;padding:10px 16px;box-sizing:border-box;height:48px;width:auto;max-width:min(62%,300px);object-fit:contain;flex:none;box-shadow:inset 0 0 0 1px rgba(239,232,218,.14)}
.sponsor .s-side{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.sponsor .sponsor-name{font-family:var(--disp);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;min-height:1.1em;border-bottom:1px solid var(--rule-soft);padding-bottom:5px}
.companions.quiet .sponsor:not(.feat) .sponsor-name{border-bottom:0;padding-bottom:0;font-size:.76rem;color:var(--ink-soft)}
.sponsor .sponsor-blurb{font-size:.92rem;font-style:italic;color:var(--ink-soft);line-height:1.55;min-height:1.2em}
.sponsor.feat{flex:2 1 360px;min-height:112px;border-top:3px solid var(--gold);background:var(--paper-deep);padding:20px 24px}
.sponsor.feat img{height:64px;width:auto;max-width:min(58%,360px);padding:12px 18px}
.sponsor.feat .sponsor-name{font-size:.95rem;letter-spacing:.16em}

/* ---------- category pages ---------- */
.cat-hero{background:var(--acc);color:var(--cream)}
.cat-hero .ch-in{max-width:1240px;margin:0 auto;padding:56px 24px;position:relative;overflow:hidden}
.cat-hero .en-no{position:absolute;right:0;top:-70px;font-family:var(--disp);font-size:280px;line-height:1;color:rgba(239,232,218,.09);pointer-events:none}
.cat-hero .band-kicker{color:var(--cream-soft)}
.cat-hero h1{font-family:var(--disp);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(2rem,5vw,3.4rem);margin:0;position:relative}
.cat-hero p{font-style:italic;font-size:1.12rem;color:var(--cream-soft);max-width:72ch;margin:14px 0 0;position:relative}
.cat-body{max-width:900px;margin:0 auto;padding:26px 24px 0}
.cat-intro{font-size:1.14rem;line-height:1.75;color:var(--ink);padding-inline:2px}
.cat-list{list-style:none;margin:26px 0 0;padding:0}
.cat-list li{border-top:1px solid var(--rule);padding:24px 2px 26px}
.cat-list li:last-child{border-bottom:1px solid var(--rule)}
.cat-list .cl-title{font-family:var(--disp);font-weight:400;font-size:1.55rem;line-height:1.25;margin:0 0 8px;display:block}
.cat-list .cl-title:hover{color:var(--acc)}
.cat-list .cl-dek{color:var(--ink-soft);font-size:1rem;margin:0 0 10px;max-width:72ch}
.meta{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-family:var(--disp)}
.meta b{font-weight:400;color:var(--acc,var(--ink-soft))}

/* ---------- article page ---------- */
.article-hero{position:relative;margin:0}
.article-hero img{width:100%;height:min(62vh,620px);min-height:380px;object-fit:cover;filter:sepia(.14) saturate(.92) contrast(.98)}
.article-hero .lp-scrim{position:absolute;inset:auto 0 0 0;height:68%;background:linear-gradient(to top,rgba(20,16,11,.84),rgba(20,16,11,.38) 55%,transparent)}
.article-hero .ah-txt{position:absolute;left:0;right:0;bottom:0;max-width:1240px;margin:0 auto;padding:30px 24px}
.article-hero .lp-kicker{font-family:var(--disp);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-soft);margin:0 0 10px}
.article-hero h1{font-family:var(--disp);font-weight:400;font-size:clamp(1.9rem,4.6vw,3.6rem);line-height:1.1;color:var(--cream);margin:0;max-width:24ch}
.article-meta{max-width:1240px;margin:0 auto;padding:14px 24px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.article-body{max-width:calc(var(--measure) + 48px);margin:0 auto;padding:34px 24px 0}
.article-body p{font-size:1.22rem;line-height:1.78;margin:0 0 26px}
.article-body p.lead{font-size:1.36rem;line-height:1.65;font-weight:400;color:var(--ink)}
.article-body a{color:var(--acc,var(--acc-waiting));border-bottom:1px solid currentColor}
.article-body a:hover{color:var(--ink)}
.article-body h2{font-family:var(--disp);font-weight:400;font-size:1.5rem;letter-spacing:.02em;margin:0 0 18px;text-align:center}
hr.break{border:0;border-top:1px solid var(--gold);width:40%;margin:44px auto 40px}
.pullquote{margin:40px 0;padding:0;border:0}
.pullquote p{font-style:italic;font-size:1.6rem !important;line-height:1.5 !important;text-align:center;color:var(--acc,var(--acc-waiting));margin:0 !important}
.blockquote{margin:36px 0;padding:6px 0 6px 26px;border-left:2px solid var(--acc,var(--gold))}
.blockquote p{margin:0 0 8px !important}
.blockquote cite{font-style:italic;color:var(--ink-soft);font-size:.98rem}
.callout{background:var(--paper-deep);border:1px solid var(--rule);padding:22px 26px;margin:36px 0}
.callout p{font-size:1.05rem !important;margin:0 !important}
.note{font-size:.98rem;font-style:italic;color:var(--ink-soft);border-top:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);padding:12px 2px;margin:32px 0}

/* notes-band interruption (full-bleed) */
.notes-band{background:var(--acc,var(--acc-waiting));color:var(--cream);margin:48px 0;padding:38px 0}
.notes-band .nb-in{max-width:1000px;margin:0 auto;padding:0 24px}
.notes-band .band-kicker{color:rgba(239,232,218,.7)}
.notes-band h3{font-family:var(--disp);font-weight:400;font-size:1.5rem;margin:0 0 20px}
.notes-band .nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 36px;margin:0;padding:0;list-style:none}
.notes-band .nb-grid li{border-top:1px solid rgba(239,232,218,.28);padding:12px 0 14px;font-size:1rem;line-height:1.6;color:rgba(239,232,218,.88)}
.notes-band .nb-grid b{font-weight:500;color:var(--cream);display:block;font-family:var(--disp);letter-spacing:.03em;font-size:1.02rem;margin-bottom:3px}
.bleed{width:100vw;position:relative;left:50%;transform:translateX(-50%)}

/* timeline */
.timeline{list-style:none;counter-reset:tl;margin:38px 0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:6px 22px;border-bottom:1px solid var(--rule);padding:16px 2px}
.timeline .t-when{font-family:var(--disp);font-size:1rem;color:var(--acc,var(--acc-waiting));line-height:1.4}
.timeline .t-what{font-size:1.02rem;line-height:1.6;color:var(--ink)}

/* inset panel (second interruption) */
.inset-panel{border-top:2px solid var(--acc,var(--gold));border-bottom:1px solid var(--rule);padding:20px 2px 8px;margin:40px 0}
.inset-panel h3{font-family:var(--disp);font-weight:400;font-size:1.15rem;letter-spacing:.04em;margin:0 0 14px;color:var(--acc,var(--ink))}
.inset-panel ul{list-style:none;margin:0;padding:0;columns:2;column-gap:34px}
.inset-panel li{break-inside:avoid;font-size:.98rem;line-height:1.55;color:var(--ink-soft);padding:0 0 14px}
.inset-panel li b{font-weight:500;color:var(--ink);display:block;margin-bottom:2px}

/* figures */
.article-figure{margin:40px 0}
.article-figure img{width:100%;object-fit:cover;filter:sepia(.14) saturate(.92) contrast(.98)}
.article-figure figcaption{font-size:.9rem;font-style:italic;color:var(--ink-soft);padding-top:10px;border-top:1px solid var(--rule-soft);margin-top:10px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:40px 0}
.gallery figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figcaption{font-size:.85rem;font-style:italic;color:var(--ink-soft);padding-top:6px}
.map-figure{margin:40px 0}
.map-figure .map-slot{aspect-ratio:16/9;border:1px solid var(--rule);background:repeating-linear-gradient(-45deg,var(--paper-deep) 0 14px,var(--paper) 14px 28px)}
.map-figure figcaption{font-size:.9rem;font-style:italic;color:var(--ink-soft);padding-top:10px}

/* tables, stats, charts */
.versus,.datatable{width:100%;border-collapse:collapse;margin:38px 0;font-size:1rem}
.versus caption,.datatable caption{font-family:var(--disp);text-align:left;font-size:1.05rem;padding-bottom:10px}
.versus th,.datatable th{font-family:var(--disp);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;text-align:left;border-bottom:2px solid var(--ink);padding:10px 12px 8px}
.versus td,.datatable td{border-bottom:1px solid var(--rule-soft);padding:11px 12px;vertical-align:top;line-height:1.55}
.versus td:first-child{font-weight:500}
.statrow{display:flex;flex-wrap:wrap;gap:14px;margin:38px 0}
.statblock{flex:1 1 150px;border-top:2px solid var(--acc,var(--gold));background:var(--paper-deep);padding:16px 18px}
.stat-num{display:block;font-family:var(--disp);font-size:2.2rem;line-height:1;color:var(--acc,var(--ink))}
.stat-label{display:block;font-size:.9rem;color:var(--ink-soft);margin-top:6px;line-height:1.45}
.chart{margin:38px 0}
.chart svg{width:100%;height:auto}
.chart figcaption{font-size:.9rem;font-style:italic;color:var(--ink-soft);padding-top:8px}

/* cards / references */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:38px 0}
.profile-card{border:1px solid var(--rule);background:var(--paper-deep);padding:20px 22px;display:flex;flex-direction:column}
.profile-card .p-photo{width:76px;height:76px;border-radius:50%;object-fit:cover;margin-bottom:12px}
.profile-card h3{font-family:var(--disp);font-weight:400;font-size:1.15rem;margin:0 0 2px}
.profile-card .p-role{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-family:var(--disp);color:var(--acc,var(--gold));margin:0 0 10px}
.profile-card p{font-size:.95rem;line-height:1.6;color:var(--ink-soft);margin:0 0 10px}
.profile-card .p-links{margin-top:auto}
.profile-card .p-links a{border-bottom:1px solid var(--rule);font-size:.9rem}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:38px 0}
.org-card{border:1px solid var(--rule);padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;background:var(--paper)}
.org-card:hover{border-color:var(--ink)}
.org-logo{width:38px;height:38px;object-fit:contain;grid-row:1/span 2;background:#241f18;padding:5px}
.org-name{font-family:var(--disp);font-size:.95rem}
.org-host{font-size:.8rem;color:var(--ink-faint)}
.entity-ref{border-bottom:1px solid var(--rule);white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:38px 0}
.further-grid a{border:1px solid var(--rule);padding:16px 18px;font-family:var(--disp);font-size:1rem;line-height:1.4;background:var(--paper-deep)}
.further-grid a:hover{border-color:var(--ink)}

/* related */
.article-foot{max-width:calc(var(--measure) + 48px);margin:0 auto;padding:8px 24px 0}
.related-wrap{border-top:2px solid var(--ink);padding-top:18px;margin-top:30px}
.related-wrap h2{font-family:var(--disp);font-weight:400;font-size:1rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px}
.related-links{list-style:none;margin:0;padding:0}
.related-links li{border-bottom:1px solid var(--rule-soft);padding:10px 0}
.related-links a{font-family:var(--disp);font-size:1.08rem}
.related-links a:hover{color:var(--acc,var(--acc-waiting))}
.related-links .meta{display:block;margin-top:3px}
.endmark{display:flex;justify-content:center;margin:46px 0 0}

/* ---------- utility pages ---------- */
.page-plain{max-width:760px;margin:0 auto;padding:56px 24px 0}
.page-plain h1{font-family:var(--disp);font-weight:400;font-size:2.2rem;margin:0 0 18px}
.page-plain p{font-size:1.12rem;line-height:1.75}
.page-plain a{border-bottom:1px solid var(--gold);color:var(--acc-waiting)}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .pair{grid-template-columns:1fr}
  .pair article + article{border-left:0}
  .entrance .en-in{grid-template-columns:1fr;padding:32px 26px}
  .entrance .en-go{grid-row:auto;justify-self:start;margin-top:8px}
  .article-hero img{height:52vh;min-height:320px}
}
@media (max-width:640px){
  body{font-size:16px}
  .masthead{padding:44px 18px 22px}
  .band{padding:34px 18px}
  .lead-piece .lp-txt{padding:18px}
  .article-body{padding:28px 18px 0}
  .article-body p{font-size:1.12rem}
  .article-body p.lead{font-size:1.2rem}
  .timeline li{grid-template-columns:1fr}
  .inset-panel ul{columns:1}
  .sponsor{flex:1 1 100%;gap:14px}
  .sponsor.feat{flex:1 1 100%;padding:16px}
  .sponsor img,.sponsor.feat img{height:44px;width:auto;max-width:58%}
  .article-meta{flex-direction:column;gap:4px}
  .cat-hero .ch-in{padding:40px 18px}
  .versus,.datatable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:normal}
  .versus table,.datatable table{width:100%}
  .versus th,.datatable th,.versus td,.datatable td{padding:9px 10px;min-width:130px}
  .versus td:first-child,.datatable td:first-child{min-width:96px}
  .chart{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .chart svg{min-width:520px}
}

/* 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. */
.comp-row .sponsor.sponsor img{height:48px!important;display:block!important;width:152px!important;max-width:100%!important;flex:none!important}

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

/* op-money-squeeze: the money tile is a ROW whose mark takes nearly all of it, so the brand copy was
   left a column 72px wide at 320 — a sentence broken one or two words to a line. No
   overflow or clipping check sees this: the copy is not cut, just unreadably thin. The tile row is
   allowed to WRAP on phones, so the copy drops beneath the mark at full width (the evos remedy).
   Desktop keeps Design's side-by-side. Structural only. */
@media (max-width:400px){
  .comp-row > [data-partner]{flex-wrap:wrap!important}
  .comp-row > [data-partner] > :not(img):not(svg):not(picture){flex-basis:100%!important;min-width:0!important}
}

/* op-article-width: the article column was capped at 612px (74 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width calc(var(--measure) + 48px) (declared in .article-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){
  main div.article-body{max-width:min(893px, 100%)!important}
}
@media (min-width:1600px){
  main div.article-body{max-width:min(clamp(893px, 62.014vw, 1072px), 100%)!important}
  main div.article-body > :is(p:not([class])){font-size:clamp(19.52px,1.3556vw,23.42px)!important}
}
/* op-article-width: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 (280px), same columns at every width, but a short row keeps its siblings' size. Also straightens today's stretched short row — operator: "Same-size fix now" (2026-09-23, /pipeline/_money_grow_review.html). Phones keep their own rules. */
@media (min-width:641px){
  section.companions.quiet:nth-of-type(8) > div.comp-row{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}
}
/* op-grow-same-size:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(body > section.interlude > img,
  body.accent-flood > figure.article-hero > img,
  body.accent-remains > figure.article-hero > img,
  body.accent-sorting > figure.article-hero > img,
  body.accent-waiting > figure.article-hero > img,
  section.accent-sorting.band > a.lead-piece > img.lp-img){height:auto}
/* op-img-dims:end */
