/* Experimental cinema layer. Only transforms/opacity animate on the compositor. */
.cinema-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cinema-nebula{position:absolute;inset:-12%;pointer-events:none;z-index:0;opacity:.65;background:radial-gradient(ellipse 35% 22% at 60% 35%,#c276a52b,transparent 100%),radial-gradient(ellipse 24% 35% at 28% 58%,#8263b52c,transparent 100%);animation:nebula-drift 19s ease-in-out infinite alternate;animation-play-state:paused}
.scene-visible:not(.static):not(.cinema-paused) .cinema-nebula{animation-play-state:running}
@keyframes nebula-drift{from{transform:translate3d(-2%,1%,0) rotate(-9deg) scale(.95)}to{transform:translate3d(4%,-3%,0) rotate(10deg) scale(1.13)}}
.cinema-halo{position:absolute;left:50%;top:46%;width:min(65vw,650px);aspect-ratio:1;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse 48% 48% at center,transparent 57%,#c8a4de0a 69%,#eac2dc22 72%,#c8a4de06 76%,transparent 100%);transform:translate(-50%,-50%);opacity:0;z-index:0}
.stage .portal{border-color:#e7c4e51a;box-shadow:none}
.stage .portal:after{border-color:#e7c4e511}
.stage .comet{display:none}
.hero-intro:not(.static):not(.cinema-paused) .card img{animation:card-breathe 8s ease-in-out infinite}
@keyframes card-breathe{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -9px;rotate:1.2deg}}
.fog:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 28% 38% at 40% 50%,#ddc4e326,transparent 100%);animation:mist-flow 12s ease-in-out infinite alternate;animation-play-state:paused}
.scene-visible:not(.static):not(.cinema-paused) .fog:after{animation-play-state:running}
@keyframes mist-flow{from{transform:translateX(-8%) scale(.9)}to{transform:translateX(13%) scale(1.12)}}
.cinema-badge{position:fixed;right:6vw;bottom:18px;z-index:70;color:#cbb5d1;font:9px Manrope;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;padding:8px 12px;background:#201627b3;border:1px solid #dab3ce20;border-radius:30px}
.cinema-reveal{transition:opacity 1s ease,translate 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.cinema-reveal.waiting{opacity:0;translate:0 30px}
.meeting-step:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;transform-origin:left;transform:scaleX(1);background:linear-gradient(90deg,#f1c4dc,#b19ad5,transparent);transition:transform 1.4s ease}
.meeting-step.waiting:before{transform:scaleX(0)}
.review-excerpt{position:relative;overflow:hidden}
.host-story.spatial-chapter .review-excerpt{transition:opacity .8s ease,translate .8s ease,border-color .4s,background .4s}
.review-excerpt:hover{border-color:#e5b5d77a!important;background:linear-gradient(135deg,#a5669633,#926bb314)!important}
.art-star,.invitation-star{animation:cinema-star 7s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
.cinema-active:not(.static):not(.cinema-paused) .art-star,.cinema-active:not(.static):not(.cinema-paused) .invitation-star{animation-play-state:running}
@keyframes cinema-star{0%,100%{transform:scale(.92) rotate(-9deg);opacity:.65}50%{transform:scale(1.12) rotate(12deg);opacity:1}}
.pill,.hero-booking{position:relative;overflow:hidden;isolation:isolate}
.pill:after,.hero-booking:after{content:'';position:absolute;inset:-60% -40%;pointer-events:none;background:linear-gradient(105deg,transparent 40%,#fff9 50%,transparent 60%);transform:translateX(-110%);transition:transform .9s}
.pill:hover:after,.hero-booking:hover:after{transform:translateX(110%)}
.static .cinema-sky,.static .cinema-nebula,.static .cinema-halo{display:none}
.static .cinema-reveal{opacity:1!important;translate:none!important;transition:none}
.static .meeting-step:before{transform:none;transition:none}
.cinema-paused *{animation-play-state:paused!important}
@media(max-width:650px){.cinema-halo{width:94vw}.cinema-badge{font-size:8px;bottom:10px;right:5vw}.cinema-reveal.waiting{translate:0 20px}}
@media(prefers-reduced-motion:reduce){.cinema-nebula,.art-star,.invitation-star,.hero-intro .card img,.fog:after{animation:none!important}.cinema-reveal,.meeting-step:before,.pill:after,.hero-booking:after{transition:none}}
