*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

/* Subtle top-bar accent */
#site-nav::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #c9a227 0%, #eab308 50%, #c9a227 100%);
}

/* Mobile menu transitions */
#mobile-menu {
    animation: slideDown 0.2s ease-out;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Scroll-triggered reveal (progressive enhancement) */
.reveal {
    opacity: 1;
    transform: none;
    transition: opacity 0.6s ease, transform 0.6s ease;
}
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
    }
    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Nav scroll state */
.nav-scrolled #site-nav {
    background: rgba(7, 15, 28, 0.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(255,255,255,0.06);
}
</style>
