/* Understock — The Plate.
   Palette: ground (limestone) · ink (navy) · accent (vermilion) · secondary (plum) · paper.
   Two saturated members, separated in hue: vermilion #D2481A and plum #6E1450. */

:root{
  --ground:#E7E4DB;
  --paper:#F4F2EC;
  --ink:#16223A;
  --accent:#D2481A;
  --secondary:#6E1450;
  --rule:rgba(22,34,58,.24);
  --ink-70:rgba(22,34,58,.74);
  --ink-55:rgba(22,34,58,.56);
  --display:Petrona,Georgia,"Times New Roman",serif;
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:clamp(20px,4vw,56px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{color:var(--secondary)}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:pretty}
p{margin:0}
::selection{background:var(--accent);color:var(--paper)}
svg{flex:none}

.wrap{max-width:1220px;margin:0 auto;padding-inline:var(--gut)}
.measure{max-width:70ch}
.band{width:100%}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:20}

/* ---------- masthead ---------- */
.masthead{border-bottom:2px solid var(--ink);background:var(--ground)}
.masthead__in{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;justify-content:space-between;padding-block:22px 14px}
.brandline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.brand{font-family:var(--display);font-weight:600;font-size:clamp(30px,5vw,40px);line-height:1;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.brand__dom{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--secondary)}
.nav{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding-bottom:4px}
.nav a{display:flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;min-height:44px}
.nav a:hover{color:var(--accent)}
.nav a[aria-current="page"]{color:var(--accent)}
.nav .nav__all{color:var(--secondary)}

/* ---------- shared type ---------- */
.kicker{display:flex;align-items:center;gap:9px;color:var(--secondary);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-55)}
.section-head{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-top:64px}
.section-head h2{font-size:clamp(24px,3vw,32px)}
.meta{font-family:var(--sans);font-size:15px;color:var(--ink-55);letter-spacing:.01em}
.lead{font-family:var(--display);font-size:clamp(21px,2.4vw,25px);line-height:1.48;color:var(--ink);margin:0}
.note{font-size:16px;line-height:1.55;color:var(--ink-70);border-left:3px solid var(--accent);padding-left:14px;margin:0}

/* ---------- figures ---------- */
figure{margin:0}
.fig-cap{font-size:16.5px;line-height:1.45;color:var(--ink)}
.fig-credit{display:block;font-size:12px;letter-spacing:.06em;color:var(--ink-55);margin-top:8px}

/* 1 · plate — full-bleed image, caption hung off a hairline rule */
.fig--plate img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fig--plate .fig-cap-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:24px 48px;border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}
.fig--plate .fig-aside{font-family:var(--display);font-size:19px;line-height:1.5;color:var(--ink-70)}

/* 2 · mat — the photograph sits on paper, inside a keyline */
.fig--mat{background:var(--paper);border:1px solid var(--rule);padding:clamp(12px,1.6vw,20px)}
.fig--mat img{width:100%;aspect-ratio:16/10;object-fit:cover}
.fig--mat figcaption{margin-top:14px;max-width:62ch}

/* 3 · offset — caption steps out into the margin, plum rule */
.fig--offset{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:start}
.fig--offset figcaption{text-align:right;border-top:2px solid var(--secondary);padding-top:10px}
.fig--offset .fig-credit{text-align:right}
.fig--offset img{width:100%;aspect-ratio:16/10;object-fit:cover;border-top:2px solid var(--ink);padding-top:14px}
.fig--offset .fig-mark{display:flex;justify-content:flex-end;color:var(--secondary);margin-bottom:8px}

/* 4 · inset — small, sits in the measure */
.fig--inset{max-width:360px}
.fig--inset img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fig--inset figcaption{margin-top:10px;padding-top:9px;border-top:1px solid var(--rule)}
.fig--inset .fig-cap{font-size:15.5px}

.article-figure img{width:100%;aspect-ratio:16/10;object-fit:cover}
.article-figure figcaption{margin-top:12px;font-size:16.5px;line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{margin-top:9px;font-size:15px;line-height:1.4;color:var(--ink-70)}

/* ---------- register bands (the notes material) ---------- */
.register{background:var(--secondary);color:var(--paper);padding-block:clamp(28px,4vw,42px)}
.register--ink{background:var(--ink)}
.register__head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border-bottom:1px solid rgba(244,242,236,.4);padding-bottom:10px}
.register__head .r-title{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.register__head .r-sub{font-family:var(--display);font-style:italic;font-size:17px;color:rgba(244,242,236,.78)}
.register__cols{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,242,236,.6);display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,1.6fr);gap:0 32px;padding:12px 0 8px;border-bottom:1px solid rgba(244,242,236,.22)}
.register__row{display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,1.6fr);gap:4px 32px;padding:14px 0;border-bottom:1px solid rgba(244,242,236,.18)}
.register__row:last-child{border-bottom:0}
.register__row dt{font-weight:700;font-size:17px;letter-spacing:-.01em}
.register__row--full dd{grid-column:1 / -1}
.register__row dd{margin:0;font-family:var(--display);font-size:18px;line-height:1.48;color:rgba(244,242,236,.92)}
.register--ink .register__row dt{color:#E9A188}
dl{margin:0}

/* ---------- callout / quotes ---------- */
.callout{background:var(--paper);border-top:3px solid var(--accent);padding:22px 24px;max-width:66ch}
.callout p{font-family:var(--display);font-size:20px;line-height:1.5}
.pullquote{margin:0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:20px 0;max-width:60ch}
.pullquote p{font-family:var(--display);font-size:clamp(23px,2.8vw,30px);line-height:1.28;letter-spacing:-.015em}
.blockquote{margin:0;border-left:3px solid var(--secondary);padding-left:22px;max-width:62ch}
.blockquote p{font-family:var(--display);font-size:21px;line-height:1.45}
.blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:14px;letter-spacing:.06em;color:var(--ink-55)}

/* ---------- data ---------- */
.datatable,.versus{width:100%;border-collapse:collapse;font-size:16px}
.datatable caption,.versus caption{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-55);padding-bottom:10px}
.datatable th,.versus th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-55);border-bottom:2px solid var(--ink);padding:9px 14px 9px 0;vertical-align:bottom}
.datatable td,.versus td{border-bottom:1px solid var(--rule);padding:12px 14px 12px 0;vertical-align:top;font-variant-numeric:tabular-nums}
.datatable tbody tr td:first-child,.versus tbody tr th{font-weight:700;color:var(--accent)}
.versus tbody th{border-bottom:1px solid var(--rule);text-transform:none;font-size:16px;letter-spacing:0;color:var(--ink);padding-right:20px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--rule);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.statblock{background:var(--ground);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--display);font-size:clamp(34px,4vw,44px);line-height:.95;color:var(--accent);font-variant-numeric:tabular-nums}
.stat-label{font-size:14.5px;line-height:1.4;color:var(--ink-70)}

.timeline{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.timeline li{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(0,2fr);gap:6px 28px;padding:14px 0;border-bottom:1px solid var(--rule)}
.t-when{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary)}
.t-what{font-family:var(--display);font-size:18px;line-height:1.45}

.chart{margin:0}
.chart svg{width:100%;height:auto;overflow:visible}
.chart figcaption{margin-top:12px;font-size:15px;line-height:1.45;color:var(--ink-70);border-top:1px solid var(--rule);padding-top:9px;max-width:62ch}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:36px 32px}
.card--index{background:var(--secondary);color:var(--paper);padding:clamp(20px,2.4vw,28px);justify-content:space-between}
.card--index:hover{background:var(--ink);color:var(--paper)}
.card--index:hover h3{color:var(--paper)}
.card--index__mark{display:block;opacity:.85}
.card--index h3{color:var(--paper)}
.card--index .card__body{padding-top:26px;flex:0 1 auto}
.card{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}
.card:hover{color:var(--ink)}
.card>img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--paper);padding:10px;border:1px solid var(--rule)}
.card:hover>img{border-color:var(--accent)}
.card__body{display:flex;flex-direction:column;flex:1;padding-top:14px}
.card h3{font-size:24px;line-height:1.1;min-height:2.2em}
.card p{font-size:15.5px;line-height:1.5;color:var(--ink-70);margin-top:9px}
.card .meta{margin-top:auto;padding-top:14px}
.card:hover h3{color:var(--accent)}

.cat-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.cat-list li{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:44px minmax(0,1.05fr) minmax(0,1.5fr);gap:6px 28px;align-items:baseline;padding:18px 0;text-decoration:none;color:var(--ink)}
.cat-list .c-no{font-size:13px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.cat-list .c-title{font-family:var(--display);font-size:23px;line-height:1.15;letter-spacing:-.015em}
.cat-list .c-brief{font-size:15.5px;line-height:1.5;color:var(--ink-70)}
.cat-list a:hover .c-title{color:var(--accent)}
.cat-list .c-meta{grid-column:2;font-size:13.5px;color:var(--ink-55)}

.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px;border-top:2px solid var(--ink)}
.further-grid a{display:flex;gap:13px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font-weight:700;font-size:17px;line-height:1.3}
.further-grid a:hover{color:var(--accent)}
.related-links{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.related-links li{border-bottom:1px solid var(--rule)}
.related-links a{display:flex;gap:13px;align-items:flex-start;padding:16px 0;text-decoration:none;color:var(--ink);font-weight:700;font-size:17px;line-height:1.35}
.related-links a:hover{color:var(--accent)}
.related-links .rl-sec{display:block;font-weight:400;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55);margin-top:4px}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.profile-card{background:var(--paper);border:1px solid var(--rule);padding:20px;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-size:22px}
.profile-card .p-role{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}
.profile-card p{font-size:16px;line-height:1.5;color:var(--ink-70)}
.profile-card .p-links{margin-top:auto;padding-top:10px;font-size:15px}
.profile-card.no-photo{border-top:3px solid var(--accent)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.org-card{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--rule);padding:16px;text-decoration:none;color:var(--ink)}
.org-card .org-logo{height:34px;width:auto;max-width:100%;object-fit:contain;background:var(--ink);padding:6px 10px}
.org-card .org-name{font-weight:700;font-size:16.5px}
.org-card .org-host{font-size:13.5px;letter-spacing:.06em;color:var(--ink-55)}
.entity-ref{font-weight:600;text-decoration:none;border-bottom:1px solid var(--accent)}

/* ---------- supporters ---------- */
.supporters{background:var(--paper);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding-block:clamp(28px,4vw,40px)}
.supporters__intro{max-width:64ch;font-size:16.5px;line-height:1.55;color:var(--ink-70);margin-top:10px}
.sponsor-block{margin-top:26px}
.sponsor-block--feat{padding:18px clamp(14px,2vw,22px) 22px;background:rgba(112,29,74,.055);border-top:3px solid var(--accent)}
.sponsor-block--feat h3{color:var(--ink);font-size:12.5px}
.sponsor-block h3{font-size:12px;font-family:var(--sans);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--secondary);border-bottom:1px solid var(--rule);padding-bottom:8px}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,236px);justify-content:center;gap:14px;margin-top:14px}
.sponsor{display:flex;align-items:center;justify-content:center;height:88px;padding:14px 18px;background:var(--ink);text-decoration:none}
.sponsor:hover{background:var(--secondary)}
.sponsor img{max-height:56px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor-blurb{display:none}

/* ---------- article ---------- */
.article-head{padding-top:clamp(32px,5vw,52px)}
.article-head h1{font-size:clamp(38px,6.4vw,72px);line-height:.98;letter-spacing:-.028em;max-width:22ch}
.article-head .lead{margin-top:18px;font-style:italic;max-width:52ch}
.article-meta{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin-top:20px;border-top:1px solid var(--rule);padding-top:12px;font-size:15px;color:var(--ink-55)}
.prose{font-family:var(--display);font-size:20px;line-height:1.62;color:var(--ink)}
.prose>*+*{margin-top:20px}
.prose h2{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--secondary);margin-top:38px;line-height:1.35}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(210,72,26,.45)}
.prose a:hover{color:var(--secondary);border-bottom-color:var(--secondary)}
.block{margin-top:clamp(32px,4vw,48px)}
.block+.prose,.prose+.block{margin-top:clamp(32px,4vw,48px)}
.endmark{margin-top:44px;border-top:2px solid var(--ink);padding-top:14px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-55)}

/* ---------- hero / hub ---------- */
.hero h1{font-size:clamp(44px,8vw,88px);line-height:.94;letter-spacing:-.03em;max-width:16ch}
.hero__deck{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:24px 56px;align-items:start;margin-top:18px}
.hero__deck .standfirst{font-family:var(--display);font-size:20px;line-height:1.5;border-top:3px solid var(--accent);padding-top:14px}
.sec-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;border-bottom:2px solid var(--ink)}
.sec-hero__text{padding:clamp(28px,4vw,52px) clamp(20px,3vw,44px) clamp(28px,4vw,52px) var(--gut);display:flex;flex-direction:column;justify-content:center;gap:16px}
.sec-hero__text h1{font-size:clamp(34px,5vw,60px);line-height:1}
.sec-hero img{width:100%;height:100%;min-height:280px;object-fit:cover}
.quote-band{background:var(--secondary);color:var(--paper);padding-block:clamp(32px,4.5vw,48px)}
.quote-band__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px 40px;align-items:center}
.quote-band p{font-family:var(--display);font-size:clamp(21px,2.7vw,29px);line-height:1.3;letter-spacing:-.01em;max-width:52ch}
.quote-band a{color:var(--paper);text-decoration:none;border:1px solid rgba(244,242,236,.6);padding:13px 20px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.quote-band a:hover{background:var(--paper);color:var(--secondary)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--paper);margin-top:clamp(48px,6vw,80px);padding-block:32px 44px}
.foot__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px 56px;align-items:start}
.foot__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px}
.foot__col{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.foot__col h2{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#F0A288;padding-bottom:8px;border-bottom:1px solid rgba(244,242,236,.22);width:100%}
.foot__nav a{color:rgba(244,242,236,.9);text-decoration:none;font-family:var(--display);font-size:17px;font-weight:400;letter-spacing:0;text-transform:none}
.foot__nav a:hover{color:#F0A288}
.foot__sig{font-family:var(--display);font-style:italic;font-size:18.5px;line-height:1.45;color:rgba(244,242,236,.78);max-width:62ch}
.foot .eyebrow{color:rgba(244,242,236,.6)}

details.expander{margin-top:14px}
details.expander summary{cursor:pointer;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:12px 0;min-height:44px;display:flex;align-items:center}
details.expander[open] summary{color:var(--secondary)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero__deck,.fig--plate .fig-cap-row{grid-template-columns:minmax(0,1fr)}
  .sec-hero{grid-template-columns:minmax(0,1fr)}
  .sec-hero__text{padding-inline:var(--gut)}
  .quote-band__in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .prose{font-size:18.5px}
  .fig--offset{grid-template-columns:minmax(0,1fr)}
  .fig--offset figcaption{text-align:left;order:2}
  .fig--offset .fig-credit{text-align:left}
  .fig--offset .fig-mark{justify-content:flex-start}
  .fig--offset img{order:1;border-top:0;padding-top:0}
  .register__cols{display:none}
  .register__row{grid-template-columns:minmax(0,1fr);gap:5px}
  .cat-list a{grid-template-columns:34px minmax(0,1fr)}
  .cat-list .c-brief,.cat-list .c-meta{grid-column:2}
  .timeline li{grid-template-columns:minmax(0,1fr)}
  .card h3{min-height:0}
  .sponsor-grid{grid-template-columns:repeat(auto-fit,minmax(196px,196px));justify-content:center}
}
@media print{
  .nav,.supporters,.quote-band a{display:none}
  body{background:#fff}
}

/* ---------- homepage ---------- */
.homehero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(20px,3vw,34px) clamp(24px,3vw,44px);align-items:start;padding-block:clamp(26px,3.5vw,44px)}
.homehero__head{grid-column:1 / -1}
.homehero__plate{grid-column:1;grid-row:2}
.homehero__text{grid-column:2;grid-row:2}
.homehero img{width:100%;aspect-ratio:1/1;object-fit:cover;max-height:min(70vh,640px)}
.homehero__text{padding-top:6px}
.homehero h1{font-size:clamp(42px,7vw,80px);line-height:.94;letter-spacing:-.03em}
.homehero__stand{font-family:var(--display);font-size:clamp(19px,2.1vw,22px);line-height:1.5;border-top:3px solid var(--accent);padding-top:16px}
.lead-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start;margin-top:clamp(28px,4vw,44px)}
.lead-feature img{width:100%;aspect-ratio:16/10;object-fit:cover}
.lead-feature h2{font-size:clamp(30px,4.4vw,50px);line-height:1.02}
.lead-feature a{text-decoration:none;color:var(--ink)}
.lead-feature a:hover h2{color:var(--accent)}
.seq{width:100%;border-collapse:collapse}
.seq th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55);border-bottom:2px solid var(--ink);padding:10px 20px 10px 0}
.seq td{border-bottom:1px solid var(--rule);padding:16px 20px 16px 0;vertical-align:top}
.seq a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:-.01em}
.seq a:hover{color:var(--accent)}
.seq .s-no{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;font-size:14px;padding-right:14px}
.seq .s-what{font-family:var(--display);font-size:18px;line-height:1.45}
.seq .s-when{font-size:15px;color:var(--ink-70)}
@media (max-width:1000px){.homehero,.lead-feature{grid-template-columns:minmax(0,1fr)}.homehero__plate,.homehero__text{grid-column:1}.homehero__text{grid-row:auto}}
@media (max-width:760px){
  .seq thead{display:none}
  .seq tr{display:block;border-bottom:1px solid var(--rule);padding:15px 0}
  .seq td{display:block;border-bottom:0;padding:0}
  .seq .s-no{font-size:13px;margin-bottom:4px}
  .seq .s-what{margin-top:7px}
  .seq .s-when{margin-top:7px;font-size:14.5px;color:var(--ink-55)}
}

/* register tile — declared last so it beats the .card defaults above */
a.card--index,a.card--index h3,a.card--index p,a.card--index .kicker,a.card--index .meta{color:#F4F2EC}
a.card--index:hover h3{color:#F4F2EC}
a.card--index .kicker,a.card--index .meta{opacity:.92}

/* lead entry — full-bleed plate with the panel stepping over it */
.lead-band{padding-top:clamp(24px,3vw,40px)}
.lead-band__fig{margin-top:22px}
.lead-band__plate{width:100%;aspect-ratio:21/9;object-fit:cover}
.lead-band__foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:22px 44px;align-items:start}
.lead-band__panel{display:block;background:var(--paper);border-top:3px solid var(--accent);padding:clamp(22px,2.6vw,34px);margin-top:clamp(-92px,-7vw,-36px);text-decoration:none;color:var(--ink);box-shadow:0 18px 44px rgba(22,34,58,.16)}
.lead-band__panel .kicker{display:flex}
.lead-band__panel h3{font-family:var(--display);font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.022em;margin-top:12px}
.lead-band__panel:hover h3{color:var(--accent)}
.lead-band__brief{font-family:var(--display);font-size:19px;line-height:1.55;color:var(--ink-70);margin-top:14px;max-width:52ch}
.lead-band__panel .article-meta{display:flex}
.lead-band__cta{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.lead-band__cap{padding-top:14px;border-top:1px solid var(--rule);max-width:48ch}
@media (max-width:1000px){.lead-band__foot{grid-template-columns:minmax(0,1fr)}.lead-band__panel{margin-top:-30px}}

.stat-icon{color:var(--secondary);display:block;margin-bottom:4px}
@media (max-width:760px){.foot__in{grid-template-columns:minmax(0,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-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:41px!important;display:block!important;width:100%!important}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1094px at 390, 13% of the whole page. Two columns bring it to
   584px (47% shorter). Checked before writing: no new overflow, smallest mark still
   117px wide, longest blurb 0 lines, tile heights 88-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.
   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) 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}
}

/* op-article-seam: text ran into the band that follows it (0-7px) — operator: "end of paragraph nearly touches intersection. Padding is missing." The section now keeps Design's own gap before the band: div.block.wrap → section.band.register: 48px (the gap after the band). */
  main > div.block.wrap:has(+ section.band.register){padding-bottom:32px!important}
@media (min-width:1024px){
  main > div.block.wrap:has(+ section.band.register){padding-bottom:41px!important}
}
@media (min-width:1440px){
  main > div.block.wrap:has(+ section.band.register){padding-bottom:48px!important}
}
/* op-article-seam:end */
@media (min-width:728px) and (max-width:1439px){.sponsor-grid.sponsor-grid:has(> [data-partner]){grid-template-columns:repeat(auto-fit,minmax(min(236px,calc(50% - 7px)),1fr))!important;justify-content:stretch!important}.sponsor-grid.sponsor-grid > [data-partner]{width:auto!important;max-width:none!important}}
@media (min-width:660px) and (max-width:699px){.sponsor-grid:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,208px),1fr))!important;justify-content:stretch!important;column-gap:var(--sp-gap,14px)!important}.sponsor-grid:has(> [data-partner]) > [data-partner]{width:auto!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}@media (min-width:1440px){.sponsor-grid:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,208px),1fr))!important;justify-content:stretch!important;column-gap:var(--sp-gap,14px)!important}.sponsor-grid:has(> [data-partner]) > [data-partner]{width:auto!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}
