/* pre-animation states (only once GSAP is up), glint, reduced-motion and forced-colours overrides */
.motion-ready [data-split]:not(.is-split) { visibility: hidden; }
.motion-ready .rv, .motion-ready .rv-one, .motion-ready .ev, .motion-ready .rule-list li { opacity: 0; }

.card, .plaque, .slip { overflow: clip; }
.card::after, .slip::after, .price::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; transform: translateX(-120%);
  background: linear-gradient(100deg, transparent 30%, rgba(220, 192, 126, 0.4) 50%, transparent 70%);
}
.plaque::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; pointer-events: none; transform: translateX(-120%); background: linear-gradient(90deg, transparent 20%, var(--brass-glint) 50%, transparent 80%); }
.glinting::after { animation: glint 900ms var(--ease-sine) both; }
.btn.glinting::after, .chip.glinting::after { animation-duration: 900ms; }
@keyframes glint { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
.btn.glint-hover::after, .chip.glint-hover::after { animation: glint 700ms var(--ease-sine) both; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .veil, .glow-door, .frame-door h1, .glinting::after, .glint-hover::after { animation: none !important; }
  .btn::after, .chip::after, .card::after, .plaque::after, .slip::after, .price::after { display: none; }
  .hand, .region-ind, .place, .seat-note, .dollar, .glow-seat { transition: none; }
  .pagebox, .pagebox::backdrop, .till-dialog, .till-dialog::backdrop { transition-duration: 160ms; }
  .till-dialog .till { transition: none; transform: none; }
  .till-dialog .till::before { transition: none; }
  .pg { transition-duration: 160ms !important; }
}
@media (forced-colors: active) {
  .btn::after, .chip::after, .card::after, .plaque::after, .slip::after, .price::after { display: none; }
  .card, .plaque, .slip, .place, .pg-paper { border-color: CanvasText; outline-color: CanvasText; }
}
