/* Offscreen entrance recipes stay invisible without owning animation/compositing layers. */
.motion-awaiting{opacity:0!important}
.depth-layer,.phone-group,.coin-group,.ticket-group{will-change:auto;transform:translate(var(--layer-x,0px),var(--layer-y,0px))}
@media(min-width:961px) and (hover:hover) and (pointer:fine){
  .scene.is-visible :is(.depth-layer,.phone-group,.coin-group,.ticket-group){will-change:transform}
}
/* Paint the network as a regular background, never as a page-height masked surface. */
.global-network{opacity:1;mask-image:none;background-image:linear-gradient(#05010766,#05010766),url('assets/shared/network-lines.svg')}
@media(max-width:960px){
  .global-network{background-image:linear-gradient(to bottom,#050107 95px,transparent 430px),linear-gradient(#05010766,#05010766),url('assets/shared/network-lines.svg');background-size:100% 430px,100% 100%,100% auto;background-repeat:no-repeat,no-repeat,repeat-y}
}
@media(hover:none),(pointer:coarse){
  .depth-layer,.phone-group,.coin-group,.ticket-group{will-change:auto;transform:none}
}
.experience-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.experience-stage:not(.video-playing) .experience-video{visibility:hidden}
.experience-stage.video-playing .experience-poster{visibility:hidden}
.experience-poster{mask-image:linear-gradient(90deg,transparent 8%,#000 41%,#000 77%,transparent),linear-gradient(transparent,#000 22%,#000 62%,transparent 97%);mask-composite:intersect}
@media(max-width:960px){.experience-poster{object-position:53% 48%;mask-image:linear-gradient(90deg,transparent 5%,#000 30%,#000 84%,transparent),linear-gradient(transparent,#000 20%,#000 63%,transparent 95%)}}
@media(prefers-reduced-motion:reduce){.motion-awaiting{opacity:revert!important}}
