.hero-carousel{position:relative;overflow:hidden;background:#320914}.hero-carousel-track{display:flex;transition:transform .55s cubic-bezier(.22,.8,.25,1);will-change:transform}.hero-slide{flex:0 0 100%;min-width:0;position:relative}.hero-slide .hero{height:100%;min-height:560px}.hero-event{display:flex;align-items:center;justify-content:center;background:#fff}.hero-event img{display:block;width:100%;height:100%;object-fit:contain}.hero-carousel-arrow{position:absolute;z-index:10;top:50%;transform:translateY(-50%);height:46px;width:46px;border-radius:50%;border:1px solid #ffffff77;background:#230a18b8;color:white;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(12px);transition:background .2s,transform .2s}.hero-carousel-arrow:hover{background:#f75b16;transform:translateY(-50%) scale(1.06)}.hero-carousel-arrow.prev{left:12px}.hero-carousel-arrow.next{right:12px}.hero-carousel-dots{position:absolute;z-index:10;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:9px}.hero-carousel-dots button{width:9px;height:9px;border:0;border-radius:20px;background:#ffffff88;cursor:pointer;padding:0;transition:width .25s,background .25s}.hero-carousel-dots button.active{width:27px;background:#ff681b}@media(max-width:760px){.hero-slide .hero{min-height:unset}.hero-carousel-arrow{width:36px;height:36px;font-size:27px}.hero-carousel-arrow.prev{left:5px}.hero-carousel-arrow.next{right:5px}.hero-event{background:#fff}.hero-event img{width:100%;height:auto;max-height:100%;object-fit:contain}}@media(prefers-reduced-motion:reduce){.hero-carousel-track{transition:none}}

/* Event artwork uses its true 3:1 proportion. The first hero remains unchanged. */
.hero-event{min-width:0;background:#fffaf6;color:#211d1a}
.hero-event-layout{width:100%;min-width:0;min-height:560px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.hero-event .hero-event-poster{display:block;width:100%;height:auto;max-height:620px;aspect-ratio:3 / 1;object-fit:contain;object-position:center}
.hero-event-mobile{display:none}
.hero-carousel-arrow:focus-visible,.hero-carousel-dots button:focus-visible{outline:3px solid #ff8b39;outline-offset:4px}
.hero-carousel-dots{bottom:18px}
.hero-carousel-dots button{min-width:12px;min-height:12px;touch-action:manipulation}
@media(max-width:760px){
 .hero-event-layout{min-height:100%;justify-content:center;padding:30px 0 70px;background:#fff8ef}
 .hero-event .hero-event-poster{width:100%;height:auto;max-height:none;aspect-ratio:3 / 1;object-fit:contain}
 .hero-event-mobile{display:flex;flex-direction:column;width:min(calc(100% - 40px),520px);margin:24px auto 0;gap:13px;text-align:left}
 .hero-event-kicker{font-size:11px;letter-spacing:.075em;font-weight:800;color:#df5a07;text-transform:uppercase}
 .hero-event-mobile h2{font-family:Poppins,system-ui,sans-serif;font-weight:900;font-size:clamp(27px,7.5vw,40px);line-height:1.07;letter-spacing:-.055em;color:#181719}
 .hero-event-mobile h2 span{color:#f45d05}
 .hero-event-mobile p{color:#514942;font-size:13px;line-height:1.6}
 .hero-event-meta{display:flex;flex-wrap:wrap;gap:8px}
 .hero-event-meta span{flex:1 1 130px;display:flex;flex-direction:column;gap:3px;border-radius:10px;background:#fff;border:1px solid #e9d8c7;padding:12px;font-size:12px;color:#382b23}
 .hero-event-meta strong{font-size:10px;letter-spacing:.07em;color:#e65c05;text-transform:uppercase}
 .hero-event-cta{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:11px;background:#fa650e;color:white;font-weight:800;font-size:14px;min-height:49px;box-shadow:0 5px 16px #d45c182e}
 .hero-event-mobile small{color:#514942;font-size:11px;line-height:1.4}
 .hero-carousel-arrow{width:40px;height:40px;top:47%;font-size:29px}
 .hero-carousel-arrow.prev{left:8px}.hero-carousel-arrow.next{right:8px}
 .hero-carousel-dots{bottom:20px}
}
@media(max-width:390px){
 .hero-event-mobile{width:calc(100% - 32px);gap:10px;margin-top:16px}
 .hero-event-layout{padding-top:18px;padding-bottom:60px}
 .hero-event-meta span{flex-basis:110px;padding:10px}
}
@media(prefers-reduced-motion:reduce){.hero-carousel-track{transition:none!important}}

/* Keep event information usable even if a poster request fails. */
.hero-event-layout.poster-missing .hero-event-poster{display:none}
.hero-event-layout.poster-missing{padding:66px 24px;background:linear-gradient(130deg,#fff8ef,#ffe3cc);color:#261915;min-height:560px}
.hero-event-layout.poster-missing .hero-event-mobile{display:flex;flex-direction:column;gap:18px;width:min(100% - 20px,580px);margin:0 auto}
.hero-event-layout.poster-missing .hero-event-mobile h2{font-family:Poppins,system-ui,sans-serif;font-weight:900;font-size:clamp(34px,4vw,60px);line-height:1.12}
.hero-event-layout.poster-missing .hero-event-mobile h2 span{color:#ec610d}
.hero-event-layout.poster-missing .hero-event-mobile p{font-size:15px;color:#45372e}
.hero-event-layout.poster-missing .hero-event-meta{display:flex;gap:12px;flex-wrap:wrap}
.hero-event-layout.poster-missing .hero-event-meta span{flex:1 1 120px;display:grid;gap:4px;padding:14px;border:1px solid #e7ccb7;background:white;border-radius:12px;font-size:13px}
.hero-event-layout.poster-missing .hero-event-meta strong{color:#dd5e0e}
.hero-event-layout.poster-missing .hero-event-cta{display:flex;align-items:center;justify-content:center;background:#eb630e;color:white;font-weight:800;min-height:50px;border-radius:12px}
.hero-event-layout.poster-missing .hero-event-mobile small{font-size:12px}
@media(max-width:760px){.hero-event-layout.poster-missing{min-height:100%;padding:50px 12px 70px}.hero-event-layout.poster-missing .hero-event-mobile h2{font-size:clamp(30px,7vw,42px)}}
