/* Homepage atmosphere. The supplied brand artwork is preserved; blending happens only in CSS. */
.hero-vegas{position:relative;isolation:isolate;background:#10090e;background-image:radial-gradient(ellipse at 79% 48%,#692c223b 0%,transparent 57%),radial-gradient(ellipse at 16% 100%,#70203238,transparent 57%);border-bottom:1px solid #986932}
.hero-vegas:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#10090ef2 0%,#10090ed9 27%,#10090e88 46%,transparent 69%)}
.hero-atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.hero-atmosphere:before{content:"";position:absolute;inset:-15%;background:radial-gradient(ellipse at 73% 49%,#edaa442b,transparent 51%),conic-gradient(from 204deg at 80% 55%,transparent 0deg,#e4b66e0b 18deg,transparent 34deg,transparent 117deg,#e4b66e0d 135deg,transparent 157deg);animation:casino-glow 9s ease-in-out infinite alternate}
/* Both layers share this square's centre; no banner- or viewport-relative offsets. */
.hero-emblem{position:relative;width:108%;aspect-ratio:1;flex-shrink:0}
.hero-roulette{position:absolute;left:50%;top:50%;width:156%;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.44;z-index:-2;pointer-events:none}
.hero-vegas .roulette-wheel{width:100%;height:100%;max-height:none;margin:0;animation:roulette-turn 90s linear infinite;will-change:transform}
.roulette-ball-orbit{position:absolute;inset:5.8%;border-radius:50%;animation:roulette-turn 24s linear infinite reverse;will-change:transform}
.roulette-ball-orbit span{position:absolute;top:-5px;left:50%;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ffe7a6 55%,#a0783f);box-shadow:0 0 14px #ffe5a4a6}
.hero-vegas .hero-grid{position:relative;min-height:680px;gap:0}
.hero-vegas .hero-copy{padding-block:75px 78px;text-shadow:0 2px 28px #10090e}
.hero-vegas .hero-copy>p{color:#d4c8bd}
.hero-vegas h1 em{color:#f3ce85;background:linear-gradient(110deg,#dda653 6%,#f6d795 34%,#fff0bd 48%,#e8b565 68%,#f6d795 89%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;animation:gold-shimmer 12s ease-in-out infinite alternate}
.hero-vegas .status-dot{box-shadow:0 0 0 4px #e4b66e12,0 0 16px #e4b66e8c}
.hero-vegas .button-gold{background:linear-gradient(115deg,#f4d495,#dca653 75%,#edc27c);border-color:#f3d3999c;box-shadow:0 4px 28px #d9952424;color:#24140d}
.hero-vegas .button-gold:hover{background:linear-gradient(115deg,#ffe8b7,#edbc70);box-shadow:0 5px 32px #dda44542}
.hero-vegas .hero-footnote{margin-top:43px;color:#bdad95}
.hero-vegas .hero-visual{min-width:0;justify-content:center}
.hero-emblem:before{content:"";position:absolute;left:50%;top:50%;width:110%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#10090e 0%,#10090ef5 45%,#10090e99 62%,transparent 76%);z-index:-1;pointer-events:none}
.hero-vegas .hero-brand-art{width:100%;max-width:none;max-height:none;margin:0;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 55%,#000000f5 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse at center,#000 55%,#000000f5 70%,transparent 100%);animation:brand-arrive 1.6s ease-out both}
.hero-vegas .visual-caption{left:25px;right:5px;bottom:36px;color:#d4bb8b;font-size:.52rem;letter-spacing:.22em}
.hero-motion-control{position:absolute;right:26px;bottom:15px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e4b66e3b;border-radius:20px;background:#10090e9c;color:#d9c7a5;font-size:.63rem;letter-spacing:.03em;line-height:1.4}
.hero-motion-control:hover{border-color:#e4b66e85;color:#fff0c9;background:#2d1714}
.motion-icon{display:block;width:8px;height:9px;border-inline:2px solid currentColor}
.hero-motion-control[aria-pressed=true] .motion-icon{border:0;border-left:7px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent;height:0}
.hero-sparks{position:absolute;inset:0}
.hero-sparks i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;background:#ffe1a0;border-radius:50%;box-shadow:0 0 8px 2px #f3b85a66;opacity:.3;animation:casino-spark 7s ease-in-out infinite;animation-delay:var(--delay)}
.hero-sparks i:nth-child(1){--x:10%;--y:15%;--delay:-2s}
.hero-sparks i:nth-child(2){--x:39%;--y:9%;--delay:-5s}
.hero-sparks i:nth-child(3){--x:49%;--y:77%;--delay:-3s}
.hero-sparks i:nth-child(4){--x:59%;--y:19%;--delay:-1s}
.hero-sparks i:nth-child(5){--x:86%;--y:13%;--delay:-4s}
.hero-sparks i:nth-child(6){--x:94%;--y:53%;--delay:-6s}
.hero-sparks i:nth-child(7){--x:91%;--y:84%;--delay:-3.5s}
.hero-sparks i:nth-child(8){--x:30%;--y:91%;--delay:-.5s}
.hero-vegas.is-motion-paused :is(.hero-atmosphere,.hero-roulette) *,.hero-vegas.is-motion-paused .hero-atmosphere:before,.hero-vegas.is-motion-paused h1 em,.hero-vegas:not(.motion-ready) :is(.hero-atmosphere,.hero-roulette) *,.hero-vegas:not(.motion-ready) .hero-atmosphere:before,.hero-vegas:not(.motion-ready) h1 em{animation-play-state:paused!important}
@keyframes roulette-turn{to{transform:rotate(360deg)}}
@keyframes casino-glow{from{opacity:.55}to{opacity:1}}
@keyframes casino-spark{0%,100%{opacity:.16;transform:translateY(7px)}50%{opacity:.8;transform:translateY(-7px)}}
@keyframes gold-shimmer{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes brand-arrive{from{opacity:0}to{opacity:1}}
@media(min-width:1600px){.hero-vegas .hero-grid{min-height:720px}.hero-vegas .hero-copy{padding-block:82px 91px}.hero-emblem{width:110%}}
@media(max-width:1180px){.hero-vegas .hero-grid{min-height:620px}.hero-vegas .hero-copy{padding-block:62px 74px}.hero-emblem{width:112%}.hero-vegas .visual-caption{bottom:50px;font-size:.44rem}}
@media(max-width:980px){.hero-vegas .hero-grid{min-height:580px}.hero-vegas .hero-copy{padding-block:55px 70px}.hero-roulette{opacity:.35}.hero-emblem{width:132%}.hero-motion-control{bottom:13px;right:18px}}
@media(max-width:720px){.hero-vegas .hero-grid{min-height:0}.hero-vegas:after{background:linear-gradient(180deg,#10090ef2 0%,#10090ec7 28%,#10090e22 62%,transparent 85%)}.hero-vegas .hero-copy{padding:44px 0 0}.hero-vegas .hero-visual{width:100%;max-width:470px;margin-top:4px;padding-bottom:32px}.hero-emblem{width:117%}.hero-roulette{opacity:.38}.hero-motion-control{bottom:12px;right:14px;font-size:.6rem}.hero-sparks i:nth-child(-n+3){display:none}.hero-vegas .hero-copy>p{color:#d4c8bd}.roulette-ball-orbit span{width:8px;height:8px}}
@media(prefers-reduced-motion:reduce){.hero-vegas *,.hero-vegas *:before{animation:none!important}.hero-brand-art{opacity:1;transform:none}.hero-motion-control{display:none}}
@media print{.hero-atmosphere,.hero-roulette,.hero-motion-control{display:none}.hero-vegas{background:white}.hero-vegas:after{display:none}.hero-vegas h1 em{-webkit-text-fill-color:currentColor;background:none}.hero-vegas .hero-copy>p{color:black}.hero-vegas .hero-brand-art{mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}}
