/* =========================================
   IMMERSIVE UI ENHANCEMENTS + ANIMATIONS
========================================= */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Subtle motion everywhere */
* {
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease,
        opacity 0.3s ease;
}

/* =========================================
   AMBIENT BACKGROUND GLOW
========================================= */

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(250, 51, 161, 0.08),
            transparent 40%
        ),
        radial-gradient(
            circle at 80% 30%,
            rgba(85, 58, 221, 0.08),
            transparent 40%
        );
    z-index: -1;
    pointer-events: none;
    animation: ambientMove 20s ease-in-out infinite alternate;
}

@keyframes ambientMove {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(-40px, -30px);
    }
}

/* =========================================
   FLOATING INTERACTION EFFECT
========================================= */

.card,
.industry-item,
.client-card,
.support-card {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.card:hover,
.industry-item:hover,
.client-card:hover,
.support-card:hover {
    transform: translateY(-8px) scale(1.02);
}

.card:active,
.industry-item:active {
    transform: scale(0.97);
}

/* =========================================
   HERO IMAGE FLOAT
========================================= */

@keyframes floatSlow {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-14px);
    }
}

.image-box img {
    animation: floatSlow 6s ease-in-out infinite;
}

/* =========================================
   CTA BUTTON PULSE
========================================= */

@keyframes pulseGlow {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(250, 51, 161, 0);
    }
    50% {
        box-shadow: 0 0 40px rgba(250, 51, 161, 0.35);
    }
}

.hero-cta {
    animation: pulseGlow 3s ease-in-out infinite;
}

/* =========================================
   BUTTON GLOW ON HOVER
========================================= */

.theme-btn,
.cta-btn {
    position: relative;
    overflow: hidden;
}

.theme-btn::after,
.cta-btn::after {
    content: "";
    position: absolute;
    inset: -4px;
    background: inherit;
    filter: blur(18px);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.theme-btn:hover::after,
.cta-btn:hover::after {
    opacity: 0.6;
}

/* =========================================
   PAGE LOAD FADE-IN
========================================= */

body {
    animation: fadePage 0.6s ease-out;
}

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

/* =========================================
   HERO PARALLAX BACKGROUND
========================================= */

.banner-section {
    background-attachment: fixed;
}

@media (max-width: 768px) {
    .banner-section {
        background-attachment: scroll;
    }
}

/* =========================================
   CURSOR FEEDBACK
========================================= */

a,
button,
.card,
.industry-item,
.client-card,
.support-card {
    cursor: pointer;
}

/* =========================================
   PARTICLE FLOATING ICONS (CTA / HERO)
========================================= */

@keyframes floatY {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-18px);
    }
}

@keyframes floatYReverse {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(18px);
    }
}
