/* JungleBet — motion: organic reveals + chip flash. */
@keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes chipflash { 0% { transform: scale(.94); } 60% { transform: scale(1.04); } 100% { transform: scale(1); } }

[data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease); }
[data-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .canopy span, .live-dot::before { animation: none !important; }
    [data-reveal] { opacity: 1; transform: none; transition: none; }
    .hero__leaves { display: none; }
}
