/* ============================================================
   ANIMATIONS — Dark Cinematic
   ============================================================ */

.sp-fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1s cubic-bezier(0.25,0.46,0.45,0.94),
                transform 1s cubic-bezier(0.25,0.46,0.45,0.94);
}
.sp-fade-in.sp-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Hero stagger */
.sp-hero__content .sp-fade-in:nth-child(1) { transition-delay: 0.3s; }
.sp-hero__content .sp-fade-in:nth-child(2) { transition-delay: 0.55s; }
.sp-hero__content .sp-fade-in:nth-child(3) { transition-delay: 0.75s; }
.sp-hero__content .sp-fade-in:nth-child(4) { transition-delay: 0.95s; }
.sp-hero__content .sp-fade-in:nth-child(5) { transition-delay: 1.1s; }
.sp-hero__content .sp-fade-in:nth-child(6) { transition-delay: 1.25s; }
.sp-hero__content .sp-fade-in:nth-child(7) { transition-delay: 1.4s; }

/* Countdown — subtle glow pulse */
@keyframes glowPulse {
    0%, 100% { text-shadow: 0 0 20px rgba(201,168,76,0.3); }
    50%       { text-shadow: 0 0 40px rgba(201,168,76,0.6); }
}
.sp-countdown__number {
    animation: glowPulse 3s ease-in-out infinite;
}

/* Hero names — slow shimmer */
@keyframes shimmer {
    0%   { background-position: -300% center; }
    100% { background-position: 300% center; }
}
.sp-hero__name {
    background: linear-gradient(
        90deg,
        var(--text) 0%,
        var(--text) 30%,
        var(--gold-light) 50%,
        var(--text) 70%,
        var(--text) 100%
    );
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer 8s linear infinite;
}

/* Gallery item stagger */
.sp-gallery__item:nth-child(1) { transition-delay: 0s; }
.sp-gallery__item:nth-child(2) { transition-delay: 0.07s; }
.sp-gallery__item:nth-child(3) { transition-delay: 0.14s; }
.sp-gallery__item:nth-child(4) { transition-delay: 0.21s; }
.sp-gallery__item:nth-child(5) { transition-delay: 0.28s; }
.sp-gallery__item:nth-child(6) { transition-delay: 0.35s; }

/* Event items */
.sp-events__item:nth-child(1) { transition-delay: 0s; }
.sp-events__item:nth-child(2) { transition-delay: 0.12s; }
.sp-events__item:nth-child(3) { transition-delay: 0.24s; }
.sp-events__item:nth-child(4) { transition-delay: 0.36s; }

/* Gold dot on events — soft pulse */
@keyframes dotPulse {
    0%, 100% { box-shadow: 0 0 8px rgba(201,168,76,0.3); }
    50%       { box-shadow: 0 0 20px rgba(201,168,76,0.7); }
}
.sp-events__dot { animation: dotPulse 2.5s ease-in-out infinite; }

/* Floating particles */
@keyframes particleFloat {
    0%   { transform: translateY(0) translateX(0);   opacity: 0; }
    12%  { opacity: 0.65; }
    50%  { transform: translateY(-42vh) translateX(14px); opacity: 0.4; }
    88%  { opacity: 0.12; }
    100% { transform: translateY(-88vh) translateX(-8px); opacity: 0; }
}

/* Button gold shine on hover */
.sp-btn--gold::before {
    content: '';
    position: absolute;
    top: 0; left: -90%;
    width: 45%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
    transform: skewX(-18deg);
    transition: left 0s;
    pointer-events: none;
}
.sp-btn--gold:hover::before { left: 160%; transition: left 0.55s ease; }

/* Section eyebrow — side rules */
.sp-section-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
}
.sp-section-eyebrow::before,
.sp-section-eyebrow::after {
    content: '';
    flex: none;
    width: 20px; height: 1px;
    background: var(--gold);
    opacity: 0.45;
}
