/**
 * LOT Animations — GSAP Support Classes & Keyframes
 *
 * Elements with .lot-reveal / .lot-stagger start hidden,
 * then animate in via GSAP ScrollTrigger (lot-gsap-init.js).
 * Fallback @keyframes ensure content appears even if GSAP fails.
 */

/* ============================================
   GSAP TRIGGER CLASSES — start hidden
   ============================================ */

.lot-reveal {
    opacity: 0;
}

.lot-stagger > * {
    opacity: 0;
}

.lot-hero {
    opacity: 0;
}

/* ============================================
   FALLBACK — show content after 1s if GSAP
   never fires (CDN blocked, JS error, etc.)
   ============================================ */

@keyframes lotFallbackReveal {
    to {
        opacity: 1;
        transform: none;
    }
}

.lot-reveal {
    animation: lotFallbackReveal 0s 1s forwards;
}

.lot-stagger > * {
    animation: lotFallbackReveal 0s 1s forwards;
}

.lot-hero {
    animation: lotFallbackReveal 0s 1s forwards;
}

/* ============================================
   REDUCED MOTION — always visible, no animation
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    .lot-reveal,
    .lot-stagger > *,
    .lot-hero {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}
