:root{--carousel-ease:cubic-bezier(.23,1,.32,1);--carousel-duration:280ms}
.hero-carousel{--carousel-slide-max-height:clamp(300px,28vw,400px);--carousel-slide-width:86%;max-width:1200px;margin-inline:auto;padding-top:16px;outline-offset:3px}
.carousel-stage{position:relative;height:322px;overflow:hidden;touch-action:pan-y pinch-zoom;border-radius:12px}
.carousel-stage .carousel-slide{position:absolute;top:10px;left:50%;width:min(var(--carousel-slide-width),calc(var(--carousel-slide-max-height) * var(--banner-ratio,3.1)));height:296px;margin:0;transform:translateX(-50%) scale(1);opacity:1;z-index:2;border-radius:10px;box-shadow:0 7px 14px #11182022;transition:transform var(--carousel-duration) var(--carousel-ease),opacity var(--carousel-duration) ease;isolation:isolate}
.carousel-stage .is-before{transform:translateX(-147%) scale(.9);opacity:.65;z-index:1}
.carousel-stage .is-after{transform:translateX(47%) scale(.9);opacity:.65;z-index:1}
.carousel-stage.no-motion .carousel-slide{transition:none}
.carousel-slide .hero-content{padding:29px 36px}
.carousel-slide .hero-content h2{font-size:36px;letter-spacing:-1px;color:white;line-height:1.26;margin:16px 0 11px;font-weight:700}
.carousel-slide .hero-content h2>span{color:var(--yellow)}
.carousel-slide .hero-image{user-select:none;-webkit-user-drag:none;pointer-events:none}
.slide-apex{background:#172227}
.slide-apex .hero-image{object-position:70% 35%}
.slide-apex .hero-shade{background:linear-gradient(90deg,#102120 0%,#102120ee 28%,#10212055 65%,#10212010),linear-gradient(0deg,#07131544,transparent 70%)}
.carousel-stage .slide-service{background:#f0ead9;box-shadow:0 7px 14px #73664c1a}
.slide-service .hero-content h2{color:#272922}
.slide-service .hero-content h2>span{color:#b19b4a}
.slide-service .hero-content p{color:#817c6b}
.slide-service .eyebrow{color:#8f856a}
.slide-service .eyebrow>span{background:#a38d43}
.slide-service .hero-game{color:#5d594c}
.slide-service .hero-game>span{color:#938976}
.service-orbit{position:absolute;inset:0 0 0 50%;display:grid;place-items:center;pointer-events:none}
.orbit-ring{position:absolute;width:215px;height:215px;border:1px solid #d9cfad;border-radius:50%;box-shadow:0 0 0 27px #e2d9ba66,0 0 0 55px #e8e0c944}
.orbit-coin{width:128px;height:128px;display:grid;place-items:center;font-size:85px;font-weight:800;border-radius:50%;background:linear-gradient(135deg,#51b49a,#1d826d);color:#f6fff7;box-shadow:inset 0 0 0 7px #ffffff25,0 18px 30px #207d6929;transform:rotate(-12deg)}
.orbit-label{position:absolute;display:flex;align-items:center;gap:8px;min-height:41px;padding:0 14px;background:#fffdf5e8;border:1px solid #e4ddc8;border-radius:8px;color:#6d6a59;font-size:13px;box-shadow:0 6px 20px #8c805e0b}
.orbit-label .icon{width:16px;height:16px;color:#549a7d}
.orbit-label-top{top:42px;right:17%;transform:rotate(5deg)}
.orbit-label-bottom{bottom:39px;left:7%;transform:rotate(-4deg)}
.carousel-arrow{position:absolute;top:calc(50% - 24px);z-index:4;width:38px;height:44px;display:grid;place-items:center;border-radius:7px;color:#fff;background:#15191d46;border:1px solid #ffffff40;user-select:none;-webkit-user-select:none;transition:background-color 150ms ease}
.carousel-arrow .icon{width:23px;height:23px}
.carousel-prev{left:2.2%}
.carousel-prev .icon{transform:rotate(180deg)}
.carousel-next{right:2.2%}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:10px;height:23px;margin-top:-3px}
.carousel-dots{display:flex;align-items:center;gap:4px;height:22px}
.carousel-dots>button{display:grid;align-items:center;width:26px;height:22px;padding:9px 0;position:relative;border-radius:4px;user-select:none;-webkit-user-select:none}
.carousel-dots>button:before{content:"";display:block;width:100%;height:4px;border-radius:8px;background:#c7cbd1;transition:background-color 150ms ease}
.carousel-dots>button.active:before{background:#e9bc16}
.carousel-play{width:25px;height:24px;display:grid;place-items:center;color:#5f6b7a;font-size:12px;border-radius:4px;user-select:none;-webkit-user-select:none}
.carousel-play>span{font-size:12px;letter-spacing:-1px;line-height:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover) and (pointer:fine){.carousel-arrow:hover{background:#15191d80}.carousel-dots>button:not(.active):hover:before{background:#a3a9b3}.carousel-play:hover{background:#e9ebef}}
@media(min-width:1600px){.carousel-stage{height:342px}.carousel-stage .carousel-slide{height:316px}.carousel-slide .hero-content{padding-top:35px}.carousel-slide .hero-content h2{font-size:40px}}
@media(max-width:920px){.hero-carousel{--carousel-slide-max-height:300px;--carousel-slide-width:88%}.carousel-stage{height:266px}.carousel-stage .carousel-slide{height:276px}.carousel-slide .hero-content{padding:28px}.carousel-slide .hero-content h2{font-size:31px}.carousel-slide .hero-content h1{font-size:31px}.carousel-slide .hero-content p{font-size:13px}.carousel-arrow{width:31px;height:40px}.carousel-prev{left:1.4%}.carousel-next{right:1.4%}.service-orbit{left:53%;opacity:.8}.orbit-ring{width:165px;height:165px;box-shadow:0 0 0 20px #e2d9ba66,0 0 0 40px #e8e0c944}.orbit-coin{width:105px;height:105px;font-size:65px}.orbit-label{font-size:12px;padding:0 10px;gap:5px;min-height:33px}.orbit-label-top{top:40px;right:4%}.orbit-label-bottom{bottom:39px;left:0}.slide-service .hero-content{z-index:2}}
@media(max-width:680px){.hero-carousel{--carousel-slide-max-height:220px;--carousel-slide-width:94%;padding-top:10px}.carousel-stage{height:202px;border-radius:9px;margin:0}.carousel-stage .carousel-slide{top:8px;height:258px;border-radius:9px}.carousel-stage .is-before{transform:translateX(-149%) scale(.91);opacity:.55}.carousel-stage .is-after{transform:translateX(49%) scale(.91);opacity:.55}.carousel-slide .hero-content{padding:25px 20px}.carousel-slide .hero-content h1,.carousel-slide .hero-content h2{font-size:29px;line-height:1.27;margin:16px 0 12px}.carousel-slide .hero-content p{font-size:12px;max-width:225px;line-height:1.7;margin-bottom:21px}.carousel-slide .eyebrow{font-size:12px;letter-spacing:1px}.carousel-slide .hero-game{right:11px;bottom:14px;font-size:12px}.carousel-slide .hero-game>span{font-size:12px}.carousel-arrow{width:27px;height:37px;border-radius:5px;border-color:#ffffff30;background:#15191d66;top:calc(50% - 19px)}.carousel-arrow .icon{width:18px;height:18px}.carousel-prev{left:0}.carousel-next{right:0}.carousel-controls{margin-top:-3px}.carousel-slide .hero-image{object-position:65% center}.slide-apex .hero-image{object-position:67% 40%}.slide-service .hero-content h2{font-size:28px}.service-orbit{left:58%;opacity:.42}.orbit-coin{width:91px;height:91px;font-size:58px;margin-top:4px}.orbit-ring{width:135px;height:135px;box-shadow:0 0 0 16px #e2d9ba66,0 0 0 32px #e8e0c944}.orbit-label{display:none}.slide-service .hero-content p{max-width:210px}.slide-service .hero-game{color:#81765a}}
@media(prefers-reduced-motion:reduce){.carousel-stage .carousel-slide,.carousel-dots>button:before{transition:none}}

.hero-banner-trigger{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;overflow:hidden}.hero-banner-trigger picture{display:block;width:100%;height:100%}.hero-banner-trigger:focus-visible{outline:3px solid var(--yellow);outline-offset:-4px}.carousel-ghost{pointer-events:none}.site-announcement{padding:10px 24px;background:#fff6cd;text-align:center;font-size:14px;line-height:1.6;color:#4a4022}.header .brand>img{max-width:180px;max-height:40px;object-fit:contain}

.carousel-slide .hero-banner-trigger .hero-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%}.hero-banner-trigger{text-align:left}.banner-copy-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b111ce6 0%,#0b111c66 24%,transparent 65%);pointer-events:none}.banner-copy{position:absolute;left:28px;right:28px;top:auto;bottom:24px;transform:none;max-width:min(720px,calc(100% - 56px));color:#fff;text-align:left;pointer-events:none}.banner-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:25px;line-height:1.3;font-weight:700;letter-spacing:-.3px;text-shadow:0 1px 3px #0004}.banner-intro{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;line-height:1.7;margin-top:8px;white-space:pre-line;color:#f0f2f6;text-shadow:0 1px 2px #0006}@media(max-width:680px){.banner-copy{left:16px;right:16px;bottom:16px;max-width:calc(100% - 32px)}.banner-title{font-size:19px;line-height:1.35}.banner-intro{font-size:13px;line-height:1.65;margin-top:9px}.banner-copy-shade{background:linear-gradient(0deg,#0b111ce6 0%,#0b111c55 40%,transparent 85%)}}

/* Fallback sizing; the homepage banner frame is bounded below. */
.carousel-stage .carousel-slide{height:auto;aspect-ratio:var(--banner-ratio,3.1)}@media(max-width:680px){.banner-copy{left:12px;right:12px;bottom:10px;max-width:calc(100% - 24px)}.banner-title{font-size:16px;line-height:1.4;-webkit-line-clamp:1}.banner-intro{font-size:12px;line-height:1.5;margin-top:4px;-webkit-line-clamp:1}}

/* White main card: 460 x 215 image plus a separate title footer. */
.hero-layout{--hero-title-height:56px;display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);column-gap:24px;align-items:start;width:100%;min-width:0;max-width:100%;padding:0}
.hero-layout .hero-carousel{position:relative;width:100%;max-width:460px;min-width:0;padding:0;margin:0;align-self:start}
.hero-layout .carousel-stage{width:100%;min-width:0;max-width:100%;height:auto;aspect-ratio:auto;max-height:none;padding-bottom:var(--hero-title-height);border-radius:12px;background:#fff;box-shadow:0 0 0 1px #e0e5ed,0 5px 15px #17223508}
.hero-layout .carousel-stage::before{content:"";display:block;aspect-ratio:460/215}
.hero-layout .hero-banner-trigger{display:grid;grid-template-rows:minmax(0,1fr) var(--hero-title-height);background:#fff}
.hero-layout .hero-banner-media{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;background:#eff2f5}
.hero-layout .carousel-slide .hero-banner-trigger .hero-image{object-fit:cover;object-position:center}
.hero-layout .carousel-stage .carousel-slide{top:0;left:0;width:100%;height:100%;aspect-ratio:auto;transform:translateX(0);border-radius:12px;box-shadow:none;background:#fff}
.hero-layout .carousel-stage .is-before{transform:translateX(-100%);opacity:1;z-index:1}
.hero-layout .carousel-stage .is-after{transform:translateX(100%);opacity:1;z-index:1}
.hero-layout .banner-copy{position:static;display:flex;align-items:center;min-width:0;width:100%;max-width:none;height:var(--hero-title-height);padding:0 17px;border-top:1px solid #eff1f4;background:#fff;color:#222a35}
.hero-layout .banner-title{display:block;min-width:0;width:100%;font-size:16px;line-height:1.5;font-weight:600;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:none;-webkit-line-clamp:unset}
.hero-layout .banner-intro{font-size:13px;line-height:1.6;margin-top:7px;-webkit-line-clamp:2}
.hero-layout .carousel-controls{position:absolute;z-index:5;left:50%;top:100%;bottom:auto;transform:translateX(-50%);height:32px;max-width:calc(100% - 32px);margin:8px 0 0;padding:0 9px;border-radius:20px;background:transparent;gap:7px}
.hero-layout .carousel-dots{gap:5px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.hero-layout .carousel-dots>button{flex:0 0 20px;width:20px;height:32px}
.hero-layout .carousel-dots>button:before{height:3px;background:#c8ced7}
.hero-layout .carousel-dots>button.active:before{background:var(--yellow)}
.hero-layout .carousel-play{width:30px;height:32px;color:#6d7887;flex-shrink:0}
.hero-layout .carousel-arrow{top:calc((100% - var(--hero-title-height))/2 - 22px);width:36px;height:44px;border-radius:22px;border:0;background:#0c142466}
.hero-layout .carousel-prev{left:12px}.hero-layout .carousel-next{right:12px}
.hero-side-promotions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(0,1fr);gap:16px;min-width:0;min-height:0;height:271px}
.hero-side-card{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;isolation:isolate;border-radius:12px;background:#fff;text-align:left;color:#222a35;padding:0;border:1px solid #e0e5ed;box-shadow:0 3px 10px #17223505}
.hero-side-card>img{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:88px;height:88px;object-fit:cover;object-position:center;border-radius:8px;background:#f3f5f7;pointer-events:none}
.hero-side-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:6px;height:100%;padding:14px 20px}
.hero-side-card:has(>img) .hero-side-copy{padding-right:124px}
.hero-side-category{font-size:11px;line-height:1.4;letter-spacing:.025em;color:#7b8796;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-side-copy>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:16px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
.hero-side-price{display:flex;align-items:center;gap:5px;font-size:16px;line-height:1.4;font-weight:650}
.hero-side-price small{font-size:10px;font-weight:400;color:#7b8796}.hero-side-price>.icon{width:16px;height:16px;margin-left:auto;color:#8c97a6}
.hero-side-promotions:has(>.hero-side-card:only-child){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.hero-no-main,.hero-no-side{grid-template-columns:minmax(0,1fr)}
.hero-no-main .hero-side-promotions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto}
.hero-no-side .hero-carousel{justify-self:center}
.hero-no-main .hero-side-promotions:has(>.hero-side-card:only-child){grid-template-columns:minmax(0,1fr)}
.hero-no-main .hero-side-card{min-height:170px}
.hero-side-card:focus-visible{outline:3px solid #b39831;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.hero-side-card:hover{border-color:#d4bf6a;box-shadow:0 4px 14px #1722350b}.hero-side-card:hover .hero-side-price>.icon{color:#947f28}.hero-layout .carousel-play:hover{background:#e9edf2}}
@media(max-width:1200px){.hero-side-promotions{gap:12px}.hero-side-card>img{width:68px;height:68px;right:14px}.hero-side-card:has(>img) .hero-side-copy{padding-right:100px}.hero-side-copy{padding:12px 15px;gap:5px}.hero-side-copy>strong{font-size:14px}.hero-side-category{display:none}.hero-side-price{font-size:14px}.hero-layout .banner-intro{-webkit-line-clamp:1}}
@media(max-width:1050px){.hero-layout{grid-template-columns:minmax(0,1fr);row-gap:52px}.hero-layout .hero-carousel{justify-self:center}.hero-side-promotions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto}.hero-side-card{min-height:135px}.hero-side-category{display:block}.hero-side-copy{padding:18px}.hero-layout .banner-title{font-size:16px}}
@media(max-width:600px){.hero-layout{--hero-title-height:52px;row-gap:48px}.hero-side-card>img{width:56px;height:56px;right:12px}.hero-side-card:has(>img) .hero-side-copy{padding-right:82px}.hero-layout .carousel-stage,.hero-layout .carousel-stage .carousel-slide,.hero-side-card{border-radius:11px}.hero-layout .banner-copy{padding-inline:14px}.hero-layout .banner-title{font-size:14px}.hero-layout .banner-intro{display:none}.hero-layout .carousel-prev{left:5px}.hero-layout .carousel-next{right:5px}.hero-layout .carousel-arrow{width:28px;opacity:.8}.hero-side-card,.hero-no-main .hero-side-card{min-height:142px}.hero-side-copy{padding:14px;gap:7px}.hero-side-copy>strong{font-size:13px;-webkit-line-clamp:3}.hero-side-category{font-size:9px}.hero-side-price{font-size:14px}}
