/* Contemporary Candles — "The Burn Table" */
:root{
  --ink:#2b1a0a;
  --paper:#f7ecd4;
  --paper-deep:#f0dfba;
  --table:#241708;
  --table-2:#2f1e0c;
  --honey:#e9c078;
  --flame:#f0a24a;
  --amber:#7a4a12;
  --cream:#f8efdc;
  --rule:rgba(43,26,10,.25);
  --rule-dark:rgba(233,192,120,.28);
  --gutter:clamp(18px,4vw,48px);
  --measure:72ch;
  --sans:'Schibsted Grotesk',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--table);color:var(--ink);font-family:var(--sans);font-size:17.5px;line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit}
a:hover{color:var(--amber)}
h1,h2,h3{line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0}
p{margin:0}

/* ---------- masthead ---------- */
.masthead{background:var(--table);color:var(--cream);padding:20px var(--gutter) 16px;border-bottom:2px solid var(--honey)}
.masthead-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 28px;max-width:1360px;margin:0 auto}
.wordmark{font-weight:700;font-size:24px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.wordmark:hover{color:var(--flame)}
.wordmark span{color:var(--flame)}
.standing{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:rgba(248,239,220,.62);text-transform:uppercase}
.masthead nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px 22px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em}
.masthead nav a{text-decoration:none;color:rgba(248,239,220,.88);padding-bottom:2px}
.masthead nav a:hover{color:var(--flame)}
.masthead nav a[aria-current="true"]{color:var(--flame);border-bottom:2px solid var(--flame)}

/* ---------- hero ---------- */
.hero{position:relative;background:#000}
.hero img{width:100%;height:min(66vh,620px);object-fit:cover;opacity:.88}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,11,3,.78) 0%,rgba(20,11,3,.25) 55%,rgba(20,11,3,0) 80%)}
.hero-copy{position:absolute;left:var(--gutter);bottom:clamp(28px,7vh,64px);max-width:640px;color:var(--cream)}
.hero-copy .q{font-family:var(--mono);font-weight:600;font-size:clamp(24px,3.6vw,44px);line-height:1.25;color:var(--cream);text-shadow:0 1px 14px rgba(0,0,0,.5)}
.hero-copy .q em{font-style:normal;color:var(--flame)}
.hero-copy .sub{font-family:var(--mono);font-size:13px;letter-spacing:.08em;margin-top:16px;color:rgba(248,239,220,.85)}
.hero-copy .sub a{color:var(--honey)}
.hero-credit{position:absolute;right:10px;bottom:8px;font-family:var(--mono);font-size:10px;color:rgba(248,239,220,.55)}

/* ---------- bands ---------- */
.band{padding:clamp(40px,7vw,72px) var(--gutter)}
.band-inner{max-width:1360px;margin:0 auto}
.band.paper{background:var(--paper)}
.band.paper-deep{background:var(--paper-deep)}
.band.dark{background:var(--table);color:var(--cream)}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber)}
.band.dark .kicker{color:var(--flame)}
.band-title{font-size:clamp(26px,3vw,38px);font-weight:700;margin-top:10px}

/* signature: photo bleeds left, 1px honey rule before caption */
.article-figure{margin:0}
.article-figure img{width:100%}
.article-figure figcaption{border-top:1px solid var(--honey);padding:10px 2px 0;font-family:var(--mono);font-size:12px;line-height:1.55;color:rgba(43,26,10,.65)}
.dark .article-figure figcaption,.post-hero figcaption{color:rgba(248,239,220,.6)}
.bleed-left{margin-left:calc(-1 * var(--gutter))}
.bleed-left figcaption{padding-left:var(--gutter)}

/* ---------- three takes ---------- */
.takes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;margin-top:34px}
.take .article-figure img{aspect-ratio:3/2;object-fit:cover}
.take p{margin-top:14px;font-size:16px;line-height:1.65}
.take .take-link{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--amber);text-decoration:none;border-bottom:1.5px solid var(--amber);padding-bottom:2px}
.take .take-link:hover{color:var(--flame);border-color:var(--flame)}

/* ---------- section entries ---------- */
.entry{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(30px,4vw,48px) 0;border-top:1px solid var(--rule)}
.entry:first-of-type{border-top:0}
.entry:nth-of-type(even) .entry-media{order:2}
.entry-media .article-figure img{aspect-ratio:16/9;object-fit:cover}
.entry-no{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber)}
.entry h3{font-size:clamp(24px,2.6vw,34px);margin-top:8px}
.entry h3 a{text-decoration:none}
.entry .blurb{margin-top:10px;color:rgba(43,26,10,.8);max-width:52ch}
.entry-guides{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.entry-guides a{font-size:15px;text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px}
.entry-guides a:hover{border-color:var(--amber)}
.entry-guides .more{font-family:var(--mono);font-size:12px;letter-spacing:.08em}

/* ---------- featured ---------- */
.featured{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center;margin-top:38px}
.featured .article-figure img{aspect-ratio:4/3;object-fit:cover}
.featured-rule{display:block;width:64px;height:5px;background:var(--honey);margin-bottom:18px}
.featured-cta{display:inline-block;margin-top:26px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--table);background:var(--flame);padding:12px 22px;text-decoration:none}
.featured-cta:hover{background:var(--honey);color:var(--table)}
.featured h3{font-size:clamp(28px,3.4vw,44px)}
.featured h3 a{text-decoration:none}
.featured .meta{font-family:var(--mono);font-size:12px;letter-spacing:.1em;margin-top:12px;color:rgba(248,239,220,.6)}
.pullquote{border-left:0;margin:22px 0 0;padding:0}
.pullquote p{font-size:clamp(19px,2vw,24px);line-height:1.5;font-weight:500;color:var(--honey)}
.pullquote p::before{content:"“"}
.pullquote p::after{content:"”"}
.featured .pullquote{position:relative;padding-left:46px;margin-top:26px}
.featured .pullquote::before{content:"“";position:absolute;left:0;top:-14px;font-size:76px;line-height:1;color:var(--flame);font-family:var(--sans);font-weight:700}
.featured .pullquote p::before{content:""}
.band.paper .pullquote p{color:var(--amber)}

/* ---------- partners ---------- */
.partners{background:#1a1005;color:var(--cream);padding:clamp(36px,6vw,60px) var(--gutter);border-top:1px solid var(--rule-dark)}
.partners-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;max-width:1360px;margin:0 auto 26px}
.partners-note{font-size:14px;color:rgba(248,239,220,.6)}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;max-width:1360px;margin:0 auto}
.sponsor-grid + .sponsor-grid{margin-top:14px}
.sponsor{display:flex;flex-direction:column;gap:10px;background:#120a02;border:1px solid var(--rule-dark);padding:16px 18px;min-height:88px;justify-content:center;text-decoration:none}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor.feat{padding:22px;min-height:120px}
.sponsor.feat img{max-height:52px}
.sponsor-blurb{display:block;font-size:13.5px;line-height:1.5;color:rgba(248,239,220,.7);min-height:1.4em}
.sponsor:hover{border-color:var(--flame)}

/* ---------- footer ---------- */
.footer{background:var(--table);color:var(--cream);padding:34px var(--gutter) 44px;border-top:2px solid var(--honey)}
.footer-inner{max-width:1360px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px 56px;align-items:baseline}
.footer .wordmark{font-size:19px}
.footer nav{display:flex;flex-wrap:wrap;gap:6px 20px;font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.footer nav a{color:rgba(248,239,220,.8);text-decoration:none}
.footer nav a:hover{color:var(--flame)}
.footer .safety{width:100%;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:rgba(248,239,220,.5);margin-top:6px}

/* ---------- category pages ---------- */
.cat-head{background:var(--table);color:var(--cream);padding:clamp(40px,6vw,64px) var(--gutter)}
.cat-head-inner{max-width:1100px;margin:0 auto}
.cat-head h1{font-size:clamp(34px,5vw,58px);margin-top:10px}
.cat-head .blurb{margin-top:14px;max-width:60ch;color:rgba(248,239,220,.8);font-size:18px}
.cat-accent{display:inline-block;width:64px;height:6px;margin-top:20px}
.cat-list{list-style:none;margin:0 auto;padding:clamp(30px,5vw,54px) 0;max-width:1100px}
.cat-list li{border-top:1px solid var(--rule)}
.cat-list li:first-child{border-top:0}
.cat-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 28px;align-items:baseline;padding:22px 0;text-decoration:none}
.cat-list h2{font-size:clamp(20px,2.2vw,27px)}
.cat-list .dek{grid-column:1;font-size:15.5px;color:rgba(43,26,10,.75);max-width:70ch}
.cat-list .meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--amber);white-space:nowrap}
.cat-wrap{background:var(--paper);padding-inline:var(--gutter)}

/* ---------- post ---------- */
.post{background:var(--paper)}
.post-hero{margin:0;background:var(--table);color:var(--cream)}
.post-hero img{width:100%;height:min(56vh,520px);object-fit:cover}
.post-hero figcaption{border-top:1px solid var(--honey);padding:10px var(--gutter) 14px;font-family:var(--mono);font-size:11.5px}
.post-head{max-width:820px;margin:0 auto;padding:clamp(34px,5vw,56px) var(--gutter) 0}
.post-head .meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.post-head .meta a{text-decoration:none;color:var(--amber);border-bottom:1px solid var(--rule)}
.post-head h1{font-size:clamp(32px,4.6vw,52px);margin-top:14px}
.lead{font-size:clamp(19px,2vw,22px);line-height:1.55;font-weight:500;color:rgba(43,26,10,.85);margin-top:18px}
.post-body{max-width:820px;margin:0 auto;padding:8px var(--gutter) clamp(40px,6vw,64px)}
.post-body p{margin-top:22px;font-size:18px}
.post-body h2{font-size:clamp(23px,2.4vw,30px);margin-top:44px}
.post-body h2 + p{margin-top:14px}
.post-body a{color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(122,74,18,.45)}
.post-body a:hover{color:var(--flame);border-color:var(--flame)}
.post-body ul{margin:18px 0 0;padding-left:22px}
.post-body li{margin-top:8px}

/* bench — notes-for-design interruptions, full-bleed dark bands */
.bench{background:var(--table);color:var(--cream);margin:44px calc(50% - 50vw) 0;padding:clamp(28px,4vw,44px) var(--gutter)}
.bench-inner{max-width:1000px;margin:0 auto}
.bench-head{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--flame)}
.bench ul{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px 34px}
.bench li{border-top:1px solid var(--rule-dark);padding-top:12px;font-size:15px;line-height:1.6;color:rgba(248,239,220,.82)}
.bench li strong{color:var(--honey);font-weight:600}
.bench + p{margin-top:44px}

/* flagship article */
.post-hero--tall img{height:min(68vh,640px)}
.flag-badge{display:inline-block;background:var(--flame);color:var(--table);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;margin-right:12px;vertical-align:2px}
.dropcap::first-letter{float:left;font-size:72px;line-height:.82;font-weight:700;color:var(--amber);padding:8px 12px 0 0}
.post-body .pullquote{margin:44px 0 0;padding:24px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.post-body .pullquote p{font-size:clamp(21px,2.4vw,27px);line-height:1.45;font-weight:600;color:var(--amber)}
.post-body .article-figure{margin-top:44px}
.post-body .article-figure img{width:100%}

/* related */
.related{max-width:820px;margin:0 auto;padding:0 var(--gutter) clamp(44px,6vw,72px)}
.related h2{font-size:16px;font-family:var(--mono);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);border-top:2px solid var(--ink);padding-top:16px}
.related-links{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.related-links a{text-decoration:none;font-size:17px;font-weight:500;border-bottom:1px solid var(--rule);padding-bottom:2px}
.related-links a:hover{color:var(--amber)}
.related-links .rmeta{font-family:var(--mono);font-size:12px;color:var(--amber);margin-left:10px}

/* ---------- plain pages ---------- */
.page-plain{background:var(--paper);min-height:44vh}
.page-plain .inner{max-width:720px;margin:0 auto;padding:clamp(44px,7vw,80px) var(--gutter)}
.page-plain h1{font-size:clamp(32px,4.5vw,48px)}
.page-plain p{margin-top:18px;font-size:18px}
.page-plain a{color:var(--amber)}

/* ---------- styleguide extras ---------- */
.blockquote{margin:26px 0 0;border-left:3px solid var(--honey);padding:6px 0 6px 20px}
.blockquote p{font-size:18px;font-style:italic}
.blockquote cite{display:block;margin-top:8px;font-family:var(--mono);font-size:12.5px;font-style:normal;color:var(--amber)}
.callout{background:var(--cream);border:1.5px solid var(--amber);padding:18px 22px;margin:26px 0 0}
.callout p{font-size:16.5px}
.note{font-family:var(--mono);font-size:13.5px;line-height:1.6;background:var(--paper-deep);padding:12px 16px;margin:22px 0 0;color:rgba(43,26,10,.8)}
table{border-collapse:collapse;width:100%;margin:26px 0 0}
.versus th,.versus td,.datatable th,.datatable td{border:1px solid var(--rule);padding:10px 12px;text-align:left;font-size:15px;vertical-align:top}
.versus thead th,.datatable thead th{background:var(--table);color:var(--cream);font-family:var(--mono);font-size:12.5px;letter-spacing:.08em}
.versus tbody th{background:var(--paper-deep);font-weight:600}
.datatable tbody tr:nth-child(even){background:rgba(233,192,120,.15)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:26px 0 0}
.statblock{background:var(--table);color:var(--cream);padding:18px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-size:36px;font-weight:700;color:var(--flame);line-height:1}
.stat-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:rgba(248,239,220,.75)}
.timeline{list-style:none;margin:26px 0 0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:18px;border-top:1px solid var(--rule);padding:14px 0}
.timeline .t-when{font-family:var(--mono);font-size:13px;color:var(--amber);line-height:1.5}
.timeline .t-what{font-size:15.5px;line-height:1.6}
.chart{margin:26px 0 0}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{border-top:1px solid var(--honey);padding-top:10px;margin-top:10px;font-family:var(--mono);font-size:12px;color:rgba(43,26,10,.65)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:26px 0 0}
.gallery figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figcaption{border-top:1px solid var(--honey);padding-top:8px;margin-top:0;font-family:var(--mono);font-size:11.5px;color:rgba(43,26,10,.65)}
.map-figure{margin:26px 0 0;border:1px solid var(--rule)}
.map-slot{min-height:280px;background:repeating-linear-gradient(45deg,var(--paper-deep) 0 14px,var(--paper) 14px 28px)}
.map-figure figcaption{padding:10px 14px;font-family:var(--mono);font-size:12px;border-top:1px solid var(--honey)}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:26px 0 0}
.profile-card{background:var(--cream);border:1px solid var(--rule);padding:20px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:72px;height:72px;object-fit:cover;border-radius:50%}
.profile-card h3{font-size:19px}
.profile-card .p-role{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--amber)}
.profile-card p{font-size:14.5px;line-height:1.6}
.profile-card .p-links a{font-family:var(--mono);font-size:12.5px;color:var(--amber)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:26px 0 0}
.org-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--rule);background:var(--cream);padding:14px 16px;text-decoration:none}
.org-card .org-logo{max-height:32px;width:auto;object-fit:contain;align-self:flex-start}
.org-card .org-name{font-weight:600;font-size:15px}
.org-card .org-host{font-family:var(--mono);font-size:12px;color:var(--amber)}
.entity-ref{font-weight:600;color:var(--amber);text-decoration:none;border-bottom:1px solid rgba(122,74,18,.45)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:26px 0 0}
.further-grid a{display:flex;flex-direction:column;gap:8px;background:var(--cream);border:1px solid var(--rule);padding:16px 18px;text-decoration:none;font-weight:500;font-size:15.5px;line-height:1.45}
.further-grid a:hover{border-color:var(--amber)}
.sg-section{border-top:2px solid var(--ink);margin-top:56px;padding-top:18px}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .entry{grid-template-columns:1fr}
  .entry:nth-of-type(even) .entry-media{order:0}
  .featured{grid-template-columns:1fr}
  .masthead nav{margin-left:0}
  .cat-list a{grid-template-columns:1fr}
  .cat-list .meta{white-space:normal}
}
@media (max-width:560px){
  body{font-size:16.5px}
  .post-body p{font-size:17px}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .sponsor-grid{grid-template-columns:1fr 1fr}
  .sponsor.feat{grid-column:1 / -1}
  .hero img{height:56vh}
}
@media (max-width:400px){
  .sponsor-grid{grid-template-columns:1fr}
}


/* 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-center: mark and copy sat left-aligned in their tiles; centre both axes so short marks don't float. */
.sponsor,[data-partner]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sponsor img,[data-partner] img{margin:0 auto;align-self:center}
.sponsor-blurb{text-align:center;width:100%}
/* sp-vcenter: a logo-only tile sits in a row whose height is set by its neighbours' copy, so the mark
   floated at the top of the taller box. Stretch each tile to the row and centre the mark within it. */
.sponsor,[data-partner]{height:100%;min-height:100%;justify-content:center}
.sponsor > *,[data-partner] > *{margin-top:auto;margin-bottom:auto}
.sponsor:not(:has(.sponsor-blurb:not(:empty))) img{margin-top:auto;margin-bottom:auto}
.sponsor:has(.sponsor-blurb:not(:empty)){justify-content:center}

/* 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 .sp-logo.sp-logo{display:block!important;width:100%!important}
.sponsor-grid .sponsor.sponsor img{height:44px!important;display:block!important;width:100%!important}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1710px at 390, 21% of the whole page. Two columns bring it to
   1363px (20% shorter). Checked before writing: no new overflow, smallest mark still
   129px wide, longest blurb 6 lines, tile heights 141-210px.
   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-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-money-feat-pairs: every tile in this block carries .feat, and Design's own
   `@media(max-width:560px){.sponsor.feat{grid-column:1/-1}}` therefore gave all four the full
   row — four stacked tiles, 604px. The featured treatment is meant for a lead tile, not for a
   block where every tile is featured, so on phones they pair up: 334px (45% shorter), no new
   overflow, smallest mark still 121px wide. Four is even, so no tile is left beside a hole.
   Desktop keeps Design's layout exactly. */
@media (max-width:640px){
  .sponsor-grid > .sponsor.feat{grid-column:auto!important}
}

/* op-blurb-rows: money blurbs ran to 6 rows at 390, 1176px of tier across
   12 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){
  .sponsor-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;max-height:60px!important;min-height:0!important;overflow:hidden!important}
  .sponsor-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;max-height:60px!important;min-height:0!important;overflow:hidden!important}
}

/* op-page-overflow: the page scrolled sideways at 320 — a.wordmark reached
   331px in a 320px screen (+10px), inside
   div.masthead-row. Remedy: let the words break. 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){
  a.wordmark,a.wordmark *{white-space:normal!important;overflow-wrap:anywhere!important}
}

/* op-article-width: the article column was capped at 724px (88 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 820px (declared in .post-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.post-body{max-width:min(937px, 100%)!important}
}
@media (min-width:1600px){
  div.post-body{max-width:min(clamp(937px, 65.069vw, 1124px), 100%)!important}
  div.post-body > :is(p.dropcap, p:not([class])){font-size:clamp(18px,1.2500vw,21.6px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h1:where(.rt-h2){line-height: 1.15; letter-spacing: -0.015em; text-wrap: balance; margin: 0px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(body > section.hero > img,
  div > figure.article-figure.bleed-left > img,
  div.entry-media > figure.article-figure > img,
  div.post-body > figure.article-figure.bleed-left > img,
  div.take > figure.article-figure > img,
  main.post > figure.article-figure.post-hero > img,
  main.post > figure.article-figure.post-hero.post-hero--tall > img){height:auto}
/* op-img-dims:end */
