/* ===========================================================
   accessiblebookcollection.org — "The Register"
   Palette (5 members, each with a job):
     --paper  #F7F4EC  ground
     --ink    #1B1A17  ink / rules / dark grounds
     --accent #1B3BD8  ultramarine — saturated, links + full panels
     --flag   #F2C200  chrome yellow — saturated, figure bands + row highlight
     --stone  #D9D5C6  hairlines and reserved areas
   Accent and flag are ~200 degrees apart in hue.
   =========================================================== */

:root{
  --paper:#F7F4EC;
  --ink:#1B1A17;
  --accent:#1B3BD8;
  --accent-dark:#152CA0;
  --flag:#F2C200;
  --stone:#D9D5C6;
  --ink-soft:#413D35;
  --ink-mute:#6B6759;
  --paper-2:#EDEBE1;
  --display:'Anybody',system-ui,sans-serif;
  --prose:'Petrona',Georgia,serif;
  --mono:'Sometype Mono',ui-monospace,monospace;
  --wrap:1240px;
  --measure:760px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--prose);font-size:18px;line-height:1.65;
  text-wrap:pretty;
}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
table{border-collapse:collapse;width:100%}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
svg{flex:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:32px}
.mono{font-family:var(--mono)}

/* --- display type ------------------------------------------------ */
.dsp{font-family:var(--display);text-transform:uppercase;line-height:.92;
  font-variation-settings:'wdth' 80,'wght' 800;letter-spacing:.004em}
.dsp-med{font-family:var(--display);text-transform:uppercase;line-height:1.08;
  font-variation-settings:'wdth' 88,'wght' 700;letter-spacing:.01em}
.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-mute)}
.kicker--accent{color:var(--accent)}

/* --- masthead ---------------------------------------------------- */
.strip{background:var(--accent);color:#EDEFFC}
.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  padding-block:9px;font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase}
.strip a{color:#fff;text-decoration:underline;text-underline-offset:2px}

.masthead{border-bottom:2px solid var(--ink)}
.masthead .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;
  justify-content:space-between;padding-block:20px 16px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand:hover{text-decoration:none;color:var(--ink)}
.brand svg{color:var(--accent)}
.brand-name{font-family:var(--display);text-transform:uppercase;font-size:25px;line-height:1;
  font-variation-settings:'wdth' 82,'wght' 800}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.nav a{display:flex;align-items:center;gap:7px;color:var(--ink);padding-block:4px}
.nav a:hover{color:var(--accent);text-decoration:none}
.nav a svg{color:var(--accent)}
.nav a[aria-current]{color:var(--accent)}
.nav .nav-browse{border:1.5px solid var(--ink);padding:6px 11px}
.nav .nav-browse:hover{background:var(--flag);color:var(--ink)}

/* --- section head ----------------------------------------------- */
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;
  justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px}
.sec-head h2,.sec-head h3{font-family:var(--display);text-transform:uppercase;font-size:21px;
  font-variation-settings:'wdth' 86,'wght' 700;letter-spacing:.02em;line-height:1.1}

/* --- register table --------------------------------------------- */
.register{font-family:var(--mono);font-size:13px;margin-inline:-14px;width:calc(100% + 28px)}
.register th{text-align:left;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-mute);padding:12px 18px 12px 0;border-bottom:1px solid var(--stone);vertical-align:bottom}
.register td{padding:20px 18px 20px 0;border-bottom:1px solid var(--stone);vertical-align:top;line-height:1.6}
.register tr:last-child td{border-bottom:2px solid var(--ink)}
.register tr:hover td{background:var(--flag)}
.register .r-no{width:52px;color:var(--ink-mute)}
.register .r-name{width:230px}
.register td:last-child,.register th:last-child{padding-right:14px}
.register td:first-child,.register th:first-child{padding-left:14px}
.r-title{display:flex;align-items:flex-start;gap:10px;color:var(--ink)}
.r-title:hover{color:var(--accent);text-decoration:none}
.r-title svg{color:var(--accent);margin-top:3px}
.r-title span{font-family:var(--display);text-transform:uppercase;font-size:18px;line-height:1.15;
  font-variation-settings:'wdth' 88,'wght' 700}
.r-prose{font-family:var(--prose);font-size:16.5px;line-height:1.5}
.r-count{white-space:nowrap}

/* register as rows of links (entries lists) */
.entry-row{display:grid;grid-template-columns:186px minmax(0,1fr) minmax(0,400px);gap:10px 28px;
  align-items:baseline;padding:18px 14px;margin-inline:-14px;border-bottom:1px solid var(--stone);color:var(--ink)}
.entry-row:hover{background:var(--flag);text-decoration:none;color:var(--ink)}
.entry-row:last-child{border-bottom:2px solid var(--ink)}
.entry-sec{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}
.entry-sec svg{color:var(--accent)}
.entry-title{font-family:var(--display);text-transform:uppercase;font-size:20px;line-height:1.15;
  font-variation-settings:'wdth' 88,'wght' 700}
.entry-dek{font-size:16.5px;line-height:1.5;color:var(--ink-soft);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  min-height:calc(2 * 1.5em)}
.entry-meta{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute)}

/* --- homepage lead ---------------------------------------------- */
.lead-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:44px;
  padding-block:52px 44px;align-items:stretch}
.lead-feature h1{font-size:clamp(40px,6.4vw,98px)}
.lead-figure{margin:0;display:flex;flex-direction:column}
.lead-figure img{width:100%;flex:1 1 auto;min-height:260px;object-fit:cover}

/* --- figure captions: a ruled register row under the plate ---------- */
.lead-figure figcaption,.full-fig figcaption,.article-figure figcaption,.chart figcaption{
  display:grid;grid-template-columns:106px minmax(0,1fr) auto;gap:4px 24px;align-items:start;
  border-top:2px solid var(--ink);margin-top:14px;padding-top:12px;
  font-family:var(--prose);font-size:16.5px;line-height:1.5;color:var(--ink-soft);max-width:none}
.lead-figure figcaption::before,.full-fig figcaption::before,
.article-figure figcaption::before,.chart figcaption::before{
  content:'Frame';font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);padding-top:5px}
.chart figcaption::before{content:'Figure'}
.article-figure figcaption::before{content:'Fig.'}
.lead-figure figcaption::before{content:'Lead frame'}
.credit{display:block;color:#8E897A;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;text-align:right;padding-top:6px;white-space:nowrap}
.gallery figcaption{border-top:1px solid var(--stone);margin-top:10px;padding-top:9px;
  font-family:var(--prose);font-size:15.5px;line-height:1.45;color:var(--ink-soft)}
.article-figure--inset figcaption,.chart figcaption{grid-template-columns:1fr}
.article-figure--inset .credit,.chart .credit{text-align:left;white-space:normal}

/* --- bands ------------------------------------------------------- */
.band{padding-block:56px}
.band--tight{padding-block:40px}
.band--flag{background:var(--flag);color:var(--ink)}
.band--accent{background:var(--accent);color:#EDEFFC}
.band--accent a{color:#fff}
.band--ink{background:var(--ink);color:#DAD6C8}
.band--ink a{color:var(--flag)}
.band--paper2{background:var(--paper-2)}

/* --- stats ------------------------------------------------------- */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px}
.statblock{display:flex;flex-direction:column;gap:6px}
.stat-num{font-family:var(--display);text-transform:uppercase;font-size:clamp(44px,5vw,68px);
  line-height:.9;font-variation-settings:'wdth' 78,'wght' 800}
.stat-label{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:#5A4E12;line-height:1.5}
.band--accent .stat-label,.band--ink .stat-label{color:#C6C9EE}
.band--paper2 .stat-label,.plain .stat-label{color:var(--ink-mute)}

/* --- section band on homepage ------------------------------------ */
.fmt{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;
  max-width:var(--wrap);margin:0 auto;padding:44px 32px;border-bottom:1px solid var(--stone)}
.fmt-id{display:flex;flex-direction:column;gap:14px}
.fmt-id h2{font-size:clamp(32px,3.6vw,50px)}
.fmt-id h2 a{color:var(--ink)}
.fmt-id h2 a:hover{color:var(--accent);text-decoration:none}
.fmt-icon{color:var(--accent)}
.fmt-blurb{font-size:17.5px;line-height:1.5;color:var(--ink-soft)}
.fmt-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:26px}
.fmt-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover}
.trade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;
  border-top:2px solid var(--ink);margin-top:6px}
.trade div{padding:14px 20px 16px 0}
.trade dt{font-family:var(--mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--accent);padding-bottom:6px}
.trade dd{margin:0;font-size:16.5px;line-height:1.5}
.trade .t-not dt{color:var(--ink-mute)}

/* --- cat list / cards ------------------------------------------- */
.cat-list{display:flex;flex-direction:column}
details.more{margin-top:14px}
details.more summary{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);cursor:pointer;padding:10px 0;
  border-bottom:1px solid var(--stone);list-style:none}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:' +'}
details.more[open] summary::after{content:' −'}
details.more[open] summary{color:var(--ink-mute)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.card{display:flex;flex-direction:column;height:100%;color:var(--ink);
  border-top:2px solid var(--ink);padding-top:14px}
.card:hover{text-decoration:none;color:var(--ink)}
.card:hover .card-title{color:var(--accent)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:14px}
.card-title{font-family:var(--display);text-transform:uppercase;font-size:19px;line-height:1.15;
  font-variation-settings:'wdth' 88,'wght' 700;min-height:2.3em}
.card-dek{font-size:16px;line-height:1.5;color:var(--ink-soft);padding-top:8px}
.card-meta{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-mute);margin-top:auto;padding-top:14px}

/* --- article ----------------------------------------------------- */
.art-head{padding-block:44px 30px}
.art-kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--accent);
  border-top:2px solid var(--accent);padding-top:12px}
.art-head h1{font-size:clamp(36px,5.6vw,84px);max-width:19ch;padding-top:20px}
.art-meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-mute);padding-top:22px;border-top:1px solid var(--stone);margin-top:26px}

.measure{max-width:var(--measure);margin:0 auto;padding-inline:32px}
.prose-block{max-width:var(--measure);margin:0 auto;padding-inline:32px}
.prose-block p{font-size:19px;line-height:1.72;padding-block:0 22px}
.prose-block > h2{display:flex;gap:14px;align-items:baseline;font-family:var(--display);
  text-transform:uppercase;font-size:clamp(22px,2.4vw,30px);line-height:1.12;
  font-variation-settings:'wdth' 86,'wght' 700;padding:18px 0 20px}
.prose-block > h2 .sec-no{font-family:var(--mono);font-size:13px;letter-spacing:.05em;color:var(--accent);
  font-variation-settings:normal;flex:none;padding-top:3px}
.lead{font-family:var(--prose);font-size:22px;line-height:1.5;color:var(--ink-soft);max-width:34em}

.full-fig{margin:34px 0 40px}
.full-fig img{width:100%;aspect-ratio:21/9;object-fit:cover}
.article-figure{margin:8px 0 30px}
.article-figure img{width:100%}
.article-figure--inset{float:right;width:290px;margin:6px 0 22px 32px}
.article-figure--inset img{aspect-ratio:1/1;object-fit:cover}
.article-figure--wide img{aspect-ratio:16/9;object-fit:cover}

.pullquote{margin:36px 0 40px;padding:34px 36px;background:var(--accent);color:#fff}
.pullquote p{font-family:var(--display);text-transform:uppercase;font-size:clamp(24px,3vw,38px);
  line-height:1.06;font-variation-settings:'wdth' 84,'wght' 700;margin:0}
.blockquote{margin:30px 0 34px;padding:0 0 0 24px;border-left:3px solid var(--flag)}
.blockquote p{font-size:20px;line-height:1.55;font-style:italic}
.blockquote cite{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.07em;
  text-transform:uppercase;font-style:normal;color:var(--ink-mute);padding-top:12px}
.callout{margin:30px 0 34px;padding:26px 30px;background:var(--flag)}
.callout p{font-size:19px;line-height:1.5;margin:0}
.note{font-family:var(--mono);font-size:14.5px;line-height:1.6;color:var(--ink-soft);
  border-top:1px solid var(--stone);border-bottom:1px solid var(--stone);padding:14px 0;margin:8px 0 28px}

/* notes-for-design register bands */
.notes-band{padding-block:44px;margin:40px 0 44px}
.notes-band .sec-head h3{color:inherit}
.notes-band .kicker{color:inherit;opacity:.72}
.datatable,.versus{font-family:var(--mono);font-size:13.5px}
.datatable th,.versus th{text-align:left;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  padding:12px 20px 12px 0;border-bottom:1px solid currentColor;opacity:.7}
.datatable td,.versus td{padding:16px 20px 16px 0;border-bottom:1px solid var(--stone);vertical-align:top;line-height:1.6}
.notes-band .datatable td,.notes-band .versus td{border-bottom-color:rgba(27,26,23,.22)}
.band--ink .datatable td,.band--accent .datatable td{border-bottom-color:rgba(255,255,255,.22)}
.datatable .d-term,.versus th:first-child{width:34%}
.d-term{font-family:var(--display);text-transform:uppercase;font-size:16px;line-height:1.2;
  font-variation-settings:'wdth' 90,'wght' 700}
.datatable td:last-child,.datatable th:last-child{padding-right:0}
.datatable .d-note{font-family:var(--prose);font-size:16.5px;line-height:1.5}

.timeline{display:flex;flex-direction:column;border-top:2px solid currentColor}
.timeline li{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:12px 28px;
  padding:16px 0;border-bottom:1px solid rgba(27,26,23,.22)}
.band--ink .timeline li,.band--accent .timeline li{border-bottom-color:rgba(255,255,255,.22)}
.t-when{font-family:var(--display);text-transform:uppercase;font-size:17px;line-height:1.2;
  font-variation-settings:'wdth' 90,'wght' 700}
.t-what{font-family:var(--prose);font-size:16.5px;line-height:1.5}

/* statements: a notes group that is a list of claims, not term/definition */
.statements{display:flex;flex-direction:column;border-top:2px solid currentColor}
.statements li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px 24px;
  padding:16px 0;border-bottom:1px solid rgba(27,26,23,.22)}
.band--ink .statements li,.band--accent .statements li{border-bottom-color:rgba(255,255,255,.22)}
.s-no{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--accent);padding-top:4px}
.band--ink .s-no{color:var(--flag)}
.band--accent .s-no{color:#fff}
.s-text{font-family:var(--prose);font-size:17.5px;line-height:1.55}

/* charts */
.chart{margin:30px 0 34px}
.chart svg{width:100%;height:auto;overflow:visible}
.chart .c-label{font-family:var(--mono);font-size:11.5px;fill:var(--ink-soft)}
.chart .c-value{font-family:var(--mono);font-size:11.5px;fill:var(--ink-mute)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:34px 0 38px}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* related / further */
.related-links,.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.related-links li{display:flex}
.related-links a,.further-grid a{display:flex;flex-direction:column;gap:10px;width:100%;
  border-top:2px solid var(--ink);padding-top:14px;color:var(--ink)}
.related-links a:hover,.further-grid a:hover{text-decoration:none;color:var(--accent)}
.related-links svg,.further-grid svg{color:var(--accent)}
.rel-title{font-family:var(--display);text-transform:uppercase;font-size:18px;line-height:1.2;
  font-variation-settings:'wdth' 88,'wght' 700}
.rel-dek{font-family:var(--prose);font-size:16px;line-height:1.5;color:var(--ink-soft)}

/* profile + org cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.profile-card{display:flex;flex-direction:column;height:100%;border-top:2px solid var(--ink);padding-top:16px}
.profile-card .p-photo{width:100%;aspect-ratio:1/1;object-fit:cover;margin-bottom:14px}
.profile-card h3{font-family:var(--display);text-transform:uppercase;font-size:19px;line-height:1.2;
  font-variation-settings:'wdth' 88,'wght' 700}
.profile-card .p-role{font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--ink-mute);padding:6px 0 10px}
.profile-card p{font-size:16.5px;line-height:1.55}
.profile-card .p-links{margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:12px}
.profile-card.no-photo{border-top-color:var(--accent)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.org-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;
  padding:16px 18px;background:var(--paper-2);color:var(--ink)}
.org-card:hover{background:var(--flag);text-decoration:none}
.org-logo{width:64px;height:40px;object-fit:contain;background:var(--ink)}
.org-name{font-family:var(--display);text-transform:uppercase;font-size:16px;line-height:1.2;
  font-variation-settings:'wdth' 90,'wght' 700}
.org-host{font-family:var(--mono);font-size:11.5px;color:var(--ink-mute);letter-spacing:.04em}
.entity-ref{font-family:var(--mono);font-size:.92em;letter-spacing:.02em}

/* --- supporters -------------------------------------------------- */
.sponsors{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:20px}
.sponsor{display:grid;grid-template-columns:236px minmax(200px,1fr);gap:22px;align-items:center;
  min-height:132px;padding:20px;background:var(--paper-2);color:var(--ink)}
.sponsor:hover{background:var(--flag);text-decoration:none;color:var(--ink)}
.sponsor img{width:100%;height:56px;max-height:56px;max-width:100%;object-fit:contain;
  background:var(--ink);padding:9px 12px}
.sponsor-text{display:flex;flex-direction:column;gap:7px;min-width:0}
.sponsor-name{font-family:var(--display);text-transform:uppercase;font-size:16px;line-height:1.15;
  font-variation-settings:'wdth' 90,'wght' 700}
.sponsor-blurb{font-size:15.5px;line-height:1.45;color:var(--ink-soft)}

/* --- footer ------------------------------------------------------ */
.foot{background:var(--ink);color:#DAD6C8;margin-top:0}
.foot .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:44px;padding-block:48px}
.foot .brand-name{color:#F3EFE2}
.foot .brand svg{color:var(--flag)}
.foot p{font-size:16px;line-height:1.6;color:#A9A594;max-width:60ch}
.foot nav{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;align-content:start;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.foot nav a{color:#DAD6C8}
.foot nav a:hover{color:var(--flag)}
.foot-legal{grid-column:1/-1;border-top:1px solid #38352E;padding-top:20px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:#8B8778;text-transform:uppercase}

.panel-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:44px}

/* --- responsive -------------------------------------------------- */
@media (max-width:1100px){
  .register .r-name{width:auto}
  .entry-row{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
  .entry-sec{grid-column:1/-1}
}
@media (max-width:900px){
  body{font-size:17px}
  .wrap{padding-inline:22px}
  .measure,.prose-block{padding-inline:22px}
  .lead-feature{grid-template-columns:1fr;gap:28px;padding-block:34px 30px}
  .lead-figure img{aspect-ratio:16/9;flex:0 0 auto;min-height:0}
  .fmt{grid-template-columns:1fr;gap:24px;padding:34px 22px}
  .foot .wrap{grid-template-columns:1fr;gap:32px}
  .article-figure--inset{float:none;width:100%;margin:6px 0 26px}
  .article-figure--inset img{aspect-ratio:4/3}
  .full-fig img{aspect-ratio:16/9}
  .sponsors{grid-template-columns:1fr}
  .panel-split{grid-template-columns:1fr;gap:26px}
  .timeline li,.entry-row{grid-template-columns:1fr}
  .entry-row{margin-inline:0;padding-inline:0}
  .prose-block p{font-size:18px}
}
@media (max-width:760px){
  /* register tables collapse to stacked records */
  .register,.datatable,.versus{display:block}
  .register{margin-inline:0;width:100%}
  .register td:first-child,.register th:first-child{padding-left:0}
  .register td:last-child,.register th:last-child{padding-right:0}
  .register thead,.datatable thead,.versus thead{display:none}
  .register tbody,.datatable tbody,.versus tbody,
  .register tr,.datatable tr,.versus tr{display:block;width:100%}
  .register tr,.datatable tr,.versus tr{border-bottom:1px solid var(--stone);padding-block:14px}
  .register td,.datatable td,.versus td{display:block;border:0;padding:4px 0}
  .register .r-no{padding-top:0}
  .register td[data-th]::before,.datatable td[data-th]::before,.versus td[data-th]::before{
    content:attr(data-th);display:block;font-family:var(--mono);font-size:10.5px;
    letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute);padding-bottom:4px}
  .register tr:hover td,.datatable tr:hover td{background:transparent}
  .sponsor{grid-template-columns:1fr;gap:14px;align-items:start}
  .sponsor img{width:100%;height:52px}
  .pullquote{padding:24px}
  .lead-figure figcaption,.full-fig figcaption,.article-figure figcaption{grid-template-columns:1fr}
  .credit{text-align:left;white-space:normal}
  .statements li{grid-template-columns:1fr;gap:4px}
  .notes-band{padding-block:32px}
  .art-head h1{max-width:none}
}
@media print{
  .strip,.nav,.sponsors{display:none}
  body{background:#fff}
}

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

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   2427px at 390, 14% of the whole page. Two columns bring it to
   1298px (47% shorter). Checked before writing: no new overflow, smallest mark still
   125px wide, longest blurb 3 lines, tile heights 183-208px.
   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 (.sponsors), 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){
  .sponsors{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important}
    .sponsors > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsors > * *{min-width:0!important;max-width:100%}
    .sponsors img,.sponsors svg{max-width:100%;height:auto}
  .sponsors .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 696px (85 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .prose-block) 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){
  main div.prose-block{--measure:min(899px, 100%)!important}
}
@media (min-width:1600px){
  main div.prose-block{--measure:min(clamp(899px, 62.431vw, 1079px), 100%)!important}
  main div.prose-block > :is(p:not([class])){font-size:clamp(19px,1.3194vw,22.8px)!important}
}
/* op-article-width:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div > div.fmt-thumbs > img,
  div.prose-block > figure.article-figure.article-figure--inset > img,
  div.prose-block > figure.article-figure.article-figure--wide > img,
  div.wrap > figure.full-fig > img,
  section.lead-feature > figure.lead-figure > img){height:auto}
/* op-img-dims:end */
@media (min-width:921px) and (max-width:999px){.sponsors.sponsors > .sponsor[data-partner]{grid-template-columns:minmax(0,236px) minmax(0,1fr)!important}}
@media (min-width:780px) and (max-width:959px){.sponsors:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))!important;gap:var(--sp-gap,14px)!important;justify-content:start!important}.sponsors:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}@media (min-width:700px) and (max-width:779px){.sponsors:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--sp-gap,16px)!important}.sponsors:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}
