/* observer-online.com — The Register */



:root{
  /* palette — 5 members, each with a job */
  --ground:#121517;      /* ground: basalt, the page */
  --plate:#E9E4D8;       /* secondary ground: ash paper panels */
  --ink:#E9E4D8;         /* ink on ground */
  --ink-plate:#15181A;   /* ink on plate */
  --accent:#E39A12;      /* accent: pumice marigold (saturated, hue ~40) */
  --flag:#2E45C9;        /* flag: contested / indigo (saturated, hue ~230) */
  --rule:#2B3033;
  --muted:#A8A296;
  --muted-2:#8A8578;
  --muted-plate:#6E6455;
  --panel:#1A1E20;
  --display:'Familjen Grotesk',system-ui,sans-serif;
  --text:Vollkorn,Georgia,serif;
  --data:'Space Mono',ui-monospace,monospace;
  --pad:clamp(20px,5vw,52px);
  --measure:70ch;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font:400 19px/1.62 var(--text);
  text-wrap:pretty;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.03em;margin:0;line-height:1.05}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:var(--pad)}
.wide{max-width:1440px;margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--data)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--accent);color:var(--ground);padding:10px 14px;z-index:20}

/* ---------- icons: one drawing system, 24-grid, 1.6 stroke ---------- */
.ico{width:1.35em;height:1.35em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.28em}
.ico-lg{width:44px;height:44px;stroke-width:1.3}
.mark{width:64px;height:64px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}

/* ---------- masthead + header ---------- */
.masthead{padding:clamp(26px,4vw,44px) 0 20px}
.masthead-in{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:20px;color:var(--accent)}
.brand-name{font-family:var(--display);font-weight:700;letter-spacing:-.045em;line-height:.98;color:var(--ink);font-size:clamp(30px,4.6vw,56px);white-space:nowrap}
.brand-name span{display:block}
.standing-line{font-size:17px;line-height:1.4;color:var(--muted);max-width:34ch;margin:0}
.masthead--compact{padding:18px 0 14px;border-bottom:1px solid var(--ink)}
.masthead--compact .brand-name{font-size:clamp(26px,3.4vw,32px)}
.masthead--compact .mark{width:38px;height:38px;stroke-width:2.2}
.masthead--compact .standing-line{font-size:15px;max-width:30ch}

/* seven rows, one per section: icon + name, entries strung along the line */
.rows{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.row{display:grid;grid-template-columns:minmax(200px,240px) 1fr;gap:8px 26px;align-items:baseline;
  padding:12px var(--pad);border-bottom:1px solid var(--rule);max-width:1240px;margin:0 auto}
.rows .row:last-child{border-bottom:0}
.row:hover{background:var(--panel)}
.row-name{display:flex;align-items:center;gap:11px;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em}
.row-name .ico{color:var(--accent)}
.row-entries{display:flex;flex-wrap:wrap;font-size:16px;color:var(--muted)}
.row-entries a{padding:2px 16px;border-left:1px solid var(--rule)}
.row-entries a:first-child{padding-left:0;border-left:0}
.row[aria-current="true"] .row-name{color:var(--accent)}
.row-entries a[aria-current="page"]{color:var(--accent)}

/* compact nav for inner pages */
.subnav{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.subnav-in{display:flex;flex-wrap:wrap;gap:6px 22px;padding:11px 0;font-family:var(--data);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.subnav-in a{display:flex;align-items:center;gap:7px}
.subnav-in a[aria-current="page"]{color:var(--accent)}

/* ---------- generic band furniture ---------- */
.band{padding:clamp(38px,5vw,64px) 0}
.band--tight{padding:clamp(26px,3vw,36px) 0}
.band-head{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:baseline;justify-content:space-between;
  border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:clamp(22px,3vw,34px)}
.band-head h2{font-size:clamp(24px,3vw,32px);display:flex;align-items:center;gap:12px}
.band-head h2 .ico{color:var(--accent)}
.kicker{font-family:var(--data);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:9px}
.kicker--quiet{color:var(--muted-2)}
.no{font-family:var(--data);color:var(--accent)}
.more{font-family:var(--data);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.rule-accent{height:4px;background:var(--accent);border:0;margin:0}

/* ---------- lead feature ---------- */
.lead-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,3vw,44px);align-items:start}
.lead-feature h1{font-size:clamp(34px,4.6vw,58px);margin-top:14px}
.lead-feature .lead{margin-top:16px;font-size:20px;line-height:1.5;color:var(--muted)}
.lead-cta{display:inline-block;margin-top:22px;background:var(--accent);color:var(--ground);
  font-family:var(--data);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;padding:12px 18px}
.lead-cta:hover{text-decoration:none;background:var(--plate)}

/* ---------- figure system: three treatments, one drawing ---------- */
figure{margin:0}
figcaption{font-size:16.5px;line-height:1.45;color:var(--muted)}
.credit{display:block;margin-top:7px;font-family:var(--data);font-size:11.5px;letter-spacing:.05em;color:var(--muted-2)}
.cap-kicker{font-family:var(--data);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:6px}

/* 1 — plate: photograph sits on an ash mat with a numbered tab */
.fig-plate{position:relative;background:var(--plate);color:var(--ink-plate);padding:18px 18px 22px;margin-top:18px}
.fig-plate>img{aspect-ratio:16/10;object-fit:cover;width:100%}
.fig-plate .tab{position:absolute;top:-1px;left:-1px;background:var(--flag);color:#EEF1FF;
  font-family:var(--data);font-size:13px;padding:6px 11px}
.fig-plate.has-tab>img{margin-top:14px}
.fig-plate figcaption{margin-top:14px;color:#2E2A24;max-width:66ch}
.fig-plate .credit{color:#8A8272}

/* 2 — bleed: breaks the measure, caption under a marigold rule */
.fig-bleed{margin:clamp(30px,4vw,48px) 0}
.fig-bleed>img{width:100%;max-height:64vh;object-fit:cover}
.fig-bleed .cap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,290px);gap:12px 32px;align-items:start;padding-top:14px}
.fig-bleed figcaption{max-width:62ch}

/* 3 — inset: hairline frame, sits in the column, caption hangs */
.fig-inset{margin:26px 0;border:1px solid var(--rule);padding:12px}
.fig-inset>img{aspect-ratio:3/2;object-fit:cover;width:100%}
.fig-inset figcaption{margin-top:12px;padding-left:16px;border-left:2px solid var(--accent);font-size:16px}
@media(min-width:900px){
  .fig-inset{float:right;width:340px;margin:8px 0 22px 34px}
}

/* map figure */
.map-figure{margin:clamp(26px,3vw,40px) 0}
.map-slot{min-height:280px}
.map-figure figcaption{margin-top:12px}
.mapwrap{background:var(--panel);border:1px solid var(--rule);padding:10px}
.map-svg{width:100%;height:auto;display:block}
.map-svg .land{fill:#4A443A;stroke:#6E6A60;stroke-width:2}
.map-svg .pin{fill:var(--accent);r:16}
.map-svg .pin.on{fill:var(--accent);r:22}
.map-svg .pin-ring{fill:none;stroke:var(--accent);stroke-width:5;opacity:.6;r:42}

.map-key{list-style:none;margin:0;padding:0}
.map-key li{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--rule)}
.map-key .k-no{font-family:var(--data);font-size:13px;color:var(--accent)}
.map-key .k-name{font-family:var(--display);font-weight:600;font-size:17px}
.map-key .k-co{font-family:var(--data);font-size:12.5px;color:var(--muted-2)}

/* ---------- cards (even height) ---------- */
.card-grid{display:grid;gap:clamp(20px,2.4vw,32px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--rule);height:100%}
.card>img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-body{display:flex;flex-direction:column;gap:9px;padding:18px 20px 20px;flex:1}
.card h3{font-size:22px;min-height:2.3em}
.card p{font-size:16.5px;color:var(--muted);flex:1}
.card .card-meta{margin-top:auto;font-family:var(--data);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px}
.card:hover{border-color:var(--muted-2)}
.card:hover h3{text-decoration:underline;text-underline-offset:3px}

/* ---------- register table ---------- */
.plate{background:var(--plate);color:var(--ink-plate);padding:clamp(20px,2.6vw,34px)}
.plate h2,.plate h3{color:var(--ink-plate)}
.register{width:100%;border-collapse:collapse;font-size:17px}
.register caption{text-align:left;font-family:var(--data);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted-plate);padding-bottom:10px}
.register th{text-align:left;font-family:var(--data);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:400;color:#7A7160;border-bottom:1px solid #C3BAA6;padding:9px 14px 9px 0}
.register td{padding:14px 14px 14px 0;border-bottom:1px solid #D6CDBA;vertical-align:baseline}
.register tr:last-child td,.register tr:last-child th{border-bottom:0}
.register .r-no{font-family:var(--data);font-size:13.5px;color:var(--flag);white-space:nowrap}
.register .r-name{font-family:var(--display);font-weight:600;font-size:18px}
.register .r-co{font-family:var(--data);font-size:12.5px;color:var(--muted-plate);white-space:nowrap}
.register .r-note{color:#4A443A}

/* ---------- flag panel (contested) ---------- */
.flagpanel{background:var(--flag);color:#EEF1FF;padding:clamp(30px,4vw,52px) 0}
.flagpanel h2{font-size:clamp(26px,3.4vw,40px)}
.flagpanel .kicker{color:#C3CBFF}
.flagpanel .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.flagpanel p{color:#DDE2FF;font-size:18px;line-height:1.55;margin-top:16px}
.agerow{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.28);font-family:var(--data);font-size:14px}
.agerow:last-child{border-bottom:0}
.agerow b{color:#FFD98A;font-weight:400}

/* ---------- article ---------- */
.article-head{padding:clamp(30px,4vw,52px) 0 0}
.article-head h1{font-size:clamp(32px,5vw,64px);margin-top:16px}
.lead{font-family:var(--text);font-size:clamp(19px,2.1vw,22px);line-height:1.45;color:var(--muted);margin-top:18px;max-width:56ch}
.prose{max-width:var(--measure);margin:0 auto;font-size:19.5px;line-height:1.68}
.prose>*+*{margin-top:22px}
.prose h2{font-size:clamp(24px,2.8vw,31px);margin-top:44px;display:flex;align-items:baseline;gap:12px}
.prose h2::before{content:"";width:22px;height:2px;background:var(--accent);flex:none;transform:translateY(-8px)}
.prose h2:has(.h2-no)::before{display:none}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(227,154,18,.45)}
.prose a:hover{text-decoration-color:var(--accent)}
.prose figure{margin-top:30px}
.prose .full{max-width:none}
.article-body{padding-bottom:20px}
.article-body>.wrap>.prose>p:first-of-type::first-letter{font-family:var(--display);font-weight:700;font-size:3.1em;line-height:.82;float:left;padding:.06em .12em 0 0;color:var(--accent)}

/* notes-for-design material: a data plate that interrupts the prose */
.plate-data{background:var(--panel);border-top:1px solid var(--accent);padding:clamp(22px,3vw,32px);margin:clamp(30px,4vw,44px) 0}
.plate-data>h3{font-size:20px;display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.plate-data>h3 .no{font-size:14px}
.datatable{width:100%;border-collapse:collapse;font-size:17px}
.datatable th,.datatable td{text-align:left;padding:11px 18px 11px 0;border-bottom:1px solid var(--rule);vertical-align:baseline}
.datatable tr:last-child th,.datatable tr:last-child td{border-bottom:0}
.datatable th{font-family:var(--display);font-weight:600;font-size:16.5px;width:38%}
.datatable td{color:var(--muted)}
.datatable td .mono{color:var(--ink)}
.timeline{list-style:none;margin:0;padding:0;counter-reset:t}
.timeline li{display:grid;grid-template-columns:minmax(120px,26%) 1fr;gap:8px 22px;padding:12px 0;border-bottom:1px solid var(--rule)}
.timeline li:last-child{border-bottom:0}
.t-when{font-family:var(--data);font-size:14px;color:var(--accent)}
.t-what{color:var(--muted);font-size:17px}
.statrow{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.statblock{background:var(--ground);padding:18px 20px 20px;display:flex;flex-direction:column;gap:7px}
.stat-num{font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:-.03em;color:var(--accent)}
.stat-label{font-size:15.5px;color:var(--muted);line-height:1.35}
.pullquote{margin:clamp(30px,4vw,44px) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:22px 0}
.pullquote p{font-family:var(--display);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.22;letter-spacing:-.02em}
.blockquote{margin:30px 0;padding-left:22px;border-left:3px solid var(--accent)}
.blockquote p{font-size:19px;font-style:italic}
.blockquote cite{display:block;margin-top:10px;font-family:var(--data);font-size:13px;font-style:normal;color:var(--muted-2)}
.callout{background:var(--flag);color:#EEF1FF;padding:22px 24px;margin:30px 0}
.callout p{font-size:18px;line-height:1.5}
.note{font-size:16.5px;color:var(--muted-2);padding-left:16px;border-left:1px solid var(--rule)}

/* related + further */
.related{border-top:1px solid var(--ink);margin-top:clamp(34px,4vw,52px);padding-top:22px}
.related h2{font-size:20px;margin-bottom:14px}
.related-links,.further-grid{list-style:none;margin:0;padding:0;display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.related-links a,.further-grid a{display:flex;gap:12px;align-items:baseline;background:var(--panel);padding:16px 18px;height:100%;
  font-family:var(--display);font-weight:600;font-size:17.5px}
.related-links a:hover,.further-grid a:hover{background:#22262A;text-decoration:none;color:var(--accent)}
.related-links .ico,.further-grid .ico{color:var(--accent)}
.entity-ref{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* profile / org cards */
.profile-grid,.org-grid{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.profile-card{background:var(--panel);padding:20px;display:flex;flex-direction:column;gap:9px;height:100%}
.profile-card h3{font-size:19px}
.p-role{font-family:var(--data);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.profile-card p{font-size:16.5px;color:var(--muted)}
.p-links{font-size:15px}
.p-links a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.p-attr{font-family:var(--data);font-size:11.5px;color:var(--muted-2)}
.p-photo{aspect-ratio:1;object-fit:cover;width:88px;border-radius:0}
.org-card{background:var(--panel);padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.org-name{font-family:var(--display);font-weight:600;font-size:17px}
.org-host{font-family:var(--data);font-size:12px;color:var(--muted-2)}
.org-logo{max-height:34px;width:auto;object-fit:contain}

/* ---------- supporters rail ---------- */
.feed-with-rail{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:clamp(28px,4vw,56px);align-items:start}
.supporters{border-top:1px solid var(--ink);padding-top:16px;position:sticky;top:22px}
.supporters>h2{font-size:17px;display:flex;align-items:center;gap:10px}
.supporters>h2 .ico{color:var(--accent)}
.sup-note{font-size:15px;color:var(--muted-2);margin-top:8px}
.sup-group{margin-top:22px}
.sup-label{font-family:var(--data);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);
  border-bottom:1px solid var(--rule);padding-bottom:7px}
.sup-list{display:flex;flex-direction:column}
.sponsor{display:flex;flex-direction:column;gap:5px;padding:11px 0;border-bottom:1px solid var(--rule)}
.sponsor:last-child{border-bottom:0}
.sponsor-name{font-family:var(--display);font-weight:600;font-size:16.5px}
.sponsor-blurb{font-size:15px;line-height:1.4;color:var(--muted-2)}
.sponsor:hover .sponsor-name{color:var(--accent)}

/* ---------- hub / category ---------- */
.hub-section{border-top:1px solid var(--ink);padding:clamp(24px,3vw,34px) 0}
.hub-head{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:baseline;justify-content:space-between}
.hub-head h2{font-size:clamp(23px,2.8vw,30px);display:flex;align-items:center;gap:12px}
.hub-head h2 .ico{color:var(--accent)}
.hub-blurb{color:var(--muted);font-size:17px;max-width:52ch}
.cat-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cat-list>li>a{display:flex;flex-direction:column;gap:7px;background:var(--panel);padding:16px 18px;height:100%}
.cat-list>li>a:hover{background:#22262A;text-decoration:none}
.cat-list .c-title{font-family:var(--display);font-weight:600;font-size:18px}
.cat-list .c-brief{font-size:16px;color:var(--muted)}
.cat-hero{width:100%;aspect-ratio:21/9;object-fit:cover}
.section-title{font-size:clamp(38px,6.4vw,78px);margin-top:12px}
.section-intro{font-size:clamp(18px,2vw,21px);line-height:1.5;color:var(--muted);max-width:60ch;margin-top:18px}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--rule);margin-top:clamp(40px,5vw,72px);padding:clamp(28px,3.4vw,44px) 0 52px;color:var(--muted-2)}
.foot-top{display:flex;flex-wrap:wrap;gap:24px 40px;justify-content:space-between;align-items:flex-start}
.foot-brand{display:flex;align-items:center;gap:14px;color:var(--accent)}
.foot-brand span{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em;color:var(--ink)}
.foot-nav{display:grid;gap:8px 34px;grid-template-columns:repeat(auto-fit,minmax(160px,auto));font-size:16px}
.foot-nav a{display:flex;align-items:center;gap:9px}
.foot-nav .ico{color:var(--accent);opacity:.75}
.foot-line{margin-top:26px;padding-top:16px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:10px 28px;
  font-family:var(--data);font-size:12px;letter-spacing:.05em}

/* ---------- forms (contact) ---------- */
.form{display:grid;gap:16px;max-width:520px;margin-top:26px}
.form label{display:grid;gap:7px;font-family:var(--data);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.form input,.form textarea{background:var(--panel);border:1px solid var(--rule);color:var(--ink);
  font:400 17px/1.5 var(--text);padding:11px 13px}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.form button{justify-self:start;background:var(--accent);color:var(--ground);border:0;
  font-family:var(--data);font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;padding:13px 20px;cursor:pointer}

/* collapsible long list */
.expander{margin-top:14px}
.expander summary{font-family:var(--data);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);cursor:pointer}
.expander[open] summary{margin-bottom:12px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .feed-with-rail{grid-template-columns:1fr}
  .supporters{position:static}
  .sup-groups{display:grid;gap:22px 32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}
@media(max-width:860px){
  .lead-feature{grid-template-columns:1fr}
  .flagpanel .split{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;padding-block:14px}
  .row-entries{padding-left:35px;flex-direction:column;gap:4px}
  .row-entries a{padding:2px 0;border-left:0}
  .fig-bleed .cap{grid-template-columns:1fr}
  .prose{font-size:18.5px}
}
@media(max-width:560px){
  body{font-size:18px}
  .fig-inset{float:none;width:auto;margin:24px 0}
  .register,.register th,.register td{display:block;padding-right:0}
  .register thead{display:none}
  .register td{border-bottom:0;padding:2px 0}
  .register tbody tr{display:block;padding:15px 0;border-bottom:1px solid #D6CDBA}
  .register .r-no{display:inline-block;margin-right:10px}
  .register .r-name{display:inline}
  .datatable th,.datatable td{display:block;width:auto;border-bottom:0;padding:2px 0}
  .datatable tbody tr{display:block;padding:12px 0;border-bottom:1px solid var(--rule)}
  .timeline li{grid-template-columns:1fr}
  .map-key li{grid-template-columns:34px 1fr;row-gap:4px}
  .map-key .k-co{grid-column:2}
}
@media print{
  body{background:#fff;color:#111}
  .rows,.supporters,.subnav{display:none}
}

/* ---------- map band ---------- */
.map-band{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(20px,2.6vw,36px);align-items:start}
@media(max-width:700px){.map-band{grid-template-columns:1fr}}

/* ---------- styleguide-only components ---------- */
.article-figure{margin:26px 0;background:var(--plate);color:var(--ink-plate);padding:16px 16px 20px}
.article-figure>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.article-figure figcaption{margin-top:12px;color:#2E2A24}
.article-figure .credit{color:#8A8272}
.gallery{display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:26px 0}
.gallery figure{background:var(--panel);padding:10px}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figcaption{font-size:14.5px;margin-top:8px}
.versus{width:100%;border-collapse:collapse;font-size:17px;margin:26px 0}
.versus caption{text-align:left;font-family:var(--data);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);padding-bottom:10px}
.versus th,.versus td{text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--rule);vertical-align:baseline}
.versus tbody tr:last-child th,.versus tbody tr:last-child td{border-bottom:0}
.versus thead th{font-family:var(--data);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;color:var(--accent)}
.versus tbody th{font-family:var(--display);font-weight:600;font-size:16.5px;width:34%}
.versus td{color:var(--muted)}
.chart{margin:26px 0}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart .bar-r{fill:var(--accent)}
.chart .bar-alt{fill:var(--flag)}
.chart .axis{stroke:var(--rule);stroke-width:1}
.chart .lab{font-family:'Space Mono',monospace;font-size:11px;fill:var(--muted)}
.chart .val{font-family:'Space Mono',monospace;font-size:11px;fill:var(--ink)}
.chart figcaption{margin-top:12px}
.sg-block{border-top:1px solid var(--rule);padding:34px 0}
.sg-block>h2{font-size:24px;margin-bottom:6px}
.sg-block>p.sg-note{font-family:var(--data);font-size:12px;letter-spacing:.08em;color:var(--muted-2);margin-bottom:18px}
@media(max-width:560px){
  .versus,.versus thead,.versus tbody,.versus tr,.versus th,.versus td{display:block;width:auto;padding-right:0}
  .versus thead{display:none}
  .versus tbody tr{padding:12px 0;border-bottom:1px solid var(--rule)}
}

.mapgrid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:center}
@media(max-width:640px){.mapgrid{grid-template-columns:1fr}}
.map-figure,.related,.plate-data,.fig-bleed{clear:both}
@media(min-width:900px){.fig-inset{width:300px}}

@media(min-width:900px){.fig-inset.fig-flow{float:none;width:auto;max-width:620px;margin:26px auto}}

.sg-block>*+*{margin-top:22px}
.sg-block>h2+p.sg-note{margin-top:6px}

/* ---------- menu bar + submenu panels ---------- */
.menu{border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);position:relative;z-index:10}
.menu-bar{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;justify-content:space-between}
.menu-item{position:relative}
.menu-top{display:flex;align-items:center;gap:9px;padding:13px 14px;font-family:var(--display);white-space:nowrap;
  font-weight:600;font-size:clamp(13px,1.3vw,16.5px);letter-spacing:-.01em;color:var(--ink)}
.menu-top .ico{color:var(--accent)}
.menu-item:first-child .menu-top{padding-left:0}
.menu-item:hover>.menu-top,.menu-item:focus-within>.menu-top{color:var(--accent);text-decoration:none}
.menu-item[aria-current="true"]>.menu-top{color:var(--accent)}
.menu-item[aria-current="true"]>.menu-top::after{content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:2px;background:var(--accent)}
.menu-item:first-child[aria-current="true"]>.menu-top::after{left:0}
.submenu{position:absolute;top:100%;left:0;min-width:264px;background:var(--panel);
  border:1px solid var(--rule);border-top:2px solid var(--accent);padding:16px 18px 8px;
  opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}
.submenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}  /* hover bridge, no dead gap */
.menu-item:hover>.submenu,.menu-item:focus-within>.submenu{opacity:1;visibility:visible;transform:none}
.menu-item:last-child>.submenu,.menu-item:nth-last-child(2)>.submenu{left:auto;right:0}
.submenu .sub-label{font-size:15px;line-height:1.35;color:var(--muted-2);max-width:30ch;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.submenu ul{list-style:none;margin:0;padding:0}
.submenu li a{display:block;padding:10px 0;font-size:16.5px;border-bottom:1px solid var(--rule)}
.submenu li:last-child a{border-bottom:0}
.submenu li a:hover,.submenu li a[aria-current="page"]{color:var(--accent);text-decoration:none}
.menu-item--plain .menu-top{font-family:var(--data);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-2)}
@media(max-width:900px){
  .menu-bar{flex-direction:column}
  .menu-item{border-bottom:1px solid var(--rule)}
  .menu-item:last-child{border-bottom:0}
  .menu-top{padding:12px 0}
  .menu-item:first-child .menu-top{padding-left:0}
  .menu-item[aria-current="true"]>.menu-top::after{display:none}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;border:0;border-left:2px solid var(--accent);
    background:transparent;min-width:0;padding:0 0 12px 16px;margin-left:33px}
  .submenu::before{display:none}
  .submenu .sub-label{display:none}
  .submenu li a{padding:7px 0;border-bottom:0;color:var(--muted)}
}

/* submenu: hover on fine pointers, tap via the toggle everywhere */
.sub-toggle{background:none;border:0;padding:8px 6px;margin-left:-6px;color:var(--muted-2);cursor:pointer;line-height:0}
.sub-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}
.sub-toggle:hover,.sub-toggle:focus-visible{color:var(--accent)}
.menu-item.open>.sub-toggle{color:var(--accent)}
.menu-item.open>.sub-toggle svg{transform:rotate(180deg)}
.menu-item{display:flex;align-items:center}
.menu-item.open>.submenu{opacity:1;visibility:visible;transform:none}
@media(hover:none){
  .menu-item:hover>.submenu{opacity:0;visibility:hidden}
  .menu-item.open>.submenu{opacity:1;visibility:visible}
}
@media(max-width:900px){
  .menu-item{display:block}
  .menu-item>.menu-top{display:inline-flex}
  .sub-toggle{float:right;margin-top:4px}
  .submenu{display:none}
  .menu-item.open>.submenu{display:block}
}

.menu-item:hover,.menu-item:focus-within,.menu-item.open{z-index:30}
.submenu{z-index:30}

/* the top level stays one row */
@media(max-width:1080px){
  .menu .wrap{padding-inline:22px}
  .menu-top{padding:12px 7px;gap:7px}
  .menu-top .ico{width:1.05em;height:1.05em}
  .sub-toggle{display:none}
  .menu-item[aria-current="true"]>.menu-top::after{left:7px;right:7px}
}
@media(hover:none){.sub-toggle{display:inline-block}}
@media(max-width:860px){
  .menu-bar{flex-wrap:wrap;flex-direction:column;justify-content:flex-start}
  .sub-toggle{display:inline-block}
}

/* ---------- full-bleed hero ---------- */
.hero{position:relative}
.hero-media{position:relative;margin:0}
.hero-media>img{width:100%;height:clamp(460px,72vh,760px);object-fit:cover;object-position:center 42%}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(18,21,23,.94) 0%,rgba(18,21,23,.72) 34%,rgba(18,21,23,.12) 68%,rgba(18,21,23,.35) 100%)}
.hero-tab{position:absolute;top:0;left:0;background:var(--flag);color:#EEF1FF;font-family:var(--data);font-size:14px;padding:8px 13px;z-index:2}
.hero-copy{position:absolute;left:0;right:0;bottom:64px;z-index:2}
.hero-copy h1{font-size:clamp(40px,7vw,92px);margin-top:14px;max-width:18ch}
.hero-copy .lead{margin-top:16px;max-width:44ch;color:#D6D0C4}
.hero-copy .kicker a{color:inherit}
.hero-cap{position:absolute;left:0;right:0;bottom:20px;z-index:2;display:flex;flex-wrap:wrap;gap:8px 24px;
  align-items:baseline;justify-content:space-between;font-size:15px;color:var(--muted-2)}
.hero-cap .credit{margin-top:0}
@media(max-width:860px){
  .hero-media>img{height:clamp(420px,80vh,620px)}
  .hero-copy{bottom:74px}
  .hero-copy .lead{font-size:18px}
}

/* ---------- register, tightened ---------- */
.register--tight td,.register--tight th{padding-right:28px}
.register--tight .r-co{text-align:right;padding-right:0}
.register--tight th:last-child{text-align:right;padding-right:0}

/* ---------- annotated map ---------- */
.mapwrap--wide{padding:14px 10px}
.map-svg--annotated .land{fill:#3E3A33;stroke:#7C7466;stroke-width:2.5}
.map-svg--annotated .pin{fill:var(--accent);r:12}
.m-lead{fill:none;stroke:var(--muted-2);stroke-width:2}
.m-lab{font-family:var(--display);font-weight:600;font-size:30px;fill:var(--ink)}
.m-no{font-family:'Space Mono',monospace;font-size:26px;fill:var(--accent)}
.m-item a:hover .m-lab{fill:var(--accent);text-decoration:none}
.m-item:hover .m-lead{stroke:var(--accent)}

/* ---------- compact footer ---------- */
.site-foot--compact{margin-top:clamp(30px,4vw,56px);padding:0}
.site-foot--compact .foot-line{margin:0;border-top:0;padding:18px 0 26px;display:flex;flex-wrap:wrap;
  align-items:center;gap:10px 28px;justify-content:space-between;font-family:var(--text);font-size:15px;letter-spacing:0}
.site-foot--compact .foot-brand span{font-size:17px}
.site-foot--compact .foot-nav{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px;color:var(--muted)}
.site-foot--compact .foot-meta{display:flex;gap:18px;font-family:var(--data);font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}

.mapfig{max-width:800px;margin:0 auto}
.mapfig figcaption{margin-top:12px;font-size:16px;color:var(--muted-2)}
.hero-media::after{background:linear-gradient(to top,rgba(18,21,23,.95) 0%,rgba(18,21,23,.82) 30%,rgba(18,21,23,.42) 60%,rgba(18,21,23,.25) 82%,rgba(18,21,23,.45) 100%)}

/* ---------- register plate ---------- */
.plate--register{padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) clamp(14px,2vw,24px);position:relative}
.plate--register::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--flag)}
.reg-head{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:flex-end;justify-content:space-between;
  padding-bottom:18px;border-bottom:1px solid rgba(21,24,26,.22)}
.reg-head h2{color:#15181A;font-size:clamp(24px,2.6vw,34px);margin-top:6px}
.kicker--plate{color:#5F5A4E}
.more--plate{color:var(--flag)}
.reg-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 46px}
.reg-list a{display:grid;grid-template-columns:84px 30px minmax(0,1fr) auto;align-items:center;gap:0 14px;
  padding:13px 0;border-bottom:1px solid rgba(21,24,26,.16);text-decoration:none}
.reg-list li:last-child a,.reg-list li:nth-last-child(2) a{border-bottom:0}
.reg-thumb{width:84px;height:56px;object-fit:cover;background:#CFC8B8;
  box-shadow:0 0 0 1px rgba(21,24,26,.28),0 2px 0 rgba(21,24,26,.08)}
.reg-no{font-family:var(--data);font-size:13px;color:var(--flag)}
.reg-name{font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.015em;color:#15181A;
  line-height:1.2;text-wrap:pretty}
.reg-co{font-family:var(--data);font-size:12.5px;color:#5F5A4E;white-space:nowrap;text-align:right}
.reg-list a:hover .reg-name{color:var(--flag)}
.reg-list a:hover .reg-thumb{box-shadow:0 0 0 1px var(--flag),0 2px 0 rgba(46,69,201,.25)}
@media(max-width:960px){
  .reg-list{grid-template-columns:1fr;gap:0}
  .reg-list li:nth-last-child(2) a{border-bottom:1px solid rgba(21,24,26,.16)}
  .reg-co{font-size:12px}
}
@media(max-width:460px){
  .reg-list a{grid-template-columns:64px 26px minmax(0,1fr);gap:0 12px}
  .reg-thumb{width:64px;height:44px}
  .reg-co{grid-column:3;text-align:left;padding-top:3px}
}

.map-intro{max-width:52ch;margin:0 auto 18px;text-align:center;font-size:17px;color:var(--muted)}
.m-state{font-family:'Space Mono',monospace;font-size:34px;letter-spacing:.34em;fill:#7C7466;opacity:.75}
.m-key{font-family:'Space Mono',monospace;font-size:26px;fill:var(--muted-2)}
.m-scale{fill:none;stroke:var(--muted-2);stroke-width:3}
.mapfig{max-width:840px}
/* footer breathing room */
.site-foot--compact .foot-line{padding:30px 0 40px;border-top:1px solid var(--rule)}

/* ================= article rework ================= */
/* numbered section heads give the page rhythm */
.prose h2{display:flex;gap:16px;align-items:baseline;border-top:1px solid var(--rule);
  padding-top:26px;margin-top:clamp(46px,5vw,64px);font-size:clamp(25px,3vw,34px)}
.prose h2:first-child{border-top:0;padding-top:0;margin-top:clamp(30px,3.4vw,44px)}
.h2-no{flex:0 0 auto;font-family:var(--data);font-size:13px;color:var(--accent);transform:translateY(-.35em)}
.prose>p+p{margin-top:24px}
.prose>p{font-size:19.5px;line-height:1.68}

/* numbers, called out */
.plate-stat{background:var(--panel);border-top:2px solid var(--accent);padding:clamp(24px,3vw,34px);
  margin:clamp(34px,4.4vw,52px) 0}
.plate-stat>h3{font-family:var(--data);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2);display:flex;gap:12px;align-items:baseline;margin-bottom:20px}
.plate-stat>h3 .no{color:var(--accent)}
.plate-stat .statrow{gap:1px;background:var(--rule)}
.plate-stat .statblock{padding:22px 22px 24px}
.plate-stat .stat-num{font-family:var(--data);font-weight:400;font-size:clamp(26px,3.2vw,40px);
  letter-spacing:-.02em;line-height:1.05}
.plate-stat .stat-label{font-size:16px;color:var(--muted);text-wrap:pretty}
.plate-stat .datatable{margin-top:22px}

/* key terms on the indigo plate */
.plate-terms{background:rgba(46,69,201,.16);border-left:3px solid var(--flag);
  padding:clamp(22px,3vw,32px);margin:clamp(34px,4.4vw,52px) 0}
.plate-terms>h3{font-family:var(--data);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#B9C2FF;display:flex;gap:12px;align-items:baseline;margin-bottom:18px}
.terms{margin:0}
.terms .term+.term{margin-top:16px;padding-top:16px;border-top:1px solid rgba(185,194,255,.24)}
.terms dt{font-family:var(--display);font-weight:600;font-size:19px;color:var(--ink)}
.terms dd{margin:5px 0 0;font-size:17.5px;color:#CDD3EC;line-height:1.5}

/* the register entries, where a page is a list of landforms */
.entry-list{margin:clamp(30px,4vw,42px) 0;border-top:1px solid var(--rule)}
.entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;
  padding:20px 0;border-bottom:1px solid var(--rule)}
.entry-row h3{font-size:22px;letter-spacing:-.02em;align-self:baseline}
.entry-co{font-family:var(--data);font-size:13px;color:var(--accent);white-space:nowrap;text-align:right;padding-top:6px}
.entry-row p{grid-column:1/-1;margin:6px 0 0;color:var(--muted);font-size:18px;line-height:1.58;max-width:62ch}

/* pullquote: a lift, marked as one */
.pullquote{border-bottom:0;border-top:2px solid var(--accent);padding:24px 0 0;position:relative}
.pullquote p{max-width:34ch;color:var(--ink)}

/* map furniture shared with the homepage */
.pin--mute{fill:var(--muted-2);opacity:.55}
.pin--cur{fill:var(--accent)}
.map-figure .mapwrap{padding:14px 10px}
.map-figure figcaption{margin-top:14px}

@media(max-width:700px){
  .plate-stat .statrow{grid-template-columns:1fr}
  .entry-row{grid-template-columns:1fr}
  .entry-co{text-align:left;padding-top:2px}
  .prose h2{gap:12px}
}

/* masthead flattened to a single quiet line */
.masthead{padding:14px 0 12px}
.masthead .brand-name{font-size:clamp(22px,2.4vw,27px)}
.masthead .mark{width:30px;height:30px;stroke-width:2.6}
.masthead .brand{gap:13px}
.masthead .standing-line{font-size:14.5px;max-width:46ch;color:var(--muted-2)}
.masthead--compact{padding:14px 0 12px;border-bottom:0}
.masthead--compact .brand-name{font-size:clamp(22px,2.4vw,27px)}
.masthead--compact .mark{width:30px;height:30px;stroke-width:2.6}
.masthead--compact .standing-line{font-size:14.5px;max-width:46ch}
@media(max-width:620px){.masthead .standing-line,.masthead--compact .standing-line{display:none}}

/* ---------- mobile audit fixes ---------- */
@media(max-width:860px){
  .menu-top{font-size:16px;padding:14px 0}
  .sub-toggle{padding:12px 10px;margin:0}
  .submenu li a{padding:12px 0;font-size:16.5px}
  .foot-nav a,.foot-meta a{display:inline-block;padding:7px 0}
  .site-foot--compact .foot-line{gap:6px 22px}
}
@media(max-width:760px){
  /* the annotated map has to stay readable when the SVG is only ~320px wide */
  .map-svg--annotated .m-lab{font-size:42px}
  .map-svg--annotated .m-no{font-size:38px}
  .map-svg--annotated .m-key{font-size:36px}
  .map-svg--annotated .m-state{font-size:42px;letter-spacing:.3em}
  .map-svg--annotated .land{stroke-width:4}
  .m-lead{stroke-width:3.5}
  .map-svg--annotated .pin{r:16}
  .mapfig .map-intro{font-size:16px}
}
@media(max-width:700px){
  /* full-bleed figures should not collapse into strips */
  .fig-bleed img{min-height:260px;object-fit:cover}
  .fig-plate img{min-height:240px;object-fit:cover}
  .card img{min-height:200px;object-fit:cover}
}

@media(max-width:860px){
  /* every standing link reaches a 44px touch target without moving visually */
  .more{padding:12px 0;margin:-12px 0}
  .kicker a{padding:11px 0;margin:-11px 0}
  .brand,.foot-brand{padding:8px 0;margin:-8px 0}
  .cap a,figcaption a{padding:6px 0}
}

@media(max-width:860px){.foot-nav a{padding:10px 0}}

/* sp-roll-normalize: a logo roll keeps object-fit and loses its geometry.
   It used to set width:auto, height:46px, max-width:172px and min-width:30px, which let
   every plate in the roll shrink-wrap its own artwork — evbb measured 62px next to 204px
   in the SAME ROW. The operator's rule is that the dark ground is unified whatever the
   logo's size, so the plate cannot be sized by the logo. Geometry belongs to Design. */
[class~="roll"] .sponsor img,[class*="roll-"] .sponsor img,[class*="-roll"] .sponsor img{object-fit:contain}

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img,.sponsor-box img,.sp-logo img{object-fit:contain!important;display:block;margin-left:auto;margin-right:auto;align-self:center}

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

/* op-wrap-gutter: these elements carry the build's own gutter class but their own
   rule sets a padding SHORTHAND, which resets left/right to 0 — every line of type
   then sits against the screen edge at phone width. Design's own token is restated
   for the inline axis, on the exact element that lost it. Measured, not guessed:
   each selector below had TEXT within 2px of a viewport edge at 390. */
@media (max-width:900px){
  .wrap.foot-line{padding-inline:var(--pad)}
}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   729px at 390, 10% of the whole page. Two columns bring it to
   507px (30% shorter). Checked before writing: no new overflow, smallest mark still
   Nonepx wide, longest blurb 3 lines, tile heights 50-122px.
   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.
   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 (.sup-list), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:20px!important}
    .sup-list > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-list > * *{min-width:0!important;max-width:100%}
    .sup-list img,.sup-list svg{max-width:100%;height:auto}

}

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

/* op-article-width: the article column was capped at 838px (98 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through Design's own measure --measure (declared in .prose) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  div.article-body div.prose{--measure:min(72.774ch, 100%)!important}
}
@media (min-width:1600px){
  div.article-body div.prose{--measure:min(clamp(72.774ch, 60.486vw, calc(72.774ch * 1.2)), 100%)!important}
  div.article-body div.prose > :is(p:not([class])){font-size:clamp(19.5px,1.3542vw,23.4px)!important}
}
/* op-article-width:end */


/* op-tablet-fit — the one-row menu keeps its compact spacing until it fits; hidden submenus never widen the page */
@media (min-width:1081px) and (max-width:1540px){
  .menu-top{padding:13px 7px;gap:7px}
  .menu-item[aria-current="true"]>.menu-top::after{left:7px;right:7px}
}
@media (hover:hover) and (min-width:1081px){ .sub-toggle{display:none} }
/* op-tablet-fit:end */

/* op-tablet-gutter — text never sits on the screen edge between the mobile guard and the max-width */
@media (min-width:901px) and (max-width:1399px){
  div.wrap.foot-line{padding-left:max(var(--pad), 18px);padding-right:max(var(--pad), 18px)}
}
/* op-tablet-gutter:end */
@media (min-width:700px) and (max-width:1099px){.sup-list:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--sp-gap,16px)!important}.sup-list:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}
