/* Stable motion and ticket boundary corrections. */
.reveal{transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.signal{animation:none!important}
@media (min-width:901px){
  .hero{min-height:max(100svh,850px)}
}
@media (min-width:601px) and (max-width:900px){
  .hero{min-height:1190px}
  .stage{top:580px;height:545px}
  .stage .ticket{left:50%;width:min(330px,44vw);min-width:270px;transform:translateX(-50%) rotate(-5deg) rotateX(var(--rx)) rotateY(var(--ry))}
}
@media (max-width:600px){
  .hero{min-height:1250px}
  .stage{top:675px;height:500px}
  .stage .ticket{left:50%;width:min(300px,76vw);min-width:250px;transform:translateX(-50%) rotate(-4deg) rotateX(var(--rx)) rotateY(var(--ry))}
  .lifecycle{bottom:24px}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.stage .ticket{transform:translateX(-50%) rotate(-3deg)}}
