/* ZAI Films — refined motion layer. Progressive enhancement; no external library required. */
:root{--zai-ease:cubic-bezier(.22,1,.36,1)}
.zai-scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;background:#f58216;transform:scaleX(0);transform-origin:0 50%;z-index:310;pointer-events:none;will-change:transform}
/* Scroll reveals only apply after motion.js confirms that animation is available. */
.zai-motion .zai-reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .8s var(--zai-ease),transform .85s var(--zai-ease);transition-delay:var(--zai-stagger,0ms)}
.zai-motion .zai-reveal.in-view{opacity:1;transform:translate3d(0,0,0)}
/* Hero text enters like a restrained title sequence. */
@keyframes zaiHeroRise{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.zai-motion .hero-main>.kicker{animation:zaiHeroRise .8s var(--zai-ease) .04s both}
.zai-motion .hero-main>.hero-title-mark{animation:zaiHeroRise .9s var(--zai-ease) .14s both}
.zai-motion .hero-main>h1{animation:zaiHeroRise 1.02s var(--zai-ease) .20s both}
.zai-motion .hero-main>.hero-meta{animation:zaiHeroRise .95s var(--zai-ease) .35s both}
.zai-motion .hero-main>.hero-description{animation:zaiHeroRise .95s var(--zai-ease) .45s both}
.zai-motion .hero-main>.hero-buttons{animation:zaiHeroRise .95s var(--zai-ease) .55s both}
@keyframes zaiSlowPush{0%{transform:scale(1)}100%{transform:scale(1.055)}}
.zai-motion .hero-image{animation:zaiSlowPush 25s ease-in-out infinite alternate;transform-origin:65% 40%}
/* Film and commercial cards: emphasis without excessive movement. */
.zai-motion .film-poster,.zai-motion .library-card .library-art,.zai-motion .commercial-tile .tile-image{transition:transform .6s var(--zai-ease),border-color .4s,box-shadow .5s}
.zai-motion .film-card:hover .film-poster,.zai-motion .film-card:focus-visible .film-poster{transform:translateY(-5px);box-shadow:0 22px 55px #000b,0 0 0 1px #f5821640}
.zai-motion .coming-card,.zai-motion .commercial-tile,.zai-motion .commercial-teaser-card,.zai-motion .library-card{transition:border-color .4s,box-shadow .4s,transform .5s var(--zai-ease)}
.zai-motion .coming-card:hover,.zai-motion .coming-card:focus-visible,.zai-motion .commercial-tile:hover,.zai-motion .commercial-tile:focus-visible{border-color:#f5821685;box-shadow:0 24px 60px #000a;transform:translateY(-5px)}
.zai-motion .library-card:hover .library-art,.zai-motion .library-card:focus-visible .library-art{transform:translateY(-4px)}
.zai-motion .commercial-tile:hover .tile-name{color:#ffffff55;transition:color .5s}
.zai-motion .button,.zai-motion .header-membership{transition:transform .3s var(--zai-ease),background .3s,border-color .3s,box-shadow .3s}
.zai-motion .button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0006}
.zai-motion .button.primary:hover{box-shadow:0 10px 28px #f5821633}
/* Custom film-poster cursor, only on a real fine-pointer desktop device. */
.zai-poster-cursor{position:fixed;top:0;left:0;width:84px;height:84px;display:grid;place-items:center;z-index:350;pointer-events:none;opacity:0;will-change:transform,opacity;transition:opacity .2s ease;transform:translate3d(-200px,-200px,0)}
.zai-poster-cursor__inner{height:84px;width:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;background:#f58216;color:#0b0a09;font-family:Manrope,'Segoe UI',sans-serif;font-weight:800;font-size:11px;letter-spacing:.14em;box-shadow:0 16px 45px rgba(0,0,0,.48),0 0 0 1px #ffffff26;transform:scale(.65);transition:transform .28s var(--zai-ease)}
.zai-poster-cursor__arrow{font-size:20px;line-height:1;font-weight:500;margin-bottom:-2px}
.zai-poster-cursor.is-visible{opacity:1}
.zai-poster-cursor.is-visible .zai-poster-cursor__inner{transform:scale(1)}
.zai-poster-cursor.is-down .zai-poster-cursor__inner{transform:scale(.87)}
@media(hover:hover) and (pointer:fine){
  .zai-custom-pointer-enabled .film-poster,
  .zai-custom-pointer-enabled .coming-card,
  .zai-custom-pointer-enabled .library-card[href] .library-art,
  .zai-custom-pointer-enabled .commercial-tile[href] .tile-image,
  .zai-custom-pointer-enabled .commercial-teaser-card .commercial-art,
  .zai-custom-pointer-enabled .film-related a img{cursor:none}
}
@media(max-width:780px){
  .zai-motion .zai-reveal{transform:translate3d(0,16px,0);transition-duration:.65s}
}
@media(prefers-reduced-motion:reduce){
  .zai-scroll-progress,.zai-poster-cursor{display:none!important}
  .zai-motion .zai-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .zai-motion .hero-main>*{animation:none!important}
  .zai-motion .hero-image{animation:none!important}
  .zai-motion .film-card:hover .film-poster,.zai-motion .coming-card:hover,.zai-motion .commercial-tile:hover{transform:none!important}
}
