/**
 * Degradê roxo “liquid” — blobs animados reutilizáveis em toda a LP
 */

@keyframes liquid-gradient-flow-a {
    0%, 100% { background-position: 28% 38%; }
    33% { background-position: 72% 42%; }
    66% { background-position: 55% 78%; }
}

@keyframes liquid-gradient-flow-b {
    0%, 100% { background-position: 65% 55%; }
    50% { background-position: 22% 68%; }
}

@keyframes liquid-gradient-flow-c {
    0%, 100% { background-position: 40% 30%; }
    25% { background-position: 85% 45%; }
    50% { background-position: 50% 82%; }
    75% { background-position: 18% 62%; }
}

@keyframes liquid-morph-a {
    0%, 100% {
        border-radius: 58% 42% 38% 62% / 48% 55% 45% 52%;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
    33% {
        border-radius: 42% 58% 62% 38% / 55% 42% 58% 45%;
        transform: translate(-10%, 8%) scale(1.08) rotate(6deg);
    }
    66% {
        border-radius: 52% 48% 55% 45% / 42% 48% 52% 58%;
        transform: translate(12%, -6%) scale(0.94) rotate(-5deg);
    }
}

@keyframes liquid-morph-b {
    0%, 100% {
        border-radius: 45% 55% 52% 48% / 58% 42% 55% 45%;
        transform: translate(0, 0) scale(1) rotate(0deg);
    }
    50% {
        border-radius: 62% 38% 44% 56% / 44% 58% 42% 56%;
        transform: translate(14%, 12%) scale(1.12) rotate(-8deg);
    }
}

@keyframes liquid-morph-c {
    0%, 100% {
        border-radius: 55% 45% 48% 52% / 52% 48% 52% 48%;
        transform: translate(0, 0) scale(1);
    }
    40% {
        border-radius: 40% 60% 55% 45% / 48% 55% 45% 52%;
        transform: translate(-14%, 10%) scale(1.14);
    }
    80% {
        border-radius: 50% 50% 40% 60% / 55% 45% 48% 52%;
        transform: translate(12%, -12%) scale(0.88);
    }
}

@keyframes liquid-orb-drift {
    0%, 100% {
        transform: translate(-50%, 6%) scale(1);
        background-position: 42% 85%;
    }
    33% {
        transform: translate(-46%, 12%) scale(1.06);
        background-position: 68% 92%;
    }
    66% {
        transform: translate(-54%, 2%) scale(0.97);
        background-position: 28% 78%;
    }
}

@keyframes liquid-glare-flow {
    0%, 100% {
        background-position: 50% 100%;
        opacity: 0.85;
    }
    33% { background-position: 62% 85%; opacity: 0.95; }
    66% { background-position: 38% 92%; opacity: 0.78; }
}

@keyframes liquid-glare-morph {
    0%, 100% { border-radius: 55% 45% 60% 40% / 50% 55% 45% 50%; }
    50% { border-radius: 45% 55% 40% 60% / 55% 45% 55% 45%; }
}

/* Base blob */
.liquid-blob {
    position: absolute;
    bottom: 0;
    background: radial-gradient(
        ellipse at 45% 40%,
        rgba(178, 102, 255, 0.48) 0%,
        rgba(178, 102, 255, 0.14) 38%,
        rgba(130, 70, 210, 0.06) 52%,
        transparent 72%
    );
    background-repeat: no-repeat;
    background-size: 240% 240%;
    background-position: 35% 45%;
    filter: blur(38px);
    opacity: 0.88;
    mix-blend-mode: screen;
    pointer-events: none;
}

.liquid-anim-a {
    animation:
        liquid-morph-a 15s ease-in-out infinite,
        liquid-gradient-flow-a 11s ease-in-out infinite;
}

.liquid-anim-b {
    animation:
        liquid-morph-b 13s ease-in-out infinite,
        liquid-gradient-flow-b 9s ease-in-out infinite;
    animation-delay: -3s, -2s;
    opacity: 0.78;
}

.liquid-anim-c {
    animation:
        liquid-morph-c 17s ease-in-out infinite,
        liquid-gradient-flow-c 14s ease-in-out infinite;
    animation-delay: -6s, -5s;
    opacity: 0.68;
}

/* Radial “orb” com degradê roxo + drift liquid */
.orb-glow--liquid,
.hero .hero-visuals .orb-glow,
.middle-visual-section .section-content > .orb-glow {
    animation: liquid-orb-drift 14s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .liquid-blob,
    .liquid-blob.liquid-anim-a,
    .liquid-blob.liquid-anim-b,
    .liquid-blob.liquid-anim-c {
        animation: none !important;
    }

    .orb-glow--liquid,
    .hero .hero-visuals .orb-glow,
    .middle-visual-section .section-content > .orb-glow {
        animation: none !important;
    }

}
