/* LANDING Arena. Event presentation only; original event data and controls are retained. */
/* The showcase heading scale the foundation no longer imposes (see the note at
   the top of index-v2.css). Every heading on this page sets its own size below;
   these hold any that does not exactly where it was. Width needs nothing here —
   body.v2-event main.v2-event-wrap already outranks the foundation's. */
.v2-event h1{font-size:clamp(64px,8vw,132px)}
.v2-event h2{font-size:clamp(38px,4.7vw,70px);margin:0 0 24px}
@media(max-width:600px){.v2-event h1{font-size:64px}.v2-event h2{font-size:44px}}
/* The page's tokens live on .v2-event (the event page's body, and the console's
   Information panel) and .v2-admin (the console's body, for its masthead). */
.v2-event,.v2-admin{--ev-paper:#eef0f3;--ev-ink:#10141c;--ev-muted:#59616f;--ev-line:#d5d9e0;--ev-acid:var(--v2-brand);--ev-surface:#fff;--ev-soft:#e5e8ed;--ev-fee:#0d7f8c;--ev-fee-ink:#0a6874;--ev-fee-bg:#0d7f8c0f}
body.v2-event{background:var(--ev-paper);color:var(--ev-ink)}
html:not([data-theme="light"]) :is(.v2-event,.v2-admin){--ev-paper:#090b10;--ev-ink:#f4f5f7;--ev-muted:#a0abba;--ev-line:#2b3442;--ev-surface:#141820;--ev-soft:#1c222d;--ev-fee:#3ecfd8;--ev-fee-ink:#5fdde4;--ev-fee-bg:#3ecfd814}
body.v2-event main.v2-event-wrap{max-width:none;width:100%;margin:0;padding:0}
.v2-event .v2-event-crumb{display:flex;align-items:center;gap:9px;color:var(--ev-muted);font-size:12px;max-width:300px;min-width:0}.v2-event .v2-event-crumb #brandName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-event .v2-event-crumb img{width:24px;height:24px;object-fit:contain}
.v2-event .v2-event-hero,.v2-admin #admHero.ev-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--v2-hero-to,#090b10);color:#f4f5f7;border:0;display:flex;flex-direction:column;min-height:0}
.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{position:relative;z-index:2;max-width:1600px;width:100%;margin:auto;padding:46px 5vw 44px;min-height:clamp(320px,42vh,450px);display:flex;flex-direction:column;align-items:flex-start}
.v2-event .v2-event-intro:before,.v2-admin #admHero.ev-hero .ev-hero-in:before{content:'';position:absolute;left:0;top:46px;width:14px;height:70px;background:var(--ev-acid);clip-path:polygon(0 0,100% 0,100% 85%,0 100%)}
.v2-event #heroEyebrow,.v2-admin #admHero.ev-hero #ahEyebrow{margin:0 0 20px;color:#c2d6e5;font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:800px}.v2-event #heroEyebrow svg,.v2-admin #admHero.ev-hero #ahEyebrow svg{width:21px;height:21px;color:color-mix(in srgb,var(--v2-brand) 84%,#fff)}
.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-family:'V2 Display','Arial Narrow',Arial,sans-serif;font-size:clamp(52px,5.9vw,96px);letter-spacing:-.015em;line-height:.88;font-weight:600;font-style:italic;text-transform:uppercase;color:#fff;margin:18px 0 18px;overflow-wrap:anywhere;max-width:900px;text-wrap:balance;text-shadow:0 5px 45px #0007}
/* A LONG NAME KEEPS THE HEADER ITS SHAPE. Two or three lines are fine; three
   lines at the full display size are not — they push the facts, the buttons
   and the numbers off the first screen. eventhero.js titleClass() picks the
   step from the name's length, so it is right on the first paint. */
.v2-event #heroTitle.t-long,.v2-admin #admHero.ev-hero #ahTitle.t-long{font-size:clamp(40px,4.6vw,72px)}
.v2-event #heroTitle.t-longer,.v2-admin #admHero.ev-hero #ahTitle.t-longer{font-size:clamp(33px,3.6vw,56px);line-height:.94}
.v2-event #heroTitle.t-longest,.v2-admin #admHero.ev-hero #ahTitle.t-longest{font-size:clamp(27px,2.9vw,44px);line-height:1;letter-spacing:-.005em}
/* The console's other mastheads carry names just as long. */
.console.v2-site #admHero:not(.ev-hero) #ahTitle.t-longer{font-size:clamp(26px,2.5vw,40px)}
.console.v2-site #admHero:not(.ev-hero) #ahTitle.t-longest{font-size:clamp(22px,2vw,32px);line-height:1.05}

/* THE GALLERY, BESIDE THE FACTS: half the row, a grid of tiles, and a height
   that keeps the row a row. What does not fit is not drawn, and the number of
   those is written on the last tile that is — files.js fitGallery() measures
   it, because the column count comes from the panel's own width. */
.v2-event .gal-panel{display:grid;gap:8px;align-content:start;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));max-height:342px;overflow:hidden}
.v2-event .gal-panel.is-empty{display:block;max-height:none;overflow:visible}
/* The organizer's way into the Gallery tab, beside the pictures it edits.
   A sibling of the panel, because the shared renderer owns its innerHTML. */
.v2-event .gal-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.v2-event .gal-side > .gal-panel{width:100%}
.v2-event .hero-badges,.v2-admin #admHero.ev-hero .hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin:0}.v2-event .hb,.v2-admin #admHero.ev-hero .hb{display:inline-flex;align-items:center;gap:8px;border:1px solid #c9e4ff45;border-radius:2px;background:#10172299;padding:7px 11px;color:#e4edf5;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(12px)}.v2-event .hb .dot,.v2-admin #admHero.ev-hero .hb .dot{width:6px;height:6px;background:#71e6b2;border-radius:50%;box-shadow:0 0 10px #71e6b270}.v2-event .hb.is-live .dot,.v2-admin #admHero.ev-hero .hb.is-live .dot{background:#ff6848}
/* A status is told by a mark as well as a colour: the dot for what is running
   or open, a drawn mark for the rest (eventhero.js badges). */
.v2-event .hb svg,.v2-admin #admHero.ev-hero .hb svg{width:12px;height:12px;flex:none}
.v2-event #heroTagline,.v2-admin #admHero.ev-hero #infoTagline{font-size:16px;line-height:1.7;max-width:54ch;color:#ccd6e1;margin:0 0 18px}@media(max-width:520px){.v2-event #heroTagline,.v2-admin #admHero.ev-hero #infoTagline{font-size:14px;margin:0 0 14px}}.v2-event #heroTagline:empty,.v2-admin #admHero.ev-hero #infoTagline:empty{display:none}
.v2-event .hero-facts,.v2-admin #admHero.ev-hero .hero-facts{display:flex;flex-wrap:wrap;gap:11px 24px;margin:0 0 24px;max-width:850px}.v2-event .hero-fact,.v2-admin #admHero.ev-hero .hero-fact{display:flex;align-items:center;gap:9px;background:none;border:0;border-radius:0;padding:0;font-size:12px;color:#dbe5ef}.v2-event .hero-fact svg,.v2-admin #admHero.ev-hero .hero-fact svg{width:17px;height:17px;color:#94b5ca}.v2-event .hero-fact span,.v2-admin #admHero.ev-hero .hero-fact span{white-space:normal;overflow:visible}
.v2-event .plat-cta,.v2-admin #admHero.ev-hero .plat-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}.v2-event .plat-cta .btn,.v2-admin #admHero.ev-hero .plat-cta .btn{font-size:12px;min-height:52px;padding:16px 23px;letter-spacing:.025em;white-space:normal;border-radius:3px;font-weight:800;transition:transform .25s,background .25s,border-color .25s}.v2-event .plat-cta .btn-primary,.v2-admin #admHero.ev-hero .plat-cta .btn-primary{background:var(--v2-brand);color:#fff;border:1px solid var(--v2-brand);box-shadow:0 6px 30px color-mix(in srgb,var(--v2-brand) 15%,transparent)}.v2-event .plat-cta .btn-primary:after,.v2-admin #admHero.ev-hero .plat-cta .btn-primary:after{content:'↗';font-size:17px;margin-left:14px}.v2-event .plat-cta .btn-ghost,.v2-admin #admHero.ev-hero .plat-cta .btn-ghost{color:#fff;border:1px solid #a7bfd059;background:#10172266;backdrop-filter:blur(12px)}.v2-event .plat-cta .btn:hover,.v2-admin #admHero.ev-hero .plat-cta .btn:hover{transform:translateY(-3px);border-color:#fff}.v2-event .plat-cta .btn-ghost:hover,.v2-admin #admHero.ev-hero .plat-cta .btn-ghost:hover{background:#ffffff1c}
.v2-event .v2-event-image,.v2-admin #admHero.ev-hero .v2-event-image{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#172632}.v2-event .v2-event-image>img,.v2-admin #admHero.ev-hero .v2-event-image>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:60% 40%;inset:0;opacity:.9}/* The scrim over the artwork is the event's hero colours, the way V1's hero
   gradient was: hero_from across the headline side, hero_to up from the
   foot. An event that set neither gets the design's graphite. */
.v2-event .v2-event-image:after,.v2-admin #admHero.ev-hero .v2-event-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--v2-hero-from,#090b10) 93%,transparent) 0%,color-mix(in srgb,var(--v2-hero-from,#090b10) 58%,transparent) 43%,color-mix(in srgb,var(--v2-hero-from,#090b10) 9%,transparent) 85%),linear-gradient(0deg,var(--v2-hero-to,#090b10) 0%,color-mix(in srgb,var(--v2-hero-to,#090b10) 13%,transparent) 65%,color-mix(in srgb,var(--v2-hero-to,#090b10) 30%,transparent) 100%);pointer-events:none}.v2-event .v2-event-cross{position:absolute;z-index:1;color:#ffffff70;font-size:20px;font-weight:300}.v2-event .v2-event-cross-a{right:5vw;top:32px}.v2-event .v2-event-cross-b{right:5vw;bottom:220px}.v2-event .v2-event-image-word{position:absolute;z-index:1;right:5vw;bottom:240px;display:flex;gap:40px;align-items:center;color:#d3e1ecb3;font-size:10px;letter-spacing:.25em;font-weight:700;writing-mode:vertical-rl}.v2-event .v2-event-image-word span{font-size:42px;color:var(--v2-brand)}
.v2-event #evStats,.v2-admin #admHero.ev-hero #infoHeroStats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:color-mix(in srgb,var(--v2-hero-to,#0e141d) 90%,transparent);backdrop-filter:blur(22px);color:#f4f5f7;margin:0;padding:24px calc(max(0px,(100% - 1600px)/2) + 5vw);gap:0;border:0;border-top:1px solid #c6e2f12e;counter-reset:stats}.v2-event #evStats .plat-stat,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat{position:relative;padding:0 30px;border-right:1px solid #d2e5f125;display:flex;flex-direction:column;min-width:0;counter-increment:stats}.v2-event #evStats .plat-stat:first-child,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:first-child{padding-left:0}.v2-event #evStats .plat-stat:last-child,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:last-child{border:0}.v2-event #evStats .plat-stat:before,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:before{content:'0' counter(stats);position:absolute;right:24px;top:1px;font-size:10px;letter-spacing:.08em;color:#688298}.v2-event #evStats .n,.v2-admin #admHero.ev-hero #infoHeroStats .n{font-family:'V2 Display',Arial,sans-serif;font-size:58px;line-height:1;letter-spacing:-.015em;font-weight:600;font-style:italic;color:#fff;font-variant-numeric:tabular-nums}.v2-event #evStats .k,.v2-admin #admHero.ev-hero #infoHeroStats .k{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin-top:12px;color:#b9ccdc;opacity:1;line-height:1.5}.v2-event #evStats .stat-sub,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub{display:flex;align-items:baseline;gap:7px;font-size:11px;color:#91a1b3;margin-top:11px;line-height:1.5}.v2-event #evStats .stat-sub strong,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub strong{color:var(--v2-on-dark);font-weight:750}
/* ---- what entering costs: the schedule’s shape, its own colour --------
   A schedule and a price list make the same kind of statement — a fixed thing
   on the left, what it means on the right — so the fee list borrows the
   schedule row wholesale. It must NOT borrow the accent as well: two lists
   with one silhouette, in one page, have to differ somewhere, and colour is
   the cheapest place to do it. Teal reads as clearly not-vermilion in both
   themes and stays inside the graphite and white the rest of V2 is built on. Its classes are pfee-*: .fee-row is the
   console's price EDITOR (admin.js), and the console draws this list too. */
.v2-event .pfee-list{list-style:none;margin:0;padding:0}
.v2-event .pfee{display:flex;align-items:center;gap:20px;padding:18px 16px;margin-bottom:6px;background:var(--ev-fee-bg);border:1px solid var(--ev-line);border-left:3px solid var(--ev-fee);border-radius:2px}
.v2-event .pfee:last-child{margin-bottom:0}
.v2-event .pfee-amt{min-width:104px;flex:none}
.v2-event .pfee-amt b{font-family:'V2 Display',Arial,sans-serif;font-size:27px;line-height:1.05;font-style:italic;font-weight:600;letter-spacing:-.01em;color:var(--ev-fee-ink);font-variant-numeric:tabular-nums}
.v2-event .pfee-what{font-size:12px;font-weight:750;color:var(--ev-ink);min-width:0}
/* Only the console's Information page is given a hidden line to tag. */
.v2-event .pfee-hidden{margin-left:8px;padding:2px 8px;vertical-align:1px}
@media(max-width:520px){.v2-event .pfee{gap:14px;padding:15px 13px}.v2-event .pfee-amt{min-width:84px}.v2-event .pfee-amt b{font-size:22px}.v2-event .pfee-what{font-size:11px}}
/* The clubs column carries its heading for assistive tech only, so its first
   row would otherwise start a heading above the entries beside it. It takes
   that space back, out of the same numbers .ev-subhead spends. */
@media(min-width:901px){.v2-event .ev-split>.ev-col-unheaded{padding-top:calc(11px * 1.65 + 20px)}}
.v2-event #evNav,.v2-admin #panel-info #infoNav{position:sticky;top:var(--topbar-h,80px);display:flex;gap:0;margin:0;padding:0 5vw;background:var(--ev-paper);border:0;border-bottom:1px solid var(--ev-line);border-radius:0;box-shadow:0 8px 22px #00000008;z-index:30;overflow:auto}.v2-event #evNav a,.v2-admin #panel-info #infoNav a{padding:22px 16px;font-size:11px;font-weight:750;letter-spacing:.015em;color:var(--ev-muted);border-radius:0;border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .2s,background .2s,border-color .2s}.v2-event #evNav a.is-here,.v2-admin #panel-info #infoNav a.is-here{color:var(--ev-ink);background:var(--ev-soft);border-bottom-color:var(--ev-acid)}.v2-event #evNav a:hover,.v2-admin #panel-info #infoNav a:hover{background:var(--ev-soft);color:var(--ev-ink)}
.v2-event .v2-event-content{counter-reset:sections;max-width:1600px;margin:0 auto;padding:55px 5vw 0;display:grid;grid-template-columns:1fr 1fr;gap:26px}.v2-event .v2-event-section{position:relative;background:var(--ev-surface);border:1px solid var(--ev-line);border-radius:4px;box-shadow:0 9px 25px #00000003;padding:34px; margin:0;counter-increment:sections;min-width:0;grid-column:1/-1;scroll-margin-top:170px}.v2-event .v2-event-section:before{content:'';position:absolute;top:-1px;left:34px;width:40px;height:3px;background:var(--ev-acid)}.v2-event #sec-schedule,.v2-event #sec-fees,.v2-event #infoSchedCard,.v2-event #infoPublic_sec-fees{grid-column:auto}.v2-event #sec-schedule:last-child,.v2-event #sec-schedule:not(:has(~ #sec-fees:not([hidden]))),.v2-event #infoSchedCard:last-child,.v2-event #infoSchedCard:not(:has(~ #infoPublic_sec-fees:not([hidden]))){grid-column:1/-1}.v2-event #sec-fees:not(:has(~ *)),.v2-event #infoPublic_sec-fees:not(:has(~ *)){grid-column:1/-1}
.v2-event .v2-event-section>h2,.v2-event .v2-event-section>.card-head{margin:0 0 28px}.v2-event .v2-event-section h2{font-family:'V2 Display',Arial,sans-serif;font-size:46px;letter-spacing:-.01em;font-weight:600;color:var(--ev-ink);line-height:1;text-transform:uppercase}.v2-event .v2-event-section>h2:before,.v2-event .v2-event-section>.card-head h2:before{content:counter(sections,decimal-leading-zero);font-family:'V2 Sans',Arial,sans-serif;font-size:10px;color:var(--ev-acid);letter-spacing:.05em;display:inline-block;vertical-align:middle;margin-right:18px;font-weight:750}.v2-event .v2-event-section .card-head{align-items:center;gap:20px}.v2-event .v2-event-section .card-head h2{margin:0}
.v2-event .event-details-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.v2-event .event-details-layout:not(:has(.gal-panel:not([hidden]))){grid-template-columns:1fr}.v2-event .details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.v2-event .detail{padding:17px 0;border-bottom:1px solid var(--ev-line);display:flex;flex-direction:column;gap:9px}.v2-event .detail .k{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:750;color:var(--ev-muted)}.v2-event .detail .v{font-size:15px;font-weight:650;color:var(--ev-ink)}.v2-event .detail .v .disc-tag{font-size:15px;font-weight:650}.v2-event #aboutBlock,.v2-admin #infoPublic_aboutBlock{border:0;border-left:2px solid var(--ev-acid);margin-top:28px;padding:0 0 0 20px;max-width:70ch}.v2-event #aboutText,.v2-admin #infoPublic_aboutText{font-size:14px;line-height:1.85;color:var(--ev-muted)}.v2-event .section-label{font-size:10px;letter-spacing:.1em;color:var(--ev-muted)}
/* FIVE LINES, AND A BUTTON FOR THE REST. 1.85em is the line-height declared
   for .about-text just above, so five of them is exactly five lines; the mask
   fades the fifth out rather than guillotining it, which is what says there is
   more without having to be read. eventhero.js decides whether there is. */
.about-block.is-clamped:not(.is-open) .about-text{
  max-height:calc(1.85em * 5);overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 66%,transparent);
  mask-image:linear-gradient(180deg,#000 66%,transparent);
}
.about-more{
  margin-top:11px;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;
  font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ev-acid);display:inline-flex;align-items:center;gap:7px;
}
.about-more[hidden]{display:none}
.about-more:hover{text-decoration:underline}
.about-more::after{
  content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;transition:transform .15s;
}
.about-block.is-open .about-more::after{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){ .about-more::after{transition:none} }
.v2-event .ev-split{gap:30px 45px}.v2-event .ev-subhead{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:750;margin-bottom:20px;color:var(--ev-muted)}.v2-event .mini-row{padding:17px 0;gap:20px;align-items:center;border-color:var(--ev-line)}.v2-event .mini-row .who b{font-size:14px;font-weight:750;color:var(--ev-ink)}.v2-event .mini-row .small{font-size:11px;line-height:1.6;margin-top:5px;color:var(--ev-muted)}.v2-event .mini-row .score{font-family:'V2 Display',Arial,sans-serif;font-size:29px;font-weight:600;color:var(--ev-ink)}.v2-event .see-all-link{color:var(--ev-ink);font-size:11px;gap:7px;padding:10px 12px;border:1px solid var(--ev-line);border-radius:2px;transition:background .2s}.v2-event .see-all-link:hover{background:var(--ev-soft)}.v2-event .see-all-link svg{width:14px;height:14px;color:var(--ev-acid)}
.v2-event .sched-day{padding:18px 16px;border-color:var(--ev-line);border-left:3px solid transparent;background:var(--ev-paper);margin-bottom:6px;gap:18px}.v2-event .sched-day.is-comp{border-left-color:var(--ev-acid);background:var(--ev-soft)}.v2-event .sched-day .sd-when{min-width:95px}.v2-event .sched-day .sd-dow{color:var(--ev-acid)}.v2-event .sched-day .sd-what{font-size:12px}.v2-event .off-list{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:14px}.v2-event .off-person{background:var(--ev-paper);border:1px solid var(--ev-line);border-radius:3px;padding:20px;gap:14px}.v2-event .off-ini{background:var(--ev-soft);color:var(--ev-ink);border-radius:2px;width:44px;height:44px;font-size:13px;font-weight:750;border-bottom:2px solid var(--ev-acid)}.v2-event .off-who b{font-weight:750;font-size:13px;color:var(--ev-ink)}.v2-event .off-who .small{color:var(--ev-muted);font-size:11px}.v2-event .off-sub{margin:26px 0 16px;font-size:13px}.v2-event .rule-grid{gap:15px}.v2-event .rule-grid>*{padding:23px;background:var(--ev-paper);border:1px solid var(--ev-line);border-radius:3px;font-size:13px;line-height:1.8;color:var(--ev-muted)}.v2-event .rule-grid b,.v2-event .rule-grid strong{color:var(--ev-ink);font-weight:750}
.v2-event .v2-event-section .tablewrap{border-radius:3px;border-color:var(--ev-line);box-shadow:none}.v2-event .v2-event-section table{font-size:12px;background:transparent}.v2-event .v2-event-section th{background:var(--ev-soft);color:var(--ev-muted);font-size:10px;letter-spacing:.07em;padding:15px;font-weight:750}.v2-event .v2-event-section td{padding:17px 15px;color:var(--ev-ink);border-color:var(--ev-line)}.v2-event .v2-event-section .file-list{gap:12px}.v2-event .v2-event-section .badge{border-radius:2px;font-size:10px;font-weight:650}.v2-event .gal-cell,.v2-event .file-item{border-radius:3px;border-color:var(--ev-line);box-shadow:none;background:var(--ev-paper)}.v2-event .file-row{padding:18px}.v2-event .file-name{font-size:13px;font-weight:750}.v2-event .gal-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}.v2-event .gal-grid img{border-radius:0;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.v2-event .gal-cell:hover img{transform:scale(1.045)}.v2-event .top-scope{background:var(--ev-soft);color:var(--ev-muted);border-radius:2px}
.v2-event .v2-event-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:65px 5vw;margin:55px 0 0;border-top:1px solid var(--ev-line);background:var(--ev-surface)}.v2-event .v2-event-footer .footer-note{font-size:10px;line-height:1.7;text-align:left;margin:0;max-width:40ch;color:var(--ev-muted)}.v2-event .v2-event-footer .powered{margin:0;font-size:10px;white-space:nowrap}
.v2-event .v2-skip{position:fixed;top:8px;left:12px;z-index:100;background:var(--ev-acid);color:#fff;padding:10px 18px;transform:translateY(-150%)}.v2-event .v2-skip:focus{transform:none}
@media(min-width:901px){.v2-event .ev-split>*+*{padding-left:40px;border-left:1px solid var(--ev-line)}}
@media(max-width:1100px){.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding:40px 5vw;min-height:clamp(290px,40vh,410px)}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:76px;max-width:760px}.v2-event .event-details-layout{gap:30px}.v2-event #evNav a,.v2-admin #panel-info #infoNav a{padding:20px 14px}.v2-event .v2-event-section{padding:26px}.v2-event #sec-schedule,.v2-event #sec-fees,.v2-event #infoSchedCard,.v2-event #infoPublic_sec-fees{grid-column:1/-1}.v2-event .v2-event-image-word{display:none}}
@media(max-width:760px){.v2-event .v2-event-hero,.v2-admin #admHero.ev-hero{min-height:0}.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding:34px 6vw;min-height:clamp(260px,36vh,370px)}.v2-event .v2-event-image>img,.v2-admin #admHero.ev-hero .v2-event-image>img{object-position:66% center;opacity:.7}.v2-event .v2-event-image:after,.v2-admin #admHero.ev-hero .v2-event-image:after{background:linear-gradient(90deg,color-mix(in srgb,var(--v2-hero-from,#090b10) 74%,transparent),color-mix(in srgb,var(--v2-hero-from,#090b10) 20%,transparent)),linear-gradient(0deg,var(--v2-hero-to,#090b10) 12%,color-mix(in srgb,var(--v2-hero-to,#090b10) 19%,transparent) 85%)}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:clamp(46px,9.5vw,72px);max-width:650px}.v2-event #heroEyebrow,.v2-admin #admHero.ev-hero #ahEyebrow{margin-bottom:20px;font-size:10px}.v2-event #evStats,.v2-admin #admHero.ev-hero #infoHeroStats{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 6vw}.v2-event #evStats .plat-stat,.v2-event #evStats .plat-stat:first-child,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:first-child{padding:16px 20px;border-bottom:1px solid #ffffff20}.v2-event #evStats .plat-stat:nth-child(odd),.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:nth-child(odd){padding-left:0}.v2-event #evStats .plat-stat:nth-child(2),.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:nth-child(2){border-right:0}.v2-event #evStats .plat-stat:nth-child(n+3),.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:nth-child(n+3){border-bottom:0}.v2-event #evStats .plat-stat:before,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat:before{right:15px;top:28px}.v2-event #evStats .n,.v2-admin #admHero.ev-hero #infoHeroStats .n{font-size:38px}.v2-event .event-details-layout{grid-template-columns:1fr}.v2-event .gal-panel{max-height:268px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.v2-event .v2-event-content{padding:30px 5vw 0;gap:20px}.v2-event .v2-event-section h2{font-size:36px}.v2-event .v2-event-section>h2,.v2-event .v2-event-section>.card-head{margin-bottom:24px}.v2-event .v2-event-footer{flex-wrap:wrap;gap:25px;padding:40px 6vw}.v2-event .v2-event-crumb{max-width:170px}.v2-event .ev-split{gap:30px}.v2-event #evNav{padding:0 3vw}}
@media(max-width:520px){.v2-event .plat-cta,.v2-admin #admHero.ev-hero .plat-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v2-event .plat-cta .btn,.v2-admin #admHero.ev-hero .plat-cta .btn{width:auto;min-width:0;min-height:48px;padding:13px 10px;font-size:11px}.v2-event .plat-cta .btn-primary,.v2-admin #admHero.ev-hero .plat-cta .btn-primary{grid-column:1/-1}}
@media(max-width:480px){.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding:24px 6vw 24px;min-height:0}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:46px;line-height:.93;letter-spacing:-.02em;margin:13px 0}.v2-event .v2-event-intro:before,.v2-admin #admHero.ev-hero .ev-hero-in:before{width:6px;top:31px;height:46px}.v2-event .hero-facts,.v2-admin #admHero.ev-hero .hero-facts{gap:10px;font-size:11px;margin-bottom:18px}.v2-event .hero-fact,.v2-admin #admHero.ev-hero .hero-fact{font-size:11px}.v2-event .plat-cta,.v2-admin #admHero.ev-hero .plat-cta{width:100%;gap:8px}.v2-event .plat-cta .btn,.v2-admin #admHero.ev-hero .plat-cta .btn{flex:1 1 auto;padding:14px 12px;font-size:11px;min-height:49px}.v2-event .plat-cta .btn-primary,.v2-admin #admHero.ev-hero .plat-cta .btn-primary{flex-basis:100%}.v2-event #evStats .k,.v2-admin #admHero.ev-hero #infoHeroStats .k{font-size:9px;margin-top:8px}.v2-event #evStats .stat-sub,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub{font-size:10px;flex-wrap:wrap;margin-top:7px}.v2-event .details{gap:0 20px}.v2-event .detail .v{font-size:13px}.v2-event .v2-event-crumb,.v2-event .brand-sep{display:none}.v2-event .v2-event-section{padding:24px 20px}.v2-event .v2-event-section:before{left:20px}.v2-event .v2-event-section>h2:before,.v2-event .v2-event-section>.card-head h2:before{margin-right:12px}.v2-event .v2-event-section h2{font-size:34px}.v2-event .see-all-link{font-size:10px;padding:8px}.v2-event .sched-day{padding:15px 10px;gap:12px}.v2-event .sched-day .sd-when{min-width:80px}.v2-event .sched-day .sd-what{font-size:11px}.v2-event .v2-event-section td,.v2-event .v2-event-section th{padding:12px 9px}}
@media(prefers-reduced-motion:reduce){.v2-event .plat-cta .btn,.v2-event .gal-grid img,.v2-admin #admHero.ev-hero .plat-cta .btn{transition:none}.v2-event .plat-cta .btn:hover,.v2-event .gal-cell:hover img,.v2-admin #admHero.ev-hero .plat-cta .btn:hover{transform:none}}
@media print{:is(.v2-event,.v2-admin){--ev-paper:#fff;--ev-ink:#000;--ev-muted:#444;--ev-line:#bbb;--ev-surface:#fff;--ev-soft:#fff}.v2-event .v2-event-image,.v2-admin #admHero.ev-hero .v2-event-image{display:none}.v2-event .v2-event-hero,.v2-admin #admHero.ev-hero{display:block;border:0;min-height:0;background:#fff;color:#000}.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding:0;min-height:0}.v2-event #heroTitle,.v2-event #heroEyebrow,.v2-event .hb,.v2-event .hero-fact,.v2-admin #admHero.ev-hero #ahTitle,.v2-admin #admHero.ev-hero #ahEyebrow,.v2-admin #admHero.ev-hero .hb,.v2-admin #admHero.ev-hero .hero-fact{color:#000;text-shadow:none}.v2-event #evStats,.v2-admin #admHero.ev-hero #infoHeroStats{background:#fff;color:#000;padding:20px 0}.v2-event #evStats .n,.v2-event #evStats .k,.v2-event #evStats .stat-sub,.v2-event #evStats .stat-sub strong,.v2-admin #admHero.ev-hero #infoHeroStats .n,.v2-admin #admHero.ev-hero #infoHeroStats .k,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub strong{color:#000}.v2-event .v2-event-content{display:block;padding:0}.v2-event .v2-event-section{padding:22px 0;break-inside:avoid;border:0}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:38px}.v2-event .v2-event-intro:before,.v2-admin #admHero.ev-hero .ev-hero-in:before{display:none}}
/* ---- short viewports ---------------------------------------------------
   Everything above is keyed to WIDTH, and the hero fitting above the dock is
   a question about HEIGHT: a 1024x700 laptop and a 360x740 phone both hid the
   second row of statistics while 1440x900 and 390x844 were fine. Measured, */
@media(max-height:760px){.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding-top:32px;padding-bottom:30px}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{margin:12px 0}.v2-event #evStats,.v2-admin #admHero.ev-hero #infoHeroStats{padding-top:17px;padding-bottom:17px}}
@media(max-width:760px) and (max-height:800px){.v2-event .v2-event-intro,.v2-admin #admHero.ev-hero .ev-hero-in{padding:18px 6vw}.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:40px;margin:10px 0}.v2-event #heroEyebrow,.v2-admin #admHero.ev-hero #ahEyebrow{margin:0 0 12px}.v2-event #heroTagline,.v2-admin #admHero.ev-hero #infoTagline{margin:0 0 10px}.v2-event .hero-facts,.v2-admin #admHero.ev-hero .hero-facts{margin-bottom:12px;gap:8px}.v2-event .plat-cta .btn,.v2-admin #admHero.ev-hero .plat-cta .btn{min-height:44px;padding:11px 10px}.v2-event #evStats .plat-stat,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat{padding:12px 16px}.v2-event #evStats .n,.v2-admin #admHero.ev-hero #infoHeroStats .n{font-size:32px}.v2-event #evStats .k,.v2-admin #admHero.ev-hero #infoHeroStats .k{margin-top:6px}.v2-event #evStats .stat-sub,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub{margin-top:5px}}
@media(max-width:420px) and (max-height:780px){.v2-event #heroTitle,.v2-admin #admHero.ev-hero #ahTitle{font-size:36px;margin:9px 0}.v2-event .hero-facts,.v2-admin #admHero.ev-hero .hero-facts{gap:6px;margin-bottom:10px}.v2-event .plat-cta .btn,.v2-admin #admHero.ev-hero .plat-cta .btn{min-height:40px;padding:9px 8px}.v2-event #evStats .plat-stat,.v2-admin #admHero.ev-hero #infoHeroStats .plat-stat{padding:10px 14px}.v2-event #evStats .n,.v2-admin #admHero.ev-hero #infoHeroStats .n{font-size:29px}.v2-event #evStats .k,.v2-admin #admHero.ev-hero #infoHeroStats .k{font-size:8px;line-height:1.35}.v2-event #evStats .stat-sub,.v2-admin #admHero.ev-hero #infoHeroStats .stat-sub{font-size:9px;margin-top:4px}}
/* ---- the console's Information page -------------------------------------
   The console draws this page inside itself: #panel-info carries .v2-event, so
   every class rule above reaches its sections as written, and each rule keyed
   to one of this page's ids carries a twin for the console's (#admHero and
   its #ah* lines for the hero, infoPublic_* for the sections).
   tests/eventhero_check.js holds the two to the same computed styles at three
   widths in both themes. What the console needs besides: its masthead is
   theme.css's framed .hero on every other panel, so here the frame comes off;
   its sections sit in the console's own column; and Edit is not a way out. */
.v2-admin #admHero.ev-hero{padding:0;border:0;border-radius:0;box-shadow:none;background-image:none;margin-top:0}
.v2-admin #admHero.ev-hero .eyebrow,.v2-admin #admHero.ev-hero .tagline{opacity:1}
.v2-admin #admHero.ev-hero .plat-cta .btn-primary:after{content:none}
.v2-admin #panel-info .v2-event-content{max-width:none;margin:0;padding:0}
@media print{.v2-admin #admHero .v2-event-image{display:none}.v2-admin #admHero.ev-hero{background:none;color:#000}}
/* ---- who to ask --------------------------------------------------------------
   The people are cards with the ways to reach them as buttons, a phone number
   and an address being things a thumb presses rather than copies. The section
   has the row to itself, so the cards sit two abreast where there is room. */
.v2-event .contact-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(460px,100%),1fr));gap:10px}
.v2-event .contact-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px 18px;background:var(--ev-paper);border:1px solid var(--ev-line);border-left:3px solid var(--ev-acid);border-radius:3px}
.v2-event .contact-who{display:flex;flex-direction:column;gap:4px;min-width:0}
.v2-event .contact-who b{font-size:15px;font-weight:750;color:var(--ev-ink);overflow-wrap:anywhere}
.v2-event .contact-who .small{font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--ev-muted)}
.v2-event .contact-ways{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.v2-event .contact-way{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--ev-line);border-radius:2px;background:var(--ev-surface);color:var(--ev-ink);font-size:13px;font-weight:700;text-decoration:none;min-width:0;overflow-wrap:anywhere}
.v2-event .contact-way:hover{border-color:var(--ev-ink)}
.v2-event .contact-way svg{width:16px;height:16px;flex:none;color:var(--ev-acid)}
/* ---- the two bands at the foot: where it is, and get in touch ---------------
   Both leave the grid of cards and run edge to edge just above the footer (on
   the console, at the foot of the Information page), under a centred heading
   with its word written large and faint behind it — a closing section set
   apart from the working ones above, which is also why they carry no number. */
.v2-event .ev-band{position:relative;margin:90px 0 0;scroll-margin-top:170px;overflow-x:clip}
.v2-event .ev-band[hidden]{display:none}
.v2-event .band-head{position:relative;isolation:isolate;max-width:900px;margin:0 auto;padding:0 5vw 34px;text-align:center}
.v2-event .band-ghost{position:absolute;left:50%;top:-.5em;z-index:-1;transform:translateX(-50%);white-space:nowrap;font-family:'V2 Display',Arial,sans-serif;font-size:clamp(70px,11vw,160px);font-weight:600;font-style:italic;line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:color-mix(in srgb,var(--ev-ink) 6%,transparent);pointer-events:none;user-select:none}
.v2-event .ev-band h2{margin:0;font-family:'V2 Display',Arial,sans-serif;font-size:46px;letter-spacing:-.01em;font-weight:600;color:var(--ev-ink);line-height:1;text-transform:uppercase}
.v2-event .band-lead{margin:12px auto 0;max-width:60ch;font-size:14px;line-height:1.7;color:var(--ev-muted)}
.v2-event .band-lead:empty{display:none}
/* The map: pale, faded in at the top and out at the bottom, with the place on
   a card floating over it. The fade is a mask and the paleness a wash of the
   page's own colour over less saturated tiles, so both follow the theme; the
   wheel scrolls the page past the map, and a click wakes it to pan and answer its
   own buttons (.map-shield, below). The bottom
   fade softens what Google draws along that edge — its logo, its terms and the
   map/satellite switch — which was chosen over a hard edge. */
.v2-event .mapband-stage{position:relative}
.v2-event .ev-mapband .map-frame{--fade-top:140px;--fade-bottom:110px;position:relative;height:clamp(420px,62vh,640px);background:var(--ev-soft);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent 100%)}
.v2-event .map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.v2-event .ev-mapband .map-frame iframe{filter:saturate(.5) contrast(.92) brightness(1.04)}
.v2-event .ev-mapband .map-frame:after{content:'';position:absolute;inset:0;background:var(--ev-paper);opacity:.3;pointer-events:none}
/* Over every map frame, the public band's, the console's and the Settings
   preview's: the clear layer that takes the wheel so Google never asks for Ctrl
   + scroll. eventcontact.js lifts it on a click and lays it back when the
   pointer leaves. */
.map-shield{position:absolute;inset:0;z-index:1;cursor:grab;user-select:none}
.map-live>.map-shield{display:none}
.v2-event .map-card{position:absolute;top:50%;left:max(5vw,calc((100% - 1600px) / 2 + 5vw));z-index:1;transform:translateY(-50%);width:min(380px,36%);padding:22px 22px 18px;background:color-mix(in srgb,var(--ev-surface) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--ev-line);border-radius:18px;box-shadow:0 18px 50px #0f1b2b1f}
.v2-event .mapband-stage:has(>.map-frame[hidden]) .map-card{position:static;transform:none;width:auto;max-width:640px;margin:0 auto;box-shadow:none}
.v2-event .map-label{margin:0;font-size:17px;font-weight:750;line-height:1.3;color:var(--ev-ink)}
.v2-event .map-venue{margin:4px 0 0;font-size:13px;color:var(--ev-muted)}
.v2-event .map-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.v2-event .map-label[hidden] + .map-venue[hidden] + .map-links{margin-top:0}
.v2-event .map-links .btn{border-radius:999px}
.v2-event .map-links .btn svg{width:16px;height:16px}
.v2-event .map-links>.sec-empty{flex:1 1 100%}
.v2-event .map-coords{flex:1 1 100%;font-size:11px;color:var(--ev-muted);font-variant-numeric:tabular-nums}
.v2-event .ev-mapband:not([hidden]) + .ev-formband[hidden] + .v2-event-footer{margin-top:0}
.v2-event .ev-mapband:not([hidden]) + .ev-formband{margin-top:40px}
/* Get in touch: light, as the reference draws it — soft rounded fields with
   the label inside the top of each, one column, centred, the button under it.
   The trap field is off the screen for people and on the page for bots. */
.v2-event .form-ways{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:14px 0 0;font-size:13px;font-weight:650;color:var(--ev-muted)}
.v2-event .form-ways[hidden]{display:none}
.v2-event .form-ways a{color:var(--ev-ink);text-decoration:none;border-bottom:1px solid var(--ev-line)}
.v2-event .form-ways a:hover{border-bottom-color:var(--ev-acid)}
.v2-event .ev-form{display:grid;gap:14px;max-width:640px;margin:0 auto;padding:0 5vw}
.v2-event .ev-form[hidden]{display:none}
.v2-event .ev-field{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 18px 10px;background:color-mix(in srgb,var(--ev-surface) 88%,transparent);border:1px solid var(--ev-line);border-radius:16px;box-shadow:0 10px 30px #0f1b2b0d;transition:border-color .2s,box-shadow .2s}
.v2-event .ev-field:focus-within{border-color:var(--ev-acid);box-shadow:0 0 0 3px color-mix(in srgb,var(--ev-acid) 18%,transparent)}
.v2-event .ev-field:has(.invalid){border-color:#d64545}
.v2-event .ev-field label{margin:0;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--ev-muted)}
.v2-event .ev-field input,.v2-event .ev-field textarea{width:100%;min-height:0;margin:0;padding:2px 0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;font:inherit;font-size:15px;line-height:1.5;color:var(--ev-ink)}
.v2-event .ev-field textarea{min-height:120px;resize:vertical;line-height:1.6}
.v2-event .ev-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.v2-event .ev-form-foot{display:flex;justify-content:center;margin-top:6px}
.v2-event .ev-form-foot .btn{min-width:180px;min-height:48px;border-radius:999px}
.v2-event .ev-form .notice{margin:0;text-align:center}
.v2-event .ev-form-note{margin:0;text-align:center}
@media(max-width:760px){.v2-event .ev-band{margin-top:60px}.v2-event .ev-band h2{font-size:36px}.v2-event .band-head{padding-bottom:24px}.v2-event .ev-mapband .map-frame{--fade-top:80px;--fade-bottom:70px;height:420px}.v2-event .map-card{position:relative;top:auto;left:auto;transform:none;width:auto;margin:-70px 5vw 0}}
@media(max-width:480px){.v2-event .ev-band h2{font-size:34px}.v2-event .map-links .btn{flex:1 1 auto}.v2-event .ev-field{padding:10px 14px 8px}}
@media print{.v2-event .map-frame,.v2-event .map-links .btn,.v2-event .band-ghost,.v2-event .ev-formband{display:none}.v2-event .ev-band{margin:22px 0 0}.v2-event .band-head{padding:0;text-align:left}.v2-event .map-card{position:static;transform:none;width:auto;padding:0;border:0;background:none;box-shadow:none}}
/* ---- the photographs near the top, the paperwork at the foot ----------------
   The gallery is a strip of thumbnails right under the details: seen on the way
   in without the weight of a section — no card, no number, a caption-size
   heading — and it scrolls sideways rather than lengthening the page. The
   documents are reference rather than reading: a compact list after the rules. */
.v2-event .ev-strip{background:transparent;border:0;box-shadow:none;padding:2px 0 0;counter-increment:none}
.v2-event .ev-strip:before{display:none}
.v2-event .v2-event-section.ev-strip>h2{margin:0 0 12px;font-family:'V2 Sans',Arial,sans-serif;font-size:11px;font-style:normal;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase;color:var(--ev-muted)}
.v2-event .v2-event-section.ev-strip>h2:before{display:none}
.v2-event .ev-strip .gal-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(150px,200px);gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:6px;scrollbar-width:thin}
.v2-event .ev-strip .gal-cell{scroll-snap-align:start;border-radius:2px}
.v2-event .ev-strip .gal-cell figcaption{display:none}
.v2-event .ev-secondary{padding:22px 26px}
.v2-event .v2-event-section.ev-secondary>h2{font-size:26px;margin-bottom:16px}
.v2-event .ev-secondary .file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:8px}
.v2-event .ev-secondary .file-item{min-height:0}
.v2-event .ev-secondary .file-row{padding:11px 14px}
@media(max-width:520px){.v2-event .ev-strip .gal-grid{grid-auto-columns:minmax(130px,44%)}.v2-event .ev-secondary{padding:18px}}
