/* Cabanon Press — "Ruled Board"
   PALETTE (3–5 colours, each with a job):
   --paper    board white   : ground, ruled in cyan
   --ink      near-black    : text, panel borders, dark grounds
   --cyan     process cyan  : icons, ruling, halftone AREAS (saturated member 1)
   --magenta  halftone mag. : folios, active states, marks, quiet band (saturated member 2)
   --cyan-deep               : link text on paper (legible shade of the cyan job)
*/
:root{
  --paper:#FBFAF5;
  --ink:#17171B;
  --cyan:#009FD1;
  --cyan-deep:#00759E;
  --magenta:#C22672;
  --magenta-bright:#E23B8E;
  --grey:#4B4B52;
  --grey-soft:#84848B;
  --hairline:#D8D5CE;
  --halftone-bg:#E3F3FA;
  --display:'Space Grotesk',sans-serif;
  --serif:'Source Serif 4',serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;color:var(--ink);background:var(--paper);
  background-image:repeating-linear-gradient(rgba(0,159,209,.09) 0 1px,transparent 1px 32px),
                   repeating-linear-gradient(90deg,rgba(0,159,209,.06) 0 1px,transparent 1px 32px);
  font-family:var(--serif);font-size:17px;line-height:1.7;
}
a{color:var(--cyan-deep)}
a:hover{color:var(--magenta)}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding-inline:28px}
@media(max-width:640px){.wrap{padding-inline:18px}}

/* ---------- masthead ---------- */
.masthead{padding:22px 0 12px}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none}
.brand:hover{color:var(--ink)}
.brand svg{color:var(--cyan);flex:none}
.brand-name{font:700 clamp(19px,2.4vw,25px)/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.brand-tag{font:italic 400 14.5px var(--serif);color:var(--grey)}
@media(max-width:760px){.brand-tag{display:none}}
.site-nav{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.site-nav .wrap{display:flex;gap:8px 22px;flex-wrap:wrap;padding-block:10px}
.site-nav a{display:flex;align-items:center;gap:7px;font:600 11px var(--display);letter-spacing:.13em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:2px 0}
.site-nav a svg{color:var(--cyan);flex:none}
.site-nav a:hover{color:var(--magenta)}
.site-nav a[aria-current="true"]{color:var(--magenta)}
.site-nav a[aria-current="true"] svg{color:var(--magenta)}
.site-nav .nav-index{margin-left:auto;color:var(--cyan-deep)}
@media(max-width:640px){.site-nav .nav-index{margin-left:0}}

/* ---------- bands / panels ---------- */
.band{margin-block:34px}
.panel{border:2px solid var(--ink);background:#FFF}
.halftone{background-color:var(--halftone-bg);background-image:radial-gradient(rgba(0,159,209,.5) 1.3px,transparent 1.4px);background-size:11px 11px}
.band-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.band-head h2,.band-head .bh{font:700 12px var(--display);letter-spacing:.18em;margin:0;text-transform:uppercase}
.band-head .bh-sub{font:italic 400 13.5px var(--serif);color:var(--grey)}
.band-head .bh-rule{flex:1;height:2px;background:var(--ink);transform:translateY(-3px)}
.band-head a{font:600 11px var(--display);letter-spacing:.1em;text-transform:uppercase;text-decoration:none}

/* splash */
.splash{padding:clamp(30px,5vw,54px) clamp(22px,4vw,46px);position:relative}
.splash-tag{position:absolute;top:12px;right:14px;font:600 10.5px var(--display);letter-spacing:.14em;color:var(--magenta)}
.splash-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
@media(max-width:880px){.splash-grid{grid-template-columns:1fr}}
.kicker{font:600 12px var(--display);letter-spacing:.2em;color:var(--magenta);text-transform:uppercase;display:flex;align-items:center;gap:8px}
.kicker svg{flex:none}
.splash h1{font:700 clamp(30px,4.6vw,52px)/1.04 var(--display);letter-spacing:-.01em;margin:12px 0 0;text-wrap:balance}
.splash .dek{font:400 18px/1.6 var(--serif);color:#2E2E34;max-width:56ch;margin:16px 0 0;text-wrap:pretty}
.btn{display:inline-block;font:700 12px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);text-decoration:none;border-bottom:2px solid var(--magenta);padding-bottom:2px;margin-top:18px}
.btn:hover{color:var(--ink);border-color:var(--ink)}

/* stage tier */
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:880px){.stage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.stage-grid{grid-template-columns:1fr}}
.stage-card{border:2px solid var(--ink);background:#FFF;padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;color:var(--ink);text-decoration:none;transition:box-shadow .12s}
.stage-card:hover{box-shadow:5px 5px 0 var(--magenta-bright);color:var(--ink)}
.stage-card .sc-top{display:flex;justify-content:space-between;align-items:center}
.stage-card .sc-top svg{color:var(--cyan)}
.stage-no{font:600 10.5px var(--display);letter-spacing:.12em;color:var(--magenta)}
.stage-card h3{font:700 20px var(--display);margin:0}
.stage-card p{font:400 14.5px/1.5 var(--serif);color:var(--grey);margin:0}
.stage-card .sc-count{font:600 10.5px var(--display);letter-spacing:.12em;color:var(--grey-soft);text-transform:uppercase;margin-top:auto}

/* feature cards */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.feature-grid{grid-template-columns:1fr}}
.feature-card{display:flex;flex-direction:column;color:var(--ink);text-decoration:none;border:2px solid var(--ink);background:#FFF}
.feature-card:hover{box-shadow:6px 6px 0 var(--magenta-bright);color:var(--ink)}
.feature-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:2px solid var(--ink)}
.feature-card .fc-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.feature-card .fc-kicker{font:600 10.5px var(--display);letter-spacing:.16em;color:var(--magenta);text-transform:uppercase;display:flex;gap:7px;align-items:center}
.feature-card .fc-kicker svg{color:var(--cyan)}
.feature-card h3{font:700 21px/1.15 var(--display);margin:0}
.feature-card p{font:400 14.5px/1.55 var(--serif);color:var(--grey);margin:0}

/* register rows */
.register a{display:grid;grid-template-columns:64px 26px 1fr 150px;gap:16px;align-items:baseline;padding:13px 4px;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.register a:hover{color:var(--magenta)}
.register .folio{font:600 12px var(--display);letter-spacing:.08em;color:var(--magenta)}
.register svg{color:var(--cyan);transform:translateY(3px)}
.register .r-title{font:600 17.5px var(--serif)}
.register .r-sec{font:600 10.5px var(--display);letter-spacing:.13em;color:var(--grey);text-transform:uppercase;text-align:right}
@media(max-width:640px){.register a{grid-template-columns:52px 1fr}.register svg,.register .r-sec{display:none}}

/* quiet line */
.quiet{display:flex;align-items:center;justify-content:center;gap:20px;text-align:center;padding-block:8px}
.quiet svg{color:var(--magenta-bright);flex:none}
.quiet p{font:500 15px var(--display);letter-spacing:.04em;margin:0}
@media(max-width:640px){.quiet svg{display:none}}

/* ---------- sponsors ---------- */
.sponsor-band .band-head .bh{color:var(--grey)}
.sponsor-grid{display:flex;flex-wrap:wrap;gap:10px}
.sponsor{flex:1 1 150px;min-width:150px;display:flex;align-items:center;justify-content:center;background:var(--ink);border:2px solid var(--ink);height:76px;padding:14px 20px;text-decoration:none}
.sponsor:hover{outline:2px solid var(--magenta-bright);outline-offset:-2px}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:640px){.sponsor{flex-basis:140px;min-width:140px;height:64px;padding:10px 14px}.sponsor img{max-height:38px}}

/* ---------- article ---------- */
.art-head{max-width:820px;margin:44px auto 0}
.art-head .meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.art-head .folio{font:600 11px var(--display);letter-spacing:.12em;color:var(--grey-soft)}
.art-head h1{font:700 clamp(30px,4.4vw,46px)/1.04 var(--display);letter-spacing:-.015em;margin:14px 0 0;text-wrap:balance}
.art-head .hd-rule{height:2px;background:var(--ink);margin-top:26px}
.lead{font:italic 400 19px/1.55 var(--serif);color:var(--grey);margin:16px 0 0;max-width:62ch;text-wrap:pretty}
.art-body{max-width:720px;margin:0 auto;padding-block:8px 12px}
.art-body p{margin:0 0 20px;font-size:17.5px;line-height:1.75;color:#232328}
.art-body h2{font:700 25px/1.2 var(--display);letter-spacing:-.01em;margin:36px 0 16px}
.art-body h2::after{content:"";display:block;width:56px;height:3px;background:var(--cyan);margin-top:8px}

/* figure system — three treatments, one family */
.article-figure{margin:34px 0}
.article-figure img{width:100%}
.article-figure figcaption{display:flex;gap:12px;align-items:baseline;margin-top:12px;font:italic 400 14.5px/1.55 var(--serif);color:#3A3A40;max-width:64ch}
.article-figure .fig-no{font:600 10.5px var(--display);letter-spacing:.12em;color:var(--magenta);font-style:normal;flex:none}
.article-figure .credit{font:400 10.5px var(--display);letter-spacing:.06em;color:var(--grey-soft);font-style:normal;text-transform:uppercase}
/* 1 · panel: ink border, caption in the gutter */
.fig-panel img{border:2px solid var(--ink);background:#FFF}
/* 2 · registered: offset cyan/magenta frames */
.fig-registered .fr{position:relative;display:block}
.fig-registered .fr::before{content:"";position:absolute;inset:0;transform:translate(-8px,-8px);border:1.5px solid var(--cyan);pointer-events:none}
.fig-registered .fr::after{content:"";position:absolute;inset:0;transform:translate(8px,8px);border:1.5px solid var(--magenta-bright);pointer-events:none}
.fig-registered img{border:2px solid var(--ink)}
/* 3 · halftone mat: dot-screen pad behind, image stepped off it */
.fig-mat .fr{display:block;background-color:var(--halftone-bg);background-image:radial-gradient(rgba(0,159,209,.5) 1.2px,transparent 1.3px);background-size:11px 11px;padding:16px 16px 0 0}
.fig-mat img{border:2px solid var(--ink);transform:translate(-14px,-2px);background:#FFF}
/* full-bleed variant breaks the measure */
.fig-wide{width:min(1000px,calc(100vw - 56px));margin-left:50%;transform:translateX(-50%)}
@media(max-width:760px){.fig-wide{width:100%;margin-left:0;transform:none}}

/* notes-for-design cargo */
.callout{border:2px solid var(--ink);background:#FFF;padding:22px 26px;margin:34px 0}
.callout>h3{font:700 12px var(--display);letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;color:var(--magenta)}
.callout p{margin:0;font-size:16px}
.term-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.term-list li{padding-left:14px;border-left:3px solid var(--cyan)}
.term-list b{display:block;font:700 15.5px var(--display);letter-spacing:.01em}
.term-list span{display:block;font:400 15px/1.55 var(--serif);color:var(--grey)}
.note{font:italic 400 14.5px/1.6 var(--serif);color:var(--grey);border-top:1px solid var(--hairline);padding-top:14px;margin-top:40px}

.pullquote{border:2px solid var(--ink);background-color:var(--halftone-bg);background-image:radial-gradient(rgba(0,159,209,.5) 1.2px,transparent 1.3px);background-size:11px 11px;padding:26px 30px;margin:34px 0}
.pullquote p{font:600 22px/1.35 var(--display);margin:0;text-wrap:balance}
.pullquote p::before{content:"\201C";color:var(--magenta-bright)}
.pullquote p::after{content:"\201D";color:var(--magenta-bright)}
.blockquote{border-left:3px solid var(--cyan);padding:4px 0 4px 20px;margin:28px 0;font-style:italic}
.blockquote cite{display:block;font:600 12px var(--display);letter-spacing:.1em;font-style:normal;color:var(--grey);margin-top:8px;text-transform:uppercase}

/* related / further */
.related-block{max-width:720px;margin:0 auto;padding-bottom:46px}
.related-links{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.related-links a{display:block;border:2px solid var(--ink);background:#FFF;padding:14px 18px;color:var(--ink);text-decoration:none}
.related-links a:hover{box-shadow:4px 4px 0 var(--magenta-bright);color:var(--ink)}
.related-links b{font:700 17px var(--display);display:block}
.related-links span{font:italic 400 13.5px var(--serif);color:var(--grey)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.further-grid a{border:2px solid var(--ink);background:#FFF;padding:16px 18px;color:var(--ink);text-decoration:none;font:700 16px var(--display)}
.further-grid a:hover{box-shadow:4px 4px 0 var(--magenta-bright)}

/* ---------- category pages ---------- */
.cat-head{padding:clamp(26px,4vw,40px) clamp(22px,4vw,46px);display:flex;gap:24px;align-items:flex-start;position:relative}
.cat-head svg.cat-ico{color:var(--cyan);flex:none;width:48px;height:48px}
.cat-head h1{font:700 clamp(30px,4.5vw,44px)/1 var(--display);margin:0}
.cat-head .cat-blurb{font:400 17px/1.6 var(--serif);color:var(--grey);max-width:62ch;margin:12px 0 0;text-wrap:pretty}
.cat-head .splash-tag{color:var(--magenta)}
@media(max-width:560px){.cat-head{flex-direction:column;gap:12px}}
.cat-lead{display:grid;grid-template-columns:1.05fr 1fr;gap:26px}
@media(max-width:880px){.cat-lead{grid-template-columns:1fr}}
.cat-lead .cl-fig{border:2px solid var(--ink);background:#FFF}
.cat-lead .cl-fig img{width:100%;aspect-ratio:16/10;object-fit:cover}
.cat-lead .cl-fig figcaption{border-top:2px solid var(--ink);padding:11px 16px;font:italic 400 13.5px/1.5 var(--serif);color:var(--grey)}
.cat-lead .cl-body{border:2px solid var(--ink);background:#FFF;padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.cat-lead h2{font:700 30px/1.1 var(--display);margin:12px 0 0;letter-spacing:-.01em}
.cat-lead h2 a{color:var(--ink);text-decoration:none}
.cat-lead h2 a:hover{color:var(--magenta)}
.cat-lead p{font:400 15.5px/1.6 var(--serif);color:var(--grey);margin:12px 0 0}
.cat-list{list-style:none;margin:10px 0 0;padding:0}
.cat-list a{display:grid;grid-template-columns:64px 1fr 1.3fr;gap:16px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.cat-list a:hover{color:var(--magenta)}
.cat-list .folio{font:600 12px var(--display);letter-spacing:.08em;color:var(--magenta)}
.cat-list b{font:600 18px var(--serif)}
.cat-list span{font:italic 400 14px/1.5 var(--serif);color:var(--grey)}
@media(max-width:700px){.cat-list a{grid-template-columns:52px 1fr}.cat-list span{display:none}}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:var(--paper);margin-top:48px}
.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;padding-block:26px}
.site-footer .brand-name{color:var(--paper)}
.site-footer nav{display:flex;gap:8px 19px;flex-wrap:wrap}
.site-footer nav a{font:600 10.5px var(--display);letter-spacing:.12em;text-transform:uppercase;color:#9C9CA4;text-decoration:none}
.site-footer nav a:hover{color:var(--magenta-bright)}
.site-footer .foot-line{font:italic 400 13px var(--serif);color:#8FCBE3;width:100%;margin-top:4px}

/* ---------- styleguide components ---------- */
.versus,.datatable{width:100%;border-collapse:collapse;margin:28px 0;font-size:15.5px}
.versus th,.versus td,.datatable th,.datatable td{border:1px solid var(--hairline);padding:10px 14px;text-align:left;vertical-align:top}
.versus thead th,.datatable thead th{font:700 12px var(--display);letter-spacing:.12em;text-transform:uppercase;background:var(--halftone-bg);border-bottom:2px solid var(--ink)}
.versus td:first-child{font-weight:600;font-family:var(--display)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:28px 0}
.statblock{border:2px solid var(--ink);background:#FFF;padding:18px;display:flex;flex-direction:column;gap:6px}
.stat-num{font:700 40px/1 var(--display);color:var(--magenta)}
.stat-label{font:400 13.5px/1.4 var(--serif);color:var(--grey)}
.timeline{list-style:none;margin:28px 0;padding:0;border-left:3px solid var(--cyan)}
.timeline li{padding:0 0 18px 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-8px;top:7px;width:10px;height:10px;background:var(--paper);border:3px solid var(--magenta);border-radius:50%}
.timeline .t-when{display:block;font:700 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--magenta)}
.timeline .t-what{display:block;font:400 15.5px/1.55 var(--serif)}
.chart{border:2px solid var(--ink);background:#FFF;padding:20px;margin:28px 0}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font:italic 400 14px var(--serif);color:var(--grey);margin-top:10px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:28px 0}
.gallery figure{margin:0}
.gallery img{border:2px solid var(--ink);width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font:italic 400 13px var(--serif);color:var(--grey);margin-top:7px}
.map-figure{border:2px solid var(--ink);background:#FFF;padding:14px;margin:28px 0}
.map-figure .map-slot{min-height:320px;background:var(--halftone-bg)}
.map-figure figcaption{font:italic 400 14px var(--serif);color:var(--grey);margin-top:10px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:28px 0}
.profile-card{border:2px solid var(--ink);background:#FFF;padding:20px}
.profile-card .p-photo{width:76px;height:76px;object-fit:cover;border:2px solid var(--ink);margin-bottom:12px}
.profile-card h3{font:700 19px var(--display);margin:0}
.profile-card .p-role{font:600 11px var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);margin:4px 0 10px}
.profile-card p{font:400 14.5px/1.55 var(--serif);color:var(--grey);margin:0 0 8px}
.p-links a{margin-right:12px;font:600 13px var(--display)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:28px 0}
.org-card{display:flex;align-items:center;gap:12px;border:2px solid var(--ink);background:#FFF;padding:12px 16px;text-decoration:none;color:var(--ink)}
.org-card:hover{box-shadow:4px 4px 0 var(--magenta-bright)}
.org-logo{width:38px;height:38px;object-fit:contain;background:var(--ink);padding:4px}
.org-name{font:700 14.5px var(--display)}
.org-host{font:400 12px var(--display);color:var(--grey-soft);margin-left:auto}
.entity-ref{font:600 14px var(--display);border-bottom:2px solid var(--cyan);text-decoration:none}
.sg-section{margin:56px 0}
.sg-section>h2{font:700 13px var(--display);letter-spacing:.2em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:8px}

/* 404 */
.err{max-width:640px;margin:80px auto;text-align:center}
.err h1{font:700 44px var(--display);margin:20px 0 8px}
.err p{color:var(--grey)}

.art-body h3{font:700 19px var(--display);margin:26px 0 10px}
.art-body ul{margin:0 0 20px;padding-left:22px}
.art-body li{margin-bottom:6px;font-size:16.5px}

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

/* op-odd-tier-lead: .sponsor-grid (7 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{flex:0 0 100%!important;max-width:100%!important}
}

/* op-article-width: the article column was capped at 664px (84 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 720px (declared in .art-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.art-body.wrap{max-width:min(859px, 100%)!important}
}
@media (min-width:1600px){
  div.art-body.wrap{max-width:min(clamp(859px, 59.653vw, 1031px), 100%)!important}
  div.art-body.wrap > :is(p:not([class]), p.note){font-size:clamp(17.5px,1.2153vw,21.0px)!important}
}
/* op-article-width:end */

/* op-article-head: the article header followed the text column (664px) and was left behind when the text went to 803px. Operator: "article header page with title + meta info that are super shrinked". Its containers now follow the text again by the text's own factor. */
@media (min-width:1024px){
  div.art-head.wrap{max-width:min(859px, 100%)!important}
}
@media (min-width:1600px){
  div.art-head.wrap{max-width:min(calc(clamp(803px, 55.764vw, 964px) + 56px), 100%)!important}
}
/* op-article-head:end */
/* op-heading-levels */
.stage-card h2:where(.rt-h3){font: 700 20px var(--display); margin: 0px;}
.feature-card h2:where(.rt-h3){font: 700 21px/1.15 var(--display); margin: 0px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.art-body.wrap > figure.article-figure.fig-panel > img,
  div.art-body.wrap > figure.article-figure.fig-panel.fig-wide > img,
  div.feature-grid > a.feature-card > img,
  div.splash-grid > figure > img,
  figure.article-figure.fig-mat > span.fr > img,
  figure.article-figure.fig-registered > span.fr > img,
  section.band.cat-lead > figure.cl-fig > img){height:auto}
/* op-img-dims:end */
@media (min-width:780px) and (max-width:1439px){.sponsor-grid.sponsor-grid:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(150px,calc(50% - 6px)),1fr))!important;column-gap:12px!important;row-gap:12px!important;justify-content:stretch!important;align-items:stretch!important}.sponsor-grid.sponsor-grid > [data-partner]{flex:none!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
