.elementor-2203 .elementor-element.elementor-element-ho10037{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10004{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10003{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10006{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10010{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1000f{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1000b{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1000e{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10015{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10014{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10012 .elementor-countdown-wrapper{max-width:100%;}body:not(.rtl) .elementor-2203 .elementor-element.elementor-element-ho10012 .elementor-countdown-item:not(:first-of-type){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-2203 .elementor-element.elementor-element-ho10012 .elementor-countdown-item:not(:last-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-2203 .elementor-element.elementor-element-ho10012 .elementor-countdown-item:not(:first-of-type){margin-right:calc( 10px/2 );}body.rtl .elementor-2203 .elementor-element.elementor-element-ho10012 .elementor-countdown-item:not(:last-of-type){margin-left:calc( 10px/2 );}.elementor-2203 .elementor-element.elementor-element-ho1002d{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1002c{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10019{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10022{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1001b{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10021{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1001f{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1002b{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10024{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1002a{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10028{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10035{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho1002f{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10034{--display:flex;}.elementor-2203 .elementor-element.elementor-element-ho10033{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS *//* =====================================================================
   HEROES ORCHESTRA FESTIVAL 2026 — Birthday Concert
   Landing page, direction 1a (key visual full-bleed + editorial ticket rows)
   ALL rules scoped under .ho-lp — nothing here may affect other Stage24 pages.
   ===================================================================== */

/* ---------- self-hosted display face (Cinzel = stand-in for Trajan Pro 3) --- */
@font-face{
  font-family:'HO Display';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/flow/wp-content/uploads/heroes-orchestra/fonts/cinzel-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'HO Display';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('/flow/wp-content/uploads/heroes-orchestra/fonts/cinzel-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* Body face: Roboto is already served on every page of this install by the Stage24
   Elementor kit (measured: 96 KB of Google Roboto loads here regardless of this page),
   so the landing consumes that rather than shipping a second, identical copy.
   Self-hosted Roboto woff2 files remain in .../heroes-orchestra/fonts/ if strict
   self-hosting is preferred — re-add two @font-face blocks and switch --text back. */

/* anchor scrolling + dark ground, only while this landing is on screen.
   :has() keeps both off every other Stage24 page even if this CSS were ever
   pulled into a global stylesheet. */
html:has(.ho-lp){scroll-behavior:smooth}
body:has(.ho-lp){background-color:#060A14}

/* ---------- tokens + ground ---------- */
.ho-lp{
  --gold-400:#F6E3AE;
  --gold-500:#E5C06A;
  --gold-600:#D9AE55;
  --navy-700:#0B1428;
  --navy-800:#080E1C;
  --navy-900:#060A14;
  --hair:rgba(229,192,106,.25);
  --disp:'HO Display',Cinzel,'Trajan Pro 3','Times New Roman',serif;
  --text:Roboto,'Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --pad:56px;
  --max:1240px;

  display:block;
  width:100%;
  max-width:100%;
  padding:0;
  gap:0;
  overflow-x:clip;
  background:var(--navy-900);
  color:#fff;
  font-family:var(--text);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ho-lp,.ho-lp *{box-sizing:border-box}

/* neutralise Elementor container/widget defaults inside the landing only */
.ho-lp .e-con,.ho-lp .e-con-inner{
  padding:0;gap:0;
  --padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;
  --padding-block-start:0;--padding-block-end:0;
  --padding-inline-start:0;--padding-inline-end:0;
  --gap:0;--row-gap:0;--column-gap:0;
  --margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;
  width:100%;max-width:100%;
}
.ho-lp .elementor-widget{margin:0}
.ho-lp .elementor-widget-container{margin:0;padding:0}
.ho-lp .elementor-widget-text-editor p,
.ho-lp .elementor-heading-title,
.ho-lp h1,.ho-lp h2,.ho-lp h3,.ho-lp p{margin:0}
.ho-lp img{display:block;max-width:100%}
.ho-lp a{text-decoration:none}

/* keyboard focus — visible on every interactive element */
.ho-lp a:focus-visible,
.ho-lp button:focus-visible{
  outline:2px solid var(--gold-400);
  outline-offset:3px;
  border-radius:4px;
}

/* shared inner measure: full-bleed grounds, content capped at --max */
.ho-lp .ho-wrap{
  width:100%;
  max-width:calc(var(--max) + var(--pad) * 2);
  margin-inline:auto;
  padding-inline:var(--pad);
}

/* Elementor containers default to flex-direction:column — state every axis explicitly,
   otherwise every "row" in this design silently stacks. */
.ho-lp .ho-topbar .ho-wrap,
.ho-lp .ho-hero .ho-wrap,
.ho-lp .ho-count .ho-wrap,
.ho-lp .ho-tickets__head,
.ho-lp .ho-row,
.ho-lp .ho-row__body{flex-direction:row}
.ho-lp .ho-tickets .ho-wrap,
.ho-lp .ho-final .ho-wrap,
.ho-lp .ho-hero__copy,
.ho-lp .ho-hero__cta,
.ho-lp .ho-row__txt,
.ho-lp .ho-footline{flex-direction:column}
.ho-lp .ho-footline{display:flex;align-items:center}

/* Elementor also forces width:100% on every container, which breaks flex:none
   children inside a row — size each row child explicitly instead. */
.ho-lp .ho-hero__copy{flex:1 1 auto;width:auto;min-width:0;max-width:820px}
.ho-lp .ho-hero__cta{flex:0 0 auto;width:auto}
.ho-lp .ho-row__media{flex:0 0 420px}
.ho-lp .ho-row__body{flex:1 1 auto;width:auto;min-width:0}
.ho-lp .ho-row__txt{flex:1 1 auto;width:auto;min-width:0}

/* breakpoint utility pair (own breakpoints — independent of the Stage24 kit) */
.ho-lp .ho-d{display:revert}
.ho-lp .ho-m{display:none}

/* ---------- primary CTA ---------- */
.ho-lp .ho-btn .elementor-button,
.ho-lp a.ho-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:20px 40px;
  background:linear-gradient(180deg,var(--gold-400),var(--gold-500));
  color:var(--navy-700);
  font-family:var(--disp);font-weight:600;font-size:16px;line-height:1;
  letter-spacing:.16em;text-transform:uppercase;
  border:0;border-radius:4px;
  transition:background 180ms var(--ease),transform 180ms var(--ease);
}
.ho-lp .ho-btn .elementor-button:hover,
.ho-lp .ho-btn .elementor-button:focus-visible{
  background:linear-gradient(180deg,var(--gold-500),var(--gold-600));
  color:var(--navy-700);
  transform:translateY(-1px);
}
.ho-lp .ho-btn--row .elementor-button{padding:18px 34px;font-size:14px}
.ho-lp .ho-btn--wide .elementor-button{padding:20px 46px}

/* ---------- 1 · top bar ---------- */
.ho-lp .ho-topbar{background:var(--navy-900)}
.ho-lp .ho-topbar .ho-wrap{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-block:22px;
}
.ho-lp .ho-brand p{
  font-family:var(--disp);font-weight:600;font-size:15px;line-height:1;
  letter-spacing:.22em;color:var(--gold-500);text-transform:uppercase;
}
.ho-lp .ho-topmeta p{
  font-size:12px;line-height:1;letter-spacing:.24em;
  color:rgba(255,255,255,.72);text-transform:uppercase;white-space:nowrap;
}

/* ---------- 2 · key visual (complete lockup — never cropped, never overlaid) --- */
.ho-lp .ho-kv{background:var(--navy-900)}
.ho-lp .ho-kv img{
  width:100%;height:auto;
  aspect-ratio:1920/640;   /* pinned both sides -> zero CLS */
}

/* ---------- 3 · hero copy panel ---------- */
.ho-lp .ho-hero{background:var(--navy-700)}
.ho-lp .ho-hero .ho-wrap{
  display:flex;align-items:flex-end;justify-content:space-between;gap:56px;
  padding-block:52px 56px;
}
.ho-lp .ho-hero__copy{display:flex;flex-direction:column;gap:16px;max-width:820px}
.ho-lp .ho-hero__cta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex:none}
.ho-lp .ho-eyebrow p{
  font-size:12px;line-height:1;letter-spacing:.3em;
  color:rgba(229,192,106,.85);text-transform:uppercase;
}
.ho-lp .ho-h1 .elementor-heading-title{
  font-family:var(--disp);font-weight:700;font-size:58px;line-height:1.06;
  letter-spacing:.01em;color:#fff;text-wrap:balance;
}
.ho-lp .ho-lede p{
  font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);
  max-width:660px;text-wrap:pretty;
}
.ho-lp .ho-herodate p{font-size:13px;line-height:1.5;color:rgba(255,255,255,.7)}
.ho-lp .ho-ctanote p{
  font-size:12px;line-height:1;letter-spacing:.14em;
  color:rgba(255,255,255,.55);text-transform:uppercase;white-space:nowrap;
}

/* hero text reveal (CSS only, staggered) */
@media (prefers-reduced-motion:no-preference){
  @keyframes ho-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .ho-lp .ho-r1{animation:ho-rise 600ms var(--ease) both}
  .ho-lp .ho-r2{animation:ho-rise 600ms 120ms var(--ease) both}
  .ho-lp .ho-r3{animation:ho-rise 600ms 240ms var(--ease) both}
}

/* ---------- 4 · countdown strip ---------- */
.ho-lp .ho-count{
  background:var(--navy-800);
  border-top:1px solid var(--hair);
  border-bottom:1px solid rgba(229,192,106,.15);
}
.ho-lp .ho-count .ho-wrap{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-block:26px;
}
.ho-lp .ho-count__label p,
.ho-lp .ho-count__date p{
  font-size:12px;line-height:1;color:rgba(255,255,255,.55);text-transform:uppercase;
}
.ho-lp .ho-count__label p{letter-spacing:.28em}
.ho-lp .ho-count__date p{letter-spacing:.18em;color:rgba(255,255,255,.4);white-space:nowrap}

.ho-lp .ho-clock{flex:none}
.ho-lp .ho-clock .elementor-countdown-wrapper{margin:0}
.ho-lp .ho-clock .elementor-countdown-item{
  padding:0;background:none;border:0;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.ho-lp .ho-clock .elementor-countdown-digits{
  font-family:var(--disp);font-weight:600;font-size:34px;line-height:1;
  color:var(--gold-400);
}
.ho-lp .ho-clock .elementor-countdown-label{
  font-family:var(--text);font-weight:300;font-size:10px;line-height:1;
  letter-spacing:.24em;color:rgba(255,255,255,.45);text-transform:uppercase;
}
.ho-lp .ho-clock .elementor-countdown-expire--message{
  font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:.06em;
  color:var(--gold-400);text-align:center;
}
/* after the concert the flanking label + date are meaningless */
.ho-lp .ho-count.is-expired .ho-count__label,
.ho-lp .ho-count.is-expired .ho-count__date{display:none}
.ho-lp .ho-count.is-expired .ho-wrap{justify-content:center}

/* ---------- 5 · ticket rows ---------- */
.ho-lp .ho-tickets{background:var(--navy-700)}
.ho-lp .ho-tickets .ho-wrap{
  display:flex;flex-direction:column;gap:40px;
  padding-block:88px;
}
.ho-lp .ho-tickets__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  border-bottom:1px solid var(--hair);padding-bottom:18px;
}
.ho-lp .ho-h2 .elementor-heading-title{
  font-family:var(--disp);font-weight:600;font-size:32px;line-height:1.1;
  letter-spacing:.04em;color:var(--gold-400);
}
.ho-lp .ho-venue p{
  font-size:12px;line-height:1.4;letter-spacing:.22em;
  color:rgba(255,255,255,.5);text-transform:uppercase;text-align:right;
}

.ho-lp .ho-row{display:flex;align-items:stretch;gap:36px}
.ho-lp .ho-row + .ho-row{border-top:1px solid rgba(255,255,255,.1);padding-top:40px}

/* the key visual keeps its own 1200:628 ratio, so cover() crops nothing */
.ho-lp .ho-row__media{
  flex:none;width:420px;aspect-ratio:1200/628;
  overflow:hidden;border-radius:6px;
  border:1px solid transparent;
  transition:border-color 180ms var(--ease);
}
.ho-lp .ho-row__media .elementor-widget-image,
.ho-lp .ho-row__media .elementor-widget-image .elementor-widget-container{
  width:100%;height:100%;
}
.ho-lp .ho-row__media img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1);
  transition:transform 180ms var(--ease);
}
.ho-lp .ho-row:hover .ho-row__media img{transform:scale(1.03)}
.ho-lp .ho-row:hover .ho-row__media{border-color:rgba(229,192,106,.6)}

.ho-lp .ho-row__body{
  flex:1;min-width:0;
  display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding-block:12px;
}
.ho-lp .ho-row__txt{display:flex;flex-direction:column;gap:12px;min-width:0}
.ho-lp .ho-eyebrow--sm p{
  font-size:11px;line-height:1;letter-spacing:.28em;
  color:var(--gold-500);text-transform:uppercase;
}
.ho-lp .ho-h3 .elementor-heading-title{
  font-family:var(--disp);font-weight:600;font-size:40px;line-height:1.1;color:#fff;
}
.ho-lp .ho-h3 .ho-sep,
.ho-lp .ho-h3 .ho-time{color:rgba(255,255,255,.45);font-weight:400}
.ho-lp .ho-meta p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.62)}
.ho-lp .ho-row .ho-btn{flex:none}

/* ---------- 6 · final CTA ---------- */
.ho-lp .ho-final{position:relative;overflow:hidden;min-height:380px;display:flex}
.ho-lp .ho-final__bg{position:absolute;inset:0;z-index:0}
/* Elementor wraps the widget in a relatively-positioned, zero-height div; without
   this the absolutely-positioned img would resolve against that and collapse to 0. */
.ho-lp .ho-final__bg .elementor-widget,
.ho-lp .ho-final__bg .elementor-widget-container{
  position:absolute;inset:0;width:100%;height:100%;
}
.ho-lp .ho-final__bg img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 35%;
  /* The closing panel is a texture, not a second poster. The 1920x640 asset is
     only 3:1, so cover() into this 3.79:1 box keeps ~79% of the image height and
     the whole baked lockup lands behind the live H2 - the gradient alone could not
     suppress it. Blur makes it genuinely a texture (handoff rule 1: no live text
     over legible baked letterforms); scale() hides the blur's transparent fringe. */
  filter:blur(8px) saturate(1.08);
  transform:scale(1.06);
}
/* Overlay must be heavy enough that the baked type reads as texture (handoff rule 1:
   no live text over legible baked letterforms). The handoff's .84/.95 left "FESTIVAL"
   and "WARSZAWA" plainly readable against this bright asset, so alpha is raised. */
.ho-lp .ho-final__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,20,40,.91),rgba(6,10,20,.975));
}
.ho-lp .ho-final .ho-wrap{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  padding-block:64px;text-align:center;
}
.ho-lp .ho-h2--xl .elementor-heading-title{
  font-family:var(--disp);font-weight:700;font-size:46px;line-height:1.1;
  letter-spacing:.03em;color:var(--gold-400);text-wrap:balance;
}
.ho-lp .ho-foot p{
  font-size:12px;line-height:1;letter-spacing:.18em;
  color:rgba(255,255,255,.45);text-transform:uppercase;
}

/* =====================================================================
   RESPONSIVE — 1440 / 1280 / 1024 / 900 / 768 / 390 / 360
   ===================================================================== */

/* ---- ≤1024 (tablet): tighter gutters + type step down ---- */
@media (max-width:1024px){
  .ho-lp{--pad:32px}
  .ho-lp .ho-hero .ho-wrap{gap:32px;padding-block:40px 44px}
  .ho-lp .ho-h1 .elementor-heading-title{font-size:42px}
  .ho-lp .ho-lede p{font-size:15px}
  .ho-lp .ho-h2 .elementor-heading-title{font-size:30px}
  .ho-lp .ho-h3 .elementor-heading-title{font-size:34px}
  .ho-lp .ho-h2--xl .elementor-heading-title{font-size:38px}
  .ho-lp .ho-tickets .ho-wrap{padding-block:64px;gap:32px}
  .ho-lp .ho-row__media{width:320px}
  .ho-lp .ho-count .ho-wrap{gap:16px}
  .ho-lp .ho-clock .elementor-countdown-digits{font-size:28px}
  .ho-lp .ho-topmeta p{letter-spacing:.16em}
}

/* ---- ≤900: hero stacks, ticket rows collapse to one column ---- */
@media (max-width:900px){
  .ho-lp .ho-hero .ho-wrap{
    flex-direction:column;align-items:stretch;gap:28px;
  }
  .ho-lp .ho-hero__copy{flex:0 0 auto;width:100%;max-width:none}
  .ho-lp .ho-hero__cta{flex:0 0 auto;width:100%;align-items:stretch}
  .ho-lp .ho-hero__cta .ho-btn .elementor-button{width:100%}
  .ho-lp .ho-ctanote p{text-align:center;white-space:normal}

  .ho-lp .ho-tickets__head{flex-direction:column;align-items:flex-start;gap:10px}
  .ho-lp .ho-venue p{text-align:left}

  /* card form: image above content, inside a hairline box */
  .ho-lp .ho-row{
    flex-direction:column;gap:0;
    border:1px solid var(--hair);border-radius:6px;overflow:hidden;
    transition:border-color 180ms var(--ease);
  }
  .ho-lp .ho-row:hover{border-color:rgba(229,192,106,.6)}
  .ho-lp .ho-row + .ho-row{border-top:1px solid var(--hair);padding-top:0}
  .ho-lp .ho-row__media{
    flex:0 0 auto;width:100%;border-radius:0;border:0;
  }
  .ho-lp .ho-row:hover .ho-row__media{border-color:transparent}
  .ho-lp .ho-row__body{
    flex:0 0 auto;width:100%;
    flex-direction:column;align-items:stretch;gap:12px;
    padding:18px;
  }
  .ho-lp .ho-row__txt{flex:0 0 auto;width:100%}
  .ho-lp .ho-row .ho-btn .elementor-button{width:100%;margin-top:6px}
  .ho-lp .ho-h3 .elementor-heading-title{font-size:28px}
}

/* ---- ≤767 (mobile): the mobile artboard ---- */
@media (max-width:767px){
  .ho-lp{--pad:20px}
  .ho-lp .ho-d{display:none}
  .ho-lp .ho-m{display:revert}

  /* top bar keeps the brand only */
  .ho-lp .ho-topbar .ho-wrap{padding-block:16px}
  .ho-lp .ho-brand p{font-size:11px;letter-spacing:.2em}
  .ho-lp .ho-topmeta{display:none}

  /* mobile swaps to the 1200x628 lockup — ratio pinned to match */
  .ho-lp .ho-kv img{aspect-ratio:1200/628}

  .ho-lp .ho-hero .ho-wrap{gap:14px;padding-block:24px 26px}
  .ho-lp .ho-hero__copy{gap:14px}
  .ho-lp .ho-hero__cta{gap:10px}
  .ho-lp .ho-eyebrow p{font-size:9.5px;letter-spacing:.24em;color:rgba(229,192,106,.9)}
  .ho-lp .ho-h1 .elementor-heading-title{font-size:32px;line-height:1.1;letter-spacing:0}
  .ho-lp .ho-btn .elementor-button{padding:18px;font-size:14px;width:100%}
  .ho-lp .ho-ctanote p{font-size:10px;letter-spacing:.12em}

  /* countdown: four equal columns, label + date drop away */
  .ho-lp .ho-count .ho-wrap{padding-block:16px}
  .ho-lp .ho-count{border-top-color:rgba(229,192,106,.22);border-bottom-color:rgba(229,192,106,.12)}
  .ho-lp .ho-count__label,
  .ho-lp .ho-count__date{display:none}
  .ho-lp .ho-clock{flex:1 1 auto;width:100%}
  .ho-lp .ho-clock .elementor-countdown-wrapper{width:100%}
  .ho-lp .ho-clock .elementor-countdown-item{flex:1 1 0}
  .ho-lp .ho-clock .elementor-countdown-digits{font-size:22px}
  .ho-lp .ho-clock .elementor-countdown-label{font-size:8.5px;letter-spacing:.2em}
  .ho-lp .ho-clock .elementor-countdown-expire--message{font-size:15px}

  .ho-lp .ho-tickets .ho-wrap{padding-block:30px 36px;gap:18px}
  .ho-lp .ho-tickets__head{border-bottom:0;padding-bottom:0;gap:0}
  .ho-lp .ho-h2 .elementor-heading-title{font-size:22px;line-height:1.2;letter-spacing:.02em}
  .ho-lp .ho-venue{display:none}
  .ho-lp .ho-lede--m p{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.7)}
  .ho-lp .ho-eyebrow--sm p{font-size:9.5px;letter-spacing:.26em}
  .ho-lp .ho-h3 .elementor-heading-title{font-size:26px}
  .ho-lp .ho-h3 .ho-city,
  .ho-lp .ho-h3 .ho-sep{display:none}
  .ho-lp .ho-h3 .ho-time{color:#fff;font-weight:600}
  .ho-lp .ho-meta p{font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.6)}
  .ho-lp .ho-row .ho-btn .elementor-button{padding:16px;font-size:13px}

  .ho-lp .ho-final{min-height:0}
  .ho-lp .ho-final .ho-wrap{padding-block:40px;gap:18px}
  .ho-lp .ho-h2--xl .elementor-heading-title{font-size:28px}
  .ho-lp .ho-final .ho-btn .elementor-button{width:100%}
  .ho-lp .ho-foot p{font-size:10px}
}

/* ---- ≤380 (small mobile): guard the long venue + meta strings ---- */
@media (max-width:380px){
  .ho-lp .ho-h1 .elementor-heading-title{font-size:29px}
  .ho-lp .ho-clock .elementor-countdown-digits{font-size:20px}
  .ho-lp .ho-clock .elementor-countdown-label{font-size:8px;letter-spacing:.14em}
  .ho-lp .ho-h2--xl .elementor-heading-title{font-size:25px}
}

/* ---- coarse pointers get no hover-only affordances ---- */
@media (hover:none){
  .ho-lp .ho-row:hover .ho-row__media img{transform:none}
  .ho-lp .ho-row:hover .ho-row__media{border-color:transparent}
}

/* ---- reduced motion: no reveal, no zoom, no transitions ---- */
@media (prefers-reduced-motion:reduce){
  html:has(.ho-lp){scroll-behavior:auto}
  .ho-lp *,.ho-lp *::before,.ho-lp *::after{
    animation:none!important;
    transition:none!important;
  }
}

/* ---- countdown row + final-CTA measure (kept last so these win) ---- */
.ho-lp .ho-final .ho-wrap{flex:1 1 auto}
.ho-lp .ho-clock .elementor-countdown-wrapper{
  display:flex;flex-wrap:nowrap;align-items:flex-start;
  gap:44px;justify-content:flex-end;
}
@media (max-width:1024px){
  .ho-lp .ho-clock .elementor-countdown-wrapper{gap:26px}
}
@media (max-width:767px){
  .ho-lp .ho-clock .elementor-countdown-wrapper{gap:0;justify-content:space-between;width:100%}
}/* End custom CSS */