/* Custom Styles & Animations */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #f8fafc; /* slate-50 */
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #1e3a5f;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #d4af37;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0; /* Start hidden for JS check, but visible by default if JS fails via CSS specificity if needed, though here we rely on JS for the class addition or just CSS animation delay */
}

/* Ensure hero text is visible immediately without JS */
header .animate-fade-in-up {
    opacity: 1;
    animation: none;
}

/* Staggered delays for hero elements */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }

/* Scroll Reveal Classes (Progressive Enhancement) */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile Menu Transitions */
#mobile-menu {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

#mobile-menu.hidden {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

#mobile-menu:not(.hidden) {
    max-height: 400px;
    opacity: 1;
}

/* Navbar Scroll State */
nav.scrolled {
    background-color: rgba(15, 28, 54, 0.95); /* Navy with slight transparency */
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* Menu Item Hover */
.menu-item {
    transition: transform 0.2s ease;
}
.menu-item:hover {
    transform: translateX(5px);
}

/* Feature Card Hover */
.feature-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
