/* Hero Animations */
@keyframes bounce-slow {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

.animate-bounce-slow {
    animation: bounce-slow 4s ease-in-out infinite;
}

/* Hero Background Slide Animation */
@keyframes hero-slide {
    0%, 20% { transform: translateX(0); }
    25%, 45% { transform: translateX(-25%); }
    50%, 70% { transform: translateX(-50%); }
    75%, 95% { transform: translateX(-75%); }
    100% { transform: translateX(0); }
}

.animate-hero-slide {
    animation: hero-slide 20s ease-in-out infinite;
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fade-in-up 0.8s ease-out forwards;
}

@keyframes fade-in-left {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-fade-in-left {
    animation: fade-in-left 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fade-in-right {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-fade-in-right {
    animation: fade-in-right 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.reveal {
    opacity: 0;
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translate(0, 0) !important;
}

body { font-family: 'Inter', sans-serif; }
h1, h2, h3, .font-outfit { font-family: 'Outfit', sans-serif; }

.section-title {
    color: #1B5F93;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.2;
    font-family: 'Outfit', sans-serif;
}
@media (min-width: 768px) {
    .section-title { font-size: 2.5rem; }
}

.section-subtitle {
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.6;
    font-family: 'Inter', sans-serif;
    margin-top: 1rem;
}
@media (min-width: 768px) {
    .section-subtitle { font-size: 1.05rem; }
}