/* amergeog.org — Ground Truth Register
   Palette (5, each with a job):
     --ground    #101518  slate      page ground
     --ink       #E8E2D4  vellum     type
     --accent    #17A673  plot green saturated, hue ~162
     --secondary #E3A02F  ochre      saturated, hue ~40 (122 deg from accent)
     --quiet     #7C878C  zinc       credits, meta                             */

:root{
  --ground:#101518;
  --panel:#161E22;
  --panel-2:#1B2429;
  --ink:#E8E2D4;
  --body:#C4C8C2;
  --accent:#17A673;
  --accent-ink:#08110D;
  --secondary:#E3A02F;
  --secondary-ink:#1A1408;
  --quiet:#7C878C;
  --rule:#263238;
  --rule-strong:#E8E2D4;
  --mono:'Azeret Mono',ui-monospace,Menlo,Consolas,monospace;
  --sans:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;
  --wrap:1180px;
  --measure:68ch;
  --step:clamp(18px,1.15vw,20px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--body);
  font-family:var(--sans);font-size:var(--step);line-height:1.65;
  font-synthesis-weight:none;overflow-x:hidden;
}
img{max-width:100%;display:block}
p{text-wrap:pretty}
h1,h2,h3,h4{color:var(--ink);font-weight:600;letter-spacing:-0.025em;line-height:1.08;margin:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
hr{border:0;border-top:1px solid var(--rule);margin:40px 0}
svg{flex:0 0 auto}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.wrap-wide{max-width:1420px;margin-inline:auto;padding-inline:24px}
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent);display:flex;align-items:center;gap:8px;
}
.eyebrow--quiet{color:var(--quiet)}
.band-head{
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  border-bottom:1px solid var(--rule-strong);padding-bottom:10px;margin-bottom:0;
}
.band-head h2{font-size:clamp(22px,2.2vw,28px)}
.band-head .band-note{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--quiet);margin-left:auto;
}
.band{padding:56px 0 0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;z-index:99}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule)}
.masthead__top{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px 0 16px;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand__mark{color:var(--accent)}
.brand__name{font-size:clamp(22px,2.4vw,28px);font-weight:600;letter-spacing:-0.035em;color:var(--ink)}
.brand__strap{
  font-family:var(--mono);font-size:11.5px;line-height:1.45;color:var(--quiet);
  border-left:1px solid var(--rule);padding-left:13px;max-width:34ch;
}
.masthead__meta{font-family:var(--mono);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent)}
.nav{border-top:1px solid var(--rule);display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;text-transform:uppercase}
.nav a{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:12px 18px;border-right:1px solid var(--rule);color:var(--body)}
.nav a:first-child{padding-left:0}
.nav a:hover{color:var(--ink);text-decoration:none;background:var(--panel)}
.nav a svg{color:var(--accent)}
.nav a[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
.nav a[aria-current="page"] svg{color:var(--accent-ink)}
.nav .nav__index{margin-left:auto;border-right:0;padding-right:0;color:var(--quiet)}
.nav .nav__index svg{color:var(--quiet)}

/* ---------- lead ---------- */
.lead-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;border-bottom:1px solid var(--rule)}
.lead-grid__text{padding:44px 44px 44px 0;border-right:1px solid var(--rule)}
.lead-grid h1{font-size:clamp(34px,4.6vw,60px);letter-spacing:-0.04em;margin:16px 0 0;max-width:20ch}
.lead-grid .dek{font-size:clamp(18px,1.5vw,21px);line-height:1.5;margin:18px 0 0;max-width:56ch;color:var(--body)}
.lead-grid__fig{padding:0}

/* the signature: source scale + method, stated before the claim */
.record{
  display:flex;flex-wrap:wrap;gap:0 36px;font-family:var(--mono);
  border-top:1px solid var(--rule);padding-top:14px;margin-top:26px;
}
.record__k{display:block;font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--quiet)}
.record__v{display:block;font-size:16px;color:var(--secondary);margin-top:5px}
.record--stacked{flex-direction:column;gap:14px}
.record--stacked > div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:9px}
.record--stacked .record__k{font-size:11.5px;color:var(--body);text-transform:none;letter-spacing:0}
.record--stacked .record__v{margin-top:0;font-size:14px}

.btn{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;
  letter-spacing:0.06em;text-transform:uppercase;background:var(--accent);color:var(--accent-ink);
  padding:12px 18px;margin-top:26px;
}
.btn:hover{background:var(--ink);text-decoration:none}
.btn--ghost{background:none;color:var(--accent);border-bottom:1px solid var(--accent);padding:0 0 3px}
.btn--ghost:hover{background:none;color:var(--ink);border-color:var(--ink)}

/* ---------- register table ---------- */
.register{border-top:1px solid var(--rule-strong);margin-top:16px}
.register__head,.register__row{
  display:grid;grid-template-columns:74px minmax(0,1fr) 190px 108px 176px;gap:20px;
  padding:14px 0;border-bottom:1px solid var(--rule);align-items:baseline;
}
.register__head{font-family:var(--mono);font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--quiet);padding:10px 0}
.register__row:hover{background:var(--panel);text-decoration:none}
.register__ref{font-family:var(--mono);font-size:13px;color:var(--accent)}
.register__subject{font-size:19px;font-weight:600;letter-spacing:-0.02em;line-height:1.28;color:var(--ink)}
.register__subject small{display:block;font-family:var(--mono);font-size:11.5px;font-weight:400;letter-spacing:0;color:var(--quiet);margin-top:5px}
.register__cell{font-family:var(--mono);font-size:12px;color:var(--body);line-height:1.45}
.register__cell--num{color:var(--secondary)}

/* ---------- section index ---------- */
.sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:20px}
.section-card{display:flex;gap:16px;padding:22px;background:var(--ground)}
.section-card:hover{background:var(--panel);text-decoration:none}
.section-card svg{color:var(--accent);margin-top:2px}
.section-card__body{flex:1 1 auto;min-width:0}
.section-card h3{font-size:20px}
.section-card p{margin:5px 0 0;font-size:16px;line-height:1.45;color:var(--body)}
.section-card__n{font-family:var(--mono);font-size:12px;color:var(--quiet)}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px;margin-top:24px}
.card{display:flex;flex-direction:column;height:100%;background:var(--panel);border:1px solid var(--rule)}
.card:hover{border-color:var(--accent);text-decoration:none}
.card__img{aspect-ratio:1.6;width:100%;object-fit:cover;filter:saturate(0.85) contrast(1.03)}
.card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:16px 18px 18px}
.card h3{font-size:19px;line-height:1.2;min-height:2.4em}
.card p{font-size:15.5px;line-height:1.45;margin:8px 0 0;color:var(--body)}
.card__meta{
  margin-top:auto;padding-top:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--quiet);display:flex;gap:10px;flex-wrap:wrap;align-items:center;
}
.card__meta .dot{color:var(--rule)}

/* ---------- figures: three treatments, one drawing system ---------- */
figure{margin:0}
figcaption{margin-top:12px}
.cap{font-size:16.5px;line-height:1.5;color:var(--ink);max-width:62ch;margin:0}
.credit{
  display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--quiet);margin-top:8px;
}
.article-figure img,.fig-plate img,.fig-band img,.fig-inset img{width:100%;object-fit:cover}

/* 1 — plate: image on a panel with a mono data strip beneath */
.fig-plate{background:var(--panel);border:1px solid var(--rule);margin:40px 0}
.fig-plate img{aspect-ratio:2.2;border-bottom:1px solid var(--rule)}
.fig-plate figcaption{display:flex;gap:28px;align-items:baseline;padding:16px 20px;margin:0;flex-wrap:wrap}
.fig-plate .credit{margin:0 0 0 auto;text-align:right}

/* 2 — band: letterbox that breaks the measure, caption on ochre */
.fig-band{margin:48px 0}
.fig-band img{aspect-ratio:3}
.fig-band figcaption{
  background:var(--secondary);color:var(--secondary-ink);padding:16px 24px;margin:0;
  display:flex;gap:28px;align-items:center;flex-wrap:wrap;
}
.fig-band .cap{color:var(--secondary-ink);font-weight:500;max-width:74ch}
.fig-band .credit{color:var(--secondary-ink);opacity:.72;margin:0 0 0 auto;text-align:right}

/* 3 — inset: column-width or smaller on an accent rule */
.fig-inset{border-left:4px solid var(--accent);padding-left:18px;margin:36px 0}
.fig-inset img{aspect-ratio:1.6}
.fig-inset .cap{font-size:16px}
.fig-inset--right{max-width:360px;float:right;margin:8px 0 24px 32px}

.article-figure{background:var(--panel);border:1px solid var(--rule)}
.article-figure img{aspect-ratio:1.6;border-bottom:1px solid var(--rule)}
.article-figure figcaption{padding:16px 20px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:36px 0}
.gallery figure{background:var(--panel);border:1px solid var(--rule)}
.gallery img{aspect-ratio:1.5;width:100%;object-fit:cover}
.gallery figcaption{padding:12px 14px}
.gallery .cap{font-size:15px}

/* ---------- article ---------- */
.article-head{border-bottom:1px solid var(--rule);padding:36px 0 30px}
.article-head h1{font-size:clamp(32px,4.4vw,58px);letter-spacing:-0.04em;margin:14px 0 0;max-width:19ch}
.article-head .dek{font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--body);margin:18px 0 0;max-width:54ch}
.byline{
  font-family:var(--mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--quiet);margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;
}
.prose{max-width:var(--measure);font-size:calc(var(--step) + 1px);line-height:1.7}
.prose p{margin:0 0 22px}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:44px 0 16px;letter-spacing:-0.03em}
.prose h3{font-size:21px;margin:32px 0 12px}
.prose a{color:var(--accent);border-bottom:1px solid rgba(23,166,115,.45)}
.prose a:hover{color:var(--ink);border-color:var(--ink);text-decoration:none}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin:0 0 8px}
.prose strong{color:var(--ink)}
.article-body{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-top:34px}
.full{max-width:none}

.lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--ink);max-width:54ch}
.pullquote{margin:38px 0;border-left:4px solid var(--secondary);padding:2px 0 2px 22px;max-width:60ch}
.pullquote p{font-size:clamp(22px,2.3vw,27px);line-height:1.32;color:var(--ink);font-weight:500;letter-spacing:-0.025em;margin:0}
.blockquote{margin:34px 0;background:var(--panel);border:1px solid var(--rule);padding:22px 24px;max-width:64ch}
.blockquote p{margin:0;font-size:18px;line-height:1.55;color:var(--ink)}
.blockquote cite{display:block;margin-top:12px;font-family:var(--mono);font-size:12px;font-style:normal;color:var(--quiet)}
.callout{
  margin:36px 0;background:var(--accent);color:var(--accent-ink);padding:22px 26px;max-width:70ch;
}
.callout p{margin:0;font-size:18.5px;line-height:1.5;font-weight:500}
.note{
  font-family:var(--mono);font-size:14px;line-height:1.6;color:var(--quiet);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:14px 0;max-width:62ch;
}

/* notes-for-design material: full-width interruptions, never a standing rail */
.record-strip{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);margin:0 0 8px;
}
.record-strip > div{background:var(--panel);padding:14px 16px}
.record-strip dt{font-family:var(--mono);font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--quiet)}
.record-strip dd{margin:6px 0 0;font-family:var(--mono);font-size:14px;color:var(--secondary)}
.interrupt{
  margin:48px 0;border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule);
  background:var(--panel);
}
.interrupt__head{
  display:flex;align-items:baseline;gap:14px;padding:14px 22px;border-bottom:1px solid var(--rule);
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);
}
.interrupt__head .n{color:var(--quiet)}
.interrupt__list{margin:0;padding:8px 22px 20px;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 32px}
.interrupt__list li{border-bottom:1px solid var(--rule);padding:14px 0;font-size:16.5px;line-height:1.5}
.interrupt__list li:last-child{border-bottom:0}
.interrupt__list b{display:block;color:var(--ink);font-weight:600;font-size:17px;margin-bottom:3px}

/* ---------- data components ---------- */
.datatable,.versus{width:100%;border-collapse:collapse;margin:34px 0;font-size:16px}
.datatable caption,.versus caption{
  text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--quiet);padding-bottom:10px;
}
.datatable th,.versus th{
  text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--quiet);font-weight:400;border-bottom:1px solid var(--rule-strong);padding:10px 14px 10px 0;
}
.datatable td,.versus td{border-bottom:1px solid var(--rule);padding:13px 14px 13px 0;vertical-align:top;color:var(--body)}
.datatable tbody tr:hover td{background:var(--panel)}
.datatable td:first-child,.versus td:first-child{color:var(--ink)}
.versus td + td{font-family:var(--mono);font-size:14px}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:34px 0}
.statblock{background:var(--panel);padding:20px}
.stat-num{display:block;font-family:var(--mono);font-size:clamp(26px,3vw,34px);color:var(--secondary);line-height:1}
.stat-label{display:block;margin-top:10px;font-size:15px;line-height:1.4;color:var(--body)}
.timeline{list-style:none;margin:34px 0;padding:0;border-top:1px solid var(--rule-strong)}
.timeline li{display:grid;grid-template-columns:minmax(140px,240px) minmax(0,1fr);gap:24px;padding:15px 0;border-bottom:1px solid var(--rule)}
.t-when{font-family:var(--mono);font-size:12.5px;letter-spacing:0.04em;color:var(--accent);line-height:1.45}
.t-what{font-size:16.5px;line-height:1.5}
.chart{margin:34px 0;background:var(--panel);border:1px solid var(--rule);padding:20px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{margin-top:14px}

/* ---------- cards / references ---------- */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:32px 0}
.profile-card{background:var(--panel);border:1px solid var(--rule);padding:20px;display:flex;flex-direction:column;height:100%}
.profile-card .p-photo{width:72px;height:72px;object-fit:cover;margin-bottom:14px;filter:grayscale(.3)}
.profile-card h3{font-size:19px}
.profile-card .p-role{font-family:var(--mono);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin:6px 0 10px}
.profile-card p{font-size:15.5px;line-height:1.5;margin:0 0 10px}
.profile-card .p-links{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:12px}
.profile-card .p-attr{font-family:var(--mono);font-size:11px;color:var(--quiet)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:30px 0}
.org-card{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--rule);padding:14px 16px}
.org-card:hover{border-color:var(--accent);text-decoration:none}
.org-logo{width:44px;height:44px;object-fit:contain;background:var(--panel-2)}
.org-name{display:block;color:var(--ink);font-weight:600;font-size:16px;line-height:1.2}
.org-host{display:block;font-family:var(--mono);font-size:11.5px;color:var(--quiet);margin-top:4px}
.entity-ref{color:var(--accent);border-bottom:1px solid rgba(23,166,115,.45)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:26px 0}
.further-grid a{background:var(--ground);padding:18px 20px;font-size:17.5px;line-height:1.35;color:var(--ink);font-weight:600;letter-spacing:-0.02em}
.further-grid a:hover{background:var(--panel);text-decoration:none}
.related-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.related-links li{background:var(--ground)}
.related-links a{display:block;padding:18px 20px;height:100%}
.related-links a:hover{background:var(--panel);text-decoration:none}
.related-links .rl-sec{font-family:var(--mono);font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:7px}
.related-links .rl-title{display:block;margin-top:8px;font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-0.02em;line-height:1.25}
.cat-list{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--rule-strong)}
.cat-list li{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:74px minmax(0,1fr) 130px;gap:20px;padding:18px 0;align-items:baseline}
.cat-list a:hover{background:var(--panel);text-decoration:none}
.cat-list .ref{font-family:var(--mono);font-size:13px;color:var(--accent)}
.cat-list .t{font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-0.02em;line-height:1.25}
.cat-list .b{display:block;margin-top:6px;font-size:16px;line-height:1.45;color:var(--body);font-weight:400;letter-spacing:0}
.cat-list .m{font-family:var(--mono);font-size:11.5px;color:var(--quiet);text-transform:uppercase;letter-spacing:0.06em}

/* collapsible long list, CSS only */
.expander{margin-top:18px}
.expander summary{
  font-family:var(--mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);
  cursor:pointer;padding:12px 0;border-bottom:1px solid var(--rule);list-style:none;
}
.expander summary::-webkit-details-marker{display:none}
.expander summary::after{content:" +"}
.expander[open] summary::after{content:" −"}

/* ---------- supporters ---------- */
.supporters{padding-top:56px}
.supporters__head{border-top:1px solid var(--rule-strong);padding-top:16px}
.supporters__head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.supporters__head h2{font-size:20px}
.supporters__head .band-note{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--quiet);margin-left:auto}
.sponsor-row{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:16px}
.sponsor{flex:1 1 260px;display:flex;flex-direction:column;background:var(--ground);padding:16px;min-width:0}
.sponsor:hover{background:var(--panel);text-decoration:none}
.sponsor img{
  width:100%;max-width:230px;height:48px;max-height:48px;object-fit:contain;object-position:left center;
  background:var(--panel-2);padding:8px 10px;
}
.sponsor-name{display:block;margin-top:12px;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-0.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sponsor-blurb{display:block;margin-top:6px;font-size:14.5px;line-height:1.45;color:var(--quiet);min-height:2.9em}

/* ---------- footer ---------- */
.foot{margin-top:72px;border-top:1px solid var(--rule);background:var(--panel);padding:34px 0 44px}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:32px}
.foot h4{font-family:var(--mono);font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--quiet);font-weight:400}
.foot ul{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:16px}
.foot p{font-size:15.5px;line-height:1.55;margin:12px 0 0;max-width:44ch;color:var(--quiet)}
.foot__brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-weight:600;font-size:18px;letter-spacing:-0.03em}
.foot__brand svg{color:var(--accent)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .register__head,.register__row{grid-template-columns:60px minmax(0,1fr) 150px 92px}
  .register__head span:nth-child(5),.register__row .register__cell--note{display:none}
  .lead-grid{grid-template-columns:minmax(0,1fr)}
  .lead-grid__text{padding:34px 0;border-right:0}
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  :root{--step:17px}
  .wrap,.wrap-wide{padding-inline:20px}
  .masthead__meta{display:none}
  .brand__strap{display:none}
  .nav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .nav a{padding:11px 14px;white-space:nowrap}
  .nav a:first-child{padding-left:0}
  .nav .nav__index{margin-left:0}
  .register__head{display:none}
  .register__row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0}
  .register__ref{font-size:12px}
  .register__cell{font-size:11.5px}
  .register__row .register__cell--note{display:block}
  .fig-plate img{aspect-ratio:1.6}
  .fig-band img{aspect-ratio:1.9}
  .fig-plate figcaption,.fig-band figcaption{flex-direction:column;gap:8px;align-items:flex-start}
  .fig-plate .credit,.fig-band .credit{margin:0;text-align:left}
  .fig-inset--right{float:none;max-width:none;margin:32px 0}
  .cat-list a{grid-template-columns:52px minmax(0,1fr)}
  .cat-list .m{grid-column:2;margin-top:-6px}
  .timeline li{grid-template-columns:minmax(0,1fr);gap:6px}
  .interrupt__list{padding:8px 16px 16px}
  .interrupt__head{padding:12px 16px}
  .foot__grid{grid-template-columns:minmax(0,1fr)}
  .record{gap:0 24px}
}
@media print{
  body{background:#fff;color:#111}
  .nav,.supporters,.foot{display:none}
}

/* images shipped at their own crop are not re-cropped by the build */
.fig-plate.nat img,.fig-band.nat img,.fig-inset.nat img{aspect-ratio:auto;height:auto}
.lead-grid__fig .fig-plate{display:flex;flex-direction:column}
.lead-grid__fig .fig-plate img{flex:1 1 auto;min-height:0;object-fit:cover;aspect-ratio:auto;border-bottom:1px solid var(--rule)}
.lead-grid__fig figcaption{padding:16px 20px}
@media (max-width:1080px){.lead-grid__fig .fig-plate{border-left:0 !important}}
.prose > .fig-band,.prose > .fig-plate,.prose > .interrupt{max-width:none}
.prose > .fig-band,.prose > .interrupt{width:min(100%,900px)}
.prose::after{content:"";display:block;clear:both}

.nav::-webkit-scrollbar{display:none}

.profile-card.no-photo{border-left:4px solid var(--accent)}
.org-card.no-logo{border-left:4px solid var(--accent)}
.chart.donut svg{width:240px;height:240px}

@media (max-width:760px){.sponsor{flex:1 1 100%}.sponsor img{max-width:none}}

@media (max-width:760px){
  .datatable,.versus{font-size:14px;table-layout:fixed}
  .datatable th,.datatable td,.versus th,.versus td{padding-right:10px;overflow-wrap:anywhere}
  .statrow{grid-template-columns:minmax(0,1fr)}
  .record-strip{grid-template-columns:minmax(0,1fr)}
  .gallery{grid-template-columns:minmax(0,1fr)}
  .article-head{padding-top:26px}
  .profile-card .p-photo{width:56px;height:56px}
}

/* headings and full-width breaks never wrap around a floated inset */
.prose h2,.prose h3,.prose .fig-band,.prose .fig-plate,.prose .interrupt,.prose .statrow,.prose .record-strip{clear:both}
.prose > p:last-child{margin-bottom:0}
.fig-inset--right figcaption{margin-top:10px}
.fig-inset--right .cap{font-size:15.5px}
.interrupt__list li:only-child{border-bottom:0}
@media (max-width:900px){
  .fig-inset--right{float:none;max-width:none;margin:32px 0}
}
@media (max-width:560px){
  .article-head h1{letter-spacing:-0.03em}
  .fig-plate img{aspect-ratio:1.5}
  .fig-band img{aspect-ratio:1.6}
  .register__subject{font-size:17px}
  .cat-list a{padding:15px 0}
  .cat-list .t{font-size:18px}
  .btn{width:100%;justify-content:center}
}

@media (max-width:1040px){
  .nav a{padding:12px 13px}
  .nav a:first-child{padding-left:0}
  .brand__strap{max-width:26ch}
}


/* sp-mark-align: marks centre in their box — only object-position is overridden */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto;margin-right:auto}

/* 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-footer-compact: the footer printed 6 rows for 6 link(s) in
   1 list(s) — 640px at 390, 6% 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 640 -> 427px (33% 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(9px,2.22vw,32px)!important;row-gap:8px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1882px at 390, 19% of the whole page. Two columns bring it to
   1254px (33% shorter). Checked before writing: no new overflow, smallest mark still
   135px wide, longest blurb 3 lines, tile heights 159-190px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sponsor-row), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sponsor-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:1px!important}
    .sponsor-row > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-row > * *{min-width:0!important;max-width:100%}
    .sponsor-row img,.sponsor-row svg{max-width:100%;height:auto}
  .sponsor-row .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-odd-tier-lead: .sponsor-row (7 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sponsor-row:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-name-wrap: at 320 the money tile truncated its brand name — "Brazzers Exxtra" — losing up to 11px to an
   ellipsis. The name is allowed to wrap instead of being cut: a brand that reads as half a word
   is worse than a brand on two lines. Structural only, phone widths only, desktop untouched. */
@media (max-width:360px){
  .sponsor-name{white-space:normal!important;overflow-wrap:anywhere;text-overflow:clip}
}

/* op-page-overflow: the page scrolled sideways at 320 — a.section-card reached
   341px in a 320px screen (+21px), inside
   div.sections. Remedy: unpin the grid track. Structural only, no spacing value of mine;
   tried in order and this is the first that held, with the page's visible copy unchanged.
   Phone widths only — desktop is re-measured after writing and must not move. */
@media (max-width:360px){
  div.sections{grid-template-columns:minmax(0,1fr)!important}
  a.section-card{min-width:0!important;max-width:100%!important}
}

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

/* op-hover-pad */
.cat-list a{padding-left:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */
/* op-heading-levels */
h2:where(.rt-h3){color: var(--ink); font-weight: 600; letter-spacing: -0.025em; line-height: 1.08; margin: 0px;}
.prose h2:where(.rt-h3){font-size: 21px; margin: 32px 0px 12px;}
.prose h2:where(.rt-h3){clear: both;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.article-body > figure.fig-plate > img,
  div.band > figure.fig-plate > img,
  div.card-grid > a.card > img.card__img,
  div.lead-grid__fig > figure.fig-plate.nat > img,
  div.prose > figure.fig-band > img,
  div.prose > figure.fig-band.nat > img,
  div.prose > figure.fig-inset.fig-inset--right > img,
  div.prose > figure.fig-inset.fig-inset--right.nat > img,
  div.prose > figure.fig-plate.nat > img,
  div.wrap-wide > figure.fig-band.nat > img){height:auto}
/* op-img-dims:end */
