/* Light on a dark studio surface. Transform/opacity motion only; no video or render loop. */
#home{background:radial-gradient(ellipse at 85% 48%,#1b304b 0,transparent 57%),linear-gradient(115deg,#151c27,#0b1019 67%,#111c2d)}
#home::before,#home::after{content:none}
.hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;contain:paint}
.hero-light-reveal{position:absolute;inset:0}
.hero-radiance{position:absolute;inset:-12%;background:radial-gradient(ellipse at 56% 28%,#6b92c250,transparent 47%),radial-gradient(ellipse at 98% 85%,#3f69a640,transparent 45%);opacity:.8;transform:translate3d(0,0,0)}
.hero-light{position:absolute;top:-35%;height:155%;transform-origin:50% 45%;transform:translate3d(0,0,0) rotate(27deg)}
.hero-light-key{left:32%;width:36%;background:linear-gradient(90deg,transparent 0%,#a9c3e007 16%,#bacce328 40%,#e0eafa35 49.4%,#dceafd55 50%,#b5cfee16 50.7%,#89a8d008 61%,transparent 100%);opacity:.82}
.hero-light-rim{left:77%;width:23%;background:linear-gradient(90deg,transparent 18%,#7998c214 44%,#bdd6ff32 49.7%,#bed6fb05 50.3%,transparent 77%);opacity:.65}
.hero-shadow{position:absolute;inset:-15%;background:linear-gradient(110deg,#060b1280 0%,#080d1655 30%,transparent 53%,#060a1218 74%,transparent);transform:translate3d(0,0,0)}
.hero-film-grain{position:absolute;inset:0;background:url('/assets/studio-grain.svg') repeat;opacity:.13;mix-blend-mode:soft-light}
/* The first reveal settles into a quiet, continuous drift. No text is part of the backdrop. */
.studio-moving .hero-light-reveal{animation:hero-light-arrival 1.8s cubic-bezier(.16,1,.3,1) both}
.studio-moving .hero-radiance{animation:hero-radiance-drift 22s ease-in-out infinite alternate}
.studio-moving .hero-light-key{animation:hero-key-drift 18s ease-in-out infinite alternate}
.studio-moving .hero-light-rim{animation:hero-rim-drift 24s ease-in-out -7s infinite alternate}
.studio-moving .hero-shadow{animation:hero-shadow-drift 20s ease-in-out -4s infinite alternate}
.studio-moving #home .hero-workstage{animation:studio-enter 1.4s var(--studio-ease) .18s both}
body.studio-paused .hero-atmosphere *,body.studio-idle .hero-atmosphere *,body.studio-paused #home .hero-workstage,body.studio-idle #home .hero-workstage{animation-play-state:paused}
@keyframes hero-light-arrival{from{opacity:.3;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@keyframes hero-radiance-drift{from{transform:translate3d(-2%,0,0) scale(1);opacity:.65}to{transform:translate3d(3%,3%,0) scale(1.06);opacity:1}}
@keyframes hero-key-drift{from{transform:translate3d(-10%,0,0) rotate(25deg);opacity:.65}to{transform:translate3d(14%,2%,0) rotate(31deg);opacity:.95}}
@keyframes hero-rim-drift{from{transform:translate3d(12%,0,0) rotate(27deg);opacity:.45}to{transform:translate3d(-12%,-2%,0) rotate(23deg);opacity:.8}}
@keyframes hero-shadow-drift{from{transform:translate3d(-3%,0,0);opacity:.8}to{transform:translate3d(3%,0,0);opacity:1}}
@media(max-width:800px){
 #home{background:radial-gradient(ellipse at 100% 42%,#1d3453,transparent 65%),#101722}
 .hero-light-key{left:30%;width:72%;top:-20%;height:125%;opacity:.65}
 .hero-light-rim{left:95%;width:45%;opacity:.4}
 .hero-shadow{background:linear-gradient(105deg,#080d1766,transparent 85%)}
 .hero-radiance{background:radial-gradient(ellipse at 80% 32%,#648fc142,transparent 58%)}
}
@media(prefers-reduced-motion:reduce){
 .hero-atmosphere *,#home .hero-workstage{animation:none!important}
 .hero-light-reveal{opacity:1;transform:none}
}
