html {
    scroll-behavior: smooth;
}

.banner-bg {
    background-image: url('../images/banner-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
}

@keyframes arrowBlink {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.2); }
}
.animate-arrow {
    display: inline-block;
    animation: arrowBlink 1.5s infinite ease-in-out;
    color: #EAB308;
}

@keyframes shimmer {
    0% { transform: translateX(-150%) skewX(-15deg); }
    100% { transform: translateX(250%) skewX(-15deg); }
}
.animate-shimmer {
    animation: shimmer 2.5s infinite;
}
@keyframes bg-gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.animate-bg-gradient {
    animation: bg-gradient 3s ease infinite;
    background-size: 200% 200%;
}
