/* ImaginaryFS — Sixteen Milliseconds
   Palette: ground #14150f · ink #f3f1e7 · accent acid #b9cf1f · secondary ultramarine #2b3ecb · muted stone #8b8d7e */

:root{
  --paper:#14150f;        /* ground */
  --paper-2:#1a1b13;      /* raised ground */
  --paper-3:#1f2016;      /* mat */
  --ink:#f3f1e7;          /* ink */
  --ink-2:rgba(243,241,231,.82);
  --ink-3:rgba(243,241,231,.58);
  --rule:rgba(243,241,231,.18);
  --rule-2:rgba(243,241,231,.34);
  --acid:#b9cf1f;         /* accent — used at area size */
  --ultra:#2b3ecb;        /* secondary — used at area size */
  --stone:#8b8d7e;        /* muted */
  --display:'Oswald',Impact,sans-serif;
  --text:'Karla',system-ui,sans-serif;
  --gut:clamp(18px,3.4vw,48px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--acid);text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0}
figure{margin:0}
table{border-collapse:collapse;width:100%}
.icon{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}
.icon-lg{width:34px;height:34px}
.kicker{font-family:var(--display);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--acid)}
.num{font-family:var(--display);letter-spacing:.1em;color:var(--acid)}
.wrap{max-width:1560px;margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--acid);color:var(--paper);padding:8px 12px;z-index:99}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule-2);background:var(--paper)}
.masthead.over{background:transparent;border-bottom-color:rgba(243,241,231,.3)}
.mast-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 28px;padding:24px 0 16px;border-bottom:1px solid var(--rule)}
.masthead.over .mast-row{border-bottom-color:rgba(243,241,231,.28)}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink)}
.brand:hover{color:var(--ink)}
.brand-mark{color:var(--acid);width:46px;height:30px;flex:none;stroke:currentColor;fill:none;stroke-width:1.4}
.brand-word{font-family:var(--display);font-weight:500;font-size:clamp(22px,3vw,29px);letter-spacing:.14em;line-height:1}
.mast-right{display:flex;align-items:flex-end;gap:26px}
.mast-line{font-size:14px;line-height:1.35;max-width:280px;color:var(--ink-2)}
.mast-search{font-family:var(--display);font-size:14px;letter-spacing:.18em;color:var(--ink);border-bottom:1px solid var(--acid);padding-bottom:2px}

.sect-nav{display:grid;grid-template-columns:repeat(9,1fr);border-bottom:1px solid var(--rule)}
.sect-nav a{display:flex;flex-direction:column;gap:6px;padding:12px 12px 11px;border-right:1px solid var(--rule);color:var(--ink)}
.sect-nav{margin-inline:-12px}
.sect-nav a:last-child{border-right:0}
.sect-nav a:hover{background:rgba(185,207,31,.08)}
.sect-nav .n{font-family:var(--display);font-size:12px;letter-spacing:.2em;color:var(--ink-3)}
.sect-nav .t{display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:16px;letter-spacing:.03em;text-transform:uppercase;line-height:1.05}
.sect-nav a[aria-current]{background:var(--acid);color:var(--paper)}
.sect-nav a[aria-current] .n{color:rgba(20,21,15,.7)}
.sub-nav{display:flex;flex-wrap:wrap;gap:6px 26px;padding:10px 0 11px;font-size:15px}
.sub-nav a{color:var(--ink-2)}
.sub-nav a:hover,.sub-nav a[aria-current]{color:var(--acid)}
.sub-nav-groups{gap:6px 30px}
.sub-nav-groups a{display:inline-flex;align-items:baseline;gap:9px;font-family:var(--display);font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.sub-nav-groups a:hover{color:var(--acid)}
.sub-nav .gn{font-family:var(--display);font-size:12px;letter-spacing:.18em;color:var(--acid)}
.sub-nav .lbl{font-family:var(--display);font-size:12px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase}

.mast-mobile{display:none}
.mast-mobile summary{list-style:none;cursor:pointer;font-family:var(--display);font-size:14px;letter-spacing:.18em;text-transform:uppercase;padding:11px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.mast-mobile summary::-webkit-details-marker{display:none}
.mast-mobile[open] summary{color:var(--acid)}
.m-index{padding:6px 0 16px}
.m-index li{list-style:none;border-bottom:1px solid var(--rule);padding:11px 0}
.m-index .m-top{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:18px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.m-index .m-top .num{margin-left:auto;font-size:14px}
.m-index .m-sub{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:7px;font-size:15px}
.m-index .m-sub a{color:var(--ink-2)}

/* ---------- footer ---------- */
.site-foot{border-top:1.5px solid var(--rule-2);margin-top:0;padding:46px 0 56px;background:var(--paper)}
.foot-grid{display:grid;grid-template-columns:1fr 3fr;gap:48px}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.foot-cols h3{font-family:var(--display);font-size:13px;letter-spacing:.2em;color:var(--acid);padding-bottom:9px;border-bottom:1px solid var(--rule-2);text-transform:uppercase}
.foot-cols ul{margin-top:10px;display:flex;flex-direction:column;gap:7px;font-size:14px}
.foot-cols li{list-style:none}
.foot-cols a{color:var(--ink-2)}
.foot-note{margin-top:14px;font-size:14px;line-height:1.5;color:var(--ink-3);max-width:250px}
.foot-bottom{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;margin-top:34px;padding-top:14px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-3)}

/* ---------- homepage bands ---------- */
.band{border-bottom:1px solid var(--rule)}
.band-lede{position:relative;min-height:min(86vh,860px);display:flex;flex-direction:column;background:var(--paper-2)}
.band-lede .bg{position:absolute;inset:0}
.band-lede .bg img{width:100%;height:100%;object-fit:cover}
.band-lede .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,21,15,.55) 0%,rgba(20,21,15,.22) 26%,rgba(20,21,15,.34) 52%,rgba(20,21,15,.93) 100%)}
.band-lede .top{position:relative;z-index:2}
.lede-body{position:relative;z-index:2;margin-top:auto;padding-top:64px;padding-bottom:44px;padding-left:var(--gut);padding-right:var(--gut);display:flex;align-items:flex-end;justify-content:space-between;gap:48px;flex-wrap:wrap}
.lede-body h1{font-size:clamp(38px,6.4vw,92px);line-height:.94;text-transform:uppercase;max-width:20ch}
.lede-dek{margin-top:22px;font-size:clamp(17px,1.35vw,20px);line-height:1.5;max-width:66ch;color:var(--ink-2)}
.lede-cap{width:min(280px,100%);border-top:1px solid var(--rule-2);padding-top:12px}
.lede-cap p{font-size:15px;line-height:1.45}
.credit{margin-top:8px;font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.brackets{display:flex;align-items:center;gap:12px;margin-bottom:14px}

.band-quiet{padding:clamp(56px,8vw,120px) 0}
.band-quiet .inner{display:flex;align-items:flex-start;gap:24px;max-width:1180px;margin:0 auto}
.band-quiet p{font-family:var(--display);font-weight:300;font-size:clamp(24px,3.1vw,41px);line-height:1.22;text-wrap:pretty}
.band-quiet svg{color:var(--acid);flex:none;margin-top:6px}

.band-plate{background:var(--acid);color:var(--paper);padding:clamp(40px,5vw,70px) 0 clamp(40px,4.4vw,62px)}
.band-plate a{color:var(--paper)}
.plate-head{display:flex;align-items:baseline;justify-content:space-between;gap:28px;flex-wrap:wrap;border-bottom:1.5px solid var(--paper);padding-bottom:14px}
.plate-head h2{font-weight:500;font-size:clamp(26px,3.4vw,44px);text-transform:uppercase}
.plate-head .tag{font-family:var(--display);font-size:14px;letter-spacing:.18em}
.plate-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:30px;border-top:1.5px solid var(--paper);padding-top:20px}
.plate-notes h3{font-family:var(--display);font-size:15px;letter-spacing:.2em;margin-bottom:8px;text-transform:uppercase}
.plate-notes p{font-size:16px;line-height:1.5}
.frame-diagram{width:100%;height:auto;display:block;margin:30px 0 6px;stroke:currentColor;fill:none}

.band-twoup{padding:clamp(48px,6vw,96px) 0}
.twoup{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px)}
.twoup .offset{padding-top:clamp(0px,4vw,64px)}

.band-index{padding:0 0 clamp(48px,6vw,90px)}
.index-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1.5px solid var(--rule-2);padding-bottom:12px}
.index-head h2{font-weight:500;font-size:clamp(22px,2.4vw,30px);letter-spacing:.04em;text-transform:uppercase}
.index-head .tag{font-family:var(--display);font-size:14px;letter-spacing:.18em;color:var(--ink-3)}
.srow{display:grid;grid-template-columns:64px minmax(180px,1.05fr) 2fr 130px;gap:20px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.srow:hover{background:rgba(185,207,31,.07)}
.srow .st{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:22px;letter-spacing:.03em;text-transform:uppercase;line-height:1.05}
.srow .sb{font-size:16px;color:var(--ink-2)}
.srow .sc{font-family:var(--display);font-size:14px;letter-spacing:.12em;color:var(--ink-3);text-align:right}

.band-ultra{background:var(--ultra);padding:clamp(46px,6vw,84px) 0}
.band-ultra a{color:var(--ink)}
.ultra-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,64px);align-items:end}
.ultra-grid .say{font-family:var(--display);font-weight:300;font-size:clamp(26px,3.8vw,52px);line-height:1.12;text-wrap:pretty}
.ultra-grid p.sub{margin-top:22px;font-size:17px;line-height:1.55;max-width:62ch;color:rgba(243,241,231,.88)}
.ultra-links{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:26px;font-family:var(--display);font-size:16px;letter-spacing:.06em;text-transform:uppercase}
.ultra-links a{border-bottom:1px solid rgba(243,241,231,.5);padding-bottom:3px}

.band-split{display:grid;grid-template-columns:1.05fr 1fr;min-height:620px}
.band-split .pic{position:relative;min-height:340px}
.band-split .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band-split .txt{padding-block:clamp(40px,5vw,84px);padding-left:var(--gut);padding-right:var(--gut)}
.band-split h2{font-size:clamp(30px,4vw,56px);line-height:1.03;text-transform:uppercase;margin-bottom:26px}
.split-items{display:flex;flex-direction:column;gap:22px;max-width:60ch}
.split-items .it{border-top:1px solid var(--rule-2);padding-top:14px}
.split-items h3{font-family:var(--display);font-size:21px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px}
.split-items p{font-size:16px;line-height:1.55;color:var(--ink-2)}

/* ---------- figure system (3 treatments, one drawing system) ---------- */
.article-figure figcaption,.fig-cap{display:flex;gap:18px;margin-top:15px}
.fig-cap .fig-n{font-family:var(--display);font-size:13px;letter-spacing:.2em;color:var(--acid);flex:none;padding-top:3px}
.fig-cap p{font-size:16px;line-height:1.45;max-width:62ch;text-wrap:pretty}

/* 1 — matted, crop marks */
.fig-mat .plate{position:relative;background:var(--paper-3);padding:22px}
.fig-mat .plate img{width:100%;height:auto}
.fig-mat .plate::before,.fig-mat .plate::after,.fig-mat .plate>span::before,.fig-mat .plate>span::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--acid);border-style:solid;border-width:0}
.fig-mat .plate::before{top:7px;left:7px;border-left-width:1.3px;border-top-width:1.3px}
.fig-mat .plate::after{top:7px;right:7px;border-right-width:1.3px;border-top-width:1.3px}
.fig-mat .plate>span::before{bottom:7px;left:7px;border-left-width:1.3px;border-bottom-width:1.3px}
.fig-mat .plate>span::after{bottom:7px;right:7px;border-right-width:1.3px;border-bottom-width:1.3px}

/* 2 — full-bleed band, caption in the gutter */
.fig-bleed{margin-block:clamp(30px,4vw,54px)}
.fig-bleed .pic{position:relative;height:clamp(280px,52vw,620px)}
.fig-bleed .pic img{width:100%;height:100%;object-fit:cover}
.fig-bleed figcaption{padding-left:var(--gut);padding-right:var(--gut);margin-top:14px}

/* 3 — inset, hairline frame, quieter */
.fig-inset{border-top:1px solid var(--rule-2);padding-top:16px}
.fig-inset .pic{border:1px solid var(--rule-2);padding:8px}
.fig-inset img{width:100%}
.fig-inset figcaption{margin-top:12px}
.fig-tint .pic{background:var(--ultra);border-color:var(--ultra);padding:16px}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.gallery figure{display:flex;flex-direction:column}
.gallery img{aspect-ratio:16/10;object-fit:cover;width:100%}
.gallery figcaption{font-size:14px;line-height:1.4;color:var(--ink-2);margin-top:8px}
.map-figure .map-slot{aspect-ratio:16/9;border:1px solid var(--rule-2);background:var(--paper-2)}
.map-figure figcaption{margin-top:12px;font-size:15px;color:var(--ink-2)}

/* ---------- article ---------- */
.post{display:grid;counter-reset:sec;
  grid-template-columns:[full-start] minmax(var(--gut),1fr) [wide-start] minmax(0,200px) [text-start] minmax(0,66ch) [text-end] minmax(0,200px) [wide-end] minmax(var(--gut),1fr) [full-end];
  row-gap:26px;padding-bottom:20px}
.post>*{grid-column:text}
.post>.wide{grid-column:wide}
.post>.full{grid-column:full}
.post p{font-size:18px;line-height:1.7;text-wrap:pretty}
.post>p.lead-para{font-size:20.5px;line-height:1.6}
.post h2+p{font-size:19px;line-height:1.62}
.post h2+p::first-line{letter-spacing:.005em}
.post h2{font-size:clamp(23px,2.5vw,33px);text-transform:uppercase;letter-spacing:.01em;margin-top:30px;padding-top:16px;border-top:1px solid var(--rule);counter-increment:sec;display:flex;align-items:baseline;gap:16px;scroll-margin-top:24px}
.post h2::before{content:counter(sec,decimal-leading-zero);flex:none;font-size:.52em;letter-spacing:.16em;color:var(--acid)}
.post h3{font-family:var(--display);font-size:21px;letter-spacing:.03em;text-transform:uppercase;margin-top:14px}
.post ul.body-list{display:flex;flex-direction:column;gap:9px}
.post ul.body-list li{list-style:none;padding-left:22px;position:relative;font-size:17px;line-height:1.55}
.post ul.body-list li::before{content:"";position:absolute;left:0;top:11px;width:11px;height:1.4px;background:var(--acid)}
.post-head{padding:clamp(34px,4.4vw,72px) 0 26px}
.post-head .brackets{margin-bottom:16px}
.post-head h1{font-size:clamp(32px,5vw,64px);line-height:1;text-transform:uppercase;max-width:24ch}
.lead{margin-top:22px;font-size:clamp(19px,1.6vw,23px);line-height:1.45;color:var(--ink);max-width:62ch;text-wrap:pretty}
.post-meta{display:flex;flex-wrap:wrap;gap:10px 32px;margin-top:26px;padding-top:14px;border-top:1px solid var(--rule-2);font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.post-meta b{color:var(--ink);font-weight:400}

.pullquote{margin:8px 0;border-top:1.5px solid var(--acid);border-bottom:1.5px solid var(--acid);padding:20px 0}
.pullquote p{font-family:var(--display);font-weight:300;font-size:clamp(22px,2.5vw,32px);line-height:1.2}
.blockquote{border-left:2px solid var(--acid);padding:4px 0 4px 20px}
.blockquote p{font-size:19px;line-height:1.5}
.blockquote cite{display:block;margin-top:10px;font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-style:normal}
.callout{background:var(--paper-2);border-top:2px solid var(--acid);padding:22px 24px}
.callout p{font-size:17px;line-height:1.6}
.note{font-size:16px;line-height:1.55;color:var(--ink-2);border-left:1px solid var(--rule-2);padding-left:16px}

/* registers (Notes-for-Design material) */
.register{background:var(--paper-2);padding:clamp(20px,2.6vw,32px)}
.register.on-ultra{background:var(--ultra)}
.register.on-ultra .r-row{border-color:rgba(243,241,231,.3)}
.register .r-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:1.5px solid var(--rule-2);padding-bottom:11px}
.register.on-ultra .r-head{border-bottom-color:rgba(243,241,231,.7)}
.register h3{font-family:var(--display);font-size:clamp(18px,1.9vw,24px);letter-spacing:.02em;text-transform:uppercase}
.register .r-tag{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.register.on-ultra .r-tag{color:rgba(243,241,231,.75)}
.r-row{display:grid;grid-template-columns:34px minmax(140px,.85fr) 1.6fr;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule)}
.r-row:last-child{border-bottom:0;padding-bottom:0}
.r-row .rn{font-family:var(--display);font-size:15px;letter-spacing:.1em;color:var(--acid)}
.register.on-ultra .r-row .rn{color:var(--ink)}
.r-row .rk{font-family:var(--display);font-size:18px;letter-spacing:.02em;text-transform:uppercase;line-height:1.15}
.r-row .rv{font-size:16px;line-height:1.5;color:var(--ink-2)}
.register.on-ultra .r-row .rv{color:rgba(243,241,231,.9)}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:1px;background:var(--rule)}
.statblock{background:var(--paper-2);padding:18px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);line-height:1;color:var(--acid)}
.stat-label{font-size:15px;line-height:1.4;color:var(--ink-2)}

.datatable,.versus{font-size:16px}
.datatable caption,.versus caption{text-align:left;font-family:var(--display);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);padding-bottom:10px}
.datatable th,.versus th{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-align:left;color:var(--ink-3);border-bottom:1.5px solid var(--rule-2);padding:9px 14px 9px 0;font-weight:400;vertical-align:bottom}
.datatable td,.versus td{border-bottom:1px solid var(--rule);padding:11px 14px 11px 0;vertical-align:top;line-height:1.45}
.datatable tr:hover td{background:rgba(185,207,31,.05)}
.versus td:first-child{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:17px}

.timeline{display:flex;flex-direction:column}
.timeline li{list-style:none;display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--rule);position:relative}
.timeline .t-when{font-family:var(--display);font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--acid);line-height:1.3}
.timeline .t-what{font-size:16px;line-height:1.5;color:var(--ink-2)}
.chart{margin:6px 0}
.chart svg{width:100%;height:auto;display:block;stroke:currentColor;fill:none}
.chart figcaption{margin-top:12px;font-size:15px;color:var(--ink-3);line-height:1.45}

.further-grid,.related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}
.further-grid a,.related-links a{display:flex;flex-direction:column;gap:7px;background:var(--paper-2);border-top:2px solid var(--acid);padding:16px;color:var(--ink);min-height:132px}
.related-links li{list-style:none;display:flex}
.related-links a{width:100%}
.further-grid a:hover,.related-links a:hover{background:var(--paper-3)}
.further-grid .fk,.related-links .fk{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--acid)}
.further-grid .ft,.related-links .ft{font-family:var(--display);font-size:19px;line-height:1.15;text-transform:uppercase}
.further-grid .fd,.related-links .fd{font-size:15px;line-height:1.4;color:var(--ink-3);margin-top:auto}
.entity-ref{border-bottom:1px solid var(--acid)}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}
.profile-card{background:var(--paper-2);padding:18px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.profile-card h3{font-size:20px;text-transform:uppercase}
.profile-card .p-role{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--acid)}
.profile-card p{font-size:15px;line-height:1.5;color:var(--ink-2)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}
.org-card{display:flex;align-items:center;gap:12px;background:var(--paper-2);padding:12px 14px;color:var(--ink)}
.org-logo{width:44px;height:44px;object-fit:contain;background:#0d0e09;flex:none}
.org-name{font-family:var(--display);font-size:17px;text-transform:uppercase;line-height:1.1}
.org-host{font-size:13px;color:var(--ink-3)}

/* CSS-only expander for long lists */
.expander{border-top:1px solid var(--rule)}
.expander>summary{list-style:none;cursor:pointer;font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--acid);padding:12px 0}
.expander>summary::-webkit-details-marker{display:none}
.expander[open]>summary{color:var(--ink-3)}

/* ---------- section / category pages ---------- */
.cat-head{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(34px,4.4vw,74px) 0 30px}
.cat-num{display:flex;align-items:flex-start;gap:14px}
.cat-num .big{font-family:var(--display);font-size:clamp(72px,10vw,132px);line-height:.8;color:var(--acid)}
.cat-head h1{font-size:clamp(32px,4.6vw,60px);line-height:.98;text-transform:uppercase;margin-top:20px}
.cat-head .dek{font-size:clamp(18px,1.7vw,23px);line-height:1.45;text-wrap:pretty}
.cat-head .dek2{margin-top:18px;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:70ch}
.cat-list{display:flex;flex-direction:column}
.cat-list li{list-style:none}
.cat-list a{display:grid;grid-template-columns:56px minmax(200px,1fr) 1.7fr;gap:22px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.cat-list a:hover{background:rgba(185,207,31,.07)}
.cat-list .cn{font-family:var(--display);font-size:19px;color:var(--acid)}
.cat-list .ct{font-family:var(--display);font-size:clamp(19px,2vw,26px);line-height:1.1;text-transform:uppercase}
.cat-list .cd{font-size:16px;line-height:1.5;color:var(--ink-2)}
.say-band{background:var(--ultra);padding:clamp(36px,5vw,66px) 0}
.say-band p{font-family:var(--display);font-weight:300;font-size:clamp(24px,3.2vw,44px);line-height:1.15;max-width:1200px;text-wrap:pretty}

/* ---------- supporters colophon ---------- */
.colophon{padding:clamp(34px,4vw,64px) 0 clamp(40px,5vw,72px);background:var(--paper-2);border-top:1px solid var(--rule-2)}
.col-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1.5px solid var(--rule-2);padding-bottom:12px}
.col-head h2{font-family:var(--display);font-weight:500;font-size:clamp(18px,2vw,24px);letter-spacing:.16em;text-transform:uppercase}
.col-head .tag{font-size:15px;color:var(--ink-3);max-width:56ch}



.sponsor:hover{background:rgba(185,207,31,.06)}

.sponsor-name{font-family:var(--display);font-size:17px;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}
.sponsor-blurb{display:block;font-size:15px;line-height:1.45;color:var(--ink-2);margin-top:4px}
.sponsor-text{min-width:0}

@media (max-width:1180px){
  .sect-nav{grid-template-columns:repeat(5,1fr)}
  .sect-nav a{border-bottom:1px solid var(--rule)}
  .foot-grid{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:repeat(2,1fr)}
  .plate-notes{grid-template-columns:1fr 1fr}
  .post{grid-template-columns:[full-start] minmax(var(--gut),1fr) [wide-start] minmax(0,40px) [text-start] minmax(0,68ch) [text-end] minmax(0,40px) [wide-end] minmax(var(--gut),1fr) [full-end]}
}
@media (max-width:900px){
  body{font-size:16px}
  .sect-nav,.sub-nav{display:none}
  .mast-mobile{display:block}
  .mast-line{display:none}
  .twoup,.ultra-grid,.cat-head,.band-split{grid-template-columns:1fr}
  .twoup .offset{padding-top:0}
  .band-split .pic{height:52vw}
  .srow{grid-template-columns:44px 1fr;row-gap:6px}
  .srow .sb{grid-column:2}
  .srow .sc{grid-column:2;text-align:left}
  .cat-list a{grid-template-columns:40px 1fr;row-gap:6px}
  .cat-list .cd{grid-column:2}
  .plate-notes{grid-template-columns:1fr}
  .r-row{grid-template-columns:28px 1fr;row-gap:5px}
  .r-row .rv{grid-column:2}
  .timeline li{grid-template-columns:1fr;gap:5px}
  .post p{font-size:17px}
  .lede-body{padding-top:44px;padding-bottom:32px}
  .datatable td,.datatable th{padding-right:10px}
}
@media (max-width:520px){
  .foot-cols{grid-template-columns:1fr}
  .fig-mat .plate{padding:12px}
  .band-quiet svg{display:none}
}
@media print{
  .mast-mobile,.sect-nav,.sub-nav,.colophon{display:none}
  body{background:#fff;color:#000}
}

/* variants */
.profile-card.no-photo{border-left:2px solid var(--acid)}
.org-card.no-logo .org-logo{display:none}
.org-card.no-logo{border-left:2px solid var(--acid)}
.sg-sec{padding:34px 0;border-bottom:1px solid var(--rule)}
.sg-sec>h2{font-family:var(--display);font-size:24px;letter-spacing:.06em;text-transform:uppercase;color:var(--acid);margin-bottom:6px}
.sg-sec>p.sg-note{font-size:15px;color:var(--ink-3);margin-bottom:20px}
.sg-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:26px}
.chart.donut svg{max-width:320px}

@media (max-width:700px){
  .brand-word{font-size:21px}
  .mast-right{gap:14px}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .datatable,.versus{font-size:15px}
  .datatable th,.datatable td,.versus th,.versus td{padding-right:8px}
}

/* nine-section plates (homepage) */
.sec-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:clamp(14px,1.6vw,22px);margin-top:26px}
.sec-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 22px 20px;background:var(--paper-2);border-top:2px solid var(--acid);color:var(--ink);min-height:236px}
.sec-card:hover{background:var(--paper-3)}
.sec-card .sc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.sec-card .sc-num{font-family:var(--display);font-size:34px;line-height:.9;letter-spacing:.06em;color:var(--acid)}
.sec-card .sc-ico{width:40px;height:40px;flex:none;stroke:currentColor;fill:none;stroke-width:1.3;color:var(--acid);opacity:.9}
.sec-card .sc-title{font-family:var(--display);font-size:clamp(24px,2.3vw,30px);line-height:1.03;letter-spacing:.02em;text-transform:uppercase;margin-top:4px}
.sec-card .sc-blurb{font-size:16px;line-height:1.5;color:var(--ink-2);max-width:34ch}
.sec-card .sc-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.sec-card .sc-first{font-family:var(--display);font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--acid);line-height:1.2}
.sec-card:hover .sc-first{color:var(--ink)}
.sec-card .sc-count{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);flex:none}
.sec-card.sec-card--lead{background:var(--acid);color:var(--paper);border-top-color:var(--paper)}
.sec-card.sec-card--lead:hover{background:#c6dc26}
.sec-card.sec-card--lead .sc-num,.sec-card.sec-card--lead .sc-ico,.sec-card.sec-card--lead .sc-first{color:var(--paper)}
.sec-card.sec-card--lead .sc-blurb{color:rgba(20,21,15,.82)}
.sec-card.sec-card--lead .sc-foot{border-top-color:rgba(20,21,15,.35)}
.sec-card.sec-card--lead .sc-count{color:rgba(20,21,15,.62)}
.sec-cards-note{margin-top:24px;font-size:16px;line-height:1.55;color:var(--ink-3);max-width:70ch}
@media (max-width:560px){.sec-card{min-height:0;padding:20px 18px 18px}}

/* supporters colophon — a directory: marginal group label, hairline-ruled rows, mark left and line beside it */
.col-list{margin-top:22px;border-top:1.5px solid var(--rule-2)}
.col-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;padding:22px 0 14px;border-bottom:1px solid var(--rule-2)}
.col-group:last-child{border-bottom:0}
.col-label h3{font-family:var(--display);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--acid)}
.col-label p{margin-top:7px;font-size:14px;line-height:1.45;color:var(--ink-3)}
.col-slots{display:flex;flex-direction:column}
.sponsor{display:grid;grid-template-columns:230px minmax(200px,1fr);gap:24px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
.col-slots .sponsor:last-child{border-bottom:0;padding-bottom:0}
.sponsor img{width:230px;max-width:230px;height:44px;max-height:44px;background:#0b0c07;padding:5px 12px;object-fit:contain}
.sponsor:hover{background:rgba(185,207,31,.06)}
.sponsor:hover .sponsor-name{color:var(--acid)}
@media (max-width:1000px){
  .col-group{grid-template-columns:1fr;gap:14px}
  .col-label{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:9px}
  .col-label p{margin-top:0}
}
@media (max-width:560px){
  .sponsor{grid-template-columns:1fr;gap:10px;padding:14px 0}
  .sponsor img{width:100%;max-width:260px;height:48px;max-height:48px}
}

/* article rhythm: contents strip, section marks, quiet caveat */
.post-contents{display:flex;flex-wrap:wrap;gap:0;margin-top:26px;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2)}
.post-contents .pc-lbl{font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);padding:11px 22px 11px 0;flex:none}
.post-contents a{display:flex;align-items:baseline;gap:9px;padding:11px 22px 11px 0;font-family:var(--display);font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.post-contents a:hover{color:var(--acid)}
.post-contents a .pn{font-size:12px;letter-spacing:.14em;color:var(--acid)}
.post>.caveat{font-size:14px;line-height:1.5;color:var(--ink-3);font-style:italic;margin-top:10px;max-width:58ch}
.post>.statrow{margin-block:4px}
@media (max-width:700px){
  .post h2{margin-top:24px;padding-top:14px}
  .post>p.lead-para{font-size:18.5px}
  .post h2+p{font-size:17.5px}
  .post-contents .pc-lbl{width:100%;padding-bottom:4px}
}

/* section entry points: run-in opener and one drop cap per entry */
.post .runin{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:.07em;font-size:.94em;color:var(--ink)}
.post>p.lead-para::first-letter{font-family:var(--display);font-weight:500;font-size:3.1em;line-height:.82;float:left;margin:4px 12px 0 0;color:var(--acid)}
@media (max-width:700px){.post>p.lead-para::first-letter{font-size:2.6em;margin-right:9px}}

/* statement list — Notes material that is prose, not label/value pairs */
.claims{background:var(--paper-2);padding:clamp(20px,2.6vw,30px)}
.claims .c-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;border-bottom:1.5px solid var(--rule-2);padding-bottom:11px}
.claims h3{font-family:var(--display);font-size:clamp(18px,1.9vw,24px);letter-spacing:.02em;text-transform:uppercase}
.claims ol{margin-top:2px}
.claims li{list-style:none;display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--rule)}
.claims li:last-child{border-bottom:0;padding-bottom:0}
.claims .cn{font-family:var(--display);font-size:15px;letter-spacing:.1em;color:var(--acid)}
.claims .ct{font-size:17px;line-height:1.55}
.further-grid a,.related-links a{min-height:0}
.further-grid .fd,.related-links .fd{margin-top:6px}
@media (max-width:700px){.claims li{grid-template-columns:30px minmax(0,1fr);gap:12px}}

/* mobile: long tokens (addresses) must not push a table wide */
@media (max-width:760px){
  .datatable{table-layout:fixed}
  .datatable th,.datatable td{overflow-wrap:anywhere}
  .credit{font-size:12.5px}
  .foot-bottom,.sec-cards-note{font-size:15px}
}

/* mobile tap targets: nothing interactive below 44px */
@media (max-width:900px){
  .brand{padding-block:7px}
  .mast-search{padding-block:11px}
  .m-index li{padding:4px 0}
  .m-index .m-top{padding:11px 0;min-height:46px;align-items:center}
  .m-index .m-sub{gap:0 18px;margin-top:2px}
  .m-index .m-sub a{display:inline-block;padding:14px 0;line-height:1.2}
  .sub-nav a,.post-contents a{padding-block:12px}
  .foot-cols a,.related-links a,.further-grid a{padding-block:2px}
  .foot-cols li a{display:inline-block;padding-block:8px}
  .foot-cols ul{gap:0}
}

@media (max-width:900px){
  .ultra-links a,.split-items h3 a,.band-twoup h3 a,.sec-cards-note a{display:inline-block;padding-block:9px}
}

/* sp-mark-align: marks sit CENTRED in their box. Placement only — Design's size,
   padding, panel and object-fit are untouched. */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.sponsor .sp-logo,.sponsor-box{display:flex;align-items:center;justify-content:center}

/* sp-tile-uniform: a slot never grows to fill its row — every tile the same width in
   every row, whatever the count. Only flex-grow is touched. */
.sponsor{flex-grow:0!important}
.sponsor.lead-line,.sponsor.feat.lead-line{flex-grow:1!important}

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

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

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.col-slots .sponsor.sponsor img{box-sizing:border-box!important;padding:8px 12px!important}

/* op-footer-compact: the footer printed 33 rows for 33 link(s) in
   4 list(s) — 1856px at 390, 16% 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 1856 -> 1303px (30% 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.81vw,26px)!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 — 13 tiles,
   1820px at 390, 17% of the whole page. Two columns bring it to
   1124px (38% shorter). Checked before writing: no new overflow, smallest mark still
   167px wide, longest blurb 3 lines, tile heights 126-183px.
   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.
   Only the tier(s) that were one-per-row are touched (.col-slots), 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){
  .col-slots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important}
    .col-slots > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .col-slots > * *{min-width:0!important;max-width:100%}
    .col-slots img,.col-slots svg{max-width:100%;height:auto}
}

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

/* op-article-width: the article column was capped at 666px (77 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through grid track 3 of "[full-start] minmax(var(--gut),1fr) [wide-start] minmax(0,200px) [text-start] minmax(0,66ch) [text-end] minmax(0,200px) [wide-end] minmax(var(--gut),1fr) [full-end]" (declared in .post) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1280 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1280px){
  article.post{grid-template-columns:[full-start] minmax(var(--gut),1fr) [wide-start] minmax(0,200px) [text-start] min(879px, calc(100% - 400px)) [text-end] minmax(0,200px) [wide-end] minmax(var(--gut),1fr) [full-end]!important}
}
@media (min-width:1600px){
  article.post{grid-template-columns:[full-start] minmax(var(--gut),1fr) [wide-start] minmax(0,200px) [text-start] min(clamp(879px, 61.042vw, 1055px), calc(100% - 400px)) [text-end] minmax(0,200px) [wide-end] minmax(var(--gut),1fr) [full-end]!important}
  article.post > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */

/* op-hover-pad */
.cat-list a{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */

/* op-hover-pad */
.datatable tr td:first-child{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--display); font-weight: 400; margin: 0px; text-wrap: balance;}
.foot-cols h2:where(.rt-h3){font-family: var(--display); font-size: 13px; letter-spacing: 0.2em; color: var(--acid); padding-bottom: 9px; border-bottom: 1px solid var(--rule-2); text-transform: uppercase;}
.post h2:where(.rt-h3){font-family: var(--display); font-size: 21px; letter-spacing: 0.03em; text-transform: uppercase; margin-top: 14px;}
.register h2:where(.rt-h3){font-family: var(--display); font-size: clamp(18px, 1.9vw, 24px); letter-spacing: 0.02em; text-transform: uppercase;}
.claims h2:where(.rt-h3){font-family: var(--display); font-size: clamp(18px, 1.9vw, 24px); letter-spacing: 0.02em; text-transform: uppercase;}
h2.rt-h3.rt-h3{display:block;padding-top:0px;border-top-width:0px;border-top-style:none;border-top-color:rgb(243, 241, 231);column-gap:normal;row-gap:normal}
/* op-heading-levels:end */
@media (min-width:561px) and (max-width:659px){.col-slots > .sponsor[data-partner]{grid-template-columns:minmax(0,1fr)!important;row-gap:8px!important}.col-slots > .sponsor[data-partner] > *{grid-column:1!important;grid-row:auto!important}}
[data-partner] img{background:transparent!important}
