/* BEVP Events landing page correction v2.1 (events-landing-v2-1): composition repair of v2.
   v2.1 changes are marked "v2.1"; the composition rules they satisfy are in handoff/events-landing-v2/VISUAL-COMPOSITION-CONTRACT.md.
   Loads after /css/bevp-shell.css (locked shell, never restyled here) and css/readability.css (type tokens, measures).
   Breakpoints: 1100 desktop compositions, 900 two-column sections stack, 700 phone patterns.
   Tablet portrait (700-899) and landscape (900-1099) have their own compositions.
   No fixed section heights: media uses aspect-ratio or stretches to the text beside it.
   Issue numbers (H1, E1 ...) refer to handoff/events-landing-v2/EVENTS-DESIGN-ISSUES.md. */

.ev2{
  --ev2-h1:clamp(46px,6.6vw,112px);
  --ev2-ink-soft:var(--u-bone-soft);
  --ev2-pad-y:var(--rd-section);
}
.ev2 h1,.ev2 h2,.ev2 h3,.ev2 h4{margin:0}
.ev2 dl,.ev2 dd{margin:0}
.ev2 [role=tabpanel]:focus-visible{outline-offset:6px}
.ev2-evo :focus-visible,.ev2-next :focus-visible,.ev2-deliver :focus-visible,.ev2-valk__panel :focus-visible,.ev2-hero :focus-visible{outline-color:var(--u-bone)}
.ev2-afs :focus-visible{outline-color:#fff}

/* Tabs before the script runs: only the default panel shows (without JavaScript every panel shows) */
.js .ev2 [data-tabs]:not(.is-ready) [role=tabpanel]:not([data-default]){display:none}

/* Shared type */
.ev2-h1{font-family:var(--u-ff-title);font-weight:400;font-size:var(--ev2-h1);line-height:.9;letter-spacing:.005em;text-transform:uppercase}
.ev2-h2{font-family:var(--u-ff-title);font-weight:400;font-size:var(--rd-h2);line-height:.98;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
.ev2-h2--afs{font-size:clamp(32px,3.7vw,58px);line-height:1}
.ev2-h2--sm{font-size:clamp(32px,3.3vw,50px);line-height:1}
.ev2-h3{font-family:var(--u-ff-title);font-weight:400;font-size:var(--rd-h3);line-height:1.04;text-transform:uppercase;text-wrap:balance}
.ev2-kicker{margin-bottom:var(--u-s4)}
.ev2-note{font-size:15px;line-height:1.6}

/* Section intro: full width above the two-column composition */
.ev2-br-lg{display:none}
@media (min-width:900px){.ev2-br-lg{display:inline}}

/* Section intro (v2.1): the kicker sits above, full width; headline and lead share a top line (align-items:start)
   and fill their columns, so neither side of the intro is left empty (contract A, B) */
.ev2-intro{row-gap:var(--u-s4);align-items:start;margin-bottom:clamp(32px,3.4vw,52px)}
.ev2-intro__lead{font-size:var(--rd-lead);line-height:1.55;text-wrap:pretty}
@media (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-intro__head{grid-column:1 / span 7}
  .ev2-intro__lead{grid-column:8 / -1;margin-top:calc(.2em - 2px)}
  .ev2-intro--hist .ev2-intro__head{grid-column:1 / span 5}
  .ev2-intro--hist .ev2-intro__lead{grid-column:6 / -1;font-size:clamp(18px,1.5vw,22px)}
}
@media (max-width:899px) and (min-width:700px) and (min-height:501px){
  .ev2-intro__lead{font-size:21px}
}

/* Status line (event status rules: no countdown until dates are confirmed) */
.ev2-statusline{display:flex;gap:12px;align-items:baseline;font-size:16px;line-height:1.5;font-weight:600}
.ev2-dot{flex:none;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.8;transform:translateY(-1px)}

/* ============================================================
   1. HERO (H1-H4)
   ============================================================ */
.ev2-hero{
  position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:clamp(480px,calc(100svh - var(--u-header-h) - 132px),860px);
  background:var(--u-ink);color:var(--u-bone);overflow:hidden;
}
.ev2-hero__media{position:absolute;inset:0;z-index:-2}
.ev2-hero__media img{width:100%;height:100%;object-fit:cover}
/* Scrim: the photograph fades into the ink of the strip below, so there is no hard black edge (H2) */
.ev2-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(0deg,var(--u-ink) 0,rgba(14,13,11,.86) 16%,rgba(14,13,11,.35) 46%,rgba(14,13,11,0) 66%),
    linear-gradient(90deg,rgba(14,13,11,.45) 0,rgba(14,13,11,0) 60%);
}
.ev2-hero__inner{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--rd-gap);row-gap:var(--u-s5);align-items:end;padding-top:var(--u-s9);padding-bottom:clamp(20px,2.4vw,36px)}
.ev2-hero__head{grid-column:1 / span 8}
.ev2-hero__kicker{color:var(--u-bone)}
.ev2-hero__side{grid-column:9 / -1}
.ev2-hero__actions{margin-top:var(--u-s5)}
.ev2-hero__lead{font-size:var(--rd-lead);line-height:1.55;color:var(--u-bone);text-wrap:pretty;max-width:var(--rd-measure-lead)}
.ev2-credit{position:absolute;top:16px;right:max(var(--u-pad-x),env(safe-area-inset-right,0px));margin:0;font-family:var(--u-ff-label);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(236,227,208,.86);text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:1099px){
  .ev2-hero__head,.ev2-hero__side{grid-column:1 / -1}
}

/* 1b. Upcoming strip */
.ev2-next{background:var(--u-ink);color:var(--u-bone)}
.ev2-next__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:var(--rd-gap);align-items:start;padding-top:var(--u-s4);padding-bottom:clamp(28px,3vw,44px)}
.ev2-next__label{padding-top:4px;color:var(--u-bone-dim)}
.ev2-next__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--rd-gap);margin:0;padding:0;list-style:none}
.ev2-next__list a{display:flex;flex-direction:column;gap:4px;min-height:var(--u-tap);color:inherit;text-decoration:none}
.ev2-next__list strong{font-family:var(--u-ff-label);font-weight:400;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--u-red);text-decoration-thickness:2px;text-underline-offset:6px}
.ev2-next__list span{font-size:16px;line-height:1.45;color:var(--u-bone-soft)}
.ev2-next__hist{align-self:start;display:inline-flex;align-items:center;min-height:var(--u-tap);margin-top:-12px;color:var(--u-bone);font-weight:600;text-decoration:underline;text-underline-offset:5px}
@media (hover:hover){.ev2-next__list a:hover span{color:var(--u-bone)}}
@media (max-width:1099px){
  .ev2-next__row{grid-template-columns:minmax(0,1fr) auto}
  .ev2-next__label{grid-column:1 / -1;padding-bottom:var(--u-s3)}
}

/* ============================================================
   2. EVOLUTIONS (E1-E4)
   ============================================================ */
.ev2-evo{padding:var(--ev2-pad-y) 0;background:var(--u-ink);color:var(--u-bone)}
.ev2-evo__lead{margin:0;font-family:var(--u-ff-edit);font-style:italic;font-size:clamp(20px,1.75vw,26px);line-height:1.36;color:var(--u-bone);text-wrap:pretty}
.ev2-evo p:not([class]){color:var(--ev2-ink-soft)}
.ev2-evo__unit{display:grid;grid-template-columns:minmax(0,1fr);column-gap:var(--rd-gap);row-gap:var(--u-s5)}
.ev2-evo__catlabel{color:var(--u-bone-dim);margin-bottom:var(--u-s3)}
.ev2-cats{display:flex;flex-direction:column;align-items:flex-start}
.ev2-cat{
  all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.3em;min-height:var(--u-tap);padding:2px 0;
  font-family:var(--u-ff-title);font-size:clamp(26px,2.5vw,40px);line-height:1.08;text-transform:uppercase;color:var(--u-bone-dim);transition:color .2s ease;
}
.ev2-cat svg{width:.5em;height:.5em;flex:none;color:var(--u-red);opacity:0;transform:translateX(-8px);transition:opacity .2s ease,transform .25s ease}
.ev2-cat[aria-selected="true"]{color:var(--u-bone)}
.ev2-cat[aria-selected="true"] svg{opacity:1;transform:none}
@media (hover:hover){.ev2-cat:hover{color:var(--u-bone-soft)}}
.ev2-cat:focus-visible{outline:3px solid var(--u-bone);outline-offset:4px;border-radius:8px}
.ev2-stage{margin:0}
.ev2-stage__img{aspect-ratio:3 / 2;overflow:hidden;background:#1d1b18}
.ev2-stage__img img{width:100%;height:100%;object-fit:cover}
.ev2-stage figcaption{margin-top:var(--u-s4);max-width:60ch;font-size:var(--rd-body);line-height:1.6;color:var(--ev2-ink-soft);text-wrap:pretty}
.ev2-stage figcaption strong{display:block;margin-bottom:4px;font-family:var(--u-ff-label);font-weight:400;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--u-bone)}
.ev2-status .rd-label{color:var(--u-bone-dim);margin-bottom:6px}
.ev2-status p:not(.rd-label){max-width:44ch;color:var(--u-bone)}
.ev2-evo__status .rd-actions{margin-top:var(--u-s5)}
/* v2.1 (E5): one composition. Left: headline over the photograph and caption. Right: the deck on the headline's top
   line, the selector on the photograph's top line, status and actions on the caption's bottom line. */
@media (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-evo__unit{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"h lead" "stage cats" "stage status";grid-template-rows:auto auto 1fr;row-gap:0}
  .ev2-evo__h{grid-area:h;padding-bottom:clamp(32px,3.4vw,52px)}
  .ev2-evo__lead{grid-area:lead;margin-top:.15em}
  .ev2-evo__cats{grid-area:cats;margin-top:-6px}
  .ev2-evo__stage{grid-area:stage}
  .ev2-evo__status{grid-area:status;align-self:end;padding-top:var(--u-s5)}
  .ev2-evo__status .ev2-status p:not(.rd-label){max-width:none}
}
/* Tablet portrait: headline and deck span the width; status beside its actions */
@media (max-width:899px) and (min-width:700px) and (min-height:501px){
  .ev2-evo__h{font-size:clamp(48px,7.6vw,64px)}
  .ev2-evo__lead{font-size:22px}
  .ev2-evo__status{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--rd-gap);align-items:end}
  .ev2-evo__status .rd-actions{margin-top:0;flex-direction:column;align-items:stretch}
}

/* "More" blocks: in full at 900px and wider; a disclosure on phones and tablet portrait (js/events.js) */
.ev2-more{margin-top:clamp(40px,5vw,72px)}
.ev2-more__h{grid-column:1 / -1;margin-bottom:var(--u-s4);font-family:var(--u-ff-label);font-weight:400;font-size:13px;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}
.ev2-evo .ev2-more__h{color:var(--u-bone-dim)}
.ev2-more__body{grid-column:1 / -1}
.ev2-evo .ev2-more__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--rd-gap);row-gap:var(--u-s5)}
.ev2-more__col h4{margin-bottom:var(--u-s2);color:var(--u-bone-dim)}
@media (max-width:699px), (max-width:899px) and (min-height:501px){.ev2-evo .ev2-more__body{grid-template-columns:minmax(0,1fr)}}
.ev2-more.is-disc{margin-top:var(--u-s5);border-top:1px solid currentColor;border-bottom:1px solid currentColor;border-color:var(--ev2-disc-rule,var(--u-rule-bone))}
.ev2-more.is-disc .ev2-more__h{margin:0}
.ev2-more.is-disc .ev2-more__body{padding:0 0 var(--u-s5)}
.ev2-disc__btn{
  all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:60px;padding:12px 0;cursor:pointer;
  font-family:var(--u-ff-body);font-weight:600;font-size:18px;letter-spacing:0;text-transform:none;line-height:1.3;color:inherit;
}
.ev2-disc__btn svg{width:22px;height:22px;flex:none;transform:rotate(90deg);transition:transform .25s ease}
.ev2-disc__btn[aria-expanded="true"] svg{transform:rotate(-90deg)}
.ev2-disc__btn:focus-visible{outline:3px solid currentColor;outline-offset:2px;border-radius:6px}

/* ============================================================
   3. BLACK OPS VALKYRIE (V1-V4). Asata .price-post.style2 col-8 + .price-table.style2 col-4
   ============================================================ */
.ev2-valk{padding:var(--ev2-pad-y) 0;background:var(--u-bone);color:var(--u-ink);--ev2-disc-rule:var(--u-rule-ink)}
.ev2-valk__unit{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--rd-gap);align-items:center}
.ev2-valk__photo{grid-column:1 / span 8;grid-row:1;margin:0;aspect-ratio:3 / 2;overflow:hidden}
.ev2-valk__photo img{width:100%;height:100%;object-fit:cover}
.ev2-valk__panel{grid-column:8 / -1;grid-row:1;position:relative;z-index:1;padding:clamp(24px,2.6vw,40px);background:var(--u-ink);color:var(--u-bone)}
.ev2-valk__panel .ev2-statusline{color:var(--u-bone)}
.ev2-valk__panel .ev2-dot{background:var(--u-red);opacity:1}
.ev2-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--u-s4) var(--u-s5);margin-top:var(--u-s5)}
.ev2-facts dt{font-family:var(--u-ff-label);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--u-bone-dim)}
.ev2-facts dd{margin-top:2px;font-size:18px;line-height:1.35;font-weight:600}
.ev2-price{margin-top:var(--u-s5);padding-top:var(--u-s4)}
.ev2-price__fig{font-family:var(--u-ff-title);font-size:clamp(44px,4vw,60px);line-height:1}
.ev2-price__note{margin-top:6px!important;font-size:16px;line-height:1.5;color:var(--u-bone-soft);max-width:36ch}
.ev2-valk__panel .rd-actions{margin-top:var(--u-s5)}
.ev2-valk__more{display:grid}
.ev2-valk__more .ev2-more__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--rd-gap);align-items:start}
.ev2-valk__pair{grid-column:1 / span 5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--u-s3)}
.ev2-valk__pair figure{margin:0;aspect-ratio:4 / 5;overflow:hidden}
.ev2-valk__pair img{width:100%;height:100%;object-fit:cover}
.ev2-valk__plan{grid-column:6 / -1}
.ev2-days{margin-top:var(--u-s5)!important}
.ev2-days div{display:grid;grid-template-columns:7.5em minmax(0,1fr);column-gap:var(--u-s5);padding:var(--u-s3) 0}
.ev2-days dt{font-family:var(--u-ff-title);font-size:22px;line-height:1.2;text-transform:uppercase}
.ev2-days dd{max-width:56ch;line-height:1.55}
@media (max-width:1099px) and (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-valk__photo{grid-column:1 / span 7}
  .ev2-valk__panel{grid-column:7 / -1}
}
@media (max-width:699px), (max-width:899px) and (min-height:501px){
  .ev2-valk__photo{grid-column:1 / -1}
  .ev2-valk__panel{grid-column:1 / -1;grid-row:2}
  .ev2-valk__pair,.ev2-valk__plan{grid-column:1 / -1}
  .ev2-valk__plan{margin-top:var(--u-s5)}
}
/* Tablet portrait: the panel overlaps the photograph's lower edge */
@media (max-width:899px) and (min-width:700px) and (min-height:501px){
  .ev2-valk__panel{margin:-88px var(--u-s6) 0}
  .ev2-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ev2-valk__pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev2-valk__pair figure{aspect-ratio:3 / 2}
}

/* ============================================================
   4. ARMED FORCES SHOOTOUT (A1-A4)
   ============================================================ */
.ev2-afs{padding:var(--ev2-pad-y) 0;background:var(--u-red);color:#fff;--ev2-disc-rule:rgba(255,255,255,.35)}
.ev2-afs .ev2-kicker{color:#fff}
/* v2.1 (A5): one grid. Phones: headline, photograph, lead, status, actions, figures, disclosure (DOM order).
   From 900px: left = identity and headline over lead, status and actions; right = the photograph across both rows.
   Third row: the three figures as one aligned list (left) beside how the tournament works (right). */
.ev2-afs__grid{display:grid;grid-template-columns:minmax(0,1fr);column-gap:var(--rd-gap);row-gap:var(--u-s5)}
.ev2-afs__photo{position:relative;margin:0;aspect-ratio:16 / 10;overflow:hidden;background:#7d1e19}
.ev2-afs__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev2-ill{position:absolute;left:12px;bottom:12px;padding:5px 12px;border-radius:999px;background:rgba(14,13,11,.72);color:#fff;font-family:var(--u-ff-label);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ev2-afs__lead{font-size:var(--rd-lead);line-height:1.55;text-wrap:pretty}
.ev2-afs .ev2-statusline{margin-top:var(--u-s4)}
.ev2-afs__body .rd-actions{margin-top:var(--u-s5)}
.ev2-figs{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-auto-flow:row dense;column-gap:var(--u-s5);row-gap:var(--u-s4);align-items:baseline}
.ev2-figs div{display:contents}
.ev2-figs dd{grid-column:1;text-align:right;font-family:var(--u-ff-title);font-size:clamp(34px,3vw,48px);line-height:1;white-space:nowrap}
.ev2-figs dt{grid-column:2;font-size:16px;line-height:1.4;color:rgba(255,255,255,.9);max-width:30ch}
.ev2-afs__more{margin-top:0}
.ev2-afs__more .ev2-more__h{color:rgba(255,255,255,.8)}
.ev2-afs__more .ev2-more__body p{max-width:var(--rd-measure)}
@media (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-afs__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"head photo" "body photo" "figs more";grid-template-rows:auto 1fr auto;row-gap:0}
  .ev2-afs__head{grid-area:head;padding-bottom:var(--u-s5)}
  .ev2-afs__photo{grid-area:photo;aspect-ratio:auto;min-height:360px}
  .ev2-afs__body{grid-area:body;align-self:end}
  .ev2-afs__lead{max-width:var(--rd-measure-lead)}
  .ev2-afs__figs{grid-area:figs;padding-top:clamp(40px,4.4vw,64px)}
  .ev2-afs__more{grid-area:more;padding-top:clamp(40px,4.4vw,64px)}
  .ev2-afs__more .ev2-more__body p{max-width:none}
}
@media (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-h2--afs{font-size:clamp(44px,3.9vw,60px)}
}
/* Tablet portrait: the headline spans the width; the figures sit in one row of three */
@media (max-width:899px) and (min-width:700px) and (min-height:501px){
  .ev2-h2--afs{font-size:clamp(40px,5.6vw,48px)}
  .ev2-afs__lead{font-size:19px}
  .ev2-figs{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;column-gap:var(--rd-gap);row-gap:8px}
  .ev2-figs div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px}
  .ev2-figs dd{text-align:left}
}

/* ============================================================
   5. EVENT HISTORY (R1-R4). Eventes "Event On Trend" year tabs
   ============================================================ */
.ev2-hist{padding:var(--ev2-pad-y) 0;background:var(--u-paper);color:var(--u-ink)}
.ev2-arch__tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--rd-gap);margin-bottom:clamp(28px,3vw,44px)}
.ev2-arch__tab{
  all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:var(--u-tap);padding:14px 0 6px;
  border-top:3px solid var(--u-rule-ink);color:rgba(14,13,11,.6);transition:color .2s ease,border-color .2s ease;
}
.ev2-arch__tab[aria-selected="true"]{border-top-color:var(--u-red);color:var(--u-ink)}
@media (hover:hover){.ev2-arch__tab:hover{color:var(--u-ink)}}
.ev2-arch__tab:focus-visible{outline:var(--u-focus);outline-offset:4px;border-radius:4px}
.ev2-arch__yr{font-family:var(--u-ff-title);font-size:clamp(30px,3vw,46px);line-height:1}
.ev2-arch__yr--tbc{font-family:var(--u-ff-label);font-size:14px;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;padding-top:6px;min-height:calc(clamp(30px,3vw,46px) - 6px)}
.ev2-arch__nm{font-weight:600;font-size:16px;line-height:1.35}
.ev2-arch__panel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--rd-gap);row-gap:var(--u-s5);align-items:center}
.ev2-arch__media{grid-column:1 / span 7;aspect-ratio:16 / 10;overflow:hidden;background:var(--u-ink)}
.ev2-arch__media img{width:100%;height:100%;object-fit:cover}
/* Footage: the video fills a 16:9 frame at every size; the Legacy Jump cover sits behind its player while it loads */
.ev2-arch__media--video{position:relative}
.ev2-arch__media--video iframe,.ev2-arch__media--video img{position:absolute;inset:0;width:100%;height:100%;border:0}
.ev2-arch__media.ev2-arch__media--video{aspect-ratio:16 / 9;background:#000}
.ev2-arch__text{grid-column:8 / -1}
.ev2-arch__text .rd-label{color:var(--u-text-soft);margin-bottom:var(--u-s3)}
.ev2-arch__text .ev2-h3{margin-bottom:var(--u-s4)}
.ev2-arch__text .rd-textlink{margin-top:var(--u-s3)}
/* Events without an approved photograph: a typographic panel, no stand-in image */
.ev2-arch__panel--type .ev2-arch__media{display:flex;align-items:flex-end;padding:clamp(20px,3vw,40px);color:var(--u-bone)}
.ev2-arch__panel--red .ev2-arch__media{background:var(--u-red);color:#fff}
.ev2-arch__place{font-family:var(--u-ff-title);font-size:clamp(40px,5vw,84px);line-height:.95;text-transform:uppercase}
.ev2-hist__actions{margin-top:clamp(32px,4vw,56px)}
/* Without JavaScript every entry shows, in date order */
html:not(.js) .ev2-arch__tabs{display:none}
html:not(.js) .ev2-arch__panel + .ev2-arch__panel{margin-top:var(--u-s7)}
@media (max-width:1099px) and (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  .ev2-arch__media{grid-column:1 / span 6}
  .ev2-arch__text{grid-column:7 / -1}
}
@media (max-width:699px), (max-width:899px) and (min-height:501px){
  .ev2-arch__media,.ev2-arch__text{grid-column:1 / -1}
  .ev2-arch__media{aspect-ratio:16 / 9}
}

/* ============================================================
   6. TAKE PART AND HELP DELIVER (D1-D2). Asata .cont-wrap over .fixed-bg
   ============================================================ */
.ev2-deliver{position:relative;isolation:isolate;padding:var(--ev2-pad-y) 0;background:var(--u-ink);color:var(--u-bone);overflow:hidden}
.ev2-deliver__bg{position:absolute;inset:0;z-index:-2}
.ev2-deliver__bg img{width:100%;height:100%;object-fit:cover}
.ev2-deliver::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(14,13,11,.8)}
.ev2-deliver__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--rd-gap);row-gap:var(--u-s8)}
.ev2-deliver .ev2-h2{margin-bottom:var(--u-s5)}
.ev2-deliver p{color:var(--u-bone)}
@media (max-width:699px), (max-width:899px) and (min-height:501px){.ev2-deliver__grid{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   PHONE (below 700px)
   ============================================================ */
@media (max-width:699px){
  .ev2{--ev2-pad-y:56px}
  .ev2-h2{font-size:clamp(30px,8.6vw,38px)}
  .ev2-h2--afs{font-size:clamp(28px,7.6vw,34px)}
  .ev2-intro{margin-bottom:var(--u-s5)}
  .ev2-intro__lead{font-size:17px}

  /* Hero: tall art-directed crop, capped, headline inside the photograph (H4) */
  .ev2-hero{min-height:min(64svh,560px)}
  .ev2-hero__inner{padding-top:var(--u-s8);padding-bottom:var(--u-s4)}
  .ev2-hero__lead{font-size:17px}
  .ev2-credit{font-size:12px}

  .ev2-next__row{grid-template-columns:minmax(0,1fr);padding-bottom:var(--u-s6)}
  .ev2-next__label{padding-bottom:var(--u-s2)}
  .ev2-next__list{grid-template-columns:minmax(0,1fr);row-gap:var(--u-s3)}
  .ev2-next__hist{margin-top:var(--u-s2)}

  /* Evolutions: the selector becomes pill tabs, as on the homepage science block */
  .ev2-cats{flex-direction:row;flex-wrap:wrap;gap:8px}
  .ev2-cat{min-height:var(--u-tap);padding:0 16px;border:1px solid var(--u-rule-bone);border-radius:999px;font-family:var(--u-ff-body);font-weight:600;font-size:15px;line-height:1.2;text-transform:none;color:var(--u-bone)}
  .ev2-cat svg{display:none}
  .ev2-cat[aria-selected="true"]{background:var(--u-bone);border-color:var(--u-bone);color:var(--u-ink)}
  .ev2-evo__unit{row-gap:var(--u-s5)}
  .ev2-stage figcaption{font-size:16px}

  .ev2-valk__panel{padding:var(--u-s5) var(--u-s4)}
  .ev2-facts{gap:var(--u-s3) var(--u-s4)}
  .ev2-facts dd{font-size:17px}
  .ev2-days div{grid-template-columns:minmax(0,1fr);row-gap:2px}

  /* Figures: one per row, number over its label, left-aligned with the copy above */
  .ev2-afs__figs{margin-top:var(--u-s6)}
  .ev2-figs{display:flex;flex-direction:column;gap:var(--u-s5)}
  .ev2-figs div{display:flex;flex-direction:column-reverse;gap:6px}
  .ev2-figs dd{text-align:left;font-size:clamp(40px,12vw,52px)}
  .ev2-figs dt{max-width:none;font-size:17px}

  /* History: a scrolling year selector, one panel at a time (R4) */
  .ev2-arch__tabs{display:flex;gap:var(--u-s4);margin:0 calc(-1 * var(--u-pad-x)) var(--u-s5);padding:0 var(--u-pad-x);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-inline:var(--u-pad-x)}
  .ev2-arch__tabs::-webkit-scrollbar{display:none}
  .ev2-arch__tab{flex:0 0 auto;width:min(46vw,170px);scroll-snap-align:start}
  .ev2-arch__yr{font-size:30px}
  .ev2-arch__yr--tbc{font-size:13px;min-height:24px}
  .ev2-arch__nm{font-size:15px}
  .ev2-arch__place{font-size:clamp(36px,11vw,48px)}

  .ev2-deliver__grid{row-gap:var(--u-s7)}
}

/* Short landscape phones (844x390, 667x375): the hero stays inside one screen above the rail */
@media (max-height:500px) and (orientation:landscape){
  .ev2-hero{min-height:calc(100svh - var(--u-header-h))}
  .ev2-hero__inner{grid-template-columns:repeat(12,minmax(0,1fr));padding-top:var(--u-s5);padding-bottom:calc(var(--u-dock-clear) + 4px)}
  .ev2-hero__head{grid-column:1 / span 7}
  .ev2-hero__side{grid-column:8 / -1}
  .ev2-hero__lead{font-size:16px}
  .ev2-hero__actions{margin-top:var(--u-s3)}
  .ev2{--ev2-h1:clamp(40px,8.4vh,56px)}
}
@media (max-height:500px) and (orientation:landscape) and (min-width:1025px){
  .ev2-hero__inner{padding-bottom:var(--u-s5)}
}

/* Rail prototype (?rail=compact, short landscape only). Not the default: the locked rail is unchanged.
   Documented for a separate decision in handoff/events-landing-v2/INTERACTION-QA.md (M1). */
@media (max-width:1024px) and (max-height:500px) and (orientation:landscape){
  .ev2-rail-compact .u-dock{max-width:440px;padding:4px;gap:4px}
  .ev2-rail-compact .u-dock a{height:40px;font-size:14px}
}

@media (prefers-reduced-motion:reduce){.ev2 *{transition:none!important}}

/* Revision 1 (after the first review captures) */
.ev2-h2--valk{font-size:var(--rd-h2-md);line-height:1}
@media (min-width:1100px){.ev2-valk__photo{aspect-ratio:4 / 3}}
.ev2-deliver__more{margin-top:var(--u-s5);--ev2-disc-rule:var(--u-rule-bone)}
.ev2-deliver__more .ev2-more__h{color:var(--u-bone-dim)}
@media (max-width:699px){
  .ev2-stage__img{aspect-ratio:16 / 10}
  .ev2-evo__catlabel{display:none}
  .ev2-valk .ev2-intro__lead,.ev2-afs__lead{font-size:17px}
}

/* Revision 2: tablet portrait composition (700-899) and status measure */
.ev2-statusline{max-width:62ch}
@media (max-width:899px) and (min-width:700px) and (min-height:501px){
  .ev2-cats{flex-direction:row;flex-wrap:wrap;gap:8px}
  .ev2-cat{min-height:var(--u-tap);padding:0 18px;border:1px solid var(--u-rule-bone);border-radius:999px;font-family:var(--u-ff-body);font-weight:600;font-size:16px;line-height:1.2;text-transform:none;color:var(--u-bone)}
  .ev2-cat svg{display:none}
  .ev2-cat[aria-selected="true"]{background:var(--u-bone);border-color:var(--u-bone);color:var(--u-ink)}
  .ev2-evo .ev2-more__body{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ev2-valk__pair figure{aspect-ratio:16 / 10}
}

/* ============================================================
   v2.1 LAYOUT INSPECTION (?layout=1, development only; js/events.js). Outlines never change layout.
   ============================================================ */
.ev2-layout [data-comp]{outline:2px dashed #12a4ff;outline-offset:0}
.ev2-layout [data-col]{outline:2px solid rgba(255,0,170,.85);outline-offset:-2px}
.ev2-layout [data-col] > *{outline:1px dotted rgba(0,200,120,.9)}
.ev2-lo{position:absolute;left:0;top:0;width:0;height:0;z-index:2147483000;pointer-events:none}
.ev2-lo__tag{position:absolute;padding:1px 6px;background:#12a4ff;color:#000;font:600 11px/1.5 ui-monospace,Menlo,monospace;white-space:nowrap}
.ev2-lo__tag--col{background:#ff00aa;color:#fff}
.ev2-lo__tag--bad{background:#ffd400;color:#000}
.ev2-lo__cols{position:fixed;inset:0;pointer-events:none;z-index:2147482999}
.ev2-lo__cols .rd-grid{height:100%}
.ev2-lo__cols .rd-grid > *{grid-column:auto;background:rgba(18,164,255,.07);border-inline:1px solid rgba(18,164,255,.28)}

/* v2.1 composition refinements after the first inspection captures (1440).
   Short landscape phones 700-899 wide (844x390) use the two-column compositions, so photographs sit beside their text
   instead of filling the screen above it (contract F). */
@media (min-width:900px), (min-width:700px) and (max-width:899px) and (max-height:500px) and (orientation:landscape){
  /* About Evolutions: 7/5 so both columns end together */
  .ev2-evo .ev2-more__body{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  /* AFS figures: right-aligned figures, labels share one left edge (one aligned group) */
  /* History: the headline column is 4 of 12 so the headline fills it; the lead takes 8 at about 75 characters */
  .ev2-intro--hist .ev2-intro__head{grid-column:1 / span 4}
  .ev2-intro--hist .ev2-intro__lead{grid-column:5 / -1;font-size:clamp(19px,1.6vw,22px);max-width:34em}
  .ev2-intro--hist .ev2-h2{font-size:clamp(46px,5.2vw,84px);line-height:.92}
  .ev2-arch__media{aspect-ratio:16 / 9}
  /* Valkyrie weekend: the photograph pair runs the height of the plan beside it */
  .ev2-valk__more .ev2-more__body{align-items:stretch}
  .ev2-valk__pair{grid-auto-rows:minmax(0,1fr)}
  .ev2-valk__pair figure{aspect-ratio:auto;min-height:280px}
}

/* v2.1 (C): the hero lead had 35 characters per line in 4 of 12 columns; 5 columns give it a lead measure */
@media (min-width:1100px){
  .ev2{--ev2-h1:clamp(46px,6.6vw,96px)}
  .ev2-hero__head{grid-column:1 / span 7}
  .ev2-hero__side{grid-column:8 / -1}
}

/* v2.1: plain wrapping for the tournament explanation (pretty wrapping left a ragged right edge in the 5-column track) */
.ev2-afs__more .ev2-more__body p{text-wrap:wrap}

/* Phone and tablet portrait hero: one screen between the header and the Donate/988 bar. The copy and button keep their
   natural height below the photograph; the photograph fills the rest, framed on the group, with nothing laid over the people */
@media (max-width:1023px) and (orientation:portrait){
  .ev2-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(200px,1fr) auto;justify-content:stretch;min-height:calc(100svh - var(--u-header-h) - var(--u-dock-clear))}
  .ev2-hero::before{content:none}
  .ev2-hero__media{position:relative;inset:auto;z-index:0;display:block}
  .ev2-hero__media img{position:absolute;inset:0;object-position:50% 50%!important}
  .ev2-hero__media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(0deg,var(--u-ink) 0,rgba(14,13,11,.9) 8%,rgba(14,13,11,.72) 20%,rgba(14,13,11,.5) 36%,rgba(14,13,11,.3) 54%,rgba(14,13,11,.14) 72%,rgba(14,13,11,.04) 88%,rgba(14,13,11,0) 100%)}
  .ev2-hero__inner{row-gap:var(--u-s3);padding-top:var(--u-s4);padding-bottom:var(--u-s4)}
  .ev2-hero__actions{margin-top:var(--u-s4)}
}
@media (min-width:700px) and (max-width:1023px) and (orientation:portrait){
  .ev2-hero__media img{object-position:50% 66%!important}
  .ev2-hero__inner{padding-top:var(--u-s5);padding-bottom:var(--u-s5)}
}
@media (max-width:699px) and (orientation:portrait) and (max-height:740px){
  .ev2-hero__media img{object-position:50% 80%!important}
  .ev2-hero__lead{font-size:16px}
}

/* 1c. The Legacy Jump (launch): photograph beside its text, the text block centred on the photograph.
   Phones and tablet portrait: title, photograph, details and action, in that order. */
.ev2-film{padding:var(--ev2-pad-y) 0;background:var(--u-bone);color:var(--u-ink)}
.ev2-film__unit{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:1fr auto auto 1fr;column-gap:var(--rd-gap)}
.ev2-film__photo{grid-column:1 / span 7;grid-row:1 / -1;margin:0;aspect-ratio:3 / 2;overflow:hidden}
.ev2-film__photo img{width:100%;height:100%;object-fit:cover}
.ev2-film__head{grid-column:8 / -1;grid-row:2}
.ev2-film__head .ev2-kicker{margin-bottom:var(--u-s4)}
.ev2-film__body{grid-column:8 / -1;grid-row:3;margin-top:var(--u-s5)}
.ev2-film__lead{font-size:var(--rd-lead);line-height:1.55;text-wrap:pretty}
/* Price and its terms side by side as one line of information, the note in the dark soft ink of this light section */
.ev2-film .ev2-price{display:flex;align-items:center;gap:var(--u-s4);margin-top:var(--u-s5);padding-top:0}
.ev2-film .ev2-price__note{margin-top:0!important;max-width:22ch;color:var(--u-text-soft)}
.ev2-film .rd-actions{margin-top:var(--u-s5)}
@media (max-width:899px) and (min-height:501px){
  .ev2-film__unit{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .ev2-film__head,.ev2-film__photo,.ev2-film__body{grid-column:1;grid-row:auto}
  .ev2-film__photo{margin-top:var(--u-s5)}
}
