/* Richer motion system shared across the complete adult experience. */
.reveal-on-scroll {
  filter: blur(7px);
  transform: translateY(34px) scale(.985);
  transition-delay: calc(var(--reveal-order, 0) * 65ms);
}
.reveal-on-scroll.is-visible { filter: none; transform: none; }

.hero-copy > * {
  opacity: 0;
  animation: adultHeroIn .82s cubic-bezier(.2,.75,.2,1) forwards;
}
.hero-copy > .eyebrow { animation-delay: 1.76s; }
.hero-copy > h1 { animation-delay: 1.88s; }
.hero-copy > p:not(.eyebrow) { animation-delay: 2.02s; }
.hero-copy > .hero-actions { animation-delay: 2.14s; }
@keyframes adultHeroIn {
  from { opacity: 0; transform: translateY(25px); filter: blur(7px); }
  to { opacity: 1; transform: none; filter: none; }
}

.menu-button i { transform-origin: right; transition: transform .3s ease,width .3s ease; }
.menu-button:hover i:first-child { transform: rotate(9deg); }
.menu-button:hover i:last-child { width: 31px; transform: rotate(-9deg); }
.zone-cta,.contact a { position: relative; transition: transform .25s ease,color .25s ease; }
.zone-cta:hover,.contact a:hover { transform: translateY(-4px); }
.contact a b { display: inline-block; transition: transform .25s ease; }
.contact a:hover b { transform: translate(5px,-4px) rotate(-9deg); }
.trust span { transition: transform .25s ease,background .25s ease,box-shadow .25s ease; }
.trust span:hover {
  transform: translateY(-5px) rotate(-1deg);
  background: rgba(215,170,96,.14);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.ticket-top b,.ticket-footer { animation: ticketBreath 3.4s ease-in-out infinite; }
@keyframes ticketBreath { 50% { opacity: .55; letter-spacing: .14em; } }
footer img { animation: footerMark 5s ease-in-out infinite; }
@keyframes footerMark {
  50% { transform: translateY(-4px) rotate(3deg); filter: drop-shadow(0 7px 16px rgba(215,170,96,.35)); }
}

@media (hover:hover) and (pointer:fine) {
  html,body,body * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m0 16a4 4 0 1 0 0 8 4 4 0 0 0 0-8M11 10l14 14M11 22l14-14' fill='none' stroke='%23d7aa60' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") 6 6, auto !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .hero-copy > *,.ticket-top b,.ticket-footer,footer img { animation: none !important; opacity: 1 !important; }
  .reveal-on-scroll { filter: none !important; transform: none !important; }
}
