/* Motion system: compositor-based animation, reduced-motion and touch fallbacks. */
header{position:sticky;top:0;z-index:20;background:#101112ed;backdrop-filter:blur(18px);transition:box-shadow .3s,background .3s}header.scrolled{box-shadow:0 8px 30px #0005;background:#101112f7}.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,#ff3b15,#ffb36c);transform:scaleX(0);transform-origin:left;z-index:30;box-shadow:0 0 15px #ff6236;pointer-events:none}.hero-art{animation:cinematic-drift 22s ease-in-out infinite alternate;transform-origin:65% 50%}.hero-content{position:relative;z-index:2}.hero h1 em{background:linear-gradient(110deg,#ff6236 10%,#ff6236 35%,#ffd0a5 48%,#ff6236 60%,#ff6236 90%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:headline-shimmer 7s ease-in-out infinite}.hero .eyebrow{animation:hero-intro .7s .1s both}.hero h1{animation:hero-intro .9s .2s both}.hero p{animation:hero-intro .9s .35s both}.hero .primary{animation:hero-intro .9s .5s both,button-glow 4s 1.5s ease-in-out infinite}.hero-caption{animation:hero-intro .9s .65s both}.embers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;mask-image:linear-gradient(90deg,transparent 20%,black 70%)}.embers i{position:absolute;left:var(--x);bottom:-15px;width:3px;height:3px;border-radius:50%;background:#ffb075;box-shadow:0 0 9px 2px #ff6328a8;opacity:0;animation:ember-rise var(--duration) var(--delay) linear infinite}.hero:before{content:'';position:absolute;z-index:0;inset:-15%;pointer-events:none;background:radial-gradient(ellipse at 78% 60%,#ff5b2328,transparent 48%);animation:ambient-breathe 9s ease-in-out infinite alternate}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}.reveal.revealed{opacity:1;transform:translateY(0)}.grid{perspective:1200px}.card{position:relative;transform-style:preserve-3d;transition:transform .2s ease-out,border-color .3s,box-shadow .3s;animation:card-enter .6s backwards}.card:hover{transform:translateY(-8px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));box-shadow:0 18px 40px #0007,0 0 24px #ff623612}.card:after{content:'';position:absolute;inset:0;border-radius:8px;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),#ffba751b,transparent 70%);opacity:0;transition:opacity .3s}.card:hover:after{opacity:1}.cover{transition:filter .4s;background-size:cover}.card:hover .cover{filter:saturate(1.2) brightness(1.08)}.game-name{transition:transform .4s}.card:hover .game-name{transform:translateX(6px)}.badge{transition:background .3s,border-color .3s}.card:hover .badge{background:#ff6236e6;border-color:#ff9c72;color:#111}.primary,button{position:relative;overflow:hidden}.primary:before,.card-button:before{content:'';position:absolute;top:-80%;left:-65%;height:260%;width:30%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff45,transparent);pointer-events:none;transition:left .6s}.primary:hover:before,.card-button:hover:before{left:145%}.click-ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:#ffffff55;pointer-events:none;display:block!important;animation:ripple-expand .65s ease-out forwards}.filters button{transition:background .25s,transform .25s,border-color .25s}.filters button:hover{transform:translateY(-3px);border-color:var(--orange)}nav a{position:relative;transition:color .2s}nav a:after{content:'';position:absolute;bottom:-10px;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}.benefits>div>span{transition:transform .5s,color .5s}.benefits>div:hover>span{transform:rotate(-12deg) scale(1.18);color:#ffb381}.steps article{transition:border-color .3s,transform .3s}.steps article:hover{border-color:var(--orange);transform:translateX(7px)}.steps article>span{transition:text-shadow .3s}.steps article:hover>span{text-shadow:0 0 20px #ff623699}summary:after{transition:transform .3s}summary:hover:after{transform:rotate(90deg)}dialog[open]{animation:dialog-enter .35s cubic-bezier(.2,.8,.2,1)}dialog[open]::backdrop{animation:backdrop-enter .3s}.cart-open #count{display:inline-block}.mark{transition:transform .4s}.logo:hover .mark{transform:rotate(-8deg)}
@keyframes cinematic-drift{0%{transform:scale(1.02) translateX(-.5%)}100%{transform:scale(1.13) translateX(1%)}}@keyframes headline-shimmer{0%,20%{background-position:100% 0}70%,100%{background-position:0 0}}@keyframes hero-intro{from{opacity:0;transform:translateY(25px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes button-glow{0%,100%{box-shadow:0 0 0 #ff623600}50%{box-shadow:0 0 32px #ff623650}}@keyframes ember-rise{0%{transform:translate3d(0,0,0);opacity:0}15%,70%{opacity:.6}100%{transform:translate3d(var(--drift),-560px,0);opacity:0}}@keyframes ambient-breathe{from{opacity:.35;transform:translateX(-3%)}to{opacity:1;transform:translateX(3%)}}@keyframes card-enter{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ripple-expand{from{transform:translate(-50%,-50%) scale(0);opacity:.7}to{transform:translate(-50%,-50%) scale(35);opacity:0}}@keyframes dialog-enter{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(hover:none){.card:hover{transform:none}.embers i:nth-child(n+9){display:none}.hero-art{animation-duration:28s}.steps article:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero h1 em{background:none;color:var(--orange)}.embers,.click-ripple{display:none!important}.card:hover,.steps article:hover{transform:none}*,*:before,*:after{animation:none!important;transition:none!important}}
