/* Stable responsive frame; image dimensions never change carousel height. */
html,body{width:100%;margin:0;overflow:hidden}
*{box-sizing:border-box}body{margin:0;background:transparent;font:14px/1.4 system-ui,sans-serif;color:oklch(27% .015 260)}[hidden]{display:none!important}#carousel{width:100%}#carousel-viewport{position:relative;overflow:hidden;border-radius:12px;aspect-ratio:2048 / 577}#carousel-slides{height:100%;width:100%;position:relative}.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-out}.carousel-slide.current{opacity:1;visibility:visible;pointer-events:auto}.carousel-slide a,.carousel-slide .slide-static{display:block;width:100%;height:100%;border:0;padding:0;background:transparent}.carousel-slide a{cursor:pointer}.carousel-slide picture,.carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.carousel-navigation{min-height:32px;display:flex;align-items:center;justify-content:center;gap:12px}#carousel-dots{display:flex;gap:0px;flex-wrap:wrap;justify-content:center}#carousel-dots button{width:22px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}#carousel-dots button:after{content:'';display:block;width:6px;height:6px;border-radius:50%;margin:auto;background:oklch(65% .014 260)}#carousel-dots button[aria-current=true]:after{width:18px;border-radius:4px;background:oklch(55% .18 263)}button:focus-visible,a:focus-visible{outline:2px solid oklch(59% .2 263);outline-offset:-3px}#carousel-status{padding:20px;text-align:center;margin:0;font-size:12px;color:oklch(50% .015 260)}@media(max-width:600px){#carousel-viewport{aspect-ratio:8 / 5}}@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}}

/* Casino artwork fills the iframe; pagination sits on the artwork. */
#carousel-viewport{border-radius:14px;aspect-ratio:2048 / 577}#carousel{position:relative}.carousel-navigation{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);max-width:80%;height:auto;min-height:22px;padding:0 7px;border-radius:20px;background:oklch(18% .008 160 / .28)}#carousel-dots button[aria-current=true]:after{background:oklch(75% .18 155);width:30px}#carousel-dots button{width:18px}#carousel-dots button[aria-current=true]{width:34px}#carousel-dots button:after{background:oklch(70% .008 160 / .45);width:8px;height:8px}@media(max-width:600px){#carousel-viewport{border-radius:10px;aspect-ratio:8 / 5}.carousel-navigation{bottom:7px;background:transparent}.carousel-navigation #carousel-dots{display:flex}}

#carousel-viewport{user-select:none}#carousel-viewport.dragging,#carousel-viewport.dragging a{cursor:grabbing}

/* One horizontal motion model for mouse, touch and autoplay. */
#carousel-viewport{touch-action:auto}.carousel-slide{transition:none}

#carousel:not([hidden]){margin-bottom:20px}

/* The non-passive touch handler chooses swipe vs native vertical scrolling. */
#carousel-viewport .carousel-slide a,#carousel-viewport .slide-static{touch-action:auto}

/* Artwork stays at its former hover brightness, including non-clickable slides.
   ID specificity overrides shared iframe hover feedback without changing controls. */
#carousel-slides .carousel-slide :is(a, .slide-static){filter:brightness(1.12) drop-shadow(0 0 3px #37dc7b35)!important;transition:none!important}
