.navigation { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; transition: all var(--transition-fast); padding: 16px 0; background: rgba(10, 10, 10, 0.6); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid transparent; } .navigation.scrolled { padding: 12px 0; border-bottom: 1px solid var(--glass-border); background: rgba(10, 10, 10, 0.85); } .nav-container { display: flex; justify-content: space-between; align-items: center; } .logo-text { font-size: 1.2rem; font-weight: var(--font-weight-bold); letter-spacing: -0.02em; } /* Desktop nav links */ .nav-links { display: flex; gap: 32px; align-items: center; } .nav-link { font-size: 0.9rem; font-weight: var(--font-weight-normal); color: var(--text-secondary); transition: color var(--transition-fast); position: relative; } .nav-link:hover { color: var(--text-primary); } .nav-link.active { color: var(--accent-color); } .nav-link.active::after { content: ''; position: absolute; bottom: -6px; left: 0; width: 100%; height: 2px; background: var(--accent-color); border-radius: 1px; } /* Hamburger — hidden on desktop, shown on mobile */ .hamburger { display: none; flex-direction: column; gap: 5px; background: transparent; border: none; cursor: pointer; padding: 8px; } .hamburger:focus-visible, .nav-link:focus-visible, .nav-mobile-link:focus-visible, .logo:focus-visible { outline: 2px solid var(--accent-color); outline-offset: 4px; } .hamburger span { display: block; width: 24px; height: 2px; background-color: var(--text-primary); transition: all var(--transition-fast); } .hamburger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); } .hamburger.active span:nth-child(2) { opacity: 0; } .hamburger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } /* Mobile dropdown */ .nav-mobile { display: none; flex-direction: column; background: rgba(10, 10, 10, 0.95); backdrop-filter: blur(15px); border-bottom: 1px solid var(--glass-border); max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .nav-mobile.open { max-height: 400px; padding: 16px 0; } .nav-mobile-link { display: block; padding: 12px 24px; color: var(--text-secondary); font-size: 1rem; transition: color var(--transition-fast), background var(--transition-fast); } .nav-mobile-link:hover, .nav-mobile-link.active { color: var(--accent-color); background: rgba(var(--accent-color-rgb), 0.05); } /* Responsive: show hamburger + mobile menu on small screens */ @media (max-width: 900px) { .nav-links { display: none; } .hamburger { display: flex; } .nav-mobile { display: flex; } }