/* libbraille.org — "Six Positions"
   The page grid is a 2 x 3 module: every horizontal step is a multiple of 24px
   (2 units of 12) and every vertical step a multiple of 36px (3 units of 12) —
   the proportions of the braille cell itself. */

:root{
  --paper:#F6F3EC;
  --paper-2:#EFEBE1;
  --paper-3:#E6E1D4;
  --ink:#14140F;
  --ink-2:#26241F;
  --muted:#6A665C;
  --rule:#CFC9BB;
  --rule-2:#B7B1A3;
  --accent:#8C2F0D;
  --accent-soft:#F0E3DC;
  --dark:#14140F;
  --dark-2:#1E1E18;
  --on-dark:#F2EEE4;
  --on-dark-2:#A9A396;

  --u:12px;
  --gx:24px;   /* 2u — horizontal step */
  --gy:36px;   /* 3u — vertical step */
  --pad:24px;
  --shell:1248px;
  --measure:68ch;

  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;

  --fs-body:19px;
  --fs-read:20px;
  --fs-small:15px;
  --fs-label:12.5px;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-2);
  font:400 var(--fs-body)/1.62 var(--serif);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
h1,h2,h3{color:var(--ink);font-weight:400;letter-spacing:-.015em;text-wrap:pretty;margin:0}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(140,47,13,.32)}
a:hover{color:var(--ink);border-bottom-color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:target{scroll-margin-top:96px}

.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gx)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--on-dark);padding:12px 24px;font:500 14px var(--mono);z-index:99}
.skip:focus{left:0}

.kicker{font:500 var(--fs-label)/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0}
.meta{font:400 14.5px/1.55 var(--mono);color:var(--muted)}

/* ---------- masthead : dark ground, light wordmark ---------- */
.masthead{background:var(--dark);color:var(--on-dark)}
.masthead a{color:var(--on-dark);border:0}
.masthead-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--gx);padding-block:18px}
.brand{display:flex;align-items:center;gap:16px;border:0}
.brand-name{font:600 27px/1 var(--mono);letter-spacing:-.02em;color:var(--on-dark);display:block}
.brand-strap{font:400 11px/1.4 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2);display:block;margin-top:4px}
.nav{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center}
.nav a{font:500 13.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:9px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--accent);color:#fff}
.disambig{border-top:1px solid #2C2C25;background:var(--dark)}
.disambig p{padding-block:12px;font:400 13px/1.6 var(--mono);color:var(--on-dark-2);max-width:96ch}
.disambig b{color:var(--on-dark);font-weight:500}

.navbox{display:none}
@media (max-width:860px){
  .nav{display:none}
  .navbox{display:block;width:100%}
  .navbox summary{list-style:none;cursor:pointer;font:500 13.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:12px 0;border-top:1px solid #2C2C25;color:var(--on-dark)}
  .navbox summary::-webkit-details-marker{display:none}
  .navbox summary::after{content:" +";color:var(--accent)}
  .navbox[open] summary::after{content:" –"}
  .navbox .nav{display:flex;flex-direction:column;gap:0;padding-bottom:12px}
  .navbox .nav a{padding:14px 0;border-bottom:1px solid #23231D;width:100%}
}

/* ---------- cell diagrams ---------- */
.cell{display:block;flex:none}
.cell circle{transition:none}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--dark);overflow:hidden;display:grid}
.hero img{grid-area:1/1;width:100%;height:100%;min-height:clamp(420px,58vh,660px);object-fit:cover;opacity:.62}
.hero-plate{grid-area:1/1;align-self:end;min-width:0}
.hero-plate .in{max-width:var(--shell);margin-inline:auto;padding:var(--gy) var(--gx);background:linear-gradient(to top,rgba(12,12,10,.94) 30%,rgba(12,12,10,.72) 70%,rgba(12,12,10,.15))}
.hero h1{font:500 clamp(30px,3.4vw,46px)/1.18 var(--mono);letter-spacing:-.02em;color:#fff;max-width:26ch;margin:12px 0 18px}
.hero p{font:300 clamp(18px,1.5vw,22px)/1.5 var(--serif);color:#E4DFD2;max-width:58ch}
.hero .credit{font:400 11.5px var(--mono);color:#9A9488;margin-top:18px;letter-spacing:.06em}

/* ---------- band scaffolding ---------- */
.band{padding-block:var(--gy)}
.band-xl{padding-block:calc(var(--gy) * 2)}
.band-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px var(--gx);margin-bottom:var(--gy)}
.band-head h2{font-size:clamp(28px,2.6vw,38px);line-height:1.1}
.band-head .meta{font-size:13.5px}

/* ---------- six positions nav device ---------- */
.positions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(312px,100%),1fr));gap:0;border-top:1.5px solid var(--ink);border-left:1px solid var(--rule)}
.position{display:flex;gap:20px;padding:calc(var(--gy) * .75) var(--gx);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:transparent;color:inherit;text-decoration:none;border-top:0;border-left:0}
.position:hover,.position:focus-visible{background:var(--paper-2);color:inherit}
.position .cell{margin-top:5px}
.position .p-no{font:500 var(--fs-label) var(--mono);letter-spacing:.2em;color:var(--accent);display:block}
.position h3{font-size:29px;line-height:1.15;margin:8px 0 8px}
.position p{font:300 17px/1.5 var(--serif);color:var(--ink-2);max-width:36ch}
.position .p-count{display:block;margin-top:12px;font:400 13px var(--mono);color:var(--muted)}

/* ---------- featured ---------- */
.feature{display:flex;flex-wrap:wrap;gap:var(--gx);align-items:stretch;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule);padding-block:var(--gy)}
.feature-media{flex:1 1 460px;min-width:0}
.feature-media img{width:100%;height:100%;min-height:320px;max-height:528px;object-fit:cover}
.feature-body{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px;justify-content:center;padding-block:12px}
.feature-body h2{font-size:clamp(32px,3.6vw,50px);line-height:1.05}
.feature-body .lead{font:300 21px/1.5 var(--serif);color:var(--ink-2);max-width:52ch}
.feature-body .more{font:500 14px var(--mono);letter-spacing:.08em;text-transform:uppercase}

/* ---------- cards : even height ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(288px,100%),1fr));gap:var(--gx)}
.card{display:flex;flex-direction:column;background:var(--paper-2);border:1px solid var(--rule);color:inherit;text-decoration:none;height:100%}
.card:hover{border-color:var(--ink);color:inherit}
.card .card-img{aspect-ratio:3/2;width:100%;object-fit:cover;background:var(--paper-3)}
.card-in{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;flex:1}
.card h3{font-size:23px;line-height:1.2;min-height:2.4em}
.card p{font:300 16px/1.5 var(--serif);color:var(--ink-2)}
.card .card-meta{margin-top:auto;padding-top:14px;font:400 12.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.card-plain{background:var(--paper)}

/* ---------- decorative strip ---------- */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(216px,100%),1fr));gap:2px;background:var(--rule)}
.strip figure{margin:0;position:relative;background:var(--paper)}
.strip img{width:100%;height:264px;object-fit:cover}
.strip figcaption{padding:12px 16px 16px;font:400 13px/1.5 var(--mono);color:var(--muted);background:var(--paper)}

/* ---------- supporters ---------- */
.supporters{background:var(--paper-2);border-top:1.5px solid var(--ink)}
.sponsor-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(408px,100%),1fr));gap:var(--gy) var(--gx)}
.sponsor-group{display:flex;flex-direction:column;gap:16px;min-width:0}
.sponsor-group h3{font:500 var(--fs-label) var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--rule-2)}
.sponsor{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;background:var(--paper);border:1px solid var(--rule);text-decoration:none;color:inherit;min-width:0}
.sponsor:hover{border-color:var(--ink);color:inherit}
.sponsor img{flex:1 1 216px;max-width:100%;min-width:0;height:56px;width:auto;max-height:56px;object-fit:contain;background:var(--dark);padding:6px 10px}
.sponsor-blurb{flex:1 1 216px;min-width:0;font:300 16px/1.45 var(--serif);color:var(--ink-2);min-height:1.45em}
.sponsor-blurb:empty{min-height:40px}

/* ---------- footer ---------- */
.foot{background:var(--dark);color:var(--on-dark-2);padding-block:calc(var(--gy) * 1.2)}
.foot a{color:var(--on-dark);border-bottom-color:#3A3A32}
.foot a:hover{color:#fff;border-bottom-color:#fff}
.foot-grid{display:flex;flex-wrap:wrap;gap:var(--gy) var(--gx)}
.foot-col{flex:1 1 264px;min-width:0;display:flex;flex-direction:column;gap:12px}
.foot-col.wide{flex:1 1 432px}
.foot h2{font:600 22px var(--mono);color:var(--on-dark);letter-spacing:-.02em}
.foot p,.foot li{font:400 13.5px/1.65 var(--mono)}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot .lab{font:500 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#7C7768}
.foot .disclaimer{max-width:64ch}

/* ---------- page headers ---------- */
.pagehead{border-bottom:1.5px solid var(--ink);padding-block:var(--gy)}
.pagehead .top{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.pagehead h1{font-size:clamp(34px,4.4vw,58px);line-height:1.04;max-width:20ch}
.pagehead .blurb{font:300 21px/1.5 var(--serif);color:var(--ink-2);max-width:56ch;margin-top:18px}
.crumbs{font:400 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-block:16px}
.crumbs a{color:var(--muted);border:0}
.crumbs a:hover{color:var(--ink)}

/* ---------- category list ---------- */
.cat-list{list-style:none;display:flex;flex-direction:column}
.cat-list li{border-bottom:1px solid var(--rule)}
.cat-list a{display:flex;flex-wrap:wrap;gap:8px var(--gx);align-items:baseline;padding:22px 0;text-decoration:none;color:inherit;border:0}
.cat-list a:hover{color:inherit;background:var(--paper-2)}
.cat-list .n{flex:0 0 48px;font:400 15px var(--mono);color:var(--accent)}
.cat-list .t{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:7px}
.cat-list .t strong{font:400 26px/1.2 var(--serif);color:var(--ink)}
.cat-list .t span{font:300 17px/1.5 var(--serif);color:var(--ink-2);max-width:64ch}
.cat-list .r{flex:0 1 168px;font:400 12.5px/1.6 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

/* ---------- article ---------- */
.article{display:flex;flex-direction:column;gap:var(--gy);padding-block:var(--gy)}
.article-head{max-width:960px}
.article-head h1{font-size:clamp(34px,4.6vw,60px);line-height:1.04;margin:14px 0 20px}
.byline{font:400 14px var(--mono);color:var(--muted);letter-spacing:.04em;padding-top:18px;border-top:1px solid var(--rule);margin-top:24px;display:flex;flex-wrap:wrap;gap:6px 16px}
.measure{max-width:var(--measure);margin-inline:auto}
.article-body{display:flex;flex-direction:column;gap:24px}
.article-body h2{font-size:clamp(26px,2.6vw,34px);line-height:1.16;margin-top:12px}
.article-body p{font:300 var(--fs-read)/1.66 var(--serif);color:var(--ink-2)}
.article-body em{font-style:italic}
.article-body strong{font-weight:600;color:var(--ink)}

.sectrule{display:flex;align-items:center;gap:14px;color:var(--muted)}
.sectrule .line{flex:1;height:1px;background:var(--rule)}
.sectrule span{font:500 11.5px var(--mono);letter-spacing:.2em;text-transform:uppercase}

/* interruption plates — the article's answer to a side rail */
.plate{background:var(--paper-2);border-top:1.5px solid var(--ink);border-bottom:1px solid var(--rule);padding:calc(var(--gy) * .8) var(--gx);background-image:radial-gradient(var(--paper-3) 1.2px,transparent 1.3px);background-size:24px 36px}
.plate-in{max-width:1008px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:20px var(--gx)}
.plate-lab{flex:0 0 168px;min-width:0;display:flex;flex-direction:column;gap:8px}
.plate-lab .n{font:500 11.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.plate-lab h3{font-size:22px;line-height:1.2}
.plate-body{flex:1 1 384px;min-width:0}

.notes-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.notes-list li{display:flex;gap:14px;font:300 17.5px/1.55 var(--serif);color:var(--ink-2)}
.notes-list li::before{content:"";flex:none;width:9px;height:9px;margin-top:11px;border-radius:50%;background:var(--accent)}
.notes-list b{font-weight:600;color:var(--ink);display:block}

/* ---------- text components ---------- */
.lead{font:400 24px/1.45 var(--serif);color:var(--ink)}
.pullquote{margin:0;border-left:3px solid var(--accent);padding:6px 0 6px 24px}
.pullquote p{font:400 clamp(24px,2.4vw,31px)/1.32 var(--serif);color:var(--ink);max-width:32ch}
.blockquote{margin:0;background:var(--paper-2);border:1px solid var(--rule);padding:24px}
.blockquote p{font:300 20px/1.5 var(--serif);color:var(--ink)}
.blockquote cite{display:block;margin-top:12px;font:400 13.5px var(--mono);font-style:normal;color:var(--muted)}
.callout{margin:0;background:var(--accent-soft);border-top:3px solid var(--accent);padding:24px}
.callout p{font:400 19px/1.5 var(--serif);color:var(--ink)}
.note{font:400 16px/1.6 var(--mono)!important;color:var(--muted);border-left:2px solid var(--rule-2);padding-left:16px}

/* ---------- tables ---------- */
.versus,.datatable{width:100%;border-collapse:collapse;font:400 16px/1.5 var(--mono);color:var(--ink-2)}
.versus caption,.datatable caption{text-align:left;font:500 11.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:12px}
.versus th,.versus td,.datatable th,.datatable td{text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.versus th,.datatable th{font-weight:500;color:var(--ink);border-bottom:1.5px solid var(--ink)}
.versus tbody th{font-weight:500;border-bottom:1px solid var(--rule)}
.table-wrap{overflow-x:auto}

/* ---------- stats ---------- */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(168px,100%),1fr));gap:2px;background:var(--rule)}
.statblock{background:var(--paper);padding:20px;display:flex;flex-direction:column;gap:8px}
.stat-num{font:500 clamp(30px,3vw,40px)/1 var(--mono);color:var(--ink);letter-spacing:-.02em}
.stat-label{font:400 14px/1.4 var(--mono);color:var(--muted)}

/* ---------- timeline ---------- */
.timeline{list-style:none;display:flex;flex-direction:column;gap:0}
.timeline li{display:flex;flex-wrap:wrap;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--rule);position:relative}
.timeline li:first-child{border-top:1px solid var(--rule)}
.t-when{flex:0 0 192px;min-width:0;font:500 14.5px/1.5 var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.t-what{flex:1 1 288px;min-width:0;font:300 17.5px/1.5 var(--serif);color:var(--ink-2)}

/* ---------- charts ---------- */
.chart{margin:0;display:flex;flex-direction:column;gap:14px}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart figcaption{font:400 14px/1.55 var(--mono);color:var(--muted)}
.chart .axis{stroke:var(--rule-2);stroke-width:1}
.chart .barfill{fill:var(--accent)}
.chart .lbl{font:400 13px var(--mono);fill:var(--ink-2)}
.chart .val{font:500 13px var(--mono);fill:var(--ink)}

/* ---------- figures ---------- */
.article-figure{margin:0;display:flex;flex-direction:column;gap:12px}
.article-figure img{width:100%;background:var(--paper-3)}
.article-figure figcaption{font:400 14px/1.55 var(--mono);color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(216px,100%),1fr));gap:var(--gx)}
.gallery figure{margin:0;display:flex;flex-direction:column;gap:10px}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gallery figcaption{font:400 13px/1.5 var(--mono);color:var(--muted)}

/* ---------- cards / references ---------- */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(288px,100%),1fr));gap:var(--gx)}
.profile-card{background:var(--paper-2);border:1px solid var(--rule);padding:24px;display:flex;flex-direction:column;gap:10px;height:100%}
.profile-card .p-photo{width:96px;height:96px;object-fit:cover;border-radius:50%}
.profile-card h3{font-size:22px}
.profile-card .p-role{font:500 12.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.profile-card p{font:300 16.5px/1.5 var(--serif)}
.profile-card .p-links{margin-top:auto;padding-top:12px;font-family:var(--mono);font-size:14px}
.profile-card .p-attr{font:400 12.5px var(--mono);color:var(--muted)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--gx)}
.org-card{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--rule);background:var(--paper);text-decoration:none;color:inherit}
.org-card:hover{border-color:var(--ink);color:inherit}
.org-logo{height:36px;width:auto;max-width:100%;object-fit:contain;margin-bottom:6px}
.org-name{font:400 19px/1.3 var(--serif);color:var(--ink)}
.org-host{font:400 13px var(--mono);color:var(--muted)}
.entity-ref{font-family:var(--mono);font-size:.92em}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(264px,100%),1fr));gap:var(--gx)}
.further-grid a{display:block;padding:20px;border:1px solid var(--rule);background:var(--paper-2);font:400 20px/1.3 var(--serif);color:var(--ink);text-decoration:none}
.further-grid a:hover{border-color:var(--ink);background:var(--paper)}
.related-links{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(264px,100%),1fr));gap:var(--gx)}
.related-links li{display:flex}
.related-links a{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--rule);background:var(--paper-2);text-decoration:none;color:var(--ink);width:100%}
.related-links a:hover{border-color:var(--ink);background:var(--paper)}
.related-links .rk{font:500 11.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.related-links .rt{font:400 20px/1.3 var(--serif)}

.no-photo .p-photo,.no-logo .org-logo{display:none}
.chart.donut svg{max-width:264px}

/* ---------- expander ---------- */
.expander{border-top:1px solid var(--rule)}
.expander summary{cursor:pointer;list-style:none;font:500 13px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:16px 0}
.expander summary::-webkit-details-marker{display:none}
.expander summary::after{content:" ↓"}
.expander[open] summary::after{content:" ↑"}

/* ---------- utility ---------- */
.stack-m{display:flex;flex-direction:column;gap:24px}
.prose p{font:300 var(--fs-read)/1.66 var(--serif);color:var(--ink-2)}
.prose h2{font-size:30px;line-height:1.16}

@media (max-width:640px){
  :root{--gx:18px;--gy:30px;--fs-read:19px}
  .brand-name{font-size:23px}
  .hero img{min-height:400px}
  .plate-lab{flex:1 1 100%}
  .t-when{flex:1 1 100%}
}

@media print{
  .masthead,.foot,.supporters,.strip{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-bold-brands: operator asked for the brand names to be bold. They were plain text at the head
   of each sentence with no element to reach, so embolden_brand.py set them in the estate's own
   <strong class="sp-brand"> — the same emphasis most builds already use. The blurb face is a 300
   serif, so the weight is stated rather than left to the browser's synthesis, and the name takes
   the full ink while the sentence keeps its quieter colour. */
.sponsor .sponsor-blurb .sp-brand{font-weight:600;color:var(--ink)}

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

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

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(div.cards > a.card > img.card-img,
  div.feature > div.feature-media > img,
  div.shell > figure.article-figure > img,
  div.strip > figure > img,
  main > section.hero > img){height:auto}
/* op-img-dims:end */
@media (min-width:780px) and (max-width:899px){.sponsor-group:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))!important;gap:var(--sp-gap,14px)!important;justify-content:start!important}.sponsor-group:has(> [data-partner]) > [data-partner]{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}}
