/* Motion is progressive: the document stays fully readable without JavaScript. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--hero-drift:0px}
.hero{position:relative;isolation:isolate}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:paint;mask-image:radial-gradient(ellipse at center,#000 35%,transparent 82%)}
.hero-atmosphere:before{content:"";position:absolute;inset:-130px 0;background:radial-gradient(ellipse at 15% 30%,#a66e342b 0,transparent 55%),radial-gradient(ellipse at 88% 28%,#47705b35 0,transparent 55%),radial-gradient(ellipse at 60% 90%,#79534526 0,transparent 50%);background-size:170% 170%;animation:studio-atmosphere 22s ease-in-out infinite alternate;transform:translate3d(0,var(--hero-drift),0)}
@keyframes studio-atmosphere{0%{background-position:5% 15%}50%{background-position:80% 40%}100%{background-position:35% 90%}}
.hero-atmosphere.motion-paused:before{animation-play-state:paused}
.hero h1 em{color:#dfc28c;background:linear-gradient(115deg,#eed7aa 8%,#cfa76b 35%,#bfd3bb 58%,#d9ae89 80%,#eed7aa);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:studio-title 16s ease-in-out infinite alternate}
@keyframes studio-title{from{background-position:0 50%}to{background-position:100% 50%}}
.btn,.play-round,.poster-play,.icon-btn{transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .35s ease,transform .45s var(--motion-ease)}
.text-link,.header-contact,.desktop-nav a,.socials a,.footer a{transition:color .25s ease,border-color .25s ease,background-color .25s ease}
.film-card{position:relative;border-radius:3px;transition:transform .5s var(--motion-ease),box-shadow .5s ease}
.film-card .poster{border:1px solid #ffffff0c;transition:border-color .35s ease}
.film-info{transition:color .25s ease}
.service-list article{position:relative;transition:background-color .3s ease,transform .45s var(--motion-ease)}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}
.desktop-nav a[aria-current="location"]{color:var(--gold)}
.desktop-nav a[aria-current="location"]:after{transform:scaleX(1)}
.motion-reveal{transition:opacity .75s var(--motion-ease),translate .85s var(--motion-ease),transform .5s var(--motion-ease),box-shadow .5s ease,background-color .3s ease;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms,0ms}
.reveal-pending{opacity:0;translate:0 24px}
.reveal-pending:focus-within{opacity:1;translate:0 0}
@media(hover:hover) and (pointer:fine){
 .film-card:hover{transform:translateY(-7px);box-shadow:0 24px 32px -26px #000c}
 .film-card:hover .poster{border-color:#d8b77a66}
 .film-card:hover h3{color:var(--gold)}
 .service-list article:hover{transform:translateY(-3px);background-color:#ffffff03}
 .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #d8b77a77}
 .play-round:hover,.icon-btn:hover{background-color:#d8b77a24;border-color:var(--gold)}
 .desktop-nav a:hover:after{transform:scaleX(1)}
}
.film-card:focus-within .poster{border-color:var(--gold)}
@media(max-width:760px){.hero-atmosphere:before{background-size:200% 160%}.reveal-pending{translate:0 16px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .hero-atmosphere:before{animation:none;transform:none}
 .hero h1 em{animation:none;background-position:0 50%}
 .motion-reveal,.reveal-pending{opacity:1;translate:none;transition:none}
 .film-card:hover,.service-list article:hover,.btn:hover{transform:none}
}
