/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }

/* Reveal animations (progressive enhancement) */
@media (prefers-reduced-motion: no-preference) {
    .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
    .reveal.revealed { opacity: 1; transform: translateY(0); }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
}

/* Navbar */
#nav { background: transparent; }
#nav.scrolled { background: rgba(6, 11, 33, 0.95); backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(255,255,255,0.05); }
#nav.scrolled .nav-link { color: rgba(255,255,255,0.75); }
#nav.scrolled .nav-link:hover { color: #a3e4ab; }
#nav.scrolled .font-serif { color: #fff; }

/* Mobile menu */
#mobile-menu.open { opacity: 1 !important; pointer-events: all !important; }

/* Menu hover underline */
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: #a3e4ab; transition: width 0.3s ease; }
.nav-link:hover::after { width: 100%; }

/* Smooth image loading */
img { display: block; max-width: 100%; }

/* Selection */
::selection { background: rgba(69, 165, 88, 0.2); color: #0d1747; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #060b21; }
::-webkit-scrollbar-thumb { background: #15236e; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #1e2f94; }
