@charset "utf-8";
/* Marunde Muscle — one stylesheet.
   Palette, by job:
     --ground  paper the site sits on
     --ink     text and rules
     --accent  cobalt: section grounds, panels, documented status  (saturated)
     --flag    oxblood: disputed figures, kickers, alerts          (saturated)
     --quiet   granite grey: credits and fine print                */
:root{
  --measure-w:720px;
  --ground:#F1F0EA; --ink:#14161A; --accent:#14357F; --flag:#7A1E12; --quiet:#8C8C84;
  --panel:#E4E4DD; --rule:#C4C4BC; --paper:#FBFAF5; --rev:#EDEEF3; --rev-dim:#C6CFE6;
  --display:'Fira Sans Condensed',Arial Narrow,sans-serif;
  --text:'Petrona',Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--text);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--flag);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.04;margin:0}
p{margin:0 0 1.15em;text-wrap:pretty}
::selection{background:var(--accent);color:var(--rev)}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(18px,4vw,40px)}
.wrap-narrow{max-width:900px;margin:0 auto;padding-inline:clamp(18px,4vw,40px)}
.measure{max-width:68ch}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--rev);padding:8px 12px;z-index:9}
.icon{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- masthead: ledger head ---------- */
.mast{border-bottom:2px solid var(--ink);background:var(--ground)}
.mast-in{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px 40px;padding-block:20px 14px;align-items:start}
.brand{display:flex;gap:14px;align-items:center;color:inherit}
.brand:hover{text-decoration:none;color:inherit}
.brand svg{width:clamp(34px,3.4vw,48px);height:auto;flex:none;stroke:currentColor;fill:none}
.brand-name{font-family:var(--display);font-weight:700;font-size:clamp(24px,3.6vw,46px);line-height:.9;text-transform:uppercase;letter-spacing:-.015em;white-space:nowrap}
.brand-name span{color:var(--accent);margin-left:.24em}
.mast-figs{display:flex;flex-wrap:wrap;gap:14px 26px;border-top:1px solid var(--ink);margin-top:14px;padding-top:10px;align-items:baseline}
.fig-num{font-family:var(--display);font-weight:700;font-size:30px;line-height:1;font-variant-numeric:tabular-nums;display:block}
.fig-lab{font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#5C5F66}
.mast-line{margin:0;flex:1 1 240px;max-width:340px;font-size:16px;line-height:1.4}
.nav-index{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;font-family:var(--display)}
.nav-index .ni-h{grid-column:1/-1;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#5C5F66;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-bottom:2px}
.nav-index a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-bottom:1px solid var(--rule);padding:7px 0;font-size:17.5px;color:var(--ink)}
.nav-index a:hover{color:var(--accent);text-decoration:none}
.nav-index a[aria-current]{color:var(--accent);font-weight:600}
.ni-t{display:flex;gap:9px;align-items:center;min-width:0}
.ni-t .icon{font-size:19px;color:var(--flag)}
.ni-n{font-variant-numeric:tabular-nums;color:#5C5F66;font-size:15px}
.nav-all{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding:10px 0 0;font-size:18px;font-weight:600;color:var(--accent)}
.filterline{background:var(--accent);color:var(--rev);font-family:var(--display)}
.filterline .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;padding-block:10px 10px}
.filterline a,.filterline span{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--rev)}
.filterline .fl-k{font-size:11.5px;letter-spacing:.18em;color:var(--rev-dim)}
.filterline .fl-on{border-bottom:2px solid var(--rev);padding-bottom:2px}
.filterline .fl-end{margin-left:auto;font-size:11.5px;letter-spacing:.18em;color:var(--rev-dim)}

/* ---------- generic band furniture ---------- */
.band{padding-block:clamp(34px,5vw,58px)}
.band-panel{background:var(--panel)}
.band-accent{background:var(--accent);color:var(--rev)}
.band-accent a{color:var(--rev)}
.band-ink{background:var(--ink);color:var(--rev)}
.band-ink a{color:var(--rev)}
.kicker{font-family:var(--display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--flag);display:flex;align-items:center;gap:8px;margin-bottom:12px}
.kicker .icon{font-size:18px}
.band-accent .kicker,.band-ink .kicker{color:var(--rev-dim)}
.band-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 30px;margin-bottom:22px}
.band-head h2{font-size:clamp(24px,3vw,40px)}
.eyebrow{font-family:var(--display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#5C5F66}
.quietline{font-family:var(--display);font-weight:400;font-size:clamp(24px,3.4vw,38px);line-height:1.15;color:var(--accent);max-width:24em;margin:0}
.brk{display:block;width:100%;height:10px;color:currentColor;opacity:.85}

/* ---------- lead feature ---------- */
.lead-feature{position:relative;background:var(--ink)}
.lead-feature img{display:block;width:100%;height:clamp(320px,52vw,620px);object-fit:cover;opacity:.92}
.lead-plate{background:var(--ground);padding:clamp(20px,2.4vw,30px);max-width:660px}
@media(min-width:900px){.lead-plate{position:absolute;left:clamp(18px,4vw,40px);bottom:0;transform:translateY(28px)}}
.lead-plate h2{font-size:clamp(28px,3.6vw,50px);line-height:.99}
.lead-plate p{margin:12px 0 0;font-size:19px;line-height:1.42}
.lead-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.lead-meta b{font-weight:600}
.lead-after{padding-top:clamp(40px,5vw,70px)}

/* ---------- register table ---------- */
.reg{border-top:2px solid var(--ink)}
.reg-head,.reg-row{display:grid;grid-template-columns:132px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.3fr) 104px;gap:10px 20px}
.reg-head{font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#5C5F66;padding:8px 0;border-bottom:1px solid var(--ink)}
.reg-row{padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.reg-mass{font-family:var(--display);font-weight:700;font-size:clamp(27px,2.9vw,38px);line-height:.9;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.reg-mass small{font-size:15px;font-weight:500;letter-spacing:.04em}
.reg-obj a{font-family:var(--display);font-weight:600;font-size:22px;color:var(--ink)}
.reg-obj a:hover{color:var(--accent);text-decoration:none}
.reg-sub{font-size:16px;color:#5C5F66;line-height:1.35}
.reg-cell{font-size:17px;line-height:1.4}
.reg-status{text-align:right;font-family:var(--display);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.is-disputed{color:var(--flag)}.is-documented{color:var(--accent)}.is-traditional,.is-unit{color:#5C5F66}
.reg-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-top:14px;font-family:var(--display)}
.reg-foot .eyebrow{max-width:46ch}
@media(max-width:860px){
  .reg-head{display:none}
  .reg-row{grid-template-columns:104px minmax(0,1fr);row-gap:6px}
  .reg-mass{font-size:32px}
  .reg-cell,.reg-status{grid-column:2}
  .reg-status{text-align:left}
}

/* ---------- scale diagram ---------- */
.scale-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;align-items:end}
.scale-row svg{display:block;width:100%;height:auto;stroke:currentColor;fill:none}
.scale-cap{font-family:var(--display);font-weight:600;font-size:18px;margin-top:10px}
.scale-sub{font-family:var(--display);font-size:15px;color:var(--rev-dim);font-variant-numeric:tabular-nums}

/* ---------- figures: three treatments, one drawing system ---------- */
figure{margin:0}
.article-figure{margin:32px 0}
.article-figure img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#DDD9CE}
.article-figure figcaption{font-size:17.5px;line-height:1.45;padding-top:12px;max-width:58ch}
.credit{display:block;font-family:var(--display);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);margin-top:7px}
/* A · plate — breaks the measure, caption in a rail beneath */
.fig--plate{margin-block:clamp(30px,4vw,48px)}
.fig--plate img{height:clamp(260px,42vw,520px);object-fit:cover}
.fig--plate figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 30px;align-items:start;border-top:1px solid var(--ink);margin-top:12px;padding-top:10px;max-width:none}
.fig--plate .credit{margin:0;text-align:right}
/* B · mat — the photograph sits on paper with a hairline */
.fig--mat{background:var(--paper);border:1px solid var(--rule);padding:16px}
.fig--mat figcaption{padding-top:14px}
/* C · inset — narrow, keyed to the palette with a bar */
/* C · paired — image beside its caption, keyed to the palette with a bar */
.fig--inset{max-width:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 24px;align-items:start}
.fig--inset img{grid-column:1}
.fig--inset figcaption{grid-column:2;border-left:3px solid var(--flag);padding:0 0 2px 16px;margin:0;font-size:16.5px;max-width:none}
@media(max-width:700px){.fig--inset{grid-template-columns:1fr;gap:14px}.fig--inset img,.fig--inset figcaption{grid-column:1}}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.gallery figure{background:var(--paper);border:1px solid var(--rule);padding:12px}
.gallery img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.gallery figcaption{font-size:16px;padding-top:10px}

/* ---------- map ---------- */
.map-figure{margin:32px 0}
.map-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.map-label{font-family:var(--display);font-weight:600;font-size:17px;margin-top:10px}
.band-ink .map-label,.band-accent .map-label{color:var(--rev)}
.map-slot{background:var(--ink);border:1px solid var(--ink);overflow:hidden}
.map-slot svg{display:block;width:100%;height:auto}
.map-figure figcaption{font-size:17px;padding-top:12px;max-width:60ch}
.map-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:14px;font-family:var(--display);font-size:16px}
.map-legend b{font-weight:600;color:var(--accent)}

/* ---------- article ---------- */
.art-head{padding-block:clamp(28px,4vw,44px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure-w)) minmax(0,1fr)}
.art-head>*{grid-column:2}
.art-head h1{font-size:clamp(34px,6vw,68px);line-height:.94;margin-bottom:14px}
.lead{font-size:clamp(20px,2.2vw,25px);line-height:1.4;margin:0 0 4px;max-width:44ch}
.art-body{font-size:19.5px;line-height:1.62;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--measure-w)) minmax(0,1fr);row-gap:0}
.art-body>*{grid-column:2;min-width:0}
.art-body>.full{grid-column:1/-1}
.art-tail{max-width:calc(var(--measure-w) + 120px);margin-inline:auto}
.art-body h2{font-size:clamp(23px,2.6vw,31px);margin:34px 0 12px}
.art-body p{max-width:none}
.art-body>.full{max-width:none}
.note{font-size:17px;color:#3A3D44;border-top:1px solid var(--rule);padding-top:10px;max-width:60ch}
.callout{background:var(--paper);border:1px solid var(--ink);border-left:6px solid var(--accent);padding:20px 22px;margin:30px 0}
.callout p{margin:0;font-size:19px;max-width:none}
.pullquote{margin:34px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:18px 0}
.pullquote p{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.8vw,32px);line-height:1.16;color:var(--accent);margin:0;max-width:30em}
.blockquote{margin:30px 0;padding-left:20px;border-left:3px solid var(--flag)}
.blockquote p{font-size:20px;margin:0 0 8px}
.blockquote cite{font-family:var(--display);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet);font-style:normal}
.recordsheet{margin:32px 0;border-top:2px solid var(--ink)}
.recordsheet h3{font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--flag);padding:10px 0 12px}
.datatable{width:100%;border-collapse:collapse;font-size:17.5px}
.datatable th,.datatable td{text-align:left;vertical-align:top;padding:11px 18px 11px 0;border-bottom:1px solid var(--rule);line-height:1.45}
.datatable th{font-family:var(--display);font-weight:600;font-size:17px;width:32%}
.datatable thead th{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#5C5F66;border-bottom:1px solid var(--ink)}
.versus{width:100%;border-collapse:collapse;font-size:17.5px}
.versus th,.versus td{text-align:left;vertical-align:top;padding:11px 16px 11px 0;border-bottom:1px solid var(--rule)}
.versus thead th{font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#5C5F66;border-bottom:1px solid var(--ink)}
.versus tbody th{font-family:var(--display);font-weight:600;width:26%}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px 24px;margin:30px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);padding:16px 0}
.statblock{min-width:0}
.stat-num{display:block;font-family:var(--display);font-weight:700;font-size:clamp(30px,3.6vw,42px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat-label{display:block;font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#5C5F66;margin-top:6px;line-height:1.3}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:4px 24px;border-top:1px solid var(--rule);padding:12px 0}
.t-when{font-family:var(--display);font-weight:600;font-size:17px;color:var(--accent);line-height:1.3}
.t-what{font-size:17.5px;line-height:1.5}
.band-accent .timeline li{border-color:rgba(255,255,255,.28)}
.band-accent .t-when{color:#fff}
@media(max-width:640px){.timeline li{grid-template-columns:1fr}}
.chart{margin:30px 0}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .c-bar{fill:var(--accent)}
.chart .c-bar-alt{fill:var(--flag)}
.chart .c-lab{font-family:var(--display);font-size:13px;fill:var(--ink)}
.chart .c-val{font-family:var(--display);font-size:13px;font-weight:600;fill:var(--ink);font-variant-numeric:tabular-nums}
.chart .c-axis{stroke:var(--rule);stroke-width:1}
.chart .c-line{fill:none;stroke:var(--accent);stroke-width:2}
.chart figcaption{font-size:16.5px;color:#3A3D44;padding-top:10px;max-width:60ch}

/* ---------- cards, lists, related ---------- */
.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:minmax(0,1fr) auto;gap:6px 20px;align-items:baseline;padding:16px 0;color:var(--ink)}
.cat-list a:hover{text-decoration:none;background:var(--panel)}
.cat-list .cl-t{font-family:var(--display);font-weight:600;font-size:22px;line-height:1.1}
.cat-list .cl-d{grid-column:1;font-size:17px;line-height:1.45;color:#3A3D44;max-width:76ch}
.cat-list .cl-n{font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--quiet);grid-row:1;grid-column:2}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.cards--row{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.cards--row h3{font-size:20px;min-height:2.1em}
.cards--row .card-in{padding:14px 14px 16px}
@media(max-width:1080px){.cards--row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.cards--row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cards--row{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);color:inherit}
.card:hover{text-decoration:none;border-color:var(--ink)}
.card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.card-in{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:22px;line-height:1.1;min-height:2.2em}
.card p{margin:0;font-size:16.5px;line-height:1.45;color:#3A3D44}
.card .card-meta{margin-top:auto;font-family:var(--display);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--flag);display:flex;gap:8px;align-items:center}
.card .card-meta .icon{font-size:16px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.profile-card{background:var(--paper);border:1px solid var(--rule);padding:16px}
.profile-card .p-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:12px}
.profile-card h3{font-size:21px;margin-bottom:4px}
.profile-card .p-role{font-family:var(--display);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--flag);margin:0 0 8px}
.profile-card p{font-size:16.5px;line-height:1.5}
.profile-card .p-links{margin:0}
.profile-card.no-photo{border-left:6px solid var(--accent)}
.p-attr{font-family:var(--display);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.org-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--rule);background:var(--paper);padding:14px;color:inherit}
.org-card:hover{text-decoration:none;border-color:var(--ink)}
.org-logo{max-height:34px;width:auto;object-fit:contain;align-self:flex-start;margin-bottom:6px}
.org-name{font-family:var(--display);font-weight:600;font-size:18px;line-height:1.2}
.org-host{font-family:var(--display);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet)}
.entity-ref{font-family:var(--display);font-weight:600}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.further-grid a{display:block;border-top:2px solid var(--ink);padding-top:10px;font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;color:var(--ink)}
.further-grid a:hover{color:var(--accent);text-decoration:none}
.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;justify-content:space-between;gap:16px;align-items:baseline;padding:13px 0;font-family:var(--display);font-weight:600;font-size:19px;color:var(--ink)}
.related-links a:hover{color:var(--accent);text-decoration:none}
.related-links .rl-s{font-weight:400;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--quiet)}

/* ---------- supporters ---------- */
.supporters{background:var(--ink);color:var(--rev);padding-block:22px 26px}
.supporters .eyebrow{color:#8C8C84}
.supporters h2{font-size:19px;margin:5px 0 14px;color:var(--rev)}
.sponsor-row{display:flex;flex-wrap:wrap;gap:14px}
.sponsor{flex:0 0 calc((100% - 28px)/3);min-width:0;display:flex;flex-direction:column;gap:7px;background:#1D2026;border:1px solid #2F333B;padding:12px 14px;color:var(--rev)}
.sponsor:hover{text-decoration:none;border-color:#5C5F66}
.sponsor img{max-height:34px;max-width:100%;width:auto;height:auto;object-fit:contain;align-self:flex-start}
.sponsor-name{font-family:var(--display);font-size:17.5px;line-height:1.2}
.sponsor-blurb{font-size:15px;line-height:1.4;color:#B9BAC0}
@media(max-width:1000px){.sponsor{flex:0 0 calc((100% - 14px)/2)}}
@media(max-width:560px){.sponsor{flex:0 0 100%}}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#C7C7BF;padding-block:36px 42px;margin-top:clamp(30px,5vw,60px)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(auto-fit,minmax(150px,1fr));gap:28px}
.foot-grid h3{font-family:var(--display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#8C8C84;margin-bottom:10px;font-weight:400}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-family:var(--display);font-size:16px}
.foot-grid a{color:#C7C7BF}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand svg{width:30px;height:auto;stroke:currentColor;fill:none}
.foot-brand b{font-family:var(--display);font-weight:700;font-size:21px;text-transform:uppercase;color:var(--rev)}
.foot-grid p{font-size:16px;line-height:1.5;margin:12px 0 0;max-width:46ch}

@media(max-width:900px){
  .mast-in{grid-template-columns:1fr;gap:14px}
  .nav-index{grid-template-columns:1fr 1fr}
  body{font-size:17px}
}
@media(max-width:560px){
  .nav-index{grid-template-columns:1fr}
  .art-body{font-size:18.5px}
}

/* ---------- narrow screens ---------- */
@media(max-width:700px){
  /* the comparison only works at one scale, so scroll rather than wrap it */
  .scale-row{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:10px;scroll-snap-type:x proximity}
  .scale-row>div{flex:0 0 148px;scroll-snap-align:start}
  .scale-cap{font-size:16px}
  .scale-sub{font-size:14px}
}
@media(max-width:640px){
  .foot-grid{grid-template-columns:1fr;gap:22px}
  .fig--plate figcaption{grid-template-columns:1fr;gap:6px}
  .fig--plate .credit{text-align:left}
  .datatable th{width:42%}
  .versus th,.versus td{padding-right:10px;font-size:16.5px}
  .recordsheet h3{padding-bottom:8px}
}
@media(max-width:560px){
  .cat-list a{grid-template-columns:1fr;gap:4px}
  .cat-list .cl-n{grid-row:auto;grid-column:1;order:-1}
  .cat-list .cl-t{font-size:20px}
  .reg-foot,.band-head{gap:8px 18px}
  .statrow{grid-template-columns:1fr 1fr}
  .map-legend{gap:6px 16px;font-size:15px}
}

/* 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}

/* MAPKIT_BEGIN — injected real geodata; pins are links */
.map-slot{padding:0;background:none!important;border:0!important;display:flex;align-items:center;justify-content:center;min-height:0!important}
.map-slot>svg.mapkit{width:100%!important;max-width:100%;height:auto;max-height:none;margin:0 auto}
.map-slot{width:100%}
.map-slot{aspect-ratio:auto!important;height:auto!important}
.map-slot::after,.map-slot::before{content:none!important;display:none!important}
.map-figure figcaption{}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#12100E;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */

/* MAPKIT_BEGIN — injected real geodata; pins are links */
.map-slot{padding:0;background:none!important;border:0!important;display:flex;align-items:center;justify-content:center;min-height:0!important}
.map-slot>svg.mapkit{width:100%!important;max-width:100%;height:auto;max-height:none;margin:0 auto}
.map-slot{width:100%}
.map-slot{aspect-ratio:auto!important;height:auto!important}
.map-slot::after,.map-slot::before{content:none!important;display:none!important}
.map-figure figcaption{}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#12100E;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */


/* sp-domain-override: per-domain, from work/css_override.css */
/* marunde-muscle.com — pad the MARK, not the tile.
   ⚠️ Two corrections to my first attempt:
   1. Selector. `[data-partner]` (0,1,0) LOST the cascade to Design's own more specific rule — the
      override was in the stylesheet and computed padding stayed 12px 0px. Qualifying it with the
      class raises specificity enough to win.
   2. Approach. Operator: "dont reduce the size of the grids - add padding inside the grid for the
      image itself." The <img> is already border-box with its own horizontal padding, so raising
      THAT insets the artwork while the tile and the image box keep their exact dimensions.
      No max-width cap — nothing is scaled down. */
a.sponsor[data-partner] img, .sponsor[data-partner] img, [data-partner] .sponsor-box img{
  box-sizing:border-box!important;
  padding-left:22px!important; padding-right:22px!important;
  padding-top:10px!important; padding-bottom:10px!important;
  object-fit:contain!important;
}
/* left-aligned marks (operator). The tile is a flex COLUMN, so horizontal position comes from
   align-items / align-self — auto margins do nothing on the cross axis. */
a.sponsor[data-partner], .sponsor[data-partner]{ align-items:flex-start!important; }
a.sponsor[data-partner] img, .sponsor[data-partner] img{
  align-self:flex-start!important; object-position:left center!important; margin-left:0!important;
}

/* MAPKIT_BEGIN — injected real geodata; pins are links */
.map-slot{padding:0;background:none!important;border:0!important;display:flex;align-items:center;justify-content:center;min-height:0!important}
.map-slot>svg.mapkit{width:100%!important;max-width:100%;height:auto;max-height:none;margin:0 auto}
.map-slot{width:100%}
.map-slot{aspect-ratio:auto!important;height:auto!important}
.map-slot::after,.map-slot::before{content:none!important;display:none!important}
.map-figure figcaption{}
.mapkit__pin{cursor:pointer}
.mapkit__pin text{paint-order:stroke;stroke:#12100E;stroke-width:3px;stroke-linejoin:round}
.mapkit__pin:hover circle{r:9.1}
.mapkit__pin:hover text{font-weight:700}
/* MAPKIT_END */

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

/* op-nav-row-align: the parts of each menu row sat at different heights — measured up to
   6px between the box centres of the number, the label and the count, because the row is
   `align-items:baseline` with type at two sizes (and an icon, which baseline pushes
   lower still). Centred at phone widths only, where the nav is a stacked list; the desktop bar
   keeps Design's baseline. Type sizes, spacing, colour and order are untouched. */
@media (max-width:900px){
  .nav-index a,.nav-index li{align-items:center!important}
  .nav-index a > *,.nav-index li > *{margin-block:0!important}
}

/* op-nav-collapse: this nav printed 297px of stacked links at 390 before any content
   (6 links), and the build shipped no control to close it. A disclosure cannot be
   built from CSS alone — :hover and :focus-within are unreachable on touch until a link has
   already been tapped — so a hidden checkbox and its label were injected immediately before
   the nav, and the nav collapses against the checked state. Exactly the mechanism the builds
   that DO have a burger already use.
   Treatment "block-fill", bold, seeded from the domain so 175 builds do not all ship the
   same hairline box in the same place; it inherits this build's font and colour, and where the
   nav's own parent has no inline padding (18px measured) the button carries the build's
   gutter (clamp(18px,4vw,40px)) so it cannot sit against the glass. The links are hidden,
   not removed: they stay in the markup. Desktop is untouched — every rule below is inside the
   phone breakpoint (900px here), where the button appears and the nav starts closed.
   Folded with the "height-clip" technique and marked with the "bars" icon — the mechanism
   is deliberately not identical across the fleet either. */
.menu-switch{display:none}
@media (max-width:900px){
  .menu-switch{align-items:center;justify-content:center;gap:9px;font:inherit;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:inherit;cursor:pointer;min-height:44px;box-sizing:border-box;display:flex;width:auto;border:1px solid currentColor;border-radius:3px;padding:12px 16px;background:color-mix(in srgb, currentColor 9%, transparent);margin-block:clamp(16px,4.5vw,26px) clamp(12px,3vw,18px)}

  .menu-switch-bars{width:15px;height:9px;flex:none;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;box-shadow:inset 0 3.5px 0 -1px currentColor}
  .nav-index{height:0;overflow:hidden;visibility:hidden;padding-block:0;margin-block:0;border-top-width:0;border-bottom-width:0}
  .menu-switch-c:checked ~ .nav-index{height:auto;overflow:visible;visibility:visible;padding-block:revert;margin-block:revert;border-top-width:revert;border-bottom-width:revert}
  .wrap.mast-in:has(> .menu-switch){display:flow-root}
  .menu-switch:not(:has(~ .nav-index)){display:none}
}

/* op-footer-compact: the footer printed 5 rows for 5 link(s) in
   1 list(s) — 732px at 390, 7% 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 732 -> 541px (26% 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,1.94vw,28px)!important;row-gap:7px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   2128px at 390, 19% of the whole page. Two columns bring it to
   1478px (31% shorter). Checked before writing: no new overflow, smallest mark still
   140px wide, longest blurb 3 lines, tile heights 182-226px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sponsor-row), 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-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:14px!important}
    .sponsor-row > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row > * *{min-width:0!important;max-width:100%}
    .sponsor-row img,.sponsor-row svg{max-width:100%;height:auto}
  .sponsor-row .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-odd-tier-lead: .sponsor-row (5 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-row:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-article-width: the article column was capped at 720px (86 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through grid track 2 of "minmax(0,1fr) minmax(0,var(--measure-w)) minmax(0,1fr)" (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){
  article div.art-body{grid-template-columns:minmax(0,1fr) min(851px, 100%) minmax(0,1fr)!important}
}
@media (min-width:1600px){
  article div.art-body{grid-template-columns:minmax(0,1fr) min(clamp(851px, 59.097vw, 1021px), 100%) minmax(0,1fr)!important}
  article div.art-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;padding-right:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2.rt-h3{font-family: var(--display); font-weight: 700; letter-spacing: -0.01em; line-height: 1.04; margin: 0px;}
.recordsheet h2.rt-h3{font-family: var(--display); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--flag); padding: 10px 0px 12px;}
.foot-grid h2.rt-h3{font-family: var(--display); font-size: 11.5px; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(140, 140, 132); margin-bottom: 10px; font-weight: 400;}
@media (max-width: 640px){.recordsheet h2.rt-h3{padding-bottom: 8px;}}
h1:where(.rt-h2){font-family: var(--display); font-weight: 700; letter-spacing: -0.01em; line-height: 1.04; margin: 0px;}
.lead-plate h1:where(.rt-h2){font-size: clamp(28px, 3.6vw, 50px); line-height: 0.99;}
/* op-heading-levels:end */
