/* nmraracing.com — regulations and the cars built to them
   PALETTE (named jobs)
   --ground  #16181B  asphalt ground
   --panel   #1E2126  raised panel / mat
   --ink     #EDE8DF  bone ink
   --accent  #E4541E  cadmium orange  (saturated, hue ~18)
   --second  #58A9C6  blueprint cyan  (saturated, hue ~194)  -> 176 apart
   --muted   #9A9A96  quiet ink
   --line    #2C3035  rules and hairlines
*/
:root{
  --ground:#16181B; --panel:#1E2126; --panel-2:#22262B; --ink:#EDE8DF;
  --accent:#E4541E; --second:#58A9C6; --muted:#9A9A96; --dim:#7E8085; --line:#2C3035;
  --serif:'Spectral',Georgia,'Times New Roman',serif;
  --mono:'Martian Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --wrap:1240px; --measure:68ch;
  --s1:8px; --s2:16px; --s3:26px; --s4:40px; --s5:64px; --s6:96px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.08;margin:0;text-wrap:pretty}
p{margin:0}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(20px,4vw,56px)}
.measure{max-width:var(--measure)}
.kicker svg{width:22px;height:8px;flex:none}
.kicker{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--second)}
.num{font-family:var(--mono);font-weight:300;color:var(--accent)}
.mono{font-family:var(--mono)}
.ico{width:20px;height:20px;flex:none}
.emblem{width:64px;height:64px;flex:none;color:var(--accent)}
.cross{width:20px;height:20px;color:var(--second);position:absolute;opacity:.85}
.cross.tl{top:5px;left:5px}.cross.br{right:5px;bottom:5px}
.dim{display:flex;align-items:center;gap:0;color:var(--second)}
.dim svg{width:10px;height:12px;flex:none}
.dim i{flex:1;height:1px;background:currentColor;opacity:.5}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:99;background:var(--accent);color:#16181B;padding:8px 14px;font-family:var(--mono);font-size:13px}

/* ---------- masthead ---------- */
.brand{display:flex;align-items:center;gap:16px}
.brand-name{font-size:26px;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;line-height:.95}
.brand-dot{display:block;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.22em;text-transform:lowercase;color:var(--muted)}
.brand:hover{color:var(--ink)}
.brand:hover .emblem{color:var(--second)}
.site-head{border-bottom:1px solid var(--line);background:var(--ground);position:relative;z-index:5}
.head-row{display:flex;align-items:center;gap:var(--s4);padding:18px 0;flex-wrap:wrap}
.head-sections{display:flex;flex-wrap:wrap;gap:6px 22px;flex:1 1 420px}
.sec-link{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:4px 0}
.sec-link .ico{width:17px;height:17px;color:var(--second)}
.sec-link:hover .ico,.sec-link[aria-current] .ico{color:var(--accent)}
.sec-link[aria-current]{color:var(--accent)}
.head-browse{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line);padding:9px 14px}
.head-browse:hover{border-color:var(--accent)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(76vh,720px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,24,27,.9) 0%,rgba(22,24,27,.28) 40%,rgba(22,24,27,.94) 100%)}
.hero-inner{position:relative;padding:36px 0 44px;display:flex;flex-direction:column;gap:var(--s5);flex:1;justify-content:space-between}
.hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.hero-mast{display:flex;align-items:flex-start;gap:22px}
.hero-mast .emblem{width:88px;height:88px;margin-top:4px}
.hero-title{font-size:clamp(38px,6vw,66px);font-weight:800;letter-spacing:-.035em;text-transform:uppercase;line-height:.88}
.hero-title .dotcom{display:block;font-family:var(--mono);font-size:clamp(11px,1vw,13px);font-weight:400;letter-spacing:.28em;text-transform:lowercase;color:var(--muted);margin-top:10px}
.standing{display:flex;align-items:center;gap:14px;margin-top:18px;max-width:560px}
.standing span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.hero-lead{max-width:760px}
.hero-lead h2{font-size:clamp(28px,4.4vw,52px);font-weight:600;letter-spacing:-.025em;margin-top:14px}
.hero-lead h2 a:hover{color:var(--accent)}
.hero-credit{font-family:var(--mono);font-size:10px;color:var(--dim);padding:8px 0 0}

/* ---------- index band (the full second level, no dropdowns) ---------- */
.index-band{border-bottom:1px solid var(--line);background:var(--ground)}
.index-band .tier{padding:30px 0}
.tier-lead{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:var(--s4);border-bottom:1px solid var(--line)}
.tier-dense{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.ix-head{display:flex;align-items:baseline;gap:10px}
.ix-head .ico{width:19px;height:19px;color:var(--second);align-self:center}
.ix-head .num{font-size:11px}
.ix-lead-title{font-size:25px;font-weight:600}
.ix-dense-title{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.ix-blurb{color:var(--muted);font-size:15px;margin-top:6px}
.ix-list{margin-top:12px;display:flex;flex-direction:column;gap:7px;font-size:16px;color:#C9C4BA}
.ix-list a:hover{color:var(--accent)}
.ix-inline{margin-top:8px;font-size:15px;line-height:1.6;color:var(--muted)}
.ix-inline a{color:#C9C4BA}
.index-band--foot{border-bottom:0;border-top:1px solid var(--line)}

/* ---------- bands ---------- */
.band{border-bottom:1px solid var(--line)}
.band-pad{padding:var(--s5) 0}
.band-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap}
.band-title{font-size:clamp(24px,2.4vw,32px)}
.deck-grid{display:grid;grid-template-columns:280px 1fr;gap:var(--s5)}
.deck-side{font-family:var(--mono);font-size:11px;line-height:2;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.deck-side .on{color:var(--second)}
.deck-body p{font-size:clamp(19px,1.7vw,24px);line-height:1.45}
.more{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.more svg{width:22px;height:8px}
.clause{border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin-top:22px}
.clause-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.clause p{font-size:17px;color:#C9C4BA;margin-top:6px}

/* three-up cards, even height */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3)}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);padding:12px}
.card-shot{position:relative;aspect-ratio:16/10;overflow:hidden}
.card-shot img{width:100%;height:100%;object-fit:cover}
.card-k{margin-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent);display:flex;align-items:center;gap:8px}
.card-k .ico{width:15px;height:15px;color:var(--accent)}
.card h3{font-size:22px;margin-top:8px}
.card p{margin-top:8px;font-size:16px;color:#C9C4BA}
.card .card-foot{margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:10px;color:var(--dim)}

/* orange plate — one saturated member at real area */
.plate-quiet{background:var(--accent);color:#16181B}
.plate-quiet .wrap{padding-block:clamp(44px,6vw,80px)}
.plate-quiet p{font-size:clamp(26px,3.4vw,40px);line-height:1.16;font-weight:600;letter-spacing:-.025em;max-width:22ch}
.plate-quiet .mono{display:block;margin-top:18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}

/* split band: text left, full-bleed picture right */
.split{display:grid;grid-template-columns:minmax(300px,420px) 1fr;align-items:stretch;border-bottom:1px solid var(--line)}
.split-text{padding:var(--s5) var(--s4) var(--s5) clamp(20px,4vw,56px);border-right:1px solid var(--line)}
.split-text h2{font-size:clamp(24px,2.6vw,34px);margin-top:14px}
.split-text p{margin-top:16px;font-size:17px;color:#C9C4BA}
.split-shot{position:relative;min-height:420px}
.split-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;background:linear-gradient(0deg,rgba(22,24,27,.92),rgba(22,24,27,0));font-size:15px;color:#C9C4BA}
.split-cap .cred{display:block;font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:6px}

/* numbers register */
.numstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.numcell{background:var(--ground);padding:22px;display:block}
.numcell:hover{background:var(--panel)}
.numcell .when,.numcell .fig{display:block}
.numcell .when{font-family:var(--mono);font-size:11px;color:var(--second);letter-spacing:.08em}
.numcell .fig{font-size:26px;font-weight:600;margin-top:10px;letter-spacing:-.02em}
.numcell p{margin-top:8px;font-size:15px;color:var(--muted)}
.numcell.end .when{color:var(--accent)}

/* compact index (where to start) */
.startgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px var(--s4)}
.startrow{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.startrow .num{font-size:11px;flex:none;width:42px}
.startrow .stxt{flex:1}
.startrow h3{font-size:19px;font-weight:600}
.startrow p{font-size:15px;color:var(--muted);margin-top:4px}

/* ---------- figures: one drawing system, four treatments ---------- */
.article-figure{margin:0}
.article-figure img{width:100%}
.article-figure figcaption{font-size:16px;line-height:1.45;color:#C9C4BA}
.article-figure .cred{display:block;font-family:var(--mono);font-size:10px;line-height:1.6;color:var(--dim);margin-top:8px}
/* A · plate: mat + hairline + registration crosses */
.fig-plate{position:relative;background:var(--panel);border:1px solid var(--line);padding:14px}
.fig-plate figcaption{margin-top:14px;padding-left:16px;border-left:2px solid var(--second);max-width:60ch}
/* B · offset: picture and caption step past each other */
.fig-offset{display:grid;grid-template-columns:1fr 260px;gap:var(--s3);align-items:end}
.fig-offset .shot{border:1px solid var(--line)}
.fig-offset figcaption{border-top:2px solid var(--accent);padding-top:12px}
/* C · inset: sits in the column, prose wraps beside it */
.fig-inset{float:right;width:300px;margin:6px 0 22px 30px;background:var(--panel-2);border:1px solid var(--line);padding:10px}
.fig-inset figcaption{margin-top:10px;font-size:15px;padding-left:14px;text-indent:-14px}
.fig-inset figcaption::before{content:"";display:inline-block;width:8px;height:1px;background:var(--accent);vertical-align:middle;margin-right:6px}
/* D · bleed: breaks the measure, caption on the tint */
.fig-bleed{position:relative}
.fig-bleed img{aspect-ratio:16/7;object-fit:cover}
.fig-bleed figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px clamp(20px,4vw,56px);background:linear-gradient(0deg,rgba(22,24,27,.94),rgba(22,24,27,0))}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.gallery figure{margin:0;background:var(--panel);border:1px solid var(--line);padding:8px}
.gallery figcaption{margin-top:8px;font-size:14px;color:var(--muted)}

/* ---------- article ---------- */
.art-head{padding:var(--s5) 0 var(--s3)}
.art-kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.art-kicker .ico{width:18px;height:18px}
.art-head h1{font-size:clamp(34px,5vw,58px);margin-top:18px;letter-spacing:-.03em}
.art-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.art-meta .on{color:var(--second)}
.lead{font-size:clamp(20px,2.2vw,26px);line-height:1.42;font-weight:300;color:var(--ink);margin-top:24px;max-width:34ch}
.art-body{padding:var(--s4) 0 var(--s5)}
.art-body>*{margin-inline:auto}
.art-body .measure{max-width:var(--measure)}
.art-body p{font-size:19px;line-height:1.65;color:#E4E0D7;margin-bottom:22px}
.art-body p:last-child{margin-bottom:0}
.art-body h2{font-size:clamp(23px,2.4vw,30px);margin:var(--s4) auto var(--s2)}
.art-body a:not(.entity-ref){color:var(--ink);border-bottom:1px solid var(--second);padding-bottom:1px}
.art-body a:not(.entity-ref):hover{color:var(--accent);border-color:var(--accent)}
.blk{margin:var(--s4) auto}
.blk-wide{max-width:940px}
.blk-full{max-width:none;margin-inline:0}
.after{clear:both}

/* components */
.pullquote{margin:var(--s4) auto;max-width:900px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}
.pullquote p{font-size:clamp(22px,2.6vw,30px);line-height:1.28;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.blockquote{margin:var(--s4) auto;max-width:820px;padding-left:24px;border-left:3px solid var(--second)}
.blockquote p{font-size:20px;line-height:1.5;font-style:italic;margin:0}
.blockquote cite{display:block;margin-top:12px;font-family:var(--mono);font-size:11px;font-style:normal;letter-spacing:.08em;color:var(--muted)}
.callout{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--accent);padding:24px 26px;margin:var(--s4) auto}
.callout h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:400}
.callout p{font-size:18px;line-height:1.5;margin:10px 0 0;color:var(--ink)}
.callout ul{margin-top:14px;display:grid;gap:10px}
.callout li{position:relative;padding-left:22px;font-size:17px;line-height:1.5;color:#C9C4BA}
.callout li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--second)}
.note{font-family:var(--mono);font-size:13px;line-height:1.7;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}
.timeline{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.timeline li{display:grid;grid-template-columns:190px 1fr;gap:var(--s3);background:var(--ground);padding:16px 20px;align-items:baseline}
.t-when{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--accent);line-height:1.5}
.t-what{font-size:17px;line-height:1.5;color:#E4E0D7}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.statblock{background:var(--panel);padding:22px;display:flex;flex-direction:column;gap:8px}
.stat-num{font-family:var(--mono);font-size:30px;font-weight:400;color:var(--second);letter-spacing:-.02em;line-height:1}
.stat-label{font-size:15px;line-height:1.45;color:#C9C4BA}
.datatable,.versus{width:100%;border-collapse:collapse;font-size:16px}
.datatable caption,.versus caption{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--second);padding-bottom:12px}
.datatable th,.versus th{text-align:left;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#16181B;background:var(--second);padding:11px 14px}
.datatable td,.versus td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top;color:#E4E0D7}
.versus td+td{border-left:1px solid var(--line)}
.chart{margin:var(--s4) auto;background:var(--panel);border:1px solid var(--line);padding:22px}
.chart svg{width:100%;height:auto;overflow:visible}
.chart figcaption{margin-top:16px;font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.chart .c-label{font-family:var(--mono);font-size:11px;fill:var(--muted)}
.chart .c-val{font-family:var(--mono);font-size:12px;fill:var(--ink)}
.related-links,.cat-list{display:grid;gap:2px}
.related-links li{border-bottom:1px solid var(--line)}
.related-links a{display:flex;gap:14px;align-items:baseline;padding:14px 0;font-size:18px}
.related-links .num{font-size:11px;width:42px;flex:none}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s3)}
.further-grid a{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line);font-size:20px;font-weight:600;line-height:1.2}
.further-grid a span{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:7px}
.further-grid a span .ico{width:15px;height:15px}
.entity-ref{font-family:var(--mono);font-size:.86em;letter-spacing:.02em;color:var(--second)}
.entity-ref:hover{color:var(--accent)}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s3)}
.profile-card{background:var(--panel);border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px}
.profile-card .p-photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.profile-card.no-photo{border-top:3px solid var(--second)}
.profile-card h3{font-size:20px}
.p-role{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.profile-card p{font-size:16px;color:#C9C4BA}
.p-links{margin-top:auto;display:flex;gap:16px;flex-wrap:wrap}
.p-attr{font-family:var(--mono);font-size:10px;color:var(--dim)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.org-card{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:14px}
.org-logo{width:56px;height:56px;object-fit:contain;background:#101215}
.org-card.no-logo{grid-template-columns:1fr}
.org-name{font-size:17px;font-weight:600}
.org-host{font-family:var(--mono);font-size:11px;color:var(--muted)}

/* ---------- category + register ---------- */
.cat-hero{display:grid;grid-template-columns:120px 1fr 300px;gap:var(--s4);padding:var(--s5) 0 var(--s4);align-items:start}
.cat-no{font-family:var(--mono);font-size:clamp(48px,6vw,74px);line-height:.8;color:var(--accent)}
.cat-hero h1{font-size:clamp(34px,4.6vw,52px)}
.cat-hero .lead{max-width:44ch}
.cat-side{border-left:1px solid var(--line);padding-left:22px;font-family:var(--mono);font-size:11px;line-height:2;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.cat-side .ico{width:26px;height:26px;color:var(--second);margin-bottom:10px}
.cat-list{gap:0}
.cat-list li{border-top:1px solid var(--line)}
.cat-list li:last-child{border-bottom:1px solid var(--line)}
.cat-list a{display:grid;grid-template-columns:150px 1fr;gap:var(--s3);padding:20px 0;align-items:start}
.cat-list .shot{border:1px solid var(--line);background:var(--panel);padding:6px}
.cat-list .shot img{aspect-ratio:16/10;object-fit:cover}
.cat-list h3{font-size:22px}
.cat-list p{font-size:16px;color:var(--muted);margin-top:6px;max-width:70ch}
.cat-list .rowmeta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.reg-sec{padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.reg-head{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.reg-head .ico{width:22px;height:22px;color:var(--second);align-self:center}
.reg-head h2{font-size:26px}
.reg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 var(--s4)}
.reg-row{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line)}
.reg-row .num{font-size:11px;width:46px;flex:none}
.reg-row .t{font-size:18px}
.reg-row .b{font-size:15px;color:var(--muted);margin-top:3px}

/* ---------- supporters ---------- */
.supporters{background:var(--panel);border-top:1px solid var(--line)}
.supporters .wrap{padding-block:var(--s4)}
.sup-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3)}
.sup-head h2{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.sup-head p{font-size:15px;color:var(--muted);max-width:52ch}
.sup-group{margin-bottom:var(--s3)}
.sup-group>h3{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--second);margin-bottom:14px}
.sup-grid{display:grid;grid-template-columns:repeat(auto-fit,460px);gap:12px;justify-content:start}
.sponsor{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center;width:460px;min-height:104px;background:#101215;border:1px solid var(--line);padding:14px 16px}
.sponsor:hover{border-color:var(--second);color:inherit}
.sponsor img{width:100%;max-width:100%;height:auto;max-height:44px;object-fit:contain;margin:auto}
.sponsor-text{display:flex;flex-direction:column;gap:6px;min-width:200px}
.sponsor-name{font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sponsor-blurb{font-size:14px;line-height:1.45;color:var(--muted)}
@media (max-width:1000px){.sup-grid{grid-template-columns:repeat(auto-fit,380px)}.sponsor{width:380px;grid-template-columns:160px 1fr}.sponsor-text{min-width:160px}}
@media (max-width:560px){.sup-grid{grid-template-columns:100%}.sponsor{width:100%;grid-template-columns:100%;gap:12px}.sponsor img{margin:0;max-height:38px;justify-self:start}.sponsor-text{min-width:0}.sponsor-name{white-space:normal}}

/* ---------- footer ---------- */
.site-foot{background:var(--ground)}
.foot-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0 var(--s3);flex-wrap:wrap}
.foot-line{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);max-width:44ch}
.foot-bottom{padding:var(--s3) 0 var(--s5);display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .tier-lead{grid-template-columns:1fr 1fr}
  .tier-dense{grid-template-columns:1fr 1fr}
  .deck-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .split-text{border-right:0;border-bottom:1px solid var(--line)}
  .cat-hero{grid-template-columns:90px 1fr}
  .cat-side{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}
  .fig-offset{grid-template-columns:1fr}
}
@media (max-width:720px){
  body{font-size:17px}
  .tier-lead,.tier-dense{grid-template-columns:1fr;gap:var(--s3)}
  .index-band .tier{padding:22px 0}
  .hero{min-height:auto}
  .hero-inner{gap:var(--s4)}
  .head-row{gap:var(--s2)}
  .head-sections{gap:4px 16px}
  .fig-inset{float:none;width:auto;margin:0 0 22px}
  .timeline li{grid-template-columns:1fr;gap:6px}
  .cat-list a{grid-template-columns:1fr}
  .cat-list .shot{max-width:280px}
  .art-body p{font-size:18px}
  .split-shot{min-height:280px}
  .cat-hero{grid-template-columns:1fr;gap:var(--s2)}
}

/* ---------- article body rhythm ---------- */
body{overflow-x:hidden}
.art-body .wrap>p,.art-body .wrap>h2{max-width:var(--measure);margin-inline:auto}
.blk-wide{max-width:940px;margin-inline:auto}
.blk-full{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-block:var(--s4)}
.blk{margin-block:var(--s4)}
.pair{display:grid;grid-template-columns:320px 1fr;gap:var(--s3);max-width:940px;margin:var(--s4) auto;align-items:start}
.pair .fig-inset{float:none;width:auto;margin:0}
.pairtext p{margin:0}
.figno{color:var(--second);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;margin-right:8px;white-space:nowrap}
.fig-bleed figcaption .figno{color:var(--second)}
.art-body .callout,.art-body .pullquote,.art-body .chart{max-width:940px}
.art-body .article-figure{margin-block:var(--s4)}
@media (max-width:720px){.pair{grid-template-columns:1fr}.blk-full{width:auto;margin-left:0}}

/* guard: section-level padding shorthands must never eat the wrapper gutter */
.wrap{padding-inline:clamp(20px,4vw,56px)}

/* narrow-screen safety: wide components scroll inside themselves, never the page */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tablewrap table{min-width:520px}
.chart{overflow-x:auto}
@media (max-width:720px){.chart svg{min-width:480px}}

/* figures reserve their box so a slow image never collapses the mat */
.article-figure>img,.fig-offset .shot img,.gallery figure img{aspect-ratio:16/10;object-fit:cover}
.fig-bleed>img{aspect-ratio:16/7}
.profile-card .p-photo{aspect-ratio:4/3;object-fit:cover}
/* supporter tiles: copy keeps its 200px floor, names wrap rather than clip */
.sponsor-name{white-space:normal;overflow:visible;text-overflow:clip}
@media (max-width:1000px){
  .sponsor{width:380px;grid-template-columns:100%;gap:12px}
  .sponsor img{margin:0;justify-self:start;max-height:40px}
  .sponsor-text{min-width:0}
}

img{height:auto}

/* hero legibility: the scrim must not go bare where the type sits */
.hero-scrim{background:linear-gradient(180deg,rgba(22,24,27,.92) 0%,rgba(22,24,27,.66) 34%,rgba(22,24,27,.6) 55%,rgba(22,24,27,.95) 100%)}
.hero-title .dotcom{color:var(--ink)}
.standing{background:rgba(22,24,27,.86);border:1px solid var(--line);padding:10px 14px;backdrop-filter:blur(2px)}
.standing span{color:var(--ink)}

/* homepage: the masthead is overprinted on the lead photograph, so the bar carries navigation only */
.head-row--home .head-sections{flex:1 1 auto}
.head-row--home{padding-block:14px}

/* ---------- homepage, second pass ---------- */
.ixreg{border-top:1px solid var(--line)}
.ixrow{display:grid;grid-template-columns:250px 240px 1fr;gap:var(--s3);padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.ixname{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;letter-spacing:-.01em}
.ixname .ico{color:var(--second);width:19px;height:19px}
.ixname .num{font-size:11px}
.ixname:hover .ico{color:var(--accent)}
.ixb{font-size:15px;color:var(--muted)}
.ixe{font-size:16px;line-height:1.6;color:#C9C4BA}
.ixe a:hover{color:var(--accent)}
.leadband{display:grid;grid-template-columns:1fr 380px;gap:var(--s5);align-items:start}
.leadfacts{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.leadfact{background:var(--panel);padding:18px;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.leadfact b{font-family:var(--mono);font-size:22px;font-weight:400;color:var(--second);letter-spacing:-.02em}
.leadfact span{font-size:15px;color:var(--muted);text-align:right;max-width:22ch}
.cars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.car{display:flex;flex-direction:column}
.car--drop{margin-top:52px}
.carshot{position:relative;border:1px solid var(--line);display:block}
.carshot img{aspect-ratio:4/5;object-fit:cover}
.carno{position:absolute;top:0;left:0;background:var(--ground);color:var(--accent);font-family:var(--mono);font-size:12px;padding:8px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.car h3{font-size:clamp(23px,2.1vw,31px);margin-top:18px}
.car p{font-size:16px;line-height:1.5;color:#C9C4BA;margin-top:10px}
.car .more{margin-top:auto;padding-top:18px}
.car:hover .carshot{border-color:var(--second)}
.sig{background:var(--accent);color:#16181B}
.sig .wrap{padding-block:clamp(40px,5vw,72px);display:grid;grid-template-columns:1fr 160px;gap:var(--s4);align-items:center}
.sig p{font-size:clamp(26px,3.2vw,42px);line-height:1.14;font-weight:600;letter-spacing:-.03em;max-width:26ch;margin:0}
.sig .siglabel{font-family:var(--mono);font-size:11px;line-height:1.7;letter-spacing:.14em;text-transform:uppercase;margin-top:18px;opacity:.78;max-width:52ch;font-weight:400}
.sig .sigmark{justify-self:end;color:#16181B}
.sig .sigmark .emblem{width:130px;height:130px;color:#16181B;opacity:.85}
.split-cap{position:absolute;left:0;right:0;bottom:0;background:rgba(22,24,27,.95);border-top:1px solid var(--line);padding:16px 22px;color:var(--ink);font-size:16px;line-height:1.45}
.split-cap .figtag{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--second);margin-bottom:6px}
.digits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.digit{background:var(--ground);padding:26px 22px;display:block}
.digit:hover{background:var(--panel)}
.digit .y{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--muted)}
.digit .n{display:block;font-family:var(--mono);font-size:clamp(40px,5.2vw,68px);line-height:.95;color:var(--second);margin:16px 0 4px;letter-spacing:-.05em}
.digit .u{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--ink)}
.digit p{font-size:15px;line-height:1.5;color:var(--muted);margin-top:14px;max-width:26ch}
.digit.end .n{color:var(--accent)}
.starts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 var(--s4)}
.start{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.start .num{font-size:12px;width:40px;flex:none}
.start .ico{width:17px;height:17px;color:var(--second);flex:none}
.start h3{font-size:19px;font-weight:600}
.start:hover .ico{color:var(--accent)}
/* supporters use the full width of the page */
.sup-wrap{max-width:none}
.sup-grid{justify-content:space-between}
@media (max-width:1000px){
  .ixrow{grid-template-columns:220px 1fr}
  .ixb{display:none}
  .leadband{grid-template-columns:1fr}
  .sig .wrap{grid-template-columns:1fr}
  .sig .sigmark{justify-self:start}
}
@media (max-width:900px){
  .cars{grid-template-columns:1fr 1fr}
  .car--drop{margin-top:0}
}
@media (max-width:720px){
  .ixrow{grid-template-columns:1fr;gap:8px}
  .cars{grid-template-columns:1fr}
}

/* ---------- homepage: navigation sits on the lead photograph ---------- */
.site-head--over{position:relative;z-index:6;background:transparent;border-bottom:1px solid rgba(237,232,223,.16)}
.site-head--over .head-row{padding-block:22px}
.site-head--over .sec-link{color:var(--ink)}
.hero .hero-inner{padding-top:var(--s4)}
.hero-deck{margin-top:18px;font-size:clamp(16px,1.4vw,19px);line-height:1.5;color:#DCD7CD;max-width:60ch}
.hero-deck a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.hero-deck a svg{width:22px;height:8px}
/* ---------- calm sections band: seven marks, no entry lists ---------- */
.secband{border-bottom:1px solid var(--line)}
.secband .wrap{padding-block:var(--s3)}
.secgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sectile{background:var(--ground);padding:20px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;gap:6px 10px;align-items:center}
.sectile .ico{width:20px;height:20px;color:var(--second)}
.sectile .num{font-size:11px}
.sectile .t{grid-column:1/-1;font-size:19px;font-weight:600;letter-spacing:-.01em}
.sectile .n{grid-column:1/-1;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.sectile:hover{background:var(--panel)}
.sectile:hover .ico{color:var(--accent)}
.sectile--all{background:var(--panel)}
.sectile--all .t{color:var(--accent)}
.sectile--all .n{display:flex;align-items:center;gap:8px;color:var(--muted)}
.sectile--all svg{width:20px;height:7px}
@media (max-width:1000px){.secgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.secgrid{grid-template-columns:1fr}}
/* ---------- footer ---------- */
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 0.8fr;gap:var(--s4);padding-block:var(--s5) var(--s4);align-items:start}
.foot-brand .foot-line{margin-top:20px;font-family:var(--mono);font-size:12px;line-height:1.8;letter-spacing:.06em;color:var(--muted);max-width:34ch}
.foot-col h3{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--second);margin-bottom:16px}
.foot-secs{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.foot-secs a{display:flex;align-items:center;gap:9px;font-size:16px;color:#C9C4BA}
.foot-secs a .ico{width:16px;height:16px;color:var(--second)}
.foot-secs a .num{font-size:10px}
.foot-secs a:hover{color:var(--accent)}
.foot-big{display:inline-flex;align-items:center;gap:10px;font-size:25px;font-weight:600;letter-spacing:-.02em}
.foot-big svg{width:24px;height:8px;color:var(--accent)}
.foot-small{margin-top:10px;font-size:15px;color:var(--muted);max-width:26ch}
.foot-bottom{padding-block:var(--s3) var(--s5);display:flex;gap:var(--s4);flex-wrap:wrap;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr}.foot-col--end{grid-column:1/-1}}
@media (max-width:720px){.foot-grid{grid-template-columns:1fr}.foot-secs{grid-template-columns:1fr}}

.hero{position:relative;display:flex;flex-direction:column}
.site-head--over .head-row{padding-block:18px}
.site-head--over .head-browse{border-color:rgba(237,232,223,.32)}

/* ---------- hero: one bar carries mark, sections and the register; the lead sits at the foot ---------- */
.head-row--home{align-items:center;gap:clamp(20px,3vw,44px)}
.brand--big .emblem{width:78px;height:78px}
.brand--big .brand-name{font-size:clamp(26px,3vw,42px);letter-spacing:-.035em}
.brand--big .brand-dot{font-size:11px;letter-spacing:.24em;margin-top:6px}
.head-row--home .head-sections{justify-content:flex-end;flex:1 1 340px}
.head-row--home .head-browse{flex:none}
.hero{min-height:min(84vh,760px)}
.hero .hero-inner{justify-content:flex-end;padding-block:var(--s5)}
.hero-lead{max-width:820px}
.standing-line{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-left:2px solid var(--accent);padding-left:12px;margin-bottom:26px}
.hero-lead .kicker{color:var(--second)}
.hero-lead h2{margin-top:12px}
@media (max-width:820px){
  .brand--big .emblem{width:56px;height:56px}
  .head-row--home .head-sections{justify-content:flex-start}
}

/* ---------- sections band: the marks carry it ---------- */
.sectile{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding:26px 22px}
.sectile .ico{width:40px;height:40px;color:var(--second)}
.sectile .t{font-size:20px;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:10px}
.sectile--all .t svg{width:22px;height:8px}
.secband .wrap{padding-block:var(--s4)}
/* ---------- supporters: back inside the measure, three tiles to the row ---------- */
.sup-wrap{max-width:var(--wrap)}
.sup-grid{grid-template-columns:repeat(auto-fit,360px);justify-content:space-between}
.sponsor,.sponsor.feat{width:360px;grid-template-columns:100%;gap:14px;min-height:126px;align-items:start}
.sponsor img{margin:0;justify-self:start;max-height:40px;width:auto;max-width:100%}
.sponsor-text{min-width:0}
@media (max-width:1000px){.sponsor,.sponsor.feat{width:360px}}
@media (max-width:560px){.sup-grid{grid-template-columns:100%}.sponsor,.sponsor.feat{width:100%}}

/* ---------- footer: a masthead reprise, the sections, and one way through ---------- */
.foot-main{background:var(--panel);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s5);padding-block:var(--s5);align-items:stretch}
.foot-mark{display:flex;align-items:flex-start;gap:24px;color:var(--ink)}
.foot-mark .emblem{width:92px;height:92px;flex:none;color:var(--accent)}
.foot-mark:hover .emblem{color:var(--second)}
.foot-word{font-size:clamp(30px,3.4vw,50px);font-weight:800;text-transform:uppercase;letter-spacing:-.038em;line-height:.88}
.foot-word .dot{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:lowercase;color:var(--muted);margin-top:12px}
.foot-line{font-family:var(--mono);font-size:12px;line-height:1.8;letter-spacing:.06em;color:var(--muted);max-width:36ch}
.foot-secs{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s4);align-content:start}
.foot-secs a{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:17px;color:#C9C4BA}
.foot-secs a .ico{width:20px;height:20px;color:var(--second)}
.foot-secs a:hover{color:var(--accent)}
.foot-secs a:hover .ico{color:var(--accent)}
.foot-cta{display:block;background:var(--accent);color:#16181B}
.foot-cta .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);padding-block:28px;flex-wrap:wrap}
.foot-cta-t{font-size:clamp(24px,2.6vw,34px);font-weight:600;letter-spacing:-.025em}
.foot-cta-s{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.foot-cta-s svg{width:26px;height:9px}
.foot-cta:hover{color:#16181B}
.foot-cta:hover .foot-cta-s{opacity:1}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr;gap:var(--s4)}.foot-secs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-secs{grid-template-columns:1fr}}

/* homepage bar: the mark and one way in — the sections band below the hero carries the seven */
.head-row--home{justify-content:space-between;flex-wrap:nowrap;gap:var(--s3)}
.head-row--home .head-browse{align-self:center}

.foot-reg{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.foot-reg:hover{color:var(--ink)}

.foot-secs .foot-reg{font-size:11px;letter-spacing:.14em}

/* homepage bar: let it wrap on phones, and keep the lead legible over the photograph */
@media (max-width:760px){
  .head-row--home{flex-wrap:wrap;gap:14px}
  .head-row--home .head-browse{flex:0 1 auto;font-size:10px;padding:8px 11px}
  .brand--big .brand-name{font-size:26px}
}
.hero-scrim{background:linear-gradient(180deg,rgba(22,24,27,.92) 0%,rgba(22,24,27,.62) 32%,rgba(22,24,27,.72) 58%,rgba(22,24,27,.96) 100%)}
.hero-lead .kicker{color:var(--ink)}
.hero-lead .kicker::before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}

/* the wordmark reads on one line */
.brand-name{line-height:1;white-space:nowrap}
.brand--big .brand-name{font-size:clamp(24px,2.6vw,38px)}
@media (max-width:760px){.brand--big .brand-name{font-size:22px}}

.foot-word{white-space:nowrap;line-height:1;font-size:clamp(26px,3vw,42px)}
@media (max-width:560px){.foot-word{font-size:24px}.foot-mark .emblem{width:64px;height:64px}}

/* ---------- footer, compacted ---------- */
.foot-grid{grid-template-columns:1fr auto;gap:var(--s4);padding-block:var(--s4);align-items:center}
.foot-mark{gap:16px;align-items:center}
.foot-mark .emblem{width:52px;height:52px}
.foot-word{font-size:clamp(20px,2vw,26px)}
.foot-word .dot{font-size:10px;letter-spacing:.2em;margin-top:6px}
.foot-brand .dim{display:none}
.foot-line{margin-top:12px;font-size:11px;line-height:1.6;max-width:38ch}
.foot-secs{grid-template-columns:repeat(4,auto);gap:4px var(--s3);justify-content:end}
.foot-secs a{padding:6px 0;border-bottom:0;font-size:14px;gap:8px}
.foot-secs a .ico{width:16px;height:16px}
.foot-secs .foot-reg{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line);border-bottom:0;font-size:10px;justify-content:flex-end}
.foot-bottom{padding-block:14px 20px;gap:var(--s3);font-size:10px}
@media (max-width:1000px){
  .foot-grid{grid-template-columns:1fr;gap:var(--s3);align-items:start}
  .foot-secs{justify-content:start;grid-template-columns:repeat(3,auto)}
  .foot-secs .foot-reg{justify-content:flex-start}
}
@media (max-width:640px){.foot-secs{grid-template-columns:1fr 1fr}}

/* ================= article pages, second pass ================= */
.art-head{padding-block:var(--s3) var(--s3);max-width:1040px}
.art-kicker{display:inline-flex;padding:8px 12px;border:1px solid var(--line);background:var(--panel)}
.art-head h1{margin-top:14px;max-width:26ch;line-height:1.02}
.art-meta{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);gap:26px}
.art-head .lead{max-width:44ch;font-weight:300;margin-top:16px}

/* lead photograph: full-bleed, caption on a plate beneath */
.art-lead{margin-bottom:var(--s5)}
.fig-lead{position:relative;margin:0}
.fig-lead>img{width:100%;aspect-ratio:21/9;object-fit:cover}
.fig-lead figcaption{max-width:var(--wrap);margin:0 auto;padding:16px clamp(20px,4vw,56px) 0;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;font-size:16px}
.fig-lead .cred{grid-column:2;margin-top:6px}
@media (max-width:720px){.fig-lead>img{aspect-ratio:4/3}.fig-lead figcaption{grid-template-columns:1fr;gap:8px}.fig-lead .cred{grid-column:1}}

/* body rhythm: more air, clearer breaks */
.art-body{padding-block:0 var(--s6)}
.art-body .wrap>p{margin-bottom:26px}
.art-body p.opener{font-size:clamp(20px,1.9vw,23px);line-height:1.55;color:var(--ink)}
.art-body .wrap>h2{margin-top:var(--s6);padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:52px 1fr;gap:0 14px;align-items:baseline}
.h2n{font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.06em;color:var(--accent);line-height:1.6}
.art-body .article-figure,.art-body .blk,.art-body .callout,.art-body .pullquote,.art-body .chart,.art-body .pair{margin-block:var(--s5)}

/* data blocks pointed out properly */
.timeline{border:0;background:transparent;gap:0}
.timeline li{background:var(--panel);border:1px solid var(--line);border-bottom:0;grid-template-columns:210px 1fr;padding:18px 22px}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.t-when{font-family:var(--mono);font-size:15px;letter-spacing:-.01em;color:var(--accent)}
.t-what{font-size:17px}
.statrow{border:0;background:transparent;gap:14px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.statblock{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--second);padding:24px;gap:12px}
.stat-num{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.04em}
.stat-label{font-size:15px;color:#C9C4BA}
.blk>.kicker{display:flex;align-items:center;gap:14px}
.blk>.kicker::after{content:"";flex:1;height:1px;background:var(--line)}
.callout{border:1px solid var(--line);border-top:0;border-left:3px solid var(--accent);background:var(--panel);padding:26px 28px}
.callout h3{margin-bottom:4px}
.pullquote{border-top:1px solid var(--accent);border-bottom:1px solid var(--line);padding:28px 0 30px}
.pullquote p{max-width:30ch}
.profile-card{border-top:3px solid var(--second)}

/* related / further, tightened */
.related-links a{padding:16px 0}
.further-grid a{padding-top:18px}
@media (max-width:720px){
  .art-body .wrap>h2{grid-template-columns:1fr;gap:8px;margin-top:var(--s5)}
  .timeline li{grid-template-columns:1fr}
}

/* the registration marks belong to the matted treatment, not the full-bleed opener */
.fig-lead .cross{display:none}

/* guards */
.pair:has(.pairtext:empty),.pair:has(.pairtext > p:empty){grid-template-columns:1fr}
.pair .pairtext:empty,.pair .pairtext > p:empty{display:none}

/* inner-page bar: sections shrink, the register stays pinned right */
.head-row{flex-wrap:nowrap;gap:clamp(20px,3vw,40px)}
.head-row .brand{flex:none}
.head-sections{flex:1 1 auto;min-width:0}
.head-browse{margin-left:auto;flex:none;align-self:center}
@media (max-width:760px){
  .head-row{flex-wrap:wrap;gap:14px}
  .head-browse{margin-left:0;font-size:10px;padding:8px 11px}
  .brand .emblem{width:48px;height:48px}
  .brand-name{font-size:22px}
}

/* inner-page bar: keep it to two rows on mid-width screens */
@media (max-width:1180px){
  .head-row{padding-block:14px;gap:24px}
  .head-sections{gap:4px 16px}
  .sec-link{font-size:10px;letter-spacing:.08em;gap:7px;padding:3px 0}
  .sec-link .ico{width:15px;height:15px}
  .head-browse{font-size:10px;padding:8px 11px}
  .site-head .brand .emblem{width:52px;height:52px}
  .site-head .brand-name{font-size:23px}
}

/* ---------- end of an entry: read next ---------- */
.tailband{background:var(--panel);border-top:1px solid var(--accent);margin-top:var(--s6)}
.tail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s5);padding-block:var(--s5);align-items:stretch}
.next-card{display:grid;grid-template-columns:280px 1fr;gap:var(--s3);align-items:stretch;background:var(--ground);border:1px solid var(--line);padding:16px}
.next-card:hover{border-color:var(--second);color:inherit}
.next-shot{display:block;overflow:hidden;align-self:stretch;min-height:210px}
.next-shot img{width:100%;height:100%;min-height:210px;object-fit:cover;transition:transform .5s ease}
.next-card:hover .next-shot img{transform:scale(1.03)}
.next-body{display:flex;flex-direction:column;gap:12px;padding:4px 6px 6px 0;justify-content:space-between}
.next-k{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.next-k svg{width:22px;height:8px}
.next-t{font-size:clamp(24px,2.4vw,32px);font-weight:600;letter-spacing:-.025em;line-height:1.05}
.next-card:hover .next-t{color:var(--accent)}
.next-p{font-size:16px;line-height:1.5;color:#C9C4BA;max-width:46ch}
.next-f{margin-top:auto;display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.next-f .ico{width:15px;height:15px;color:var(--second)}
.tail-side{border-left:1px solid var(--line);padding-left:var(--s3)}
.tail-side .related-links{margin-top:10px}
.tail-side .related-links a{display:grid;grid-template-columns:44px 1fr;gap:0 12px;padding:13px 0}
.rl-t{font-size:17px;line-height:1.25}
.rl-s{grid-column:2;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:5px}
.further-grid--tail{grid-template-columns:1fr;gap:0;margin-top:10px}
.further-grid--tail a{flex-direction:row;align-items:baseline;justify-content:space-between;gap:14px;font-size:16px;font-weight:400;padding:12px 0;border-top:1px solid var(--line)}
.further-grid--tail a span{order:2;color:var(--dim)}
.further-grid--tail a span .ico{color:var(--second)}
.further-grid--tail a:hover span .ico{color:var(--accent)}
.tail-all{display:inline-flex;align-items:center;gap:12px;margin-top:var(--s3);padding:11px 14px;border:1px solid var(--line);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.tail-all:hover{border-color:var(--accent)}
.tail-all svg{width:22px;height:8px}
@media (max-width:1000px){
  .tail-grid{grid-template-columns:1fr;gap:var(--s4)}
  .tail-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:var(--s3)}
}
@media (max-width:640px){
  .next-card{grid-template-columns:1fr}
  .next-shot,.next-shot img{min-height:0}
  .next-shot img{aspect-ratio:16/10;height:auto}
}

/* ---------- phone: touch targets and fine-print floor ---------- */
@media (max-width:720px){
  /* every tappable list row clears 44px */
  .sec-link{min-height:44px;padding-block:8px}
  .head-browse,.head-row--home .head-browse{min-height:44px;display:inline-flex;align-items:center;font-size:11px}
  .split-cap .figtag,.cat-list .rowmeta{font-size:11px}
  .foot-secs a{min-height:42px;padding-block:9px}
  .more,a.kicker{min-height:44px;display:inline-flex;align-items:center;gap:10px}
  .ix-list a,.ix-inline a{display:flex;align-items:center;min-height:44px}
  .ix-inline{display:flex;flex-wrap:wrap;gap:0 14px}
  .related-links a{min-height:48px;align-items:center}
  .further-grid--tail a{min-height:46px;align-items:center}
  .further-grid a{min-height:46px}
  .reg-row,.startrow{padding-block:15px}
  .foot-bottom a,.tail-all{min-height:44px;display:inline-flex;align-items:center}
  .p-links a{min-height:44px;display:inline-flex;align-items:center}
  /* fine print never below 11px on a phone; captions and meta a notch up */
  .foot-word .dot,.foot-secs .foot-reg,.brand-dot,.hero-credit,.foot-bottom,.foot-reg,.card-foot,.next-f,.rl-s,.sup-group>h3,.article-figure .cred,.figno,.split-cap .cred,.p-attr{font-size:11px}
  .kicker,.art-meta,.note,.p-role,.org-host,.numcell .when,.sup-head h2,.next-k,.tail-all{font-size:12px}
  .article-figure figcaption,.gallery figcaption{font-size:15px}
}

@media (max-width:720px){.art-head{padding-block:var(--s2) var(--s3)}.art-head h1{margin-top:12px}}

/* 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-domain-override: per-domain, from work/css_override.css */
/* Logos left-aligned in the supporter tiles.
   The tile is a grid with a single 326px column; the img is content-sized and was being centred
   by AUTO MARGINS on both sides — measured 87/87, 33/33, 63/63, 93/93 left/right.
   Tested live before writing: object-position, justify-self and justify-items ALL left the gaps
   exactly equal, because none of them touch an auto margin. Only the margin does. */
.sponsor[data-partner] img{ margin-left:0!important; margin-right:auto!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:40px!important;display:block!important;width:100%!important}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   2030px at 390, 21% of the whole page. Two columns bring it to
   1156px (43% shorter). Checked before writing: no new overflow, smallest mark still
   133px wide, longest blurb 3 lines, tile heights 180-207px.
   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. Only the tier(s) that were one-per-row are touched (.sup-grid), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important}
    .sup-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-grid > * *{min-width:0!important;max-width:100%}
    .sup-grid img,.sup-grid svg{max-width:100%;height:auto}
  .sup-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-article-width: the article column was capped at 646px (78 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .art-body .wrap > p, .art-body .wrap > h2) 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 > div.wrap{--measure:min(88.842ch, 100%)!important}
}
@media (min-width:1600px){
  div.art-body > div.wrap > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h2:where(.rt-h3){font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; margin: 0px; text-wrap: pretty;}
.cat-list h2:where(.rt-h3){font-size: 22px;}
h1:where(.rt-h2){font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; margin: 0px; text-wrap: pretty;}
.hero-lead h1:where(.rt-h2){font-size: clamp(28px, 4.4vw, 52px); font-weight: 600; letter-spacing: -0.025em; margin-top: 14px;}
.hero-lead h1:where(.rt-h2) a:hover{color: var(--accent);}
.hero-lead h1:where(.rt-h2){margin-top: 12px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.next-card > span.next-shot > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:819px){.sup-grid.sup-grid:has(> [data-partner]){grid-template-columns:repeat(auto-fill,minmax(min(360px,calc(50% - 6px)),1fr))!important;justify-content:stretch!important}.sup-grid.sup-grid > [data-partner]{width:auto!important;max-width:none!important}}
@media (min-width:840px) and (max-width:1199px){.sup-grid:has(> [data-partner]){grid-template-columns:repeat(2,minmax(0,360px))!important;justify-content:center!important;column-gap:var(--sp-gap,18px)!important}}
