/* ============================================
   B.EVENT — Animations
   Guide : staggered reveals, high-impact entrance
   ============================================ */

/* --- Hero reveal animations (staggered entrance) --- */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    animation: revealUp 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.reveal--delay-1 {
    animation-delay: 0.4s;
}

.reveal--delay-2 {
    animation-delay: 0.8s;
}

.reveal--delay-3 {
    animation-delay: 1.2s;
}

@keyframes revealUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Scroll reveal animations --- */
.reveal-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Galerie bands: reveal */
.galerie-ticker.reveal-scroll {
    transform: translateY(40px);
}
.galerie-ticker.reveal-scroll.visible {
    transform: translateY(0);
}
.galerie-ticker--right.reveal-scroll { transition-delay: 0.15s; }

/* Reflet lumineux glissant sur le titre hero */
.hero__title {
    position: relative;
    overflow: hidden;
}

.hero__title::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        105deg,
        transparent 20%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0.2) 50%,
        rgba(255, 255, 255, 0) 60%,
        transparent 80%
    );
    animation: titleSweep 22s ease-in-out 3s infinite;
    pointer-events: none;
}

@keyframes titleSweep {
    0%, 75%, 100% {
        left: -100%;
        opacity: 0;
    }
    5% {
        opacity: 1;
    }
    35% {
        left: 200%;
        opacity: 1;
    }
    40% {
        opacity: 0;
    }
}
