:root{
  --paper:#DCE1E7; --panel:#D2D9E1; --ink:#1F2B36; --plum:#6E3452;
  --muted:#4a5866; --rule:#b9c3cd; --quiet:#6f7d8a; --deep:#182129;
  --serif:'Spectral',Georgia,'Times New Roman',serif;
  --sans:'Karla',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --rail:232px; --gut:clamp(20px,4vw,56px); --measure:68ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);
  font-size:18px;line-height:1.78;overflow-x:hidden;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--plum)}
a:hover{color:#8d4569}
h1,h2,h3,h4{font-weight:400;letter-spacing:-.012em;text-wrap:pretty;margin:0}
p{margin:0 0 1.05em;text-wrap:pretty}

/* ---- masthead ---- */
.masthead{border-bottom:1.5px solid var(--ink);background:var(--paper)}
.masthead-in{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;justify-content:space-between;
  padding:22px var(--gut) 16px}
.brand{text-decoration:none;color:inherit;display:block}
.brand b{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:-.015em;display:block;line-height:1.1}
.brand span{font-family:var(--sans);font-size:12.5px;color:var(--muted);display:block;margin-top:5px;max-width:52ch}
.nav{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--sans);font-size:13.5px;padding-bottom:3px}
.nav a{color:var(--muted);text-decoration:none;white-space:nowrap;padding:3px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--rule)}
.nav a[aria-current]{color:var(--plum);font-weight:700;border-bottom-color:var(--plum)}

/* ---- the signature rail ---- */
.page{display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}
.rail{border-right:1.5px solid var(--ink);background:var(--panel);padding:34px 24px 40px}
.rail-in{position:sticky;top:28px;display:flex;flex-direction:column;gap:22px}
.rail-label{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);line-height:1.5}
.rail-no{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);
  font-weight:400;margin-bottom:7px}
.rail-standing{font-family:var(--mono);font-size:11px;line-height:1.65;color:var(--muted);
  border-top:1px solid var(--rule);padding-top:14px;margin:0}
.surface{min-width:0}

/* ---- generic bands ---- */
.band{padding:0 var(--gut)}
.band-pad{padding:clamp(34px,5vw,56px) var(--gut)}
.panel{background:var(--panel)}
.measure{max-width:var(--measure)}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:0 0 18px}
.rule{height:1px;background:var(--rule);border:0;margin:0}

/* ---- opening spread ---- */
.opening figure{margin:0;position:relative;background:var(--deep)}
.opening img{width:100%;height:clamp(420px,72vh,760px);object-fit:cover;display:block}
.opening figcaption{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:#9fadb9;
  padding:12px var(--gut) 14px;margin:0;background:var(--deep)}

/* ---- facing spread ---- */
.facing{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.facing>div{padding:clamp(30px,4vw,52px) var(--gut)}
.facing>div:first-child{border-right:1.5px solid var(--ink)}
.facing>div:last-child{background:var(--panel)}
.facing .said{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(21px,2.6vw,31px);line-height:1.38;color:#3c4d5c;margin:0}
.facing .plain{font-family:var(--serif);font-size:clamp(17px,1.7vw,21px);line-height:1.55;margin:0 0 16px}

/* ---- plum strip ---- */
.strip{background:var(--plum);color:#F2E9EE;padding:20px var(--gut);font-family:var(--sans);
  font-size:clamp(13px,1.5vw,15px);line-height:1.65;margin:0}
.strip p{margin:0;max-width:80ch}

/* ---- reading map ---- */
.map-row{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;padding:26px 0;border-top:1px solid var(--rule)}
.map-row:last-child{border-bottom:1px solid var(--rule)}
.map-no{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding-top:11px}
.map-title{font-family:var(--serif);font-size:clamp(22px,2.4vw,29px);line-height:1.24;margin:0 0 8px}
.map-title a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
.map-title a:hover{border-bottom-color:var(--plum);color:var(--plum)}
.map-blurb{font-size:16.5px;color:var(--muted);margin:0 0 12px;max-width:62ch}
.map-links{font-family:var(--sans);font-size:14.5px;line-height:1.95;color:var(--muted);margin:0}
.map-links a{text-decoration:none;border-bottom:1px solid var(--rule)}
.map-links a:hover{border-bottom-color:var(--plum)}
.map-links .sep{color:var(--quiet);padding:0 7px}

/* ---- featured ---- */
.feature h2{font-family:var(--serif);font-size:clamp(28px,3.6vw,44px);line-height:1.16;margin:0 0 16px;max-width:22ch}
.feature h2 a{color:inherit;text-decoration:none}
.feature h2 a:hover{color:var(--plum)}
.feature .lead{max-width:60ch}
.dropcap::first-letter{float:left;font-family:var(--serif);font-weight:400;font-size:4.1em;
  line-height:.82;padding:.07em .09em 0 0;color:var(--plum)}
.more{display:inline-block;font-family:var(--sans);font-size:14px;font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--plum);padding-bottom:2px;margin-top:8px}

/* ---- article ---- */
.article-head{padding:clamp(34px,5vw,58px) var(--gut) 0}
.kicker{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--plum);margin:0 0 16px;display:block;text-decoration:none}
.article-head h1{font-size:clamp(30px,4.2vw,50px);line-height:1.14;margin:0 0 20px;max-width:20ch}
.lead{font-family:var(--serif);font-size:clamp(18px,2vw,23px);line-height:1.55;color:#33414e;
  max-width:56ch;margin:0 0 22px}
.byline{font-family:var(--sans);font-size:13.5px;color:var(--muted);margin:0;padding-bottom:26px;
  border-bottom:1px solid var(--rule)}
.article-body{padding:34px var(--gut) 10px}
.article-body>*{max-width:var(--measure)}
.article-body p{font-size:18px;line-height:1.8;color:#28333f}
.article-body h2{font-size:clamp(22px,2.6vw,31px);line-height:1.26;margin:2.2em 0 .7em;max-width:26ch}
.article-body h2::before{content:'';display:block;width:44px;height:2px;background:var(--plum);margin-bottom:18px}
.article-body>p:first-child{margin-top:0}

/* ---- components ---- */
.pullquote{margin:2.4em 0;padding:0;border:0;max-width:none}
.pullquote p{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(21px,2.7vw,30px);line-height:1.4;color:var(--plum);margin:0;max-width:24ch;
  border-top:2px solid var(--plum);border-bottom:2px solid var(--plum);padding:22px 0}
.blockquote{margin:2.2em 0;padding:0 0 0 24px;border-left:3px solid var(--plum)}
.blockquote p{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.6;margin:0 0 10px}
.blockquote cite{font-family:var(--sans);font-size:13px;font-style:normal;color:var(--muted)}
.callout{margin:2.2em 0;background:var(--panel);border-top:2px solid var(--ink);padding:22px 26px}
.callout .callout-t{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.callout p{font-size:17px;line-height:1.68;margin:0 0 .7em;color:#28333f}
.callout p:last-child{margin:0}
.note{font-family:var(--sans);font-size:14.5px;line-height:1.7;color:var(--muted);
  border-left:2px solid var(--rule);padding-left:16px;margin:1.8em 0}
.deflist{margin:2.2em 0;border-top:1px solid var(--rule)}
.deflist div{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:6px 26px;
  padding:15px 0;border-bottom:1px solid var(--rule)}
.deflist dt{font-family:var(--sans);font-size:14.5px;font-weight:700;color:var(--ink);margin:0}
.deflist dd{margin:0;font-size:16.5px;line-height:1.62;color:var(--muted)}
.timeline{list-style:none;margin:2.2em 0;padding:0;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:minmax(120px,.4fr) 1fr;gap:4px 26px;
  padding:15px 0;border-bottom:1px solid var(--rule)}
.t-when{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--plum);padding-top:3px}
.t-what{font-size:16.5px;line-height:1.62;color:#28333f}
table.versus,table.datatable{width:100%;border-collapse:collapse;margin:2.2em 0;font-size:16px}
table.versus th,table.versus td,table.datatable th,table.datatable td{
  text-align:left;padding:13px 16px;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.6}
table.versus th,table.datatable th{font-family:var(--sans);font-size:12px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1.5px solid var(--ink)}
table.versus td:first-child{background:var(--panel)}
table.datatable tbody tr:nth-child(even) td{background:rgba(31,43,54,.035)}
.statrow{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);margin:2.2em 0;border:1px solid var(--rule)}
.statblock{flex:1 1 150px;background:var(--paper);padding:20px 18px}
.stat-num{display:block;font-family:var(--serif);font-size:38px;line-height:1;color:var(--plum)}
.stat-label{display:block;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--muted);margin-top:9px}
.article-figure{margin:2.4em 0}
.article-figure img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--panel)}
.article-figure figcaption{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--muted);padding-top:11px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:2.4em 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-family:var(--sans);font-size:12.5px;color:var(--muted);padding-top:8px}
.chart{margin:2.4em 0}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-family:var(--sans);font-size:13px;color:var(--muted);padding-top:11px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin:2.2em 0}
.profile-card{background:var(--panel);padding:22px;display:flex;flex-direction:column}
.profile-card .p-photo{width:64px;height:64px;object-fit:cover;border-radius:50%;margin-bottom:14px}
.profile-card h3{font-size:20px;margin:0 0 4px}
.profile-card .p-role{font-family:var(--sans);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin:0 0 10px}
.profile-card p{font-size:15.5px;line-height:1.65;color:var(--muted)}
.profile-card .p-links{margin-top:auto;padding-top:12px;font-family:var(--sans);font-size:13.5px}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin:2.2em 0}
.org-card{background:var(--paper);padding:18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.org-card:hover{background:var(--panel)}
.org-name{font-family:var(--serif);font-size:18px;color:var(--ink)}
.org-host{font-family:var(--mono);font-size:12px;color:var(--muted)}
.entity-ref{font-family:var(--sans);font-size:.94em;white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin:2.2em 0}
.further-grid a{background:var(--paper);padding:18px 20px;text-decoration:none;color:var(--ink);
  font-family:var(--serif);font-size:17.5px;line-height:1.4}
.further-grid a:hover{background:var(--panel);color:var(--plum)}

/* ---- related ---- */
.related{padding:0 var(--gut) 8px}
.related h2{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:0 0 4px}
ul.related-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
ul.related-links li{border-bottom:1px solid var(--rule)}
ul.related-links a{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  padding:16px 0;text-decoration:none;color:var(--ink)}
ul.related-links a:hover{color:var(--plum)}
ul.related-links .r-sec{font-family:var(--mono);font-size:11.5px;color:var(--muted);white-space:nowrap}
ul.related-links .r-title{font-family:var(--serif);font-size:19px;line-height:1.34}

/* ---- category list ---- */
ul.cat-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
ul.cat-list li{border-bottom:1px solid var(--rule)}
ul.cat-list a{display:grid;grid-template-columns:auto 1fr auto;gap:10px 22px;align-items:baseline;
  padding:20px 0;text-decoration:none;color:var(--ink)}
ul.cat-list a:hover .c-title{color:var(--plum)}
.c-no{font-family:var(--mono);font-size:12px;color:var(--muted)}
.c-title{font-family:var(--serif);font-size:clamp(19px,2.1vw,24px);line-height:1.3}
.c-brief{font-size:15.5px;line-height:1.62;color:var(--muted);margin:6px 0 0;max-width:64ch;
  grid-column:2;font-family:var(--serif)}
.c-min{font-family:var(--sans);font-size:12.5px;color:var(--muted);white-space:nowrap}

/* ---- sponsors ---- */
.supporters{padding:clamp(28px,4vw,44px) var(--gut)}
.supporters .eyebrow{margin-bottom:6px}
.sup-note{font-family:var(--sans);font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 20px;max-width:62ch}
.sup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.sponsor{height:96px;background:var(--deep);display:flex;align-items:center;
  justify-content:center;padding:14px 22px;text-decoration:none;
  border:1px solid var(--deep);border-top:2px solid var(--deep);transition:border-color .15s}
.sponsor:hover{border-color:var(--plum)}
.sponsor img{max-height:44px;max-width:100%;width:auto;height:auto;object-fit:contain}
.sponsor.feat{border-top-color:var(--plum)}

/* ---- footer ---- */
.footer{background:var(--ink);color:#9fadb9;padding:clamp(32px,4vw,46px) var(--gut) 40px;
  font-family:var(--sans);font-size:13.5px;line-height:1.72}
.footer a{color:#c9a6bb}
.footer a:hover{color:#e3cbd9}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px 40px;
  padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:22px}
.foot-cols h3{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:#8a99a6;margin:0 0 12px}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin-bottom:7px}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{text-decoration:underline}
.foot-disc{font-size:12.5px;line-height:1.7;color:#8b9aa6;margin:0;max-width:96ch}

/* ---- misc pages ---- */
.prose{padding:clamp(30px,4vw,52px) var(--gut) 20px}
.prose>*{max-width:var(--measure)}
.prose h1{font-size:clamp(28px,3.6vw,42px);line-height:1.16;margin:0 0 20px}
.prose h2{font-size:clamp(21px,2.4vw,28px);margin:1.9em 0 .6em}
.prose p{font-size:17.5px;line-height:1.78;color:#28333f}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin:26px 0 0}
.hub-col{background:var(--paper);padding:22px 24px}
.hub-col h2{font-family:var(--serif);font-size:21px;line-height:1.28;margin:0 0 10px}
.hub-col h2 a{color:inherit;text-decoration:none}
.hub-col h2 a:hover{color:var(--plum)}
.hub-col ul{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:14.5px;line-height:1.55}
.hub-col li{padding:0;border-top:1px solid var(--rule)}
.hub-col a{display:block;padding:12px 0;text-decoration:none;color:var(--muted);line-height:1.45}
.hub-col a:hover{color:var(--plum)}

/* ---- expander ---- */
.expander{border:0;padding:0;margin:0}
.expander summary{font-family:var(--sans);font-size:13.5px;color:var(--plum);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){
  :root{--rail:0px}
  .page{display:block}
  .rail{border-right:0;border-bottom:1px solid var(--rule);padding:16px var(--gut)}
  .rail-in{position:static;flex-direction:row;align-items:baseline;gap:18px;flex-wrap:wrap}
  .rail-no{display:inline;margin:0 8px 0 0}
  .rail-standing{border-top:0;padding-top:0;margin-left:auto}
  .facing{grid-template-columns:1fr}
  .facing>div:first-child{border-right:0;border-bottom:1.5px solid var(--ink)}
  .deflist div,.timeline li{grid-template-columns:1fr;gap:3px}
  ul.cat-list a{grid-template-columns:auto 1fr}
  .c-min{grid-column:2}
  .c-brief{grid-column:2}
}
@media (max-width:480px){
  body{font-size:17px}
  .sponsor{flex:1 1 100%;min-width:0}
  .article-body p{font-size:17.5px}
  ul.related-links a{grid-template-columns:1fr;gap:4px}
}
@media print{.rail,.nav,.supporters{display:none}}
/* ---- styleguide-only additions ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.profile-card.no-photo .p-photo{display:none}
.profile-card.no-photo h3{border-top:2px solid var(--plum);padding-top:14px}
.org-card.no-logo .org-logo{display:none}
.org-logo{width:100%;max-width:150px;max-height:32px;object-fit:contain;margin-bottom:8px}
.sg-item{padding:30px 0;border-top:1px solid var(--rule)}
.sg-item>h2{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--plum);margin:0 0 4px}
.sg-item>.sg-note{font-family:var(--mono);font-size:11.5px;color:var(--quiet);margin:0 0 18px}
.sg-wide{max-width:none}

.opening h1{font-family:var(--serif);font-weight:300;font-size:clamp(29px,4.6vw,58px);line-height:1.22;
  letter-spacing:-.018em;color:var(--ink);margin:0;max-width:30ch;
  padding:clamp(62px,9vw,132px) var(--gut) clamp(16px,2.4vw,30px)}
.opening .half-foot{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:baseline;
  padding:0 var(--gut) clamp(58px,8vw,116px);font-family:var(--sans);font-size:13px;color:var(--muted)}
.opening .half-foot .imprint{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted)}
.opening .half-rule{height:1.5px;background:var(--ink);margin:0 var(--gut) 0;max-width:96px}

.aside-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);margin:2.4em 0 -1.4em}
.aside-label + .timeline,.aside-label + .deflist{margin-top:2.2em}

.timeline li.t-solo{grid-template-columns:1fr}
.deflist div.d-solo{grid-template-columns:1fr}


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

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

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img{object-fit:contain!important}
/* sp-text-contrast: sponsor copy measured against its OWN ground as a WCAG contrast RATIO, not as a
   luminance subtraction. The subtraction passed capitanalatriste's blurbs at a 75-point gap
   while they sat at 2.8:1 and could not be read. Bar is 4.5:1 for body copy, 3:1 for large or
   bold; opacity is folded in, because it compounds down the tree and computed colour ignores
   it. The lift keeps Design's hue and saturation and moves lightness only, by the smallest
   step that clears the bar, so a warm blurb on near-black stays warm. Colour only — size,
   weight, family and spacing are exactly as delivered. */
.sponsor-blurb.sp-nameonly.sponsor-blurb.sp-nameonly{color:rgb(106,139,169)!important;opacity:1!important}

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

/* op-footer-compact: the footer printed 6 rows for 6 link(s) in
   1 list(s) — 653px 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 653 -> 544px (17% 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:4px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
}

/* op-article-width: the article column was capped at 612px (79 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 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  div.article-body{--measure:min(88.000ch, 100%)!important}
}
@media (min-width:1600px){
  div.article-body > :is(p.dropcap, p:not([class]), p.aside-label, p.note){font-size:clamp(18px,1.2500vw,21.6px)!important}
}
/* op-article-width:end */

/* op-article-head: the article header followed the text column (612px) and was left behind when the text went to 792px. 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.article-head h1{max-width:min(647px, 100%)!important}
  div.article-head p.lead{max-width:min(792px, 100%)!important}
}
@media (min-width:1600px){
  div.article-head h1{max-width:min(calc(clamp(647px, 44.931vw, 776px) + 0px), 100%)!important}
  div.article-head p.lead{max-width:min(calc(clamp(792px, 55.000vw, 950px) + 0px), 100%)!important}
}
/* op-article-head:end */
/* op-heading-levels */
h2:where(.rt-h3){font-weight: 400; letter-spacing: -0.012em; text-wrap: pretty; margin: 0px;}
.foot-cols h2:where(.rt-h3){font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(138, 153, 166); margin: 0px 0px 12px;}
/* op-heading-levels:end */

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