/* Three compact illustrated campaigns replace the large hero and shortcut row. */
.promo-carousel{position:relative;margin:10px 0 8px;outline-offset:3px}
.promo-slides{position:relative;height:164px;overflow:hidden;border-radius:20px;border:1px solid #bd8ada80;background:#251036;box-shadow:0 6px 24px #04010a55;touch-action:pan-y pinch-zoom}
.promo-slide{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateX(25px);transition:opacity .55s ease,transform .55s ease,visibility .55s;background:radial-gradient(ellipse at 90% 30%,#a364c66b,transparent 62%),linear-gradient(110deg,#301043,#4c2565)}
.promo-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:1}
.promo-slide:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#fff0cc20 44%,transparent 65%);transform:translateX(-120%)}
.promo-slide.is-active:after{animation:promo-sheen 1.7s ease .3s both}
.promo-copy{position:relative;z-index:3;padding:12px 14px;width:68%;height:100%;display:flex;flex-direction:column;align-items:flex-start}
.promo-kicker{font-size:9px;font-weight:650;letter-spacing:1.5px;color:#dbb8f5;line-height:1.2}
.promo-copy h2{font-size:23px;line-height:1.06;letter-spacing:-.6px;margin:6px 0 5px;color:#fff8fc;text-shadow:0 2px 12px #180520}
.promo-copy h2 em{color:#ffe29a;font-style:normal}
.promo-copy p{font-size:10px;line-height:1.35;max-width:215px;color:#e0cee9}
.promo-cta{position:relative;margin-top:auto;display:inline-flex;align-items:center;gap:13px;min-height:30px;padding:5px 11px;border:1px solid #ffe9a9;border-radius:9px;color:#3b2141;background:linear-gradient(#ffedb2,#f3bb58);box-shadow:0 2px 0 #8b592b;font-size:10px;font-weight:750}
.promo-cta:focus-visible,.promo-controls button:focus-visible{outline:2px solid #ffe3a1;outline-offset:1px}
.promo-scene{position:absolute;right:-12px;top:0;width:45%;height:100%;pointer-events:none}
.promo-scene img{position:absolute;right:0;top:7px;width:100%;height:150px;object-fit:contain;filter:drop-shadow(0 7px 12px #14042388);animation:promo-float 4s ease-in-out infinite}
.promo-ring{position:absolute;inset:17% 3% 13%;border:1px solid #f4d28c75;border-radius:50%;transform:rotate(-25deg);box-shadow:0 0 22px #c46efa50,inset 0 0 18px #a246dd33}
.promo-scene i{position:absolute;font-style:normal;color:#ffdd8d;text-shadow:0 0 10px #efc158;animation:status-glow 2s ease-in-out infinite;top:14%;right:16%;font-size:18px}.promo-scene i:last-child{top:75%;right:75%;font-size:12px}
.promo-friends{background:radial-gradient(ellipse at 87% 20%,#6759ac99,transparent 60%),linear-gradient(115deg,#1c153a,#51316f)}
.promo-friends .promo-scene img{height:166px;top:-2px;right:0}.promo-friends .promo-ring{inset:38% 0 26%;transform:rotate(-20deg)}
.promo-journey{background:#20103c}.promo-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 52%}.promo-journey:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1b093aed 8%,#271040c9 49%,transparent 86%);z-index:1}.promo-journey .promo-copy{width:74%}.promo-journey h2{font-size:21px}.promo-orbit{position:absolute;right:12px;top:23px;color:#ffe09a;font-size:22px;z-index:2;animation:promo-float 4s ease-in-out infinite}
.promo-controls{height:29px;display:flex;align-items:center;justify-content:center;position:relative}.promo-dots{display:flex;align-items:center}.promo-dots button{width:35px;height:29px;padding:0;background:transparent;display:grid;place-items:center}.promo-dots span{display:block;width:15px;height:4px;border-radius:9px;background:#78538e;transition:width .3s,background .3s}.promo-dots [aria-pressed=true] span{width:25px;background:#f5ce81;box-shadow:0 0 9px #f3bc5355}.promo-pause{position:absolute;right:0;top:0;width:32px;height:29px;background:transparent;color:#d7bae5;font-size:11px;padding:0}
@keyframes promo-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes promo-sheen{to{transform:translateX(130%)}}
@media(max-width:720px){#games>.page-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#games>.catalog-heading{margin:3px 0 5px}.filter-row{padding:5px 0 10px}}
@media(max-width:359px){.promo-copy{padding:12px;width:70%}.promo-copy h2{font-size:20px}.promo-copy p{font-size:9px;max-width:184px}.promo-journey h2{font-size:19px}.promo-scene{width:43%;right:-9px}.promo-scene img{height:135px;top:18px}.promo-friends .promo-scene img{height:150px;top:5px}}
@media(min-width:721px){.promo-slides{height:210px;border-radius:24px}.promo-copy{padding:22px 28px;width:65%}.promo-kicker{font-size:11px}.promo-copy h2,.promo-journey h2{font-size:34px;margin:8px 0}.promo-copy p{font-size:12px;max-width:380px}.promo-cta{min-height:34px;font-size:12px}.promo-scene{width:36%;right:5%}.promo-scene img{height:204px;top:0}.promo-friends .promo-scene img{height:220px;top:-5px}.promo-journey .promo-copy{width:65%}.promo-controls{height:32px}}
.promo-carousel[data-running=false] .promo-scene img,.promo-carousel[data-running=false] .promo-scene i,.promo-carousel[data-running=false] .promo-orbit{animation-play-state:paused}
html[data-motion=off] .promo-carousel *,html[data-motion=off] .promo-carousel *:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.promo-carousel *,.promo-carousel *:after{animation:none!important;transition:none!important}}

/* Small floating edition label; short wiggle, long quiet interval. */
.promo-carousel>.edition-badge{position:absolute;right:8px;top:8px;z-index:5;pointer-events:none;padding:4px 8px;min-height:23px;gap:5px;border:1px solid #ffdc8788;border-radius:20px;background:linear-gradient(135deg,#4e2d49ed,#251331f2);color:#ffe5a3;font-size:9px;line-height:1.4;font-weight:750;white-space:nowrap;box-shadow:0 2px 8px #12051a66,0 0 10px #edb95730;transform-origin:80% 50%;animation:edition-wiggle 4.8s ease-in-out infinite}
.promo-carousel>.edition-badge:before{width:5px;height:5px;background:#ffdf8d;box-shadow:0 0 7px #ffcf77}
@keyframes edition-wiggle{0%,78%,100%{transform:rotate(0) translateX(0)}81%{transform:rotate(-5deg) translateX(-1px)}84%{transform:rotate(5deg) translateX(1px)}87%{transform:rotate(-4deg) translateX(-1px)}90%{transform:rotate(3deg) translateX(1px)}94%{transform:rotate(0) translateX(0)}}
html[data-motion=off] .edition-badge,html[data-motion=off] .edition-badge:before{animation:none!important}
@media(prefers-reduced-motion:reduce){.edition-badge,.edition-badge:before{animation:none!important}}
