/* About B (batch 50, 2026-10-06). Handoff R2 rows AB-20 to AB-24, AB-26 to AB-29, AB-31, AB-34; About Edit-Prompt sections 09 to 13; gap audit PG-02.
   Loads after about-batch49, so it owns everything from "Ohio was ready to #ShopOhioMade." to the foot of the page: the proof and the timeline, the mission and curation
   block, the first year applied to the modern experience, the growth grid and its lightbox, the present-day area and the one OH10 invitation.
   1 base  2 proof and timeline  3 mission  4 experience  5 growth grid  6 present day  7 OH10 invitation  8 lightbox  9 smaller screens
   Justin's ruling of 2026-10-06 ("tree photos" means the ornament wall, inside boxes, never a plate spanning the gutters): the four tree regions are boxes (2px red edge, 10px radius) that hold a
   crop of an approved ornament wall (assets/art-20261003, ornament-wall-a, b, c and the portrait wall) on the batch 58 clip layer, drifted with the scroll by assets/tree-box-batch58-20261006.js
   (handle omhm26-tree-box-batch58). The growth chapter and the close sit on the bright plaid with local supports only. Plaid portrait cards are not used in these regions: photographs take the thin 2px red edge of batch 49 and an external year label. */

/* 1 base ----------------------------------------------------------------------------------------------------------- */
.ab23{--ab50-gap:clamp(40px,4vw,56px);--ab50-col:clamp(24px,2.4vw,32px);--ab50-pad:clamp(20px,2.4vw,32px)}
.ab23 .ab49-tail{margin-bottom:0}
.ab23 .ab50-sec{margin-top:0;margin-bottom:var(--ab50-gap)}
/* The tree box: a host with its own clip layer (the batch 58 shape: one clip, one tree, both empty and aria-hidden). The clip is the box's own size and clips the wall; the wall is larger by the overscan so the
   scroll drift never shows an edge. A dark shade over the wall plus the local supports keep every text block at 4.5 to 1. */
.tb58-clip{--tb58-travel:var(--tb58-host-travel,16);font-style:normal;position:absolute;z-index:-2;inset:0;display:block;overflow:hidden;border-radius:inherit;pointer-events:none;background:#080808}
.tb58-clip::after{content:"";position:absolute;inset:0;background:var(--tb58-shade,none);pointer-events:none}
.tb58-tree{position:absolute;display:block;inset:calc(var(--tb58-travel) * -.5px - 4px);background-repeat:no-repeat;background-color:#0b0b0b}
.tb58-clip[data-tb58-live="1"] .tb58-tree{will-change:transform}
@media(prefers-reduced-motion:reduce){.tb58-tree{transform:none!important;will-change:auto}}
.ab23 .ab50-box{position:relative;isolation:isolate;box-sizing:border-box;border:3px solid #000;border-radius:10px;padding:calc(var(--ab50-pad) - 1px);margin:0 0 var(--ab50-gap);--tb58-host-travel:24;--tb58-shade:linear-gradient(rgba(5,5,5,.46),rgba(5,5,5,.5))}
.ab23 .ab50-box .tb58-tree{background-size:cover;background-image:url('./art-20261003/ornament-wall-a-1600.webp');background-position:50% 40%}
.ab23 .ab50-proof .tb58-tree{background-image:url('./art-20261003/ornament-wall-c-1600.webp');background-position:50% 40%}
.ab23 .ab50-mission .tb58-tree{background-image:url('./art-20261003/ornament-wall-a-1600.webp');background-position:50% 18%}
.ab23 .ab50-experience .tb58-tree{background-image:url('./art-20261003/ornament-wall-b-1600.webp');background-position:50% 70%}
.ab23 .ab50-present .tb58-tree{background-image:url('./art-20261003/ornament-wall-a-1600.webp');background-position:50% 85%}
/* the two About A regions (batch 49: the arrival with the vision, and the first market chapter) are boxes now too */
.ab23 .ab50-box--a .tb58-tree{background-image:url('./art-20261003/ornament-wall-a-1600.webp');background-position:50% 30%}
.ab23 .ab50-box--b .tb58-tree{background-image:url('./art-20261003/ornament-wall-c-1600.webp');background-position:30% 62%}
.ab23 .ab49-first.ab50-box{margin-bottom:var(--ab50-gap)}
.ab23 .ab50-proof{--tb58-shade:linear-gradient(rgba(5,5,5,.64),rgba(5,5,5,.68))}
@media(max-width:767px){
  /* phones: the portrait wall covers the tall narrow box, in its 940 file */
  .ab23 .ab50-box .tb58-tree{background-image:url('./art-20261003/ornament-wall-portrait-940.webp')}
  .ab23 .ab50-proof .tb58-tree{background-position:50% 30%}
  .ab23 .ab50-mission .tb58-tree{background-position:50% 10%}
  .ab23 .ab50-experience .tb58-tree{background-position:50% 55%}
  .ab23 .ab50-present .tb58-tree{background-position:50% 90%}
  .ab23 .ab50-box--a .tb58-tree{background-position:50% 20%}
  .ab23 .ab50-box--b .tb58-tree{background-position:50% 70%}
}
@media(max-width:480px){.ab23{--ab50-pad:14px}}
#editorial-main .ab23 .ab50-sec>.ab23-head h2,#editorial-main .ab23 .ab50-band>.ab23-head h2{font-size:clamp(1.55rem,3.3vw,2.8rem);line-height:1.08}
.ab23 .ab50-sec>.ab23-head,.ab23 .ab50-band>.ab23-head{margin-bottom:clamp(16px,1.8vw,24px)}
.ab23 .ab50-copy,.ab23 .ab50-band-in,.ab23 .ab50-invite,.ab23 .ab50-intro,.ab23 .ab50-more{font-size:clamp(16px,1.2vw,17px);line-height:1.55;color:#f1f1f1}
.ab23 .ab50-copy .ab23-prose,.ab23 .ab50-band-in .ab23-prose,.ab23 .ab50-invite .ab23-prose,.ab23 .ab50-more .ab23-prose{max-width:38em;color:#f1f1f1}
.ab23 .ab50-copy .ab23-lead,.ab23 .ab50-band-in .ab23-lead{max-width:34ch}
.ab23 .ab50-display p{font-size:clamp(30px,4.3vw,56px)}
.ab23 .ab50-display--better p,.ab23 .ab50-better .ab23-display--better p{font-size:clamp(40px,5.6vw,80px)}

/* 2 proof and timeline: one tree region, the statement, the four claims, the bridge, the timeline --------------------- */
.ab23 .ab50-proof{margin-top:clamp(14px,1.6vw,22px);margin-bottom:0;padding-bottom:calc(var(--ab50-pad) + 24px)}
.ab23 .ab50-ready{margin:0 auto;max-width:1040px;text-align:center}
.ab50-ready.om41-support::before{--om41-support-a:.85;--om41-support-b:.76;--om41-support-angle:180deg;--om41-support-inset-x:calc(min(26px,(100vw - 100%) / 2) * -1);--om41-support-inset-y:-6px;--om41-support-fx:6%;--om41-support-fy:14%;--om41-support-radius:16px}
.ab23 .ab50-ready .ab23-pull{justify-content:center;gap:.05em clamp(14px,2.2vw,32px)}
.ab23 .ab50-ready .ab23-pull-a{font-size:clamp(20px,2.4vw,34px)}
.ab23 .ab50-ready .ab23-pull-b{font-size:clamp(34px,5.4vw,76px);line-height:1.04}
.ab23 .ab50-proofbody{display:grid;justify-items:center;gap:clamp(10px,1.2vw,16px);max-width:1040px;margin:clamp(14px,1.6vw,22px) auto 0;text-align:center}
.ab23 .ab50-proof-lead{font-size:clamp(19px,1.7vw,24px);line-height:1.25;font-weight:800;color:#fff}
.ab23 .ab50-proof-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,44px);width:100%;text-align:left}
.ab23 .ab50-proof-list li{padding:9px 0 9px 4px;border-top:1px solid var(--ab-rule);font-size:clamp(16px,1.25vw,18px);line-height:1.4;font-weight:700;color:#fff}
.ab23 .ab50-proof-list li:nth-last-child(-n+2){border-bottom:1px solid var(--ab-rule)}
.ab23 .ab50-proof-list .ab23-k{text-transform:uppercase}
.ab23 .ab50-bridge{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px clamp(14px,2.2vw,30px);margin-top:4px}
.ab23 .ab50-bridge span{font-size:clamp(19px,1.9vw,26px);line-height:1.1;font-weight:800;color:#fff}
.ab23 .ab50-bridge .ab23-mint{font-size:clamp(24px,2.7vw,38px);color:var(--ab-mint)}
.ab23 .ab50-timeline.ab23-ribbon{max-width:1040px;margin:clamp(18px,2vw,28px) auto 0;padding:clamp(14px,1.6vw,20px) clamp(14px,2.4vw,32px) clamp(12px,1.4vw,18px);background:transparent;border:0;border-radius:0;box-shadow:none}
.ab50-timeline.om41-support::before{--om41-support-a:.85;--om41-support-b:.76;--om41-support-angle:180deg;--om41-support-inset-x:calc(min(26px,(100vw - 100%) / 2) * -1);--om41-support-inset-y:-6px;--om41-support-fx:6%;--om41-support-fy:14%;--om41-support-radius:16px}
.ab23 .ab50-timeline .editorial-years li{padding-top:34px}
.ab23 .ab50-timeline .editorial-years li::before{width:18px;height:18px;margin-left:-9px}
.ab23 .ab50-timeline .editorial-years strong{font-size:clamp(26px,3.1vw,42px)}
.ab23 .ab50-timeline .editorial-years .ab25-pivot{padding-top:38px}
.ab23 .ab50-timeline .editorial-years .ab25-pivot strong{font-size:clamp(30px,3.7vw,50px)}
.ab23 .ab50-timeline .editorial-years .ab25-pivot::before{width:24px;height:24px;margin-left:-12px;top:-3px;box-shadow:0 0 0 4px #080808,0 0 0 7px var(--ab-mint)}
.ab23 .ab50-timeline .ab23-ribbon-line{top:7px;height:3px}
.ab23 .ab50-timeline .editorial-actions{margin-top:clamp(12px,1.4vw,18px)}

/* 3 mission and curation: copy left, one real shopper photograph right; the bow is the one measured seam from the timeline ------------ */
.ab23 .ab50-seam{position:relative;z-index:2;height:0;margin:0;text-align:center;pointer-events:none}
.ab23 .ab50-bow{display:block;width:min(260px,56%);height:auto;margin:0 auto;transform:translateY(-50%)}
.ab23 .ab50-mission{margin-top:clamp(10px,1.2vw,16px);padding-top:calc(var(--ab50-pad) + 24px)}
.ab23 .ab50-halves{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:var(--ab50-col);align-items:center}
.ab23 .ab50-halves--flip{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.ab23 .ab50-copy{display:flex;flex-direction:column;gap:clamp(10px,1.1vw,15px)}
.ab23 .ab50-copy .ab23-lead{font-size:clamp(19px,1.7vw,24px)}
.ab23 .ab50-beats{gap:clamp(4px,.6vw,8px)}
.ab23 .ab50-beats p{font-size:clamp(20px,2vw,28px)}
.ab23 .ab50-copy .ab23-label{margin-top:2px}
.ab23 .ab50-copy .ab50-mission-rows li{font-size:clamp(16px,1.2vw,17px)}
.ab23 .ab50-media{align-self:center}
.ab23 .ab50-media img{aspect-ratio:3/2;object-fit:cover}
.ab23 .ab50-curation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,28px) clamp(24px,3vw,44px);margin-top:clamp(28px,3vw,40px);align-items:center}
.ab23 .ab50-matters{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.ab23 .ab50-matters li{padding:6px 0 6px clamp(14px,1.6vw,20px);border-left:4px solid #000;font-size:clamp(16px,1.35vw,19px);font-weight:700;line-height:1.35;color:#fff}
.ab50-matters.om41-support::before,.ab50-curate.om41-support::before,.ab50-juried.om41-support::before,.ab50-succeed.om41-support::before,.ab50-care.om41-support::before,.ab50-better.om41-support::before,.ab50-story.om41-support::before,.ab50-more.om41-support::before{--om41-support-a:.85;--om41-support-b:.76;--om41-support-inset-x:calc(min(18px,(100vw - 100%) / 2) * -1);--om41-support-inset-y:-10px;--om41-support-fx:12px;--om41-support-fy:10px;--om41-support-radius:12px}
.ab23 .ab50-curate{display:flex;flex-direction:column;gap:4px;justify-content:center}
.ab23 .ab50-curate .ab23-dim{font-size:clamp(18px,1.7vw,23px);font-weight:700}
.ab23 .ab50-juried{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}
.ab23 .ab50-checks li{font-size:clamp(16px,1.2vw,17px);padding-block:5px}
.ab23 .ab50-succeed{grid-column:1/-1;display:flex;flex-direction:column;gap:clamp(8px,1vw,12px);max-width:760px;justify-self:center;text-align:center}
.ab23 .ab50-succeed .ab23-prose{margin-inline:auto}

/* 4 the first year applied to the modern experience: photograph left, copy right ---------------------------------------- */
.ab23 .ab50-needs li{font-size:clamp(16px,1.2vw,17px);padding-block:6px}
.ab23 .ab50-flow{display:flex;flex-wrap:wrap;gap:4px clamp(12px,1.6vw,22px)}
.ab23 .ab50-flow span{font-size:clamp(18px,1.6vw,22px);font-weight:800;color:var(--ab-mint)}
.ab23 .ab50-notrandom{font-weight:600}
.ab23 .ab50-tickets.editorial-actions{justify-content:flex-start;margin-top:2px}
.ab23 .ab50-care{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,44px);margin-top:clamp(28px,3vw,40px)}
.ab23 .ab50-care p{padding:4px 0 4px clamp(14px,1.8vw,22px);border-left:4px solid #000;font-size:clamp(16px,1.35vw,18px);line-height:1.5;font-weight:600;color:#fff}
.ab23 .ab50-better{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(6px,1vw,12px) clamp(24px,3vw,44px);align-items:center;margin-top:clamp(20px,2.4vw,32px)}
.ab23 .ab50-better-q{display:flex;flex-direction:column;gap:8px}
.ab23 .ab50-better-a{display:flex;flex-direction:column;gap:0;align-items:flex-start}
.ab23 .ab50-better .ab23-qscript{max-width:none;font-size:clamp(30px,3.4vw,48px)}
.ab23 .ab50-better-rows{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:4px}
.ab23 .ab50-better-rows li{padding:4px 0 4px clamp(12px,1.4vw,18px);border-left:4px solid var(--ab-mint);font-size:clamp(16px,1.35vw,18px);font-weight:700;line-height:1.35;color:#fff}

/* 5 the life of its own: a 3 by 2 grid of six photographs on the bright plaid, the story groups under their columns -------- */
.ab23 .ab50-growth{margin-top:0}
.ab23 .ab50-intro{display:grid;justify-items:center;gap:clamp(8px,1vw,12px);max-width:980px;margin:0 auto;text-align:center}
.ab23 .ab50-intro .ab23-lead{max-width:none}
.ab23 .ab50-stair{display:flex;flex-wrap:wrap;justify-content:center;gap:4px clamp(14px,2vw,28px)}
.ab23 .ab50-stair span{font-size:clamp(16px,1.4vw,19px);line-height:1.3;font-weight:700;color:#fff}
.ab23 .ab50-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.7vw,24px);margin-top:clamp(20px,2.2vw,30px);align-items:stretch}
.ab23 .ab50-col{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}
.ab23 .ab50-cell{position:relative;margin:0;min-width:0}
.ab23 .ab50-frame{position:relative;overflow:hidden;background:#0b0b0b;aspect-ratio:3/2}
.ab23 .ab50-frame img{display:block;width:100%;height:100%;object-fit:cover}
.ab23 .ab50-open{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:inherit;background:transparent;cursor:zoom-in}
.ab23 .ab50-open[hidden]{display:none}
.ab23 .ab50-open:focus-visible{outline:3px solid #65f4b9;outline-offset:-5px}
.ab23 .ab50-open:hover{background:rgba(255,255,255,.06)}
.ab23 .ab50-cell figcaption{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:8px;background:rgba(5,5,5,.88);font-size:14px;line-height:1.3;font-weight:600;color:#fff}
.ab23 .ab50-story{flex:1 1 auto;margin-top:4px}
.ab23 .ab50-lines{display:grid;gap:0}
.ab23 .ab50-lines li{position:relative;padding:5px 0 5px 22px;font-size:clamp(16px,1.2vw,17px);line-height:1.4;font-weight:600;color:#fff}
.ab23 .ab50-lines li::before{content:"";position:absolute;left:3px;top:calc(5px + .5em);width:9px;height:9px;background:var(--ab-mint);transform:rotate(45deg)}
.ab23 .ab50-more{display:grid;justify-items:center;gap:clamp(8px,1vw,12px);max-width:980px;margin:clamp(26px,3vw,40px) auto 0;text-align:center}
.ab23 .ab50-more .ab23-prose{text-wrap:balance}
.ab23 .ab50-sp{justify-content:center;margin-top:4px}
.ab23 .ab50-sp .ab23-sp-a{font-size:clamp(20px,2.4vw,34px)}
.ab23 .ab50-sp .ab23-sp-b{font-size:clamp(34px,5.2vw,72px)}
.ab23 .ab50-sp-beats{display:flex;flex-wrap:wrap;justify-content:center;gap:4px clamp(18px,3vw,40px)}
.ab23 .ab50-sp-beats span{font-size:clamp(19px,2vw,27px);font-weight:700;color:#fff}
.ab23 .ab50-sp-beats .ab23-mint{color:var(--ab-mint)}
.ab23 .ab50-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,44px);width:100%;max-width:900px;text-align:left}
.ab23 .ab50-ops li{padding:8px 0;border-top:1px solid var(--ab-rule);font-size:clamp(16px,1.25vw,18px);line-height:1.4}
.ab23 .ab50-ops li:last-child{grid-column:1/-1;text-align:center;border-bottom:1px solid var(--ab-rule)}
.ab23 .ab50-ops li:nth-last-child(2){border-bottom:1px solid var(--ab-rule)}
.ab23 .ab50-ops .ab23-ops-a{display:inline;font-size:clamp(12px,1vw,14px)}
.ab23 .ab50-ops .ab23-ops-b{display:inline;font-size:clamp(16px,1.25vw,18px);font-weight:700}

/* 6 the present-day area: different, believe, today; one tree region, three compact bands ------------------------------------ */
.ab23 .ab50-band{margin:0 0 var(--ab50-gap)}
.ab23 .ab23-head.ab50-headpool{width:fit-content;max-width:100%;margin-inline:auto;padding:4px clamp(14px,2.4vw,32px)}
.ab50-headpool.om41-support::before{--om41-support-a:.85;--om41-support-b:.76;--om41-support-angle:180deg;--om41-support-inset-x:calc(min(14px,(100vw - 100%) / 2) * -1);--om41-support-inset-y:-4px;--om41-support-fx:14%;--om41-support-fy:16%;--om41-support-radius:14px}
.ab23 .ab50-band:last-child{margin-bottom:0}
.ab23 .ab50-band>.ab23-head{text-align:center}
.ab23 .ab50-band>.ab23-head h2{margin-inline:auto}
.ab23 .ab50-band-in{display:flex;flex-direction:column;gap:clamp(8px,1vw,13px)}
.ab23 .ab50-diff-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(10px,1.2vw,16px) var(--ab50-col);align-items:start}
.ab23 .ab50-diff-a,.ab23 .ab50-diff-b{display:flex;flex-direction:column;gap:clamp(8px,1vw,13px)}
.ab23 .ab50-trust{margin-top:2px}
.ab23 .ab50-knows li{font-size:clamp(16px,1.2vw,17px);padding-block:5px}
.ab23 .ab50-band-in .ab23-quote{max-width:none;font-size:clamp(18px,1.6vw,22px)}
.ab23 .ab50-pair p{font-size:clamp(20px,2vw,27px)}
.ab23 .ab50-believes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,44px)}
.ab23 .ab50-believes li{padding:9px 0;border-top:1px solid var(--ab-rule);font-size:clamp(16px,1.3vw,18px);line-height:1.4;font-weight:700;color:#fff}
.ab23 .ab50-believes li:nth-last-child(-n+2){border-bottom:1px solid var(--ab-rule)}
.ab23 .ab50-believes .ab23-k{text-transform:uppercase;font-size:.8em}
.ab23 .ab50-bel-r{font-family:"OMHM Backline",cursive;font-weight:400;font-size:1.35em;line-height:1.1;color:var(--ab-mint)}
.ab23 .ab50-bel-final{grid-column:1/-1;font-size:clamp(17px,1.5vw,20px)}
.ab23 .ab50-today-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(18px,2vw,28px) var(--ab50-col);align-items:center}
.ab23 .ab50-today-a{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,16px)}
.ab23 .ab50-rail{display:grid;gap:0}
.ab23 .ab50-rail li{position:relative;padding:5px 0 5px 24px;font-size:clamp(16px,1.25vw,18px);line-height:1.4;font-weight:700;color:#fff}
.ab23 .ab50-rail li::before{content:"";position:absolute;left:3px;top:calc(5px + .5em);width:9px;height:9px;background:var(--ab-mint);transform:rotate(45deg)}
.ab23 .ab50-today-close{grid-column:1/-1;display:grid;justify-items:center;gap:clamp(6px,.9vw,12px);text-align:center;padding-top:clamp(8px,1vw,14px);border-top:1px solid var(--ab-rule)}
.ab23 .ab50-today-close .ab23-today-sp{font-size:clamp(20px,2.2vw,30px)}
.ab23 .ab50-pair2{display:flex;flex-wrap:wrap;justify-content:center;gap:4px clamp(22px,3.4vw,50px)}
.ab23 .ab50-pair2 p{font-size:clamp(22px,2.4vw,34px)}

/* 7 OH10: one final invitation, the intact anniversary lockup, the celebration, the promise, the two actions ----------------- */
.ab23 .ab50-close{margin-bottom:var(--ab50-gap)}
.ab23 .ab50-close>.ab23-head{margin-bottom:clamp(10px,1.2vw,16px)}
.ab23 .ab50-lockup{width:min(100%,640px);margin:0 auto clamp(12px,1.6vw,20px)}
.ab23 .ab50-invite{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,1.8vw,24px) clamp(24px,3vw,44px);align-items:center;max-width:1040px;margin-inline:auto}
.ab23 .ab50-invite-a,.ab23 .ab50-invite-b{display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}
.ab23 .ab50-trio p{font-size:clamp(18px,1.7vw,23px)}
.ab23 .ab50-promise{display:grid;gap:6px}
.ab23 .ab50-promise li{padding:4px 0 4px clamp(12px,1.4vw,18px);border-left:4px solid var(--ab-mint);font-size:clamp(17px,1.5vw,21px);font-weight:800;line-height:1.3;color:#fff}
.ab23 .ab50-welcome{grid-column:1/-1;text-align:center;align-items:center}
.ab23 .ab50-welcome .ab23-welcome-a{font-size:clamp(20px,2.2vw,30px)}
.ab23 .ab50-welcome .ab23-welcome-b{font-size:clamp(28px,3.6vw,50px)}
.ab23 .ab50-actions{grid-column:1/-1}
.ab23 .ab50-actions .editorial-actions{justify-content:center;margin:0}

/* 8 lightbox: a native dialog built by assets/about-batch50-20261006.js (Escape, focus kept inside, focus returns to the photograph that opened it) ------------ */
.ab50-lb{width:min(96vw,1360px);max-width:none;max-height:96vh;margin:auto;padding:0;border:3px solid #000;border-radius:10px;background:#070707;color:#fff;overflow:hidden}
/* Wave G edges (2026-10-07): black 3 px box edges; a 1 px white keyline just inside the edge on the boxes that carry an ornament wall (every .ab50-box) and on the lightbox. */
.ab23 .ab50-box::after,.ab50-lb::after{content:"";position:absolute;inset:0;z-index:6;box-sizing:border-box;border:1px solid rgba(255,255,255,.85);border-radius:inherit;pointer-events:none}
.ab50-lb::backdrop{background:rgba(0,0,0,.84)}
.ab50-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#0d0d0d;border-bottom:1px solid #ffffff2e}
.ab50-lb-count{margin:0;font:700 14px/1 "OMHM Tomorrow",system-ui,sans-serif;letter-spacing:.12em;color:#fff;font-variant-numeric:tabular-nums}
.ab50-lb-count b{color:#65f4b9;font-weight:700}
.ab50-lb-btns{display:flex;gap:8px}
.ab50-lb-btn{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border:3px solid #000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85);border-radius:10px;background:#050505;color:#fff;font:700 14px/1 "OMHM Tomorrow",system-ui,sans-serif;letter-spacing:.08em;cursor:pointer}
.ab50-lb-btn:hover{background:#ef2435}
.ab50-lb-btn:focus-visible{outline:3px solid #65f4b9;outline-offset:3px}
.ab50-lb-stage{display:grid;place-items:center;padding:12px;background:#000}
.ab50-lb-stage img{display:block;max-width:100%;max-height:calc(96vh - 150px);width:auto;height:auto;border-radius:6px}
.ab50-lb-cap{margin:0;padding:10px 14px 14px;font-size:16px;line-height:1.4;color:#fff}
.ab50-lb-cap .ab49-yr{margin-right:8px}

/* 9 smaller screens ---------------------------------------------------------------------------------------------------- */
@media(max-width:1000px){
  .ab23 .ab50-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab23 .ab50-col:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(16px,1.7vw,24px)}
  .ab23 .ab50-col:nth-child(3) .ab50-story{grid-column:1/-1}
}
@media(max-width:900px){
  .ab23 .ab50-halves,.ab23 .ab50-halves--flip,.ab23 .ab50-diff-grid,.ab23 .ab50-today-grid,.ab23 .ab50-invite,.ab23 .ab50-better{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-media{max-width:640px;justify-self:center;width:100%}
  .ab23 .ab50-curation{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-matters{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-care,.ab23 .ab50-better-rows,.ab23 .ab50-believes{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-believes li:nth-last-child(2){border-bottom:0}
  .ab23 .ab50-proof-list{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-proof-list li:nth-last-child(2){border-bottom:0}
}
@media(max-width:780px){
  /* the timeline turns vertical: one row per milestone, a rule on the left, a dot per row */
  .ab23 .ab50-timeline .editorial-years{grid-template-columns:minmax(0,1fr);gap:0;text-align:left;padding-left:40px}
  .ab23 .ab50-timeline .editorial-years li{display:grid;grid-template-columns:minmax(78px,auto) minmax(0,1fr);align-items:center;column-gap:14px;padding:9px 0;text-align:left}
  .ab23 .ab50-timeline .editorial-years li::before{left:-40px;top:50%;margin:-9px 0 0 4px}
  .ab23 .ab50-timeline .editorial-years .ab25-pivot{padding-top:9px}
  .ab23 .ab50-timeline .editorial-years .ab25-pivot::before{left:-40px;top:50%;margin:-12px 0 0 1px}
  .ab23 .ab50-timeline .editorial-years span{align-items:flex-start}
  .ab23 .ab50-timeline .ab23-ribbon-line{display:block;left:11px;right:auto;top:18px;bottom:18px;width:3px;height:auto}
  .ab23--anim .ab50-timeline .ab23-ribbon-line i{transform:scaleY(0);transform-origin:top center}
  .ab23--anim .ab50-timeline.is-in .ab23-ribbon-line i{transform:scaleY(1)}
  .ab23 .ab50-timeline .ab23-ribbon-track{padding-left:0}
  .ab23 .ab50-ops{grid-template-columns:minmax(0,1fr)}
  .ab23 .ab50-ops li:last-child{text-align:left}
  .ab23 .ab50-ops li:nth-last-child(2){border-bottom:0}
}
@media(max-width:640px){
  .ab23 .ab50-grid{grid-template-columns:minmax(0,1fr);gap:clamp(22px,6vw,30px)}
  .ab23 .ab50-col:nth-child(3){display:flex}
  .ab23 .ab50-curate{align-items:flex-start}
  .ab23 .ab50-lb{width:100vw;max-height:100vh;border-radius:0;border-width:0}
  .ab23 .ab50-bow{width:min(220px,64%)}
  .ab50-lb-stage img{max-height:calc(100vh - 170px)}
}
@media(max-width:480px){
  .ab23 .ab50-ready .ab23-pull-b{font-size:clamp(24px,7.6vw,34px)}
  .ab23 .ab50-timeline.ab23-ribbon{padding-inline:6px}
  .ab23 .ab50-timeline .editorial-years{padding-left:36px}
  .ab23 .ab50-timeline .editorial-years li::before{left:-36px}
  .ab23 .ab50-timeline .editorial-years .ab25-pivot::before{left:-36px}
}
@media(prefers-reduced-motion:reduce){.ab50-lb *{transition:none!important;animation:none!important}}
