/* ==========================================================================
   Third Eye Cinema V2.0 Phase 3 Motion
   Premium animation layer: cinematic, restrained, accessible.
   ========================================================================== */

:root{
  --tec-phase3-ease:cubic-bezier(.2,.8,.2,1);
  --tec-phase3-fast:180ms;
  --tec-phase3-med:520ms;
  --tec-phase3-slow:900ms;
}

html{
  scroll-behavior:smooth;
}

.tec-phase3-ready .hero{
  --phase3-hero-x:0px;
  --phase3-hero-y:0px;
}

.tec-phase3-ready .hero-bg,
.tec-phase3-ready .hero video,
.tec-phase3-ready .hero img{
  transform:translate3d(var(--phase3-hero-x),var(--phase3-hero-y),0) scale(1.035);
  transition:transform 900ms var(--tec-phase3-ease);
  will-change:transform;
}

.tec-phase3-ready .hero-content > *{
  animation:tecPhase3HeroIn 860ms var(--tec-phase3-ease) both;
}

.tec-phase3-ready .hero-content > *:nth-child(2){animation-delay:90ms;}
.tec-phase3-ready .hero-content > *:nth-child(3){animation-delay:170ms;}
.tec-phase3-ready .hero-content > *:nth-child(4){animation-delay:240ms;}

.tec-motion-reveal{
  opacity:0;
  transform:translate3d(0,22px,0);
  transition:
    opacity var(--tec-phase3-med) var(--tec-phase3-ease),
    transform var(--tec-phase3-med) var(--tec-phase3-ease),
    filter var(--tec-phase3-med) ease;
  transition-delay:var(--tec-motion-delay,0ms);
  filter:saturate(.92);
}

.tec-motion-reveal.is-motion-visible{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:saturate(1);
}

.tec-phase3-ready .section-head.tec-motion-reveal,
.tec-phase3-ready .page-title.tec-motion-reveal{
  transform:translate3d(0,16px,0);
}

.tec-phase3-ready .show-card,
.tec-phase3-ready .movie-card,
.tec-phase3-ready .event-card,
.tec-phase3-ready .home-booking-banner,
.tec-phase3-ready .booking-box,
.tec-phase3-ready .payment-card,
.tec-phase3-ready .success-card,
.tec-phase3-ready .ticket-card,
.tec-phase3-ready .support-card,
.tec-phase3-ready .contact-card,
.tec-phase3-ready .about-card,
.tec-phase3-ready .seat-panel,
.tec-phase3-ready .summary-card{
  --phase3-tilt-x:0deg;
  --phase3-tilt-y:0deg;
  --phase3-glow-x:50%;
  --phase3-glow-y:0%;
  transform:
    perspective(900px)
    rotateX(var(--phase3-tilt-x))
    rotateY(var(--phase3-tilt-y))
    translate3d(0,0,0);
  transition:
    transform 300ms var(--tec-phase3-ease),
    border-color 240ms ease,
    box-shadow 300ms ease;
}

.tec-phase3-ready .show-card::after,
.tec-phase3-ready .movie-card::after,
.tec-phase3-ready .event-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at var(--phase3-glow-x) var(--phase3-glow-y),rgba(255,226,168,.22),transparent 34%);
  transition:opacity 260ms ease;
  z-index:2;
}

.tec-phase3-ready .show-card:hover::after,
.tec-phase3-ready .movie-card:hover::after,
.tec-phase3-ready .event-card:hover::after{
  opacity:1;
}

.tec-phase3-ready .show-card:hover,
.tec-phase3-ready .movie-card:hover,
.tec-phase3-ready .event-card:hover,
.tec-phase3-ready .home-booking-banner:hover{
  border-color:rgba(246,200,106,.48) !important;
  box-shadow:0 30px 86px rgba(0,0,0,.52),0 0 32px rgba(246,200,106,.12) !important;
}

.tec-phase3-ready .tec-poster-wrap img,
.tec-phase3-ready .show-card > img,
.tec-phase3-ready .movie-card img,
.tec-phase3-ready .event-card img{
  transition:transform 720ms var(--tec-phase3-ease),filter 420ms ease !important;
}

.tec-phase3-ready .show-card:hover .tec-poster-wrap img,
.tec-phase3-ready .show-card:hover > img,
.tec-phase3-ready .movie-card:hover img,
.tec-phase3-ready .event-card:hover img{
  transform:scale(1.06) !important;
  filter:saturate(1.12) contrast(1.04) !important;
}

.tec-phase3-ready .btn,
.tec-phase3-ready .show-actions a,
.tec-phase3-ready .show-actions button,
.tec-phase3-ready .pay-btn,
.tec-phase3-ready .nav-ticket-button{
  position:relative;
  overflow:hidden;
}

.tec-phase3-ready .btn::after,
.tec-phase3-ready .show-actions a::after,
.tec-phase3-ready .show-actions button::after,
.tec-phase3-ready .pay-btn::after,
.tec-phase3-ready .nav-ticket-button::after{
  content:"";
  position:absolute;
  inset:-40% -70%;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.34) 50%,transparent 58%);
  transform:translateX(-58%) rotate(8deg);
  opacity:0;
  transition:transform 620ms var(--tec-phase3-ease),opacity 180ms ease;
}

.tec-phase3-ready .btn:hover::after,
.tec-phase3-ready .btn:focus-visible::after,
.tec-phase3-ready .show-actions a:hover::after,
.tec-phase3-ready .show-actions a:focus-visible::after,
.tec-phase3-ready .show-actions button:hover::after,
.tec-phase3-ready .show-actions button:focus-visible::after,
.tec-phase3-ready .pay-btn:hover::after,
.tec-phase3-ready .pay-btn:focus-visible::after,
.tec-phase3-ready .nav-ticket-button:hover::after,
.tec-phase3-ready .nav-ticket-button:focus-visible::after{
  transform:translateX(58%) rotate(8deg);
  opacity:1;
}

.tec-phase3-ready .navbar,
.tec-phase3-ready .seat-header{
  transition:
    background 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease,
    transform 260ms var(--tec-phase3-ease) !important;
}

.tec-phase3-scrolled .navbar,
.tec-phase3-scrolled .seat-header{
  border-color:rgba(246,200,106,.28) !important;
  background:rgba(5,5,7,.94) !important;
  box-shadow:0 18px 52px rgba(0,0,0,.48),0 0 28px rgba(246,200,106,.07) !important;
}

.tec-phase3-atmosphere{
  position:fixed;
  inset:0;
  z-index:4;
  pointer-events:none;
  overflow:hidden;
  opacity:.72;
  contain:layout paint;
}

.tec-phase3-atmosphere span{
  position:absolute;
  left:var(--x);
  top:110%;
  width:var(--w);
  height:1px;
  border-radius:999px;
  background:rgba(255,226,168,.62);
  box-shadow:0 0 10px rgba(246,200,106,.46);
  opacity:0;
  animation:tecPhase3Fleck var(--dur) linear infinite;
  animation-delay:var(--delay);
}

.tec-phase3-atmosphere span:nth-child(3n){
  background:rgba(255,255,255,.42);
  box-shadow:0 0 8px rgba(255,255,255,.26);
}

.tec-phase3-atmosphere span:nth-child(4n){
  height:2px;
}

.tec-phase3-page-wipe{
  position:fixed;
  inset:0;
  z-index:12000;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,0),rgba(246,200,106,.2),rgba(0,0,0,0)),
    #050505;
  transform:translateX(-104%);
  transition:transform 420ms var(--tec-phase3-ease);
}

.tec-phase3-leaving .tec-phase3-page-wipe{
  transform:translateX(0);
}

.tec-mobile-master-nav.open .tec-mobile-menu-links a{
  animation:tecPhase3DrawerIn 360ms var(--tec-phase3-ease) both;
  animation-delay:calc(var(--drawer-index,0) * 42ms);
}

@keyframes tecPhase3HeroIn{
  from{opacity:0;transform:translate3d(0,24px,0);filter:blur(5px);}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0);}
}

@keyframes tecPhase3Fleck{
  0%{opacity:0;transform:translate3d(0,0,0);}
  16%{opacity:.72;}
  100%{opacity:0;transform:translate3d(34px,-120vh,0);}
}

@keyframes tecPhase3DrawerIn{
  from{opacity:0;transform:translate3d(-12px,8px,0);}
  to{opacity:1;transform:translate3d(0,0,0);}
}

@media (max-width:760px){
  .tec-phase3-atmosphere{
    opacity:.48;
  }

  .tec-motion-reveal{
    transform:translate3d(0,16px,0);
  }

  .tec-phase3-ready .show-card:hover,
  .tec-phase3-ready .movie-card:hover,
  .tec-phase3-ready .event-card:hover{
    transform:none !important;
  }
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}

  .tec-phase3-ready .hero-content > *,
  .tec-phase3-atmosphere span,
  .tec-mobile-master-nav.open .tec-mobile-menu-links a{
    animation:none !important;
  }

  .tec-phase3-atmosphere,
  .tec-phase3-page-wipe{
    display:none !important;
  }

  .tec-motion-reveal,
  .tec-motion-reveal.is-motion-visible,
  .tec-phase3-ready .show-card,
  .tec-phase3-ready .movie-card,
  .tec-phase3-ready .event-card,
  .tec-phase3-ready .home-booking-banner,
  .tec-phase3-ready .booking-box,
  .tec-phase3-ready .payment-card,
  .tec-phase3-ready .success-card,
  .tec-phase3-ready .ticket-card,
  .tec-phase3-ready .support-card,
  .tec-phase3-ready .contact-card,
  .tec-phase3-ready .about-card,
  .tec-phase3-ready .seat-panel,
  .tec-phase3-ready .summary-card{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    filter:none !important;
  }
}
