/* amonco.org — Field Guide */
:root{
  --paper:#eaefe4; --paper-deep:#e2e8da; --ink:#243b2e; --heading:#2c4433; --body:#2f463a;
  --muted:#5c6e5b; --soft:#43584a; --accent:#9c5b32; --accent-soft:rgba(156,91,50,.5);
  --rule:rgba(44,68,51,.22); --rule-strong:rgba(44,68,51,.38);
  --dark:#1e2c23; --dark-ink:#d9e2d3; --dark-muted:#93a48e;
  --serif:'Newsreader',Georgia,serif; --display:'Young Serif',Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18.5px;line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{opacity:.78}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--heading);margin:0;text-wrap:pretty}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.kicker{font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);font-family:var(--serif)}
.kicker.quiet{color:var(--muted)}
a.ref{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule)}
.masthead .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;padding-top:22px;padding-bottom:20px}
.wordmark{font-family:var(--display);font-size:26px;color:var(--ink);white-space:nowrap}
.wordmark .tld{color:var(--muted);font-size:.72em}
.brand{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.tagline{font-style:italic;font-size:15px;color:var(--muted)}
.masthead nav{display:flex;gap:8px 22px;flex-wrap:wrap;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.masthead nav a{padding:4px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.masthead nav a:hover{color:var(--accent);border-bottom-color:var(--accent-soft);opacity:1}
.masthead nav a.here{color:var(--accent);border-bottom:2px solid var(--accent)}

/* ---------- footer ---------- */
.site-foot{background:var(--dark);color:var(--dark-muted);margin-top:72px}
.site-foot .wrap{padding-top:44px;padding-bottom:44px;display:grid;grid-template-columns:1fr 1fr;gap:32px}
.site-foot .wordmark{color:var(--dark-ink)}
.site-foot .disclaimer{font-style:italic;font-size:15.5px;line-height:1.6;max-width:52ch;margin-top:12px}
.foot-nav{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:6px 24px;align-content:start;font-size:15px}
.foot-nav a{padding:3px 0;color:var(--dark-muted)}
.foot-nav a:hover{color:var(--dark-ink);opacity:1}
.foot-nav .fn-label{grid-column:1/-1;font-size:11.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--dark-muted);opacity:.7;margin-bottom:4px}

/* ---------- homepage ---------- */
.hero{padding-block:56px 20px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end}
.hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.08}
.hero .dek{font-size:20.5px;line-height:1.62;color:var(--soft);margin-top:20px;max-width:58ch}
.hero figure{margin:0}
.hero img{aspect-ratio:16/11;object-fit:cover;border:1px solid var(--rule)}
.band{padding-block:52px}
.band + .band{border-top:1px solid var(--rule)}
.band-head{margin-bottom:26px}
.band-head h2{font-size:clamp(24px,3vw,32px);margin-top:10px}

/* flagship */
.flagship .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.flagship img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule)}
.flagship h2{font-size:clamp(30px,3.6vw,42px);line-height:1.1;margin-top:12px}
.flagship .fs-dek{font-size:19px;color:var(--soft);margin-top:14px}
.flagship .fs-quote{font-family:var(--display);font-size:22px;line-height:1.4;color:var(--accent);border-left:3px solid var(--accent);padding-left:20px;margin-top:26px}
.flagship .fs-more{display:inline-block;margin-top:24px;font-style:italic;font-size:18px;color:var(--accent)}

/* condition tiles */
.cond-list{list-style:none;margin:0;padding:0}
.cond-list li{border-top:1px solid var(--rule);padding-block:30px;display:grid;grid-template-columns:72px 1.1fr 1fr;gap:16px 36px;transition:background .15s}
.cond-list li:hover{background:var(--paper-deep)}
.cond-name a{transition:color .15s}
.cond-name a:hover{color:var(--accent);opacity:1}
.cond-list li:last-child{border-bottom:1px solid var(--rule)}
.cond-no{font-family:var(--display);font-size:19px;color:var(--muted);padding-top:6px}
.cond-name{font-size:27px;line-height:1.15}
.cond-obs{font-style:italic;font-size:16.5px;color:var(--accent);margin-top:10px}
.cond-blurb{font-size:17px;line-height:1.6;color:var(--soft)}
.cond-meta{font-size:15.5px;margin-top:12px;color:var(--muted)}
.cond-meta a{font-style:italic;color:var(--accent)}

/* running entries */
.running .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:56px}
.run-entry{border-top:1px solid var(--rule);padding-block:24px;font-size:18.5px;line-height:1.68;color:var(--body)}
.run-entry:last-of-type{border-bottom:1px solid var(--rule)}
.run-entry a.rt{font-family:var(--display);font-size:21px;color:var(--heading);transition:color .15s}
.run-entry a.rt:hover{color:var(--accent);opacity:1}
.run-entry .rm{color:var(--muted);font-size:15px}
.running aside{display:flex;flex-direction:column;gap:14px}
.running aside img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule)}
.running aside figcaption,.imgnote{font-style:italic;font-size:14.5px;color:var(--muted);line-height:1.5}
.running aside figure{margin:0}

/* ---------- sponsors ---------- */
.print-strip{padding-block:34px;border-top:1px solid var(--rule)}
.print-strip .ps-head{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.print-strip .ps-note{font-style:italic;font-size:15.5px;color:var(--muted);max-width:60ch}
.sponsor-row{display:flex;flex-wrap:wrap;gap:14px}
.sponsor{background:var(--dark);border:1px solid rgba(217,226,211,.14);flex:1 1 200px;max-width:340px;min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 20px;text-align:center}
.sponsor img{max-height:40px;width:auto;opacity:.9}
.sponsor-blurb{font-size:13.5px;line-height:1.45;color:var(--dark-muted);font-style:italic;min-height:1em}
.sponsor.feat{flex:1.7 1 280px;max-width:460px;min-height:132px}
.sponsor.feat img{max-height:56px}
.sponsor:hover{opacity:1;border-color:var(--accent-soft)}

/* ---------- category pages ---------- */
.cat-hero{padding-block:52px 36px;border-bottom:1px solid var(--rule)}
.cat-hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.cat-hero h1{font-size:clamp(34px,4.4vw,50px);margin-top:12px}
.cat-hero .cat-blurb{font-size:20px;line-height:1.6;color:var(--soft);margin-top:16px;max-width:56ch}
.cat-hero img{aspect-ratio:16/10;object-fit:cover;border:1px solid var(--rule)}
.cat-list{list-style:none;margin:0;padding:0;max-width:860px}
.cat-list li{border-bottom:1px solid var(--rule);padding-block:30px}
.cat-list .cl-meta{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cat-list a.cl-title{display:block;font-family:var(--display);font-size:26px;line-height:1.2;color:var(--heading);margin-top:8px;transition:color .15s}
.cat-list a.cl-title:hover{color:var(--accent);opacity:1}
.cat-list li{transition:background .15s}
.cat-list li:hover{background:var(--paper-deep)}
.cat-list .cl-brief{font-size:17.5px;line-height:1.62;color:var(--soft);margin-top:10px;max-width:70ch}
.cat-list .cl-go{display:inline-block;font-style:italic;color:var(--accent);margin-top:10px;font-size:16.5px}
.cat-elsewhere{margin-top:56px;border-top:1px solid var(--rule);padding-top:26px;display:flex;gap:10px 28px;flex-wrap:wrap;font-size:15px;color:var(--muted)}
.cat-elsewhere a{font-style:italic;color:var(--accent)}

/* ---------- article ---------- */
.art-wrap{max-width:1080px;margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.art-head{padding-block:48px 8px;max-width:760px;margin-inline:auto}
.art-head h1{font-size:clamp(32px,4.4vw,48px);line-height:1.1;margin-top:12px}
.art-head .byline{font-size:15.5px;color:var(--muted);margin-top:18px;letter-spacing:.02em}
.lead{font-size:21.5px;line-height:1.55;font-style:italic;color:var(--muted);margin-top:16px;text-wrap:pretty}
.art-hero{margin:34px 0 8px}
.art-hero img{width:100%;aspect-ratio:21/10;object-fit:cover;border:1px solid var(--rule)}
.art-hero figcaption{font-style:italic;font-size:14px;color:var(--muted);margin-top:8px;text-align:right}
.art-body{padding-block:26px 8px;font-size:20px;line-height:1.72;color:var(--ink)}
.art-body>p,.art-body>h2,.art-body>h3{max-width:700px;margin-inline:auto}
.art-body>p{margin-top:26px}
.art-body>h2{font-size:29px;line-height:1.25;margin-top:52px}
.art-body>h3{font-size:23px;margin-top:40px}
.art-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.art-body strong{color:var(--heading)}

/* breakout interruptions */
.breakout{max-width:none;margin:52px 0}
.fieldnote{border-top:1px solid var(--rule-strong);border-bottom:1px solid var(--rule-strong);border-left:4px solid var(--accent);padding:30px 28px 34px;background:var(--paper-deep)}
.fieldnote .fn-kicker{font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.fn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px 36px}
.fn-grid .fn-term{font-family:var(--display);font-size:17.5px;color:var(--heading);display:block;margin-bottom:6px;line-height:1.35}
.fn-grid .fn-def{font-size:16px;line-height:1.58;color:var(--soft)}
.pullquote{border:none;margin:56px auto;padding:30px 8px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);max-width:820px}
.pullquote p{font-family:var(--display);font-size:clamp(22px,2.6vw,28px);line-height:1.38;color:var(--accent);text-align:center;margin:0}
.blockquote{margin:40px auto;max-width:660px;border-left:3px solid var(--accent);padding-left:22px;font-style:italic;color:var(--soft)}
.blockquote cite{display:block;font-style:normal;font-size:15px;color:var(--muted);margin-top:10px}
.callout{background:var(--paper-deep);border:1px solid var(--rule);padding:24px 26px;max-width:700px;margin:44px auto}
.callout p{font-size:18px;line-height:1.6;color:var(--body)}
.note{font-size:16px;font-style:italic;color:var(--muted);border-top:1px dashed var(--rule-strong);padding-top:12px;max-width:700px;margin:36px auto 0}

/* timeline */
.timeline{list-style:none;counter-reset:tl;margin:0;padding:0;display:grid;gap:0}
.timeline li{counter-increment:tl;display:grid;grid-template-columns:56px 250px 1fr;gap:8px 26px;padding-block:16px;border-top:1px solid var(--rule);align-items:baseline}
.timeline li:first-child{border-top:none}
.timeline li::before{content:counter(tl,decimal-leading-zero);font-family:var(--display);font-size:17px;color:var(--muted)}
.timeline .t-when{font-family:var(--display);font-size:17.5px;color:var(--heading);line-height:1.35}
.timeline .t-what{font-size:16.5px;line-height:1.58;color:var(--soft)}

.timeline.tl-plain li{grid-template-columns:56px 1fr}
.timeline.tl-plain .t-what{font-size:17px;color:var(--body)}

/* versus + tables */
table{border-collapse:collapse;width:100%}
.versus th,.versus td,.datatable th,.datatable td{text-align:left;padding:14px 18px;border:1px solid var(--rule-strong);vertical-align:top;font-size:16.5px;line-height:1.55}
.versus thead th,.datatable thead th{font-family:var(--display);font-weight:400;font-size:17.5px;color:var(--heading);background:var(--paper-deep)}
.versus td{color:var(--soft)}
.datatable td{color:var(--soft)}
.datatable tbody th{font-family:var(--serif);font-weight:600;color:var(--heading)}

/* stats */
.statrow{display:flex;flex-wrap:wrap;gap:14px;margin:44px 0}
.statblock{flex:1 1 160px;border:1px solid var(--rule-strong);padding:20px 22px;background:var(--paper-deep)}
.stat-num{display:block;font-family:var(--display);font-size:38px;color:var(--accent);line-height:1.1}
.stat-label{display:block;font-size:15px;color:var(--soft);margin-top:8px;line-height:1.45}

/* figures / charts */
.article-figure{margin:48px auto;max-width:820px}
.article-figure img{width:100%;border:1px solid var(--rule)}
.article-figure figcaption,.chart figcaption,.map-figure figcaption{font-style:italic;font-size:14.5px;color:var(--muted);margin-top:9px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:48px 0}
.gallery figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule)}
.gallery figcaption{font-style:italic;font-size:13.5px;color:var(--muted);margin-top:6px}
.chart{margin:48px auto;max-width:820px}
.chart svg{width:100%;height:auto;display:block}
.map-figure{margin:48px auto;max-width:820px}
.map-figure .map-slot{aspect-ratio:16/9;border:1px dashed var(--rule-strong);background:var(--paper-deep)}

/* cards / refs */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:44px 0}
.profile-card{border:1px solid var(--rule-strong);padding:22px;background:var(--paper-deep);display:flex;flex-direction:column}
.profile-card .p-photo{width:76px;height:76px;object-fit:cover;border-radius:50%;margin-bottom:14px}
.profile-card h3{font-size:20px}
.profile-card .p-role{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:4px}
.profile-card p{font-size:15.5px;line-height:1.55;color:var(--soft);margin-top:10px}
.profile-card .p-links{margin-top:auto;padding-top:12px}
.profile-card .p-links a{color:var(--accent);font-style:italic}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:44px 0}
.org-card{border:1px solid var(--rule-strong);padding:16px 18px;display:flex;flex-direction:column;gap:4px;background:var(--paper-deep)}
.org-card .org-logo{width:36px;height:36px;object-fit:contain;margin-bottom:6px}
.org-card .org-name{font-family:var(--display);font-size:16.5px;color:var(--heading)}
.org-card .org-host{font-size:13.5px;color:var(--muted)}
.entity-ref{color:var(--accent);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:44px 0}
.further-grid a{border:1px solid var(--rule-strong);padding:18px 20px;font-family:var(--display);font-size:17px;line-height:1.4;color:var(--heading);background:var(--paper-deep);display:flex}
.further-grid a:hover{border-color:var(--accent-soft)}

/* related + next */
.art-end{max-width:820px;margin:64px auto 0;border-top:1px solid var(--rule);padding-top:26px}
.related-links{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.related-links a{font-family:var(--display);font-size:19px;color:var(--heading);transition:color .15s}
.related-links a:hover{color:var(--accent);opacity:1}
.related-links .rl-sec{font-size:14px;color:var(--muted);font-style:italic;margin-left:10px}
.art-next{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:34px;flex-wrap:wrap}
.art-next a{font-family:var(--display);font-size:20px;color:var(--accent)}

/* plain pages */
.page-plain{max-width:720px;margin-inline:auto;padding:56px clamp(18px,4vw,40px) 20px}
.page-plain h1{font-size:clamp(32px,4vw,44px);margin-top:12px}
.page-plain p{font-size:19.5px;line-height:1.7;margin-top:22px;color:var(--ink)}
.page-plain a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* expander */
.expander{border:none;margin:0;padding:0}
.expander>summary{list-style:none;cursor:pointer;font-style:italic;color:var(--accent);font-size:16.5px;padding-block:10px}
.expander>summary::-webkit-details-marker{display:none}
.expander>summary::after{content:" ↓ show the rest"}
.expander[open]>summary::after{content:" ↑ fold away"}

/* responsive */
@media (max-width:920px){
  .hero .wrap,.flagship .wrap,.running .wrap,.cat-hero .wrap,.site-foot .wrap{grid-template-columns:1fr}
  .cond-list li{grid-template-columns:56px 1fr}
  .cond-list .cond-right{grid-column:2}
  .timeline li{grid-template-columns:44px 1fr;grid-template-rows:auto auto}
  .timeline .t-what{grid-column:2}
}
@media (max-width:560px){
  body{font-size:17.5px}
  .art-body{font-size:18.5px}
  .cond-list li{grid-template-columns:1fr}
  .cond-list .cond-right{grid-column:1}
  .versus th,.versus td,.datatable th,.datatable td{padding:9px 7px;font-size:14.5px}
  .breakout{overflow-x:auto}
  .sponsor{max-width:none}
}

/* 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{object-fit:contain!important}

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

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

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


/* sp-tile-equal: every ordinary supporter tile is the same width.
   Design gave them flex:1 1 200px with max-width:340px, and a later rule lifted the max-width
   altogether, so each tile grew to whatever its own copy needed and the row came out ragged.
   The featured tile keeps the larger footprint Design gave it deliberately (flex:1.7 1 280px) —
   that is hierarchy, not raggedness. */
.sponsor-row > .sponsor:not(.feat){flex:0 1 236px!important;max-width:236px!important}


/* sp-tile-equal (2): the featured tiles were coming out 408px and 460px wide in different rows,
   because flex:1.7 1 280px lets each grow by whatever share of its own row is left over. A
   featured tile is now exactly two ordinary tiles plus the gap (236*2+14), so every row lands on
   the same grid, and the rows stretch so tiles in one row share a height instead of stepping. */
.sponsor-row{align-items:stretch!important}
.sponsor-row > .sponsor.feat{flex:0 1 486px!important;max-width:486px!important}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1926px at 390, 21% of the whole page. Two columns bring it to
   1069px (44% shorter). Checked before writing: no new overflow, smallest mark still
   125px wide, longest blurb 7 lines, tile heights 147-147px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. Only the tier(s) that were one-per-row are touched (.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:14px!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-blurb-rows: money blurbs ran to 7 rows at 390, 308px of tier across
   3 tiles. Operator: blurbs should show "2-3 rows max" on mobile —
   a blurb that long eats the screen and, in a two-column grid, rewraps into more height than
   the columns save. Held to three rows at phone width; the copy stays in the markup and
   desktop is untouched. Only the tier(s) measured past three rows are clamped. */
@media (max-width:640px){
  .sponsor-row a{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;max-height:60px!important;min-height:0!important;overflow:hidden!important}
}

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

/* op-article-width: the article column was capped at 700px (88 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 700px (declared in .art-body > p, .art-body > h2, .art-body > h3) 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.art-body > :is(h2:not([class]), p:not([class])){max-width:min(807px, 100%)!important}
}
@media (min-width:1600px){
  div.art-body > :is(h2:not([class]), p:not([class])){max-width:min(clamp(807px, 56.042vw, 968px), 100%)!important}
  div.art-body > :is(p:not([class])){font-size:clamp(20px,1.3889vw,24.0px)!important}
}
/* op-article-width:end */

/* op-article-head: the article header followed the text column (700px) and was left behind when the text went to 807px. Operator: "article header page with title + meta info that are super shrinked". Its containers now follow the text again by the text's own factor. */
@media (min-width:1024px){
  header.art-head{max-width:min(807px, 100%)!important}
}
@media (min-width:1600px){
  header.art-head{max-width:min(calc(clamp(807px, 56.042vw, 968px) + 0px), 100%)!important}
}
/* op-article-head:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(aside > figure > img,
  div.wrap > figure > img,
  main.art-wrap > figure.art-hero > img){height:auto}
/* op-img-dims:end */
@media (min-width:660px) and (max-width:1439px){.sponsor-row.sponsor-row:has(> [data-partner]){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(236px,calc(50% - 7px)),1fr))!important;column-gap:14px!important;row-gap:14px!important;justify-content:stretch!important;align-items:stretch!important}.sponsor-row.sponsor-row > [data-partner]{flex:none!important;width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important}}
