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

body {
    background-color: #0a0a0a;
    color: #d1d5db;
}

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

::-webkit-scrollbar-track {
    background: #121212;
}

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

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

/* Reveal Animation Classes */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

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

/* Navbar Scrolled State */
#navbar.scrolled #nav-scrolled {
    display: block;
}

/* Typography Utilities */
.font-serif {
    font-family: 'Playfair Display', serif;
}

.font-sans {
    font-family: 'Montserrat', sans-serif;
}

/* Mobile Menu Transitions */
#mobile-menu {
    box-shadow: -5px 0 15px rgba(0,0,0,0.5);
}

/* Form Focus States */
input:focus, textarea:focus {
    box-shadow: 0 0 0 1px #d4af37;
}

/* Button Hover Effects */
button, a {
    transition: all 0.3s ease;
}
