html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 70px; }
.site-nav { position: sticky; top: 0; z-index: 100; background: rgba(17, 17, 17, 0.96); backdrop-filter: blur(8px); border-bottom: 1px solid #333; }
.site-nav.nav-fixed { position: fixed; top: 0; left: 0; right: 0; }
.nav-inner { max-width: 1000px; margin: 0 auto; padding: 0 20px; height: 64px; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { display: flex; align-items: center; }
.nav-logo img { height: 34px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: 26px; }
.nav-links a { color: #f4f4f5; text-decoration: none; font-weight: 600; font-size: 0.95rem; transition: color 0.2s ease; }
.nav-links a:hover { color: #00ff66; }
.nav-links a.nav-cta { background: #00ff66; color: #000; font-weight: 800; padding: 10px 20px; border-radius: 4px; text-transform: uppercase; font-size: 0.85rem; }
.nav-links a.nav-cta:hover { background: #00cc52; color: #000; }
.nav-toggle { display: none; background: none; border: 1px solid #333; border-radius: 6px; width: 44px; height: 44px; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; }
.nav-toggle span { display: block; width: 20px; height: 2px; background: #f4f4f5; transition: transform 0.2s ease, opacity 0.2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.site-nav a:focus-visible, .nav-toggle:focus-visible { outline: 3px solid #00ff66; outline-offset: 3px; }
@media (max-width: 768px) {
    .nav-toggle { display: flex; }
    .nav-links { position: absolute; top: 64px; left: 0; right: 0; background: #111; border-bottom: 1px solid #333; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 20px; display: none; }
    .nav-links.open { display: flex; }
    .nav-links a { padding: 14px 0; border-bottom: 1px solid #222; font-size: 1.05rem; }
    .nav-links a.nav-cta { margin-top: 14px; text-align: center; border-bottom: none; padding: 16px 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
