/* Friendly Halloween, scoped to the public home. Christmas stays archived separately. */
.gmc-haunt{position:relative;isolation:isolate;overflow:hidden;margin-top:38px;border:1px solid #e5dfed;border-radius:24px;background:linear-gradient(115deg,#f7f5fc,#f0f3fa 60%,#fbf2e9);display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:255px;padding:24px 38px;box-shadow:0 12px 40px #13234807}
.gmc-haunt:before{content:"";position:absolute;right:5%;top:15%;width:310px;height:310px;background:radial-gradient(circle,#f4dab444,transparent 68%);z-index:-1;border-radius:50%}.gmc-haunt-copy{max-width:540px}.gmc-haunt-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#815e94;margin-bottom:8px}.gmc-haunt h2{font:700 clamp(27px,3vw,35px)/1.2 Playfair Display,Georgia,serif;margin:0 0 10px;color:#182e56}.gmc-haunt p{margin:0;max-width:475px;font-size:14px;color:#63677e}.gmc-haunt-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.gmc-haunt-controls button{background:#ffffffb5;border:1px solid #d8cce4;color:#625075;border-radius:22px;font:700 12px Manrope,system-ui,sans-serif;padding:8px 13px;min-height:36px;cursor:pointer;transition:background .2s}.gmc-haunt-controls button:hover{background:#fff;color:#3b3258}.gmc-haunt button:focus-visible{outline:3px solid #9366b5;outline-offset:4px}
.gmc-haunt-scene{position:relative;display:flex;align-items:flex-end;justify-content:center;flex:0 0 425px;min-height:221px;padding-bottom:18px}.gmc-haunt-character{background:none;border:0;padding:0;cursor:pointer;width:137px;flex:0 0 137px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;color:#786588}.gmc-haunt-character svg{display:block;width:100%;height:182px;filter:drop-shadow(0 7px 6px #2f254e10);animation:gmc-happy-float 3.8s ease-in-out infinite;animation-delay:calc(var(--delay)*.3s);opacity:1;transform-origin:50% 90%}.gmc-haunt-character small{display:block;font:700 10px Manrope,system-ui,sans-serif;letter-spacing:.03em;margin-top:-4px;opacity:.8}.gmc-haunt-character:hover svg,.gmc-haunt-character:focus-visible svg,.gmc-haunt-character.gmc-boo svg{animation:gmc-greet .8s ease-in-out 2;opacity:1}.gmc-haunt-eyes{transform-origin:center;animation:gmc-haunt-blink 8s infinite;transform-box:fill-box}.gmc-haunt-message{position:absolute;left:0;right:0;bottom:-1px;font:800 12px/1.3 Manrope,system-ui,sans-serif;color:#6b4b83;text-align:center;opacity:0;transition:opacity .3s;pointer-events:none}.gmc-haunt-message.gmc-visible{opacity:1}
.gmc-web{position:absolute;width:105px;height:105px;pointer-events:none;opacity:.4;z-index:1}.gmc-web img{width:100%;height:100%;display:block}.gmc-web-hero{left:0;top:0;opacity:.3;width:125px;height:125px}.gmc-web-corner{right:0;top:0;transform:scaleX(-1);width:82px;height:82px;opacity:.26}.gmc-web-footer{left:0;top:0;opacity:.23;width:125px;height:125px}
.gmc-witch-flight{position:fixed;top:0;left:calc(70vw - 120px);width:clamp(175px,20vw,270px);height:auto;z-index:25;pointer-events:none;will-change:transform;animation:gmc-witch-rise 5.8s cubic-bezier(.4,.05,.55,.95) both;filter:drop-shadow(0 10px 12px #20183e20)}.gmc-witch-flight img{display:block;width:100%;height:auto}
.gmc-spider-pass{position:fixed;left:0;top:108px;width:72px;z-index:24;pointer-events:none;will-change:transform;animation:gmc-spider-walk 7s ease-in-out both}.gmc-spider-pass img{display:block;width:100%;height:auto}
.gmc-haunt-bat{position:absolute;pointer-events:none;width:42px;height:25px;color:#76618d;opacity:0;top:22px;left:0;z-index:2}.gmc-haunt-bat svg{width:100%;height:100%}.gmc-haunt.gmc-surprise .gmc-haunt-bat{animation:gmc-bat-fly 2.5s ease-in-out both}.gmc-haunt-bat:nth-of-type(2){top:58px;width:28px;animation-delay:.18s!important}
@keyframes gmc-happy-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
.gmc-frank-left{transform-origin:49px 117px;animation:gmc-frank-wave-left 3s ease-in-out infinite}.gmc-frank-right{transform-origin:101px 117px;animation:gmc-frank-wave-right 3s .5s ease-in-out infinite}.gmc-vampire-cape{transform-origin:75px 105px;animation:gmc-cape-flutter 2.8s ease-in-out infinite}
@keyframes gmc-frank-wave-left{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(85deg)}50%{transform:rotate(105deg)}}
@keyframes gmc-frank-wave-right{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(-85deg)}50%{transform:rotate(-105deg)}}
@keyframes gmc-cape-flutter{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.06) rotate(2deg)}}
@keyframes gmc-greet{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-4deg) translateY(-5px)}70%{transform:rotate(4deg) translateY(-3px)}}
@keyframes gmc-haunt-blink{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.1)}}
@keyframes gmc-witch-rise{0%{opacity:0;transform:translate(70px,calc(100vh + 30px)) rotate(-9deg)}8%{opacity:1}45%{transform:translate(-80px,45vh) rotate(5deg)}88%{opacity:1}100%{opacity:0;transform:translate(-160px,-360px) rotate(-8deg)}}
@keyframes gmc-spider-walk{0%{opacity:0;transform:translate(-90px,-60px) rotate(-5deg)}8%{opacity:1}30%{transform:translate(24vw,5px) rotate(8deg)}55%{transform:translate(53vw,-32px) rotate(-7deg)}80%{transform:translate(80vw,10px) rotate(5deg);opacity:1}100%{transform:translate(calc(100vw + 90px),-90px);opacity:0}}
@keyframes gmc-bat-fly{0%{opacity:0;transform:translate(-70px,0) rotate(-10deg)}15%,80%{opacity:.7}50%{transform:translate(46vw,14px) rotate(10deg)}100%{opacity:0;transform:translate(1100px,-20px) rotate(-10deg)}}
body.gmc-haunt-reduced .gmc-haunt *{animation:none!important;transition:none!important}body.gmc-haunt-reduced .gmc-haunt-character svg{opacity:1;transform:none}
@media(max-width:760px){.gmc-haunt{flex-direction:column;gap:8px;padding:27px 20px 20px;text-align:center}.gmc-haunt-copy p{margin:auto}.gmc-haunt-controls{justify-content:center}.gmc-haunt-scene{flex-basis:auto;width:100%;max-width:350px;min-height:204px}.gmc-haunt-character{width:110px;flex-basis:110px}.gmc-haunt-character svg{height:164px}.gmc-haunt-message{font-size:11px;bottom:1px}.gmc-web-hero{width:85px;height:85px}.gmc-witch-flight{left:calc(75vw - 100px);width:180px}.gmc-spider-pass{width:58px;top:98px}}
@media(prefers-reduced-motion:reduce){.gmc-haunt *{animation:none!important;transition:none!important}.gmc-haunt-character svg{opacity:1;transform:none}.gmc-witch-flight,.gmc-spider-pass,.gmc-haunt-bat{display:none!important}}
@media print{.gmc-haunt,.gmc-web,.gmc-witch-flight,.gmc-spider-pass{display:none!important}}
