/* Smooth scroll */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 5rem;
}

/* Hero floating orbs */
@keyframes hero-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-30px) scale(1.05); }
}

@keyframes hero-float-delayed {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(20px) scale(1.08); }
}

.hero-float {
    animation: hero-float 8s ease-in-out infinite;
}

.hero-float-delayed {
    animation: hero-float-delayed 10s ease-in-out infinite;
}

/* Hero fade-in animations */
@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-fade-in {
    animation: fade-in-up 0.8s ease-out both;
}

.hero-fade-in-delayed {
    animation: fade-in-up 0.8s ease-out 0.15s both;
}

.hero-fade-in-delayed-2 {
    animation: fade-in-up 0.8s ease-out 0.3s both;
}

.hero-fade-in-delayed-3 {
    animation: fade-in-up 0.8s ease-out 0.45s both;
}

/* Scroll indicator bounce */
@keyframes scroll-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.5; }
    50% { transform: translateX(-50%) translateY(8px); opacity: 1; }
}

.scroll-bounce {
    animation: scroll-bounce 2s ease-in-out infinite;
}

/* Selection color */
::selection {
    background: #2563EB;
    color: white;
}
