/* Radiation Cinema — The Contact Sheet
   Every image is a frame on a proof sheet: enlarger-stamped number, caption beneath. */

:root{
  --paper:#050605;
  --panel:#101210;
  --panel-2:#0b0c0b;
  --ink:#e6e4de;
  --ink-2:#c8c6bd;
  --dim:#8d8f88;
  --faint:#6f7368;
  --line:#23271f;
  --line-2:#1a1d18;
  --green:#b8f24a;
  --green-dim:#7fa05a;
  --hot:#e8c37a;
  --rust:#b5442c;
  --display:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;
  --prose:"Newsreader",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --wrap:1400px;
  --gut:clamp(16px,4vw,40px);
  --measure:70ch;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--prose);font-size:18px;line-height:1.6;
  text-wrap:pretty;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:var(--green);text-decoration:none}
a:hover{color:#d6ff7e}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;margin:0;line-height:.92}
p{margin:0 0 1.1em}
hr{border:0;border-top:1px solid var(--line);margin:38px 0}
::selection{background:var(--green);color:#0b0c0b}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:99;background:var(--green);color:#080908;padding:8px 12px;font:600 12px var(--mono)}

/* ---------- masthead ---------- */
.masthead{background:var(--panel);border-bottom:1px solid var(--line)}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:14px}
.wordmark{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.wordmark b{font-family:var(--display);font-weight:700;font-size:30px;line-height:.8;color:var(--ink);text-transform:uppercase}
.wordmark span{font-family:var(--display);font-weight:400;font-size:30px;line-height:.8;letter-spacing:.3em;color:var(--green);text-transform:uppercase}
.mast-nav{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.mast-nav a{color:var(--dim);padding-block:6px;border-bottom:1px solid transparent}
.mast-nav a:hover{color:var(--ink)}
.mast-nav a[aria-current]{color:var(--green);border-bottom-color:var(--green)}
.strapline{border-bottom:1px solid var(--line);background:var(--paper)}
.strapline p{margin:0;padding-block:9px;font:500 9.5px/1.5 var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--green-dim)}

/* ---------- contact frame: the signature ---------- */
.frame{margin:0;display:flex;flex-direction:column}
.frame-img{position:relative;background:var(--panel);overflow:hidden;aspect-ratio:3/2}
.frame-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.06)}
.frame:hover .frame-img img{filter:grayscale(.15) contrast(1.08)}
.frame-no{
  position:absolute;top:0;left:0;z-index:2;
  font:600 10px/1 var(--mono);letter-spacing:.16em;color:var(--green);
  background:rgba(5,6,5,.82);padding:6px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.frame-cap{font:400 11.5px/1.5 var(--mono);letter-spacing:.03em;color:var(--dim);padding-top:9px}
.frame-cap b{color:var(--ink-2);font-weight:500}
.frame-credit{display:block;font:400 9.5px/1.4 var(--mono);letter-spacing:.05em;color:#4e5149;padding-top:4px;text-transform:uppercase}
.frame.tall .frame-img{aspect-ratio:4/5}
.frame.wide .frame-img{aspect-ratio:21/9}

/* ---------- section furniture ---------- */
.band{padding-block:clamp(34px,5vw,64px);border-top:1px solid var(--line)}
.band:first-of-type{border-top:0}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.band-head h2{font-size:clamp(26px,3.4vw,38px);color:var(--ink)}
.kicker{font:500 10px/1.4 var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--green);margin:0 0 12px}
.band-note{font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0}

/* ---------- hero sheet ---------- */
.hero{padding-block:clamp(30px,4vw,50px)}
.hero-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:end;margin-bottom:26px}
.hero-top h1{font-size:clamp(40px,7vw,86px);line-height:.84}
.hero-top .lede{font:300 clamp(16px,1.5vw,20px)/1.5 var(--prose);color:var(--ink-2);margin:0}
.sheet{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 14px}
@media (max-width:1180px){.sheet{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sheet .frame-cap{min-height:3em}

/* featured frame: annotation revealed on hover / focus */
.featured{position:relative;margin-top:26px;border:1px solid var(--line);background:var(--panel)}
.featured a{display:block;color:inherit}
.featured .frame-img{aspect-ratio:2.6/1}
.featured .anno{
  position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,3vw,34px);
  background:linear-gradient(to top,rgba(5,6,5,.96) 30%,rgba(5,6,5,.72) 70%,rgba(5,6,5,0));
}
.featured h3{font-size:clamp(24px,3.6vw,46px);color:#f4f2ea;margin-bottom:10px}
.featured .anno-body{
  font:300 17px/1.55 var(--prose);color:var(--ink-2);margin:0;max-width:72ch;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .3s ease,margin .45s ease;
}
.featured:hover .anno-body,.featured:focus-within .anno-body{max-height:18em;opacity:1;margin-top:10px}
.featured .meta{margin-top:10px}
@media (hover:none){.featured .anno-body{max-height:none;opacity:1;margin-top:10px}}

.meta{font:500 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.meta a{color:var(--dim)}
.meta .sep{color:#3f423b;padding-inline:6px}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 20px}
.card{display:flex;flex-direction:column;height:100%;color:inherit}
.card .frame-img{aspect-ratio:3/2}
.card h3{font-size:22px;line-height:1.02;color:var(--ink);margin:11px 0 7px;min-height:2.1em}
.card:hover h3{color:var(--green)}
.card p{font:300 15px/1.45 var(--prose);color:var(--dim);margin:0 0 12px}
.card .meta{margin-top:auto}

/* section index row */
.sections-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px}
.section-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);background:var(--panel-2);color:inherit}
.section-card .frame-img{aspect-ratio:16/9;border-bottom:1px solid var(--line)}
.section-card .sc-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.section-card h3{font-size:24px;line-height:1;color:var(--ink);margin-bottom:9px}
.section-card:hover h3{color:var(--green)}
.section-card p{font:300 14.5px/1.45 var(--prose);color:var(--dim);margin:0 0 14px}
.section-card .meta{margin-top:auto}

/* latest rail — contact strip of thumbs */
.rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:20px 16px;border-top:1px solid var(--line);padding-top:20px}
.rail .frame-img{aspect-ratio:1/1}
.rail h3{font-size:19px;line-height:1.04;margin:10px 0 6px;color:var(--ink)}
.rail a:hover h3{color:var(--green)}
.rail p{font:300 14px/1.42 var(--prose);color:var(--dim);margin:0}

/* ---------- map ---------- */
.map-figure{margin:0;border:1px solid var(--line);background:var(--panel-2)}
.map-figure .map-slot{padding:clamp(10px,2vw,22px)}
.map-figure svg{width:100%;height:auto;display:block}
.map-figure figcaption{border-top:1px solid var(--line);padding:12px 16px;font:400 11.5px/1.5 var(--mono);letter-spacing:.05em;color:var(--dim)}
.pin-dot{fill:var(--green)}
.pin-ring{fill:none;stroke:var(--green);stroke-width:2;opacity:.5}
.pin-label{font-family:var(--mono);font-size:15px;letter-spacing:.08em;fill:var(--ink);text-transform:uppercase}

/* ---------- supporting programme (sponsors) ---------- */
.programme{border-top:1px solid var(--line);background:var(--panel-2);padding-block:clamp(30px,4vw,46px)}
.programme-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.programme-head h2{font-size:clamp(24px,3vw,32px)}
.programme > .wrap > p{font:300 15px/1.5 var(--prose);color:var(--dim);max-width:62ch;margin:0 0 26px}
.programme-group + .programme-group{margin-top:26px}
.programme-group > h3{font:500 9.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--green-dim);margin-bottom:14px}
.sponsor-run{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.sponsor{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  background:#0e100e;border:1px solid var(--line);padding:18px;min-height:118px;
  text-decoration:none;
}
.sponsor:hover{border-color:var(--green-dim)}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain;margin:auto 0}
.sponsor-name{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sponsor.feat{border-color:#2f3a26}
.sponsor.feat .sponsor-name{color:var(--ink)}
@media (max-width:420px){.sponsor-name{white-space:normal}}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);background:var(--panel);padding-block:30px 40px}
.foot-in{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:flex-start}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 10px/1.8 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.foot-nav a{color:var(--dim)}
.foot-note{font:300 14px/1.6 var(--prose);color:var(--faint);max-width:56ch;margin:0}
.foot-mark{font:500 9.5px/1.8 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#4e5149}

/* ---------- article ---------- */
.article-head{padding-block:clamp(28px,4vw,52px) clamp(18px,2vw,26px)}
.article-head h1{font-size:clamp(34px,5.6vw,72px);line-height:.86;max-width:20ch}
.article-head .lead{margin-top:20px}
.article-hero{position:relative}
.article-hero .frame-img{aspect-ratio:2.4/1}
.article-body{max-width:var(--measure);margin-inline:auto;padding-inline:var(--gut);padding-block:clamp(24px,3vw,38px)}
.article-body p{font-size:19.5px;line-height:1.68;color:var(--ink-2)}
.article-body h2{font-size:clamp(24px,3vw,34px);color:var(--ink);margin:44px 0 16px}
.article-body h2:first-child{margin-top:0}
.article-body h3{font-size:20px;color:var(--ink);margin:30px 0 10px}
.article-body em{font-style:italic;color:var(--ink)}
.article-body a{border-bottom:1px solid rgba(184,242,74,.35)}
.article-body ul,.article-body ol{padding-left:1.15em;margin:0 0 1.2em}
.article-body li{margin-bottom:.45em;color:var(--ink-2)}
.lead{font:300 clamp(19px,2.2vw,25px)/1.45 var(--prose);color:var(--ink-2);margin:0 0 1em}

/* interruption: notes-for-design rendered as a contact strip across the measure */
.strip{border-top:1px solid var(--green-dim);border-bottom:1px solid var(--line);background:var(--panel-2);padding-block:clamp(22px,3vw,34px);margin-block:clamp(28px,4vw,44px)}
.strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.strip-head h2{font-size:clamp(20px,2.4vw,28px);color:var(--ink);margin:0}
.strip-no{font:600 10px/1 var(--mono);letter-spacing:.2em;color:var(--green);text-transform:uppercase}
.strip-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:2px;background:var(--line-2);border:1px solid var(--line-2)}
.strip-cell{background:var(--paper);padding:16px 18px 18px}
.strip-cell .n{font:600 10px/1 var(--mono);letter-spacing:.16em;color:var(--green);display:block;margin-bottom:9px}
.strip-cell p{font:400 15.5px/1.5 var(--prose);color:var(--ink-2);margin:0}
.strip-cell p b{color:var(--ink);font-weight:600}

/* components from the guide */
.pullquote{margin:34px 0;padding:6px 0 6px 24px;border-left:3px solid var(--green)}
.pullquote p{font:400 clamp(21px,2.6vw,27px)/1.32 var(--prose);font-style:italic;color:#f2f0e8;margin:0}
.blockquote{margin:30px 0;padding:18px 22px;background:var(--panel-2);border:1px solid var(--line)}
.blockquote p{font:400 18px/1.55 var(--prose);color:var(--ink-2);margin:0 0 10px}
.blockquote cite{font:500 10.5px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-style:normal}
.callout{margin:30px 0;padding:20px 22px;background:#0d1109;border:1px solid var(--green-dim)}
.callout p{font:400 17px/1.55 var(--prose);color:var(--ink);margin:0}
.note{font:400 15px/1.55 var(--prose);color:var(--dim);border-left:2px solid var(--line);padding-left:14px;margin:24px 0}

.versus,.datatable{width:100%;border-collapse:collapse;margin:28px 0;font-family:var(--prose);font-size:16px}
.versus caption,.datatable caption{caption-side:top;text-align:left;font:500 10px/1.5 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--green);padding-bottom:10px}
.versus th,.datatable th{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.versus td,.datatable td{padding:11px 12px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:top}
.versus tbody th{color:var(--ink);font-family:var(--prose);font-size:16px;text-transform:none;letter-spacing:0}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.statrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px;background:var(--line-2);border:1px solid var(--line-2);margin:28px 0}
.statblock{background:var(--paper);padding:18px}
.stat-num{display:block;font-family:var(--display);font-weight:700;font-size:44px;line-height:.9;color:var(--green)}
.stat-label{display:block;font:400 12px/1.45 var(--mono);letter-spacing:.06em;color:var(--dim);margin-top:8px}

.timeline{list-style:none;margin:28px 0;padding:0;border-top:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:8px 22px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.t-when{font:500 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.t-what{font:400 16px/1.5 var(--prose);color:var(--ink-2)}
@media (max-width:620px){.timeline li{grid-template-columns:1fr}}

.chart{margin:30px 0}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart figcaption{font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--dim);margin-top:12px}
.chart .c-bar{fill:var(--green-dim)}
.chart .c-bar.hi{fill:var(--green)}
.chart .c-lab{font-family:var(--mono);font-size:11px;fill:var(--dim)}
.chart .c-val{font-family:var(--mono);font-size:11px;fill:var(--ink-2)}
.chart .c-axis{stroke:var(--line);stroke-width:1}

.article-figure{margin:32px 0}
.article-figure img{width:100%;filter:grayscale(.5) contrast(1.05)}
.article-figure figcaption{font:400 11.5px/1.5 var(--mono);letter-spacing:.03em;color:var(--dim);padding-top:9px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:30px 0}
.gallery figure{margin:0}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin:28px 0}
.profile-card{border:1px solid var(--line);background:var(--panel-2);padding:18px;display:flex;flex-direction:column;height:100%}
.p-photo{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(.6);margin-bottom:14px}
.profile-card h3{font-size:21px;color:var(--ink)}
.p-role{font:500 10px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:6px 0 10px}
.profile-card p{font:300 15px/1.5 var(--prose);color:var(--dim);margin:0 0 10px}
.p-links{margin-top:auto!important}
.p-attr{font:400 10px/1.4 var(--mono);color:var(--faint)}

.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:26px 0}
.org-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel-2);padding:12px 14px;color:inherit}
.org-card:hover{border-color:var(--green-dim)}
.org-logo{width:40px;height:40px;object-fit:contain;flex:none}
.org-name{font:500 14px/1.2 var(--prose);color:var(--ink);display:block}
.org-host{font:400 10.5px/1.4 var(--mono);color:var(--dim);display:block}
.org-card > span:not(.org-logo){display:flex;flex-direction:column;gap:3px;min-width:0}
.entity-ref{white-space:nowrap;border-bottom:1px solid rgba(184,242,74,.4)}

.further-grid,.related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px;background:var(--line-2);border:1px solid var(--line-2);margin:0;padding:0;list-style:none}
.further-grid a,.related-links li{background:var(--paper);display:block}
.related-links a,.further-grid a{display:block;padding:16px 18px;font:500 17px/1.25 var(--prose);color:var(--ink)}
.related-links a:hover,.further-grid a:hover{background:var(--panel);color:var(--green)}
.related-links .r-kicker{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--green-dim);margin-bottom:8px}

.cat-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cat-list li{border-bottom:1px solid var(--line-2)}
.cat-list a{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,.85fr);gap:20px;align-items:baseline;padding:18px 0;color:inherit}
.cat-list a:hover{background:rgba(184,242,74,.04)}
.cat-list .c-no{font:600 11px/1.6 var(--mono);letter-spacing:.12em;color:var(--green)}
.cat-list .c-title{font-family:var(--display);font-weight:700;font-size:26px;line-height:1;text-transform:uppercase;color:var(--ink)}
.cat-list a:hover .c-title{color:var(--green)}
.cat-list .c-dek{font:300 15px/1.45 var(--prose);color:var(--dim);display:block;margin-top:8px}
.cat-list .c-meta{font:500 10px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
@media (max-width:760px){.cat-list a{grid-template-columns:44px 1fr}.cat-list .c-meta{grid-column:2}}

/* hub */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px 24px}
.hub-col h3{font-size:26px;color:var(--ink);border-bottom:2px solid var(--green);padding-bottom:10px;margin-bottom:6px}
.hub-col ul{list-style:none;margin:0;padding:0}
.hub-col li{border-bottom:1px solid var(--line-2)}
.hub-col li a{display:block;padding:11px 0;font:400 16px/1.35 var(--prose);color:var(--ink-2)}
.hub-col li a:hover{color:var(--green)}

.page-body{max-width:var(--measure);margin-inline:auto;padding-inline:var(--gut);padding-block:clamp(26px,4vw,44px)}
.page-body p{font-size:18.5px;color:var(--ink-2)}
.page-body h2{font-size:28px;margin:36px 0 14px}
.form-row{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.form-row label{font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.form-row input,.form-row textarea{background:var(--panel);border:1px solid var(--line);color:var(--ink);font:400 16px/1.5 var(--prose);padding:11px 13px;width:100%}
.form-row input:focus,.form-row textarea:focus{border-color:var(--green-dim);outline:none}
.btn{display:inline-block;background:var(--green);color:#080908;font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;padding:14px 20px;border:0;cursor:pointer}
.btn:hover{background:#d6ff7e;color:#080908}

/* collapsible long lists */
.expander{margin-top:14px}
.expander summary{font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--green);cursor:pointer;padding:12px 0;list-style:none}
.expander summary::-webkit-details-marker{display:none}
.expander summary::after{content:" +"}
.expander[open] summary::after{content:" −"}

@media (max-width:900px){
  .hero-top{grid-template-columns:1fr;gap:18px;align-items:start}
  .featured .frame-img{aspect-ratio:16/10}
}
@media (max-width:640px){
  body{font-size:17px}
  .wordmark b,.wordmark span{font-size:24px}
  .featured .anno{padding:16px}
  .article-body p{font-size:18px}
}
@media print{
  .masthead,.mast-nav,.programme,.foot-nav{display:none}
  body{background:#fff;color:#000}
}

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

/* op-article-width: the article column was capped at 634px (77 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (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 1280 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1280px){
  article div.article-body{--measure:min(89.732ch, 100%)!important}
}
@media (min-width:1600px){
  article div.article-body{--measure:min(clamp(89.732ch, 63.542vw, calc(89.732ch * 1.2)), 100%)!important}
  article div.article-body > :is(p:not([class])){font-size:clamp(19.5px,1.3542vw,23.4px)!important}
}
/* op-article-width:end */

/* op-hover-pad */
.cat-list a{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: 0.01em; margin: 0px; line-height: 0.92;}
.featured h2:where(.rt-h3){font-size: clamp(24px, 3.6vw, 46px); color: rgb(244, 242, 234); margin-bottom: 10px;}
.section-card h2:where(.rt-h3){font-size: 24px; line-height: 1; color: var(--ink); margin-bottom: 9px;}
.section-card:hover h2:where(.rt-h3){color: var(--green);}
.rail h2:where(.rt-h3){font-size: 19px; line-height: 1.04; margin: 10px 0px 6px; color: var(--ink);}
.rail a:hover h2:where(.rt-h3){color: var(--green);}
.programme-group > h2:where(.rt-h3){font: 500 9.5px/1 var(--mono); letter-spacing: 0.24em; text-transform: uppercase; color: var(--green-dim); margin-bottom: 14px;}
.hub-col h2:where(.rt-h3){font-size: 26px; color: var(--ink); border-bottom: 2px solid var(--green); padding-bottom: 10px; margin-bottom: 6px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a > div.frame-img > img,
  a.section-card > div.frame-img > img,
  figure.article-figure.frame > div.frame-img > img,
  figure.article-hero.frame > div.frame-img > img,
  figure.frame > div.frame-img > img,
  figure.frame.wide > div.frame-img > img){height:auto}
/* op-img-dims:end */
