/* =====================================================
   ABOUT HERO ANIMATION
===================================================== */

.about-hero-item {
    opacity: 0;
    transform: translateY(35px);
    animation: aboutHeroFadeUp 0.9s ease forwards;
}

.about-hero-item:nth-child(1) {
    animation-delay: 0.15s;
}

.about-hero-item:nth-child(2) {
    animation-delay: 0.3s;
}

.about-hero-item:nth-child(3) {
    animation-delay: 0.45s;
}

.about-hero-item:nth-child(4) {
    animation-delay: 0.6s;
}

.about-hero-image {
    opacity: 0;
    transform: translateY(45px) scale(0.98);
    animation: aboutHeroImage 1s ease forwards;
    animation-delay: 0.75s;
}

@keyframes aboutHeroFadeUp {

    from {
        opacity: 0;
        transform: translateY(35px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}

@keyframes aboutHeroImage {

    from {
        opacity: 0;
        transform: translateY(45px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}

@media (prefers-reduced-motion: reduce) {

    .about-hero-item,
    .about-hero-image {
        opacity: 1;
        transform: none;
        animation: none;
    }

}


/* =====================================================
   OUR VISION SCROLL ANIMATION
===================================================== */

.vision-scroll {
    opacity: 0;
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.vision-content.vision-scroll {
    transform: translateX(-45px);
}

.vision-card.vision-scroll {
    transform: translateX(45px);
}

.vision-scroll.show {
    opacity: 1;
    transform: translateX(0);
}

/* Stagger cards */

.vision-card:nth-child(1) {
    transition-delay: 0.1s;
}

.vision-card:nth-child(2) {
    transition-delay: 0.25s;
}

.vision-card:nth-child(3) {
    transition-delay: 0.4s;
}

/* Mobile */

@media (max-width: 1023px) {

    .vision-content.vision-scroll,
    .vision-card.vision-scroll {
        transform: translateY(35px);
    }

    .vision-scroll.show {
        transform: translateY(0);
    }

}


/* =====================================================
   GLOBAL PRESENCE SCROLL ANIMATION
===================================================== */

.global-presence-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.global-presence-scroll.show {
    opacity: 1;
    transform: translateY(0);
}

/* Card stagger */

.global-presence-card:nth-child(1) {
    transition-delay: 0.1s;
}

.global-presence-card:nth-child(2) {
    transition-delay: 0.2s;
}

.global-presence-card:nth-child(3) {
    transition-delay: 0.3s;
}

.global-presence-card:nth-child(4) {
    transition-delay: 0.4s;
}

/* Mobile */

@media (max-width: 640px) {

    .global-presence-scroll {
        transform: translateY(30px);
    }

}

/* =====================================================
   CERTIFICATIONS SCROLL ANIMATION
===================================================== */

.certification-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

.certification-scroll.show {
    opacity: 1;
    transform: translateY(0);
}

/* Left content */

.certification-content.certification-scroll {
    transform: translateX(-45px);
}

.certification-content.certification-scroll.show {
    transform: translateX(0);
}

/* Cards */

.certification-card:nth-child(1) {
    transition-delay: 0.1s;
}

.certification-card:nth-child(2) {
    transition-delay: 0.2s;
}

.certification-card:nth-child(3) {
    transition-delay: 0.3s;
}

.certification-card:nth-child(4) {
    transition-delay: 0.4s;
}

/* Mobile / Tablet */

@media (max-width: 1023px) {

    .certification-content.certification-scroll {
        transform: translateY(35px);
    }

    .certification-content.certification-scroll.show {
        transform: translateY(0);
    }

}

/* =====================================================
   CONTACT CTA SCROLL ANIMATION
===================================================== */

.contact-cta-scroll {
    opacity: 0;
    transform: translateY(45px);
    transition:
        opacity 0.9s ease,
        transform 0.9s ease;
}

.contact-cta-scroll.show {
    opacity: 1;
    transform: translateY(0);
}

/* CTA Image */

/* =====================================================
   CONTACT CTA BACKGROUND IMAGE
===================================================== */

.contact-cta-image {
    transform: scale(1.02);
    transition: transform 1.2s ease, opacity 1s ease;
}

.contact-cta-scroll.show .contact-cta-image {
    transform: scale(1);
}

/* Mobile */

@media (max-width: 640px) {

    .contact-cta-scroll {
        transform: translateY(35px);
    }

}