/* ==========================================
   PHASE 2: HERO SECTION ENHANCEMENTS
   Advanced Animations & Video Background
   ========================================== */

/* Hero Heading Enhanced Animations */
.hero-heading-enhanced {
    animation: fadeInScale 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-origin: center left;
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Enhanced Gradient Text Shimmer */
.gradient-text.text-shimmer {
    background: linear-gradient(90deg,
            var(--primary) 0%,
            var(--accent) 25%,
            #FFD700 50%,
            var(--accent) 75%,
            var(--primary) 100%);
    background-size: 300% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmerFlow 4s ease-in-out infinite;
}

@keyframes shimmerFlow {

    0%,
    100% {
        background-position: 0% center;
    }

    50% {
        background-position: 100% center;
    }
}

/* Parallax Layer Transitions */
.hero [data-parallax] {
    transition: transform 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

/* Enhanced Video Overlay for Better Text Contrast */
.hero-video-overlay {
    background: linear-gradient(135deg,
            rgba(250, 250, 250, 0.93) 0%,
            rgba(250, 250, 250, 0.89) 50%,
            rgba(250, 250, 250, 0.86) 100%);
}

/* Video Background with Performance Optimizations */
.hero-video-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    opacity: 0.12;
    z-index: 0;
    pointer-events: none;
}

/* Mobile: Hide Video, Use Static Background */
@media (max-width: 768px) {
    .hero-video-bg {
        display: none;
    }

    .hero {
        background: linear-gradient(135deg, #FAFAFA 0%, #F5F5F5 100%);
    }

    .hero-video-overlay {
        display: none;
    }
}

/* Reduced Motion: Disable Video and Animations */
@media (prefers-reduced-motion: reduce) {
    .hero-video-bg {
        display: none;
    }

    .hero-heading-enhanced {
        animation: none;
    }

    .gradient-text.text-shimmer {
        animation: none;
        background: var(--accent);
        -webkit-background-clip: text;
        background-clip: text;
    }

    .hero [data-parallax] {
        transition: none;
    }
}

/* Enhanced Hero Card Glow on Hover */
.hero-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-card:hover {
    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.18),
        0 12px 35px rgba(0, 0, 0, 0.12),
        0 0 0 1px rgba(212, 163, 115, 0.15);
}

/* Smooth Scroll Fade for Scroll Indicator */
@keyframes scrollFadeIn {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }

    to {
        opacity: 0.7;
        transform: translateX(-50%) translateY(0);
    }
}

.scroll-indicator {
    animation: scrollFadeIn 1s ease 0.5s both;
}