/* --- Parallax Floating Elements --- */
.parallax-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    /* Behind content but possibly above background */
    overflow: hidden;
}

.floating-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(40px);
    opacity: 0.15;
    animation: floatOrb 20s infinite linear;
}

.orb-1 {
    width: 300px;
    height: 300px;
    background: var(--primary-color);
    top: 10%;
    left: 10%;
    animation-duration: 25s;
}

.orb-2 {
    width: 200px;
    height: 200px;
    background: #00d2ff;
    bottom: 20%;
    right: 10%;
    animation-duration: 30s;
    animation-direction: reverse;
}

.orb-3 {
    width: 150px;
    height: 150px;
    background: #ff007f;
    /* Accent color pop */
    top: 40%;
    left: 50%;
    opacity: 0.1;
    animation-duration: 20s;
}

@keyframes floatOrb {
    0% {
        transform: translate(0, 0) rotate(0deg);
    }

    33% {
        transform: translate(30px, -50px) rotate(120deg);
    }

    66% {
        transform: translate(-20px, 20px) rotate(240deg);
    }

    100% {
        transform: translate(0, 0) rotate(360deg);
    }
}

/* --- Tilt Effect for Cards --- */
/* Add this class to cards you want to have 3D tilt */
.tilt-card {
    transform-style: preserve-3d;
    transform: perspective(1000px);
}

.tilt-content {
    transform: translateZ(20px);
}

/* --- Scroll Reveal Text Highlight --- */
.highlight-text {
    background: linear-gradient(120deg, rgba(0, 101, 189, 0) 0%, rgba(0, 101, 189, 0) 100%);
    background-repeat: no-repeat;
    background-size: 100% 40%;
    background-position: 0 88%;
    transition: background-size 0.8s ease-in-out;
}

.highlight-text.visible {
    background-size: 100% 88%;
    background-image: linear-gradient(120deg, rgba(0, 101, 189, 0.2) 0%, rgba(0, 210, 255, 0.2) 100%);
}

/* --- Magnetic Button Effect (Optional Class) --- */
.magnetic-btn {
    transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}