/* Custom Animations & Utilities */
body {
    background-color: #020617;
}

/* Smooth Scroll behavior handled by Tailwind 'scroll-smooth' on html */

/* Reveal on Scroll Animation */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade in up for Hero */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.animate-fade-in-up {
    animation: fadeInUp 1s ease-out forwards;
}

/* Gold Gradient Text Utility */
.text-transparent.bg-clip-text.bg-gold-gradient {
    background-image: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #fbbf24;
}

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

#mobile-menu.open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

#mobile-menu.closed {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

/* Navbar Glass Effect */
.nav-scrolled {
    background: rgba(2, 6, 23, 0.95);
    backdrop-filter: blur(10px);
    padding-top: 1rem;
    padding-bottom: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.nav-default {
    background: transparent;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
