/* Replaceable Halloween accents: CSS volume and transform-only movement. */
[data-season="halloween"] .hero {isolation:isolate;overflow:clip}
.hero__art picture,.pack,.whatis__card,.collection-grid figure,.coll li {transition:transform .35s ease,box-shadow .35s ease;transform-origin:center}
[data-season] .depth-hover {transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);box-shadow:0 20px 32px #0005}
[data-season] .hero__art picture.depth-hover {box-shadow:none}
.scene-accents {position:absolute;inset:0;pointer-events:none;z-index:4;perspective:800px}
.scene-spirit {position:absolute;right:0;top:2%;width:clamp(55px,7vw,95px);filter:drop-shadow(0 10px 10px #0009);animation:spirit-hover 7s ease-in-out infinite;animation-play-state:paused}
.scene-spirit img {display:block;width:100%;height:auto}
.scene-pumpkin {position:absolute;right:-1%;bottom:3%;width:clamp(65px,9vw,120px);aspect-ratio:1.12;border-radius:46% 46% 43% 43%;background:radial-gradient(ellipse at 32% 20%,#ffc05799,transparent 35%),repeating-radial-gradient(ellipse at 50% 40%,#f78022 0 16%,#9c390d 19%,#da5715 23%,#f78022 27%);box-shadow:inset -12px -15px 18px #421107b3,inset 4px 5px 9px #ffd49188,0 20px 14px -8px #000c;transform:rotate(9deg)}
.pumpkin-stem {position:absolute;width:15%;height:25%;left:45%;top:-18%;border-radius:70% 10% 30% 20%;background:linear-gradient(90deg,#26321e,#8d8651,#343b20);transform:rotate(20deg)}
.pumpkin-face {position:absolute;inset:29% 17% 20%;background:#ffe48b;clip-path:polygon(3% 0,34% 19%,0 30%,3% 0,100% 0,100% 30%,66% 19%,100% 0,100% 62%,84% 94%,67% 100%,35% 100%,16% 94%,0 62%,24% 71%,29% 89%,39% 75%,61% 75%,70% 89%,76% 71%,100% 62%);filter:drop-shadow(0 0 5px #ffcc64)}
.scene-pumpkin::after {content:"";position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(#ffa32e35,transparent 65%);z-index:-1;animation:lantern-breathe 5s ease-in-out infinite alternate;animation-play-state:paused}
.scene-sparks {position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.scene-sparks span {position:absolute;left:var(--x);bottom:0;width:5px;height:9px;border-radius:90% 5%;background:#d38a35;opacity:0;box-shadow:0 0 8px #ff992e66;animation:ember-drift var(--duration) linear var(--delay) infinite;animation-play-state:paused}
.scene-in-view .scene-spirit,.scene-in-view .scene-pumpkin::after,.scene-in-view .scene-sparks span {animation-play-state:running}
.motion-control {display:block;margin:24px auto 0;padding:10px 16px;min-height:44px;border:1px solid #9c714d;background:#20151d;color:#ffe7c1;font:inherit;font-size:15px;cursor:pointer}
.motion-control:focus-visible {outline:3px solid #ff8a28;outline-offset:4px}
.motion-control:disabled {cursor:default;opacity:.7}
@keyframes spirit-hover {0%,100% {transform:translate3d(0,0,0) rotate(-7deg)}50% {transform:translate3d(-9px,-18px,0) rotate(5deg)}}
@keyframes lantern-breathe {from {opacity:.35;transform:scale(.9)}to {opacity:.8;transform:scale(1.06)}}
@keyframes ember-drift {0% {opacity:0;transform:translate3d(0,20px,0) rotate(0)}12%,65% {opacity:.55}100% {opacity:0;transform:translate3d(36px,-420px,0) rotate(220deg)}}
.motion-off .scene-spirit,.motion-off .scene-pumpkin::after,.motion-off .scene-sparks span,.motion-hidden .scene-spirit,.motion-hidden .scene-pumpkin::after,.motion-hidden .scene-sparks span {animation-play-state:paused}
.motion-off .season-fog,.motion-off .season-leaf,.motion-off .deco,.motion-hidden .season-fog,.motion-hidden .season-leaf {animation:none!important}
.motion-off .scene-sparks {display:none}
.motion-off .depth-hover {transform:none}
@media(max-width:700px){.scene-spirit{right:1%;top:0;width:62px}.scene-pumpkin{right:0;bottom:4%;width:72px}.scene-sparks span:nth-child(n+5){display:none}}
@media(prefers-reduced-motion:reduce){.scene-spirit,.scene-pumpkin::after,.scene-sparks span{animation:none!important}.scene-sparks{display:none}.hero__art picture,.pack,.whatis__card,.collection-grid figure,.coll li{transition:none!important}.depth-hover{transform:none!important}}
.pumpkin-face {background:none;clip-path:none}.pumpkin-face svg {display:block;width:100%;height:100%}
