/* OAcom Template - Animations & Keyframes */

/* =========================================
   Blob animations
   ========================================= */

.blob {
    animation: blobby 4s infinite;
}

.blob2 {
    animation: blobby2 6s infinite;
}

@keyframes blobby {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes blobby2 {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.18);
    }
    100% {
        transform: scale(1);
    }
}

/* =========================================
   Heartbeat animation
   ========================================= */

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    10% { transform: scale(1.1); }
    20% { transform: scale(1); }
}

#logoa.heartbeat {
    animation: heartbeat 1.5s infinite;
}

/* Hide logo on featured page initially */
.view-featured #logoa {
    opacity: 0;
    transform: translateY(-20px);
    transition: none;
}

/* =========================================
   GSAP ScrollTrigger support
   ========================================= */

.gsap-reveal {
    opacity: 0;
    transform: translateY(30px);
}

.gsap-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================
   Alpine x-intersect reveal classes
   (replaces AOS data-aos attributes)
   ========================================= */

.intersect-fade-up,
.intersect-fade-in,
.intersect-slide-left,
.intersect-slide-right,
.intersect-scale {
    opacity: 0;
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.intersect-fade-up {
    transform: translateY(30px);
}

.intersect-fade-in {
    transform: none;
}

.intersect-slide-left {
    transform: translateX(-30px);
}

.intersect-slide-right {
    transform: translateX(30px);
}

.intersect-scale {
    transform: scale(0.95);
}

.intersect-fade-up.is-visible,
.intersect-fade-in.is-visible,
.intersect-slide-left.is-visible,
.intersect-slide-right.is-visible,
.intersect-scale.is-visible {
    opacity: 1;
    transform: none;
}

/* Delay variants */
.intersect-delay-100 { transition-delay: 0.1s; }
.intersect-delay-200 { transition-delay: 0.2s; }
.intersect-delay-300 { transition-delay: 0.3s; }
.intersect-delay-400 { transition-delay: 0.4s; }
.intersect-delay-500 { transition-delay: 0.5s; }
