/* Hidden by default: normal branding returns automatically after October. */
.halloween-season[hidden] { display: none; }
.halloween-season { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 0 auto 18px; color: #ffc076; font-size: 14px; letter-spacing: .03em; }
.halloween-season .season-art { font-size: 25px; line-height: 1; }
.halloween #inside-journey .hero-pitch h1 em { color: #ffac42; }
.halloween #cube-experience { background: radial-gradient(ellipse at center, rgba(255,115,24,.12), transparent 65%); }
.halloween .hero-explore { box-shadow: 0 0 24px rgba(255,128,30,.18); }
@media(max-width:480px) { .halloween-season { font-size: 12px; gap: 7px; } }

/* Decorative layers never intercept product controls or modal interactions. */
[data-halloween][hidden] { display: none !important; }
.haunt-overlay { position: fixed; inset: 0; pointer-events: none; z-index: 8; overflow: hidden; }
.blood-edge { position: absolute; top: 0; left: 0; right: 0; height: 5px; background: #8b1322; box-shadow: 0 2px 12px #420912; display: flex; justify-content: space-around; }
.blood-edge i { display: block; width: 10px; height: 25px; border-radius: 0 0 12px 12px; background: linear-gradient(#8b1322,#bb2234); transform-origin: top; animation: blood-drip 7s ease-in-out infinite alternate; }
.blood-edge i:nth-child(3n) { height: 55px; width: 14px; animation-delay: -3s; }
.blood-edge i:nth-child(2n) { height: 36px; width: 7px; animation-delay: -5s; }
.flying-ghost { position: absolute; width: 68px; opacity: .76; filter: drop-shadow(0 0 14px #b7a3d755); animation: ghost-float 9s ease-in-out infinite alternate; }
.flying-ghost svg { display: block; width: 100%; }
.ghost-1 { left: 1.5%; top: 25%; transform: rotate(-14deg); }
.ghost-2 { right: 1.5%; top: 44%; width: 54px; animation-delay: -4s; }
.ghost-3 { left: 4%; top: 72%; width: 40px; opacity: .45; animation-delay: -7s; }
.halloween #cube-experience { background: radial-gradient(ellipse at center, #ee741e29, transparent 65%); }
.graveyard { position: relative; height: 235px; overflow: hidden; background: linear-gradient(#101012,#20162b 80%,#0b0c10); pointer-events: none; isolation: isolate; }
.graveyard-moon { position: absolute; width: 90px; height: 90px; border-radius: 50%; background: #ead7a1; right: 17%; top: 20px; box-shadow: 0 0 65px #e6c87633; opacity: .8; }
.grave { position: absolute; bottom: 10px; width: 95px; height: 120px; border-radius: 45px 45px 3px 3px; background: linear-gradient(110deg,#68636f,#302d38); border: 3px solid #77717d; box-shadow: inset 5px 0 10px #ffffff0a; text-align: center; color: #c9c2d0; font: bold 23px Georgia,serif; }
.grave span { display: block; margin-top: 30px; }
.grave small { display: block; font: 9px sans-serif; margin-top: 9px; letter-spacing: 1px; }
.grave-left { left: 18%; transform: rotate(-12deg); height: 100px; width: 78px; }
.grave-center { left: calc(50% - 62px); width: 124px; }
.grave-right { right: 24%; transform: rotate(9deg); height: 90px; width: 72px; }
.skeleton-rising { position: absolute; bottom: 92px; left: calc(50% - 65px); width: 130px; z-index: -1; animation: skeleton-sway 6s ease-in-out infinite alternate; transform-origin: bottom; }
.skeleton-rising svg { display: block; width: 100%; }
.graveyard-fog { position: absolute; inset: 50% -10% 0; background: radial-gradient(ellipse,#a99cb622,transparent 65%); animation: fog-drift 12s ease-in-out infinite alternate; }
.graveyard-ground { position: absolute; bottom: 0; left: 0; right: 0; height: 22px; border-radius: 50% 50% 0 0; background: #0b0c10; }
@keyframes ghost-float { from { translate: 0 -16px; rotate: -10deg; } to { translate: 14px 28px; rotate: 12deg; } }
@keyframes blood-drip { from { scale: 1 .65; } to { scale: 1 1; } }
@keyframes skeleton-sway { from { rotate: -5deg; } to { rotate: 5deg; } }
@keyframes fog-drift { from { translate: -5% 0; } to { translate: 5% 0; } }
@media(max-width:600px) {
 .flying-ghost { width: 38px; opacity: .5; }
 .ghost-1 { left: 0; top: 38%; }
 .ghost-2 { right: 0; top: 63%; width: 33px; }
 .ghost-3 { display: none; }
 .graveyard { height: 220px; }
 .grave-left { left: 5%; width: 52px; height: 80px; }
 .grave-right { right: 5%; width: 48px; height: 70px; }
 .graveyard-moon { right: 8%; width: 65px; height: 65px; }
 .blood-edge i:nth-child(3n) { height: 30px; }
}
@media(prefers-reduced-motion:reduce) {
 .flying-ghost, .blood-edge i, .skeleton-rising, .graveyard-fog { animation: none; }
}
/* Keep drips visible below the announcement, and the skull inside its scene. */
.blood-edge { top: var(--ann-h, 0px); }
.skeleton-rising { width: 110px; left: calc(50% - 55px); bottom: 86px; }
