/*
 * Settled-state motion that the live pages drive with GSAP.
 * Loader 880ms, rise 640ms, stagger is per element, glass float 3.6s.
 * Reduced motion leaves the settled frame.
 */

.guest-landing.is-booting [data-gate-rise] {
  opacity: 0;
  transform: translateY(18px);
}

@media (prefers-reduced-motion: no-preference) {
  .guest-landing:not(.is-booting) [data-gate-rise] {
    animation: store-rise 640ms cubic-bezier(.16, 1, .3, 1) both;
  }

  .gl-glass {
    animation: store-float 3.6s ease-in-out infinite alternate;
  }

  .gl-glass--citrus { animation-delay: 0.35s; }
  .gl-glass--plum { animation-delay: 0.7s; }
}

@keyframes store-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes store-float {
  from { transform: translateY(0); }
  to { transform: translateY(10px); }
}

@media (prefers-reduced-motion: reduce) {
  .guest-landing.is-booting .gl-loader { display: none; }
  .guest-landing.is-booting [data-gate-rise] {
    opacity: 1;
    transform: none;
  }
}
