/* Corporate base; fantasy imagery belongs only to the project stage. */
body{background:#09090d}.world-background{display:none}.depth-stage{isolation:isolate}.projects.depth-stage:before{inset:-25px;background:linear-gradient(#09090da6,#09090d88),url('media/magenta-abyss.png') center/cover;filter:blur(14px) saturate(.65);opacity:.38;z-index:-1}.dark{background:#100e16}.contact{background:radial-gradient(ellipse at 50% 110%,#b2056725,transparent 64%)}
.fx-layer{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:100;contain:strict}.fx-sound{position:fixed;left:18px;bottom:62px;z-index:12;border:1px solid #ffffff25;background:#131018e8;backdrop-filter:blur(12px);color:#d4c7dc;border-radius:30px;padding:10px 13px;font:10px Arial,sans-serif;cursor:pointer}.fx-sound[aria-pressed=true]{border-color:#e6007e88;color:#ffa1d8}.fx-awake{box-shadow:inset 0 0 18px #e6007e14,0 0 15px #e6007e10!important;outline:1px solid #e6007e45;outline-offset:1px}.fx-burn{animation:fxBurn var(--fx-burn-duration,.65s) both!important;pointer-events:none}.fx-reveal{animation:fxReveal .47s cubic-bezier(.2,.8,.2,1) both!important}.fx-reveal-lite{animation:fxRevealLite .18s ease-out both!important}@keyframes fxBurn{0%{filter:brightness(1);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}20%{filter:brightness(1.12) drop-shadow(0 0 10px #e6007e70);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}65%{filter:brightness(.65) drop-shadow(0 0 6px #ff48af);clip-path:polygon(13% 7%,41% 19%,64% 9%,91% 29%,79% 66%,90% 82%,63% 78%,36% 96%,22% 72%,8% 45%)}100%{filter:brightness(.3);clip-path:polygon(47% 47%,54% 44%,57% 52%,49% 57%,44% 52%);opacity:.08}}@keyframes fxReveal{0%{clip-path:polygon(45% 45%,53% 42%,57% 51%,50% 57%,42% 53%);filter:brightness(.6) drop-shadow(0 0 14px #e6007e70)}55%{clip-path:polygon(0 12%,25% 0,52% 9%,80% 0,100% 18%,90% 54%,100% 90%,67% 100%,43% 89%,12% 100%,0 70%,9% 42%);filter:brightness(.9) drop-shadow(0 0 7px #e6007e40)}100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);filter:none}}@keyframes fxRevealLite{from{opacity:.7}to{opacity:1}}@media(max-width:700px){.fx-sound{left:10px;font-size:9px;bottom:62px}.projects.depth-stage:before{filter:blur(10px);opacity:.3}}@media(prefers-reduced-motion:reduce){.fx-burn,.fx-reveal{animation:none!important}.fx-layer{display:none}}

/* Smooth cinematic correction: preserve card shape and spatial continuity. */
@keyframes fxBurn{0%{opacity:1;filter:brightness(1)}45%{opacity:1;filter:brightness(1.07) drop-shadow(0 0 9px #e6007e40)}100%{opacity:.65;filter:blur(1px) brightness(.9)}}
@keyframes fxReveal{from{opacity:.15;filter:blur(5px);translate:0 8px}to{opacity:1;filter:blur(0);translate:0 0}}
.fx-reveal{animation-duration:.38s!important;animation-timing-function:cubic-bezier(.16,1,.3,1)!important}
