/* Animations for elements appearing on scroll */

/* Fade In Up */
.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Scale In */
.scale-in {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scale-in.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Hero Section specific animations */
.hero-section h1 {
    animation: fadeInDown 1s ease-out forwards;
}

.hero-section .tagline {
    animation: fadeInUp 1s ease-out 0.3s forwards;
    opacity: 0; /* Start hidden */
}

.hero-section .cta-button {
    animation: zoomIn 1s ease-out 0.6s forwards;
    opacity: 0; /* Start hidden */
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Image hover effect */
.section-image {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.section-image:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}