/* donthefilm.com — Register
   Palette: ground #14161B · ink #E8E4DA · accent #4A6CFF · secondary #F2B417 · quiet #858B96 */

:root{
  --ground:#14161B;
  --panel:#1D2029;
  --panel-2:#0F1116;
  --ink:#E8E4DA;
  --ink-2:#C9C4B9;
  --quiet:#858B96;
  --accent:#4A6CFF;
  --link:#8DA1FF;
  --secondary:#F2B417;
  --line:rgba(232,228,218,0.18);
  --line-strong:rgba(232,228,218,0.42);
  --display:'Chivo',system-ui,sans-serif;
  --body:'Spectral',Georgia,serif;
  --mono:'DM Mono',ui-monospace,monospace;
  --measure:41rem;
  --gutter:clamp(18px,4vw,44px);
  --wrap:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--body);font-size:18px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:pretty}
p{margin:0}
ul,ol{margin:0;padding:0}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--secondary);text-decoration:underline}
.icon{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:square;stroke-linejoin:miter;vertical-align:-0.12em}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.kicker{font-family:var(--mono);font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:var(--secondary);display:flex;align-items:center;gap:8px}
.kicker .icon{width:15px;height:15px;color:var(--accent)}
.label{font-family:var(--mono);font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--quiet)}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--line-strong);position:relative;z-index:20}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:16px}
.wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--ink);text-decoration:none}
.wordmark:hover{color:var(--ink);text-decoration:none}
.wordmark b{font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:0.06em;white-space:nowrap}
.wordmark span{font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--secondary);white-space:nowrap}
@media(max-width:820px){.wordmark span{display:none}}
.nav{display:flex;flex-wrap:nowrap;gap:2px;align-items:center}
.nav a{display:flex;align-items:center;gap:8px;padding:8px 11px;font-family:var(--mono);font-size:13.5px;min-height:38px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.nav a .icon{width:17px;height:17px;color:var(--accent)}
.nav a:hover{color:var(--ground);background:var(--secondary);text-decoration:none}
.nav a:hover .icon{color:var(--ground)}
.nav a[aria-current="page"]{color:var(--secondary)}
.nav a[aria-current="page"] .icon{color:var(--secondary)}

/* ---------- homepage bands ---------- */
.band{border-bottom:1px solid var(--line)}
.band-pad{padding-block:clamp(30px,5vw,54px)}

.opener{padding-block:clamp(34px,6vw,64px)}
.opener-titles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:end}
.opener-titles div span{display:block}
.opener-titles .t{font-family:var(--display);font-weight:800;font-size:clamp(34px,6.2vw,84px);line-height:0.86;letter-spacing:-0.01em;white-space:nowrap}
.opener-titles .y{font-family:var(--mono);font-size:clamp(12.5px,1.2vw,14px);color:var(--secondary);margin-top:8px}
.opener p{margin-top:clamp(20px,3vw,34px);font-size:clamp(17px,1.5vw,21px);line-height:1.5;max-width:52ch;color:var(--ink-2)}

.lead-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.lead-feature h2{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.6vw,50px);line-height:1;letter-spacing:-0.02em}
.lead-feature h2 a{color:var(--ink)}
.lead-feature h2 a:hover{color:var(--secondary);text-decoration:none}
.lead-feature .dek{margin-top:14px;font-size:clamp(16px,1.4vw,19px);line-height:1.5;color:var(--ink-2);max-width:46ch}

.seconds{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(16px,2vw,26px)}
.card{display:flex;flex-direction:column;background:var(--panel);border-top:2px solid var(--accent);text-decoration:none;color:var(--ink);height:100%}
.card:hover{color:var(--ink);text-decoration:none;border-top-color:var(--secondary)}
.card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--panel-2)}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.card h3{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.15;min-height:2.3em}
.card p{font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.card .meta{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--quiet);display:flex;align-items:center;gap:7px}
.card .meta .icon{width:14px;height:14px;color:var(--accent)}
.card:hover .meta{color:var(--secondary)}

/* quiet line band */
.quiet-line{background:var(--accent);color:#0E1014;padding-block:clamp(26px,4vw,44px)}
.quiet-line p{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.6vw,34px);line-height:1.22;max-width:26ch}

/* section index */
.sections-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 clamp(24px,4vw,52px)}
.sections-index a{display:grid;grid-template-columns:26px 20px 1fr;gap:14px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.sections-index a:hover{text-decoration:none;color:var(--secondary)}
.sections-index a:hover .icon{color:var(--secondary)}
.sections-index .no{font-family:var(--mono);font-size:12px;color:var(--secondary)}
.sections-index .icon{width:18px;height:18px;color:var(--accent)}
.sections-index strong{display:block;font-family:var(--display);font-weight:700;font-size:17px}
.sections-index em{display:block;font-style:normal;font-size:15.5px;line-height:1.45;color:var(--ink-2);margin-top:2px}

/* ---------- figures ---------- */
figure{margin:0}
.figcap{font-size:16px;line-height:1.45;color:var(--ink)}
.figcredit{display:block;font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--quiet);margin-top:5px}

/* 01 BLEED — full-width band, caption on a tab set into the corner */
.fig-bleed{position:relative;margin-block:clamp(26px,4vw,46px)}
.fig-bleed img{width:100%;aspect-ratio:16/6;object-fit:cover}
.fig-bleed figcaption{background:var(--secondary);color:#14161B;padding:11px 18px 12px;max-width:min(560px,88%)}
.fig-bleed figcaption .figcap{color:#14161B}
.fig-bleed figcaption .figcredit{color:#5A4A10}
@media(min-width:800px){
  .fig-bleed figcaption{position:absolute;left:0;bottom:0}
  .fig-bleed img{aspect-ratio:16/6.4}
}

/* 02 PLATE — image on a raised panel, accent rule, offset caption */
.fig-plate{background:var(--panel);padding:16px;margin-block:clamp(24px,3.4vw,40px)}
.fig-plate img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fig-plate .after{border-top:2px solid var(--accent);margin-top:14px;padding-top:12px;display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start}
.fig-plate .after .label{padding-top:2px}
@media(max-width:640px){.fig-plate .after{grid-template-columns:1fr;gap:6px}}

/* 03 INSET — hairline frame, sits in the column with prose beside it */
.fig-inset{border:1px solid var(--accent);padding:10px;background:var(--panel);margin-block:22px}
.fig-inset img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fig-inset figcaption{padding:12px 4px 2px}
.fig-inset .figcap{font-size:15.5px}


/* ---------- article ---------- */
.article-head{padding-block:clamp(26px,4vw,46px);border-bottom:1px solid var(--line)}
.article-head h1{font-family:var(--display);font-weight:800;font-size:clamp(32px,5.2vw,62px);line-height:0.98;letter-spacing:-0.015em;max-width:20ch;margin-top:14px}
.article-head .lead{margin-top:18px;font-size:clamp(17px,1.6vw,21px);line-height:1.45;color:var(--ink-2);max-width:44ch}
.byline{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-family:var(--mono);font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--quiet)}
.byline a{color:var(--ink-2)}
.byline a:hover{color:var(--secondary)}

.prose{font-size:18.5px;line-height:1.68}
.prose::after{content:"";display:block;clear:both}
.prose > p,.prose > h2,.prose > .note,.prose > .pullquote,.prose > .blockquote{max-width:var(--measure);margin-inline:auto}
.prose > p{margin-top:1.05em}
.prose > p:first-child{margin-top:0}
.prose > .fig-plate,.prose > .fig-bleed,.prose > .register,.prose > .callout{max-width:1000px;margin-inline:auto}
.prose > .fig-inset{float:right;width:340px;margin:10px 0 24px 34px}
.prose > .fig-inset:last-child,.prose > .fig-inset:has(+ .register:last-child){float:none;width:100%;max-width:var(--measure);margin:26px auto}
.prose > .register{clear:both}
.prose h2{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.4vw,30px);line-height:1.15;margin:1.9em auto 0.6em;padding-top:0.55em;border-top:1px solid var(--line);letter-spacing:-0.01em}
.prose > h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose em{font-style:italic}
.prose a{border-bottom:1px solid rgba(141,161,255,0.5)}
.article-body{padding-block:clamp(24px,3.6vw,44px)}
.disclaimer{margin:32px auto 0;padding-top:18px;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--quiet);max-width:var(--measure)}

/* register interruptions (Notes-for-Design material) */
.register{background:var(--panel);border-top:2px solid var(--secondary);padding:clamp(18px,2.6vw,26px);margin-block:clamp(26px,3.6vw,42px)}
.register h3{font-family:var(--display);font-weight:700;font-size:20px;margin-bottom:12px}
.register ol,.register ul{list-style:none}
.register li{display:grid;grid-template-columns:minmax(140px,240px) 1fr;gap:8px 24px;padding:11px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:14.5px;line-height:1.5}
.register li .k{color:var(--secondary)}
.register li .v{color:var(--ink-2)}
.register li.one{grid-template-columns:1fr;color:var(--ink-2)}
@media(max-width:640px){.register li{grid-template-columns:1fr;gap:3px}}

.callout{background:var(--accent);color:#0E1014;padding:clamp(18px,2.4vw,26px);margin-block:clamp(24px,3.4vw,38px)}
.callout p{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,24px);line-height:1.28}
.pullquote{margin-block:clamp(24px,3.2vw,36px);padding-left:20px;border-left:3px solid var(--secondary);max-width:var(--measure)}
.pullquote p{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.2vw,26px);line-height:1.3}
.blockquote{margin-block:28px;padding-left:20px;border-left:1px solid var(--line-strong);max-width:var(--measure)}
.blockquote cite{display:block;margin-top:8px;font-family:var(--mono);font-size:13px;font-style:normal;color:var(--quiet)}
.note{font-family:var(--mono);font-size:14.5px;line-height:1.55;color:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-block:24px;max-width:var(--measure)}
.lead{font-size:20px;line-height:1.45}

/* tables */
.datatable,.versus{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:14.5px;margin-block:24px}
.datatable th,.versus th{text-align:left;font-weight:400;color:var(--secondary);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;padding:0 16px 9px 0;border-bottom:1px solid var(--line-strong)}
.datatable td,.versus td{padding:11px 16px 11px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.datatable td:first-child,.versus td:first-child{color:var(--ink)}
.table-scroll{overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-block:26px}
.statblock{background:var(--panel);padding:16px;border-top:2px solid var(--accent)}
.stat-num{display:block;font-family:var(--display);font-weight:800;font-size:32px;line-height:1}
.stat-label{display:block;margin-top:6px;font-family:var(--mono);font-size:13px;line-height:1.4;color:var(--quiet)}

.timeline{list-style:none}
.timeline li{display:grid;grid-template-columns:minmax(150px,260px) 1fr;gap:8px 24px;padding:12px 0;border-top:1px solid var(--line)}
.timeline .t-when{font-family:var(--mono);font-size:13px;color:var(--secondary)}
.timeline .t-what{font-size:16px;line-height:1.5;color:var(--ink-2)}
@media(max-width:640px){.timeline li{grid-template-columns:1fr;gap:2px}}

/* related + lists */
.related-links{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.related-links a{display:block;background:var(--panel);padding:14px 16px;color:var(--ink);text-decoration:none;border-left:2px solid var(--accent)}
.related-links a:hover{color:var(--secondary);text-decoration:none;border-left-color:var(--secondary)}
.related-links .rl-sec{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--quiet);margin-bottom:5px}
.related-links .rl-sec .icon{width:14px;height:14px;color:var(--accent)}
.related-links strong{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.2}

.cat-list{list-style:none}
.cat-list li{border-top:1px solid var(--line)}
.cat-list a{display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:10px 28px;padding:16px 0;color:var(--ink);text-decoration:none}
.cat-list a:hover{color:var(--secondary);text-decoration:none}
.cat-list strong{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.15}
.cat-list span{font-size:16px;line-height:1.45;color:var(--ink-2)}
.cat-list a:hover span{color:var(--ink-2)}
@media(max-width:720px){.cat-list a{grid-template-columns:1fr;gap:4px}}

/* ---------- supporters ---------- */
.supporters{padding-block:clamp(26px,3.6vw,42px)}
.supporters.woven .wrap{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,44px);align-items:center}
.supporters.woven .supporters-head{display:block;margin:0;max-width:38ch}
.supporters.woven .supporters-head h2{margin-bottom:8px}
.supporters.woven .supporters-note{max-width:none}
@media(max-width:900px){.supporters.woven .wrap{grid-template-columns:1fr}}
.supporters-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;margin-bottom:16px}
.supporters-head h2{font-family:var(--display);font-weight:700;font-size:22px}
.supporters-note{font-size:15px;color:var(--quiet);max-width:44ch}
.sponsors{display:flex;flex-wrap:wrap;gap:14px}
.sponsor{flex:0 0 268px;background:var(--panel);padding:14px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:10px}
.sponsor:hover{text-decoration:none;color:var(--ink);outline:1px solid var(--accent)}
.sponsor img{width:auto;height:auto;max-width:100%;max-height:44px;object-fit:contain;margin-inline:auto}
.sponsor .sponsor-logo{background:var(--panel-2);height:72px;display:flex;align-items:center;justify-content:center;padding:12px 14px}
.sponsor .sponsor-name{font-family:var(--mono);font-size:14px;letter-spacing:0.04em;color:var(--ink)}
.sponsor .sponsor-blurb{font-size:15px;line-height:1.4;color:var(--ink-2)}
@media(max-width:620px){.sponsor{flex:0 0 100%}}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line-strong);padding-block:clamp(26px,3.4vw,40px);margin-top:auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(18px,3vw,40px)}
.footer p{font-size:15px;line-height:1.6;color:var(--ink-2)}
.footer .fine{color:var(--quiet);font-size:14px}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer ul a{display:flex;align-items:center;gap:8px;padding:6px 0;font-family:var(--mono);font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-2)}
.footer ul a .icon{width:14px;height:14px;color:var(--accent)}
.footer ul a:hover{color:var(--secondary)}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr}}

/* ---------- components used on styled pages + styleguide ---------- */
.article-figure{background:var(--panel);padding:16px;margin-block:26px}
.article-figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.article-figure figcaption{border-top:2px solid var(--accent);margin-top:14px;padding-top:12px;font-size:16px;line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-block:26px}
.gallery figure{border:1px solid var(--accent);padding:8px;background:var(--panel)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-family:var(--mono);font-size:12.5px;line-height:1.45;color:var(--quiet);padding-top:8px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-block:24px}
.profile-card{background:var(--panel);padding:16px;border-top:2px solid var(--accent);display:flex;flex-direction:column;gap:8px;height:100%}
.profile-card .p-photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.profile-card h3{font-family:var(--display);font-weight:700;font-size:19px}
.profile-card .p-role{font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--secondary)}
.profile-card p{font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.profile-card .p-links{margin-top:auto;padding-top:8px;font-family:var(--mono);font-size:12.5px}
.profile-card .p-attr{font-family:var(--mono);font-size:12px;color:var(--quiet)}
.org-grid{display:flex;flex-wrap:wrap;gap:10px;margin-block:22px}
.org-card{flex:0 0 240px;background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:6px;color:var(--ink);text-decoration:none}
.org-card:hover{color:var(--secondary);text-decoration:none}
.org-card .org-logo{max-height:34px;width:auto;object-fit:contain}
.org-card .org-name{font-family:var(--display);font-weight:700;font-size:16px}
.org-card .org-host{font-family:var(--mono);font-size:12.5px;color:var(--quiet)}
.entity-ref{white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-block:24px}
.further-grid a{background:var(--panel);border-left:2px solid var(--secondary);padding:14px 16px;font-family:var(--display);font-weight:700;font-size:17px;line-height:1.2;color:var(--ink);text-decoration:none}
.further-grid a:hover{color:var(--secondary);text-decoration:none}
.chart{margin-block:26px;max-width:var(--measure)}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--quiet);padding-top:10px}
.chart .bar-fill{fill:var(--accent)}
.chart .bar-label,.chart .bar-value{font-family:'DM Mono',monospace;font-size:12px;fill:#C9C4B9}

/* ---------- page furniture ---------- */
.page-head{padding-block:clamp(28px,4.4vw,52px);border-bottom:1px solid var(--line)}
.page-head h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,64px);line-height:0.96;letter-spacing:-0.015em;margin-top:14px}
.page-head .dek{margin-top:16px;font-size:clamp(16px,1.5vw,19px);line-height:1.5;color:var(--ink-2);max-width:52ch}

.hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2.4vw,28px)}
.hub-col h2{font-family:var(--display);font-weight:700;font-size:19px;display:flex;align-items:center;gap:9px;padding-bottom:9px;border-bottom:1px solid var(--line-strong)}
.hub-col h2 .icon{width:17px;height:17px;color:var(--accent)}
.hub-col ul{list-style:none}
.hub-col li{border-bottom:1px solid var(--line)}
.hub-col a{display:block;padding:10px 0;font-size:16.5px;color:var(--ink);text-decoration:none}
.hub-col a:hover{color:var(--secondary);text-decoration:none}

@media(max-width:900px){.prose > .fig-inset{float:none;width:100%;margin:24px auto;max-width:var(--measure)}}
@media(max-width:1180px){.wordmark b{font-size:18px}.masthead-in{gap:12px}.nav a{font-size:11.5px;padding:7px 5px;gap:5px;letter-spacing:0.04em}.nav a .icon{width:14px;height:14px}}
@media(max-width:1020px){.nav{flex-wrap:nowrap}}
@media(max-width:700px){
  .nav{flex-wrap:wrap}
  .nav a{padding:10px 9px;min-height:42px}
  .prose{font-size:17.5px;line-height:1.62}
  .prose > p{margin-top:1.1em}
  .cat-list a{padding:18px 0}
  .hub-col a{padding:13px 0}
  .related-links a{padding:16px}
  .sections-index a{padding:17px 0}
}
@media(max-width:760px){
  .opener-titles{grid-template-columns:1fr;gap:6px}
  .opener-titles div{display:flex;align-items:baseline;gap:14px}
  .opener-titles .y{margin-top:0}
  .lead-feature{grid-template-columns:1fr}
  .masthead-in{flex-direction:column;align-items:flex-start;gap:10px}
  .nav{margin-inline:-10px}
}

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

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

/* sp-blurb-unhide: every supporter slot shows its text — no half-texted grids */
.sponsor-blurb:not(:empty){display:block!important;line-height:1.5}

/* sp-blurb-link: money-link anchors in blurbs must inherit the blurb colour (readable on dark OR light tiles) */
.sponsor-blurb a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sponsors .sponsor .sponsor-logo.sponsor-logo{display:block!important;width:100%!important}
.sponsors .sponsor.sponsor img{height:44px!important;display:block!important;width:100%!important}

/* op-footer-compact: the footer printed 5 rows for 5 link(s) in
   1 list(s) — 701px at 390, 9% of the whole page. Design's own
   good case (evbb) has no list at all: its footer links simply flow inline, 479px in total.
   Here the lists flow inline too,
   measured 701 -> 547px (22% shorter) with no new overflow. Both shapes were
   tried and the shorter one kept — two columns helps a wide group set and hurts a narrow one.
   Phone widths only; the desktop footer is untouched. */
@media (max-width:640px){
  footer ul,footer ol{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;column-gap:clamp(7px,2.78vw,40px)!important;row-gap:7px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1912px at 390, 26% of the whole page. Two columns bring it to
   1036px (46% shorter). Checked before writing: no new overflow, smallest mark still
   111px wide, longest blurb 3 lines, tile heights 132-232px.
   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.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. Only the tier(s) that were one-per-row are touched (.sponsors), 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){
  .sponsors{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:14px!important}
    .sponsors > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsors > * *{min-width:0!important;max-width:100%}
    .sponsors img,.sponsors svg{max-width:100%;height:auto}
  .sponsors .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-article-width: the article column was capped at 656px (80 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .prose > p, .prose > h2, .prose > .note, .prose > .pullquote, .prose > .blockquote) 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.article-body div.prose{--measure:min(834px, 100%)!important}
}
@media (min-width:1600px){
  div.article-body div.prose{--measure:min(clamp(834px, 57.917vw, 1001px), 100%)!important}
  div.article-body div.prose > :is(p:not([class])){font-size:clamp(18.5px,1.2847vw,22.2px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h1:where(.rt-h2){margin: 0px; font-weight: 400; text-wrap: pretty;}
.lead-feature h1:where(.rt-h2){font-family: var(--display); font-weight: 800; font-size: clamp(28px, 3.6vw, 50px); line-height: 1; letter-spacing: -0.02em;}
.lead-feature h1:where(.rt-h2) a{color: var(--ink);}
.lead-feature h1:where(.rt-h2) a:hover{color: var(--secondary); text-decoration: none;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.card > span.ph > img,
  div > figure.fig-plate > img,
  div.prose > figure.fig-inset > img,
  div.prose > figure.fig-plate > img,
  div.wrap > figure.fig-bleed > img,
  div.wrap > figure.fig-plate > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:1279px){.sponsors.sponsors:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(268px,calc(50% - 7px)),1fr))!important;column-gap:14px!important;row-gap:14px!important;justify-content:stretch!important;align-items:stretch!important}.sponsors.sponsors > [data-partner]{flex:none!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
