/* Top nav — mounted by assets/nav.js. Standalone copy for pages not using base.css (index.html, sobre.html also link this file). */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  padding: 1.125rem 0;
  background: var(--bg-white);
  border-bottom: 1px solid var(--border);
}
.nav-inner {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  max-width: 1200px; margin: 0 auto; padding: 0 2.5rem;
}
.nav-inner .nav-logo { justify-self: start; }
.nav-inner .nav-links { justify-self: center; }
.nav-inner > .btn { justify-self: end; }
.nav-logo { display: flex; align-items: center; gap: .5625rem; text-decoration: none; }
.nav-logo img { height: 26px; width: auto; }
.nav-logo span { font-family: 'Source Sans 3', sans-serif; font-weight: 700; font-size: .9375rem; color: var(--text); letter-spacing: -.01em; }
.nav-links { display: flex; align-items: center; gap: 2.25rem; list-style: none; }
.nav-links a { font-size: .875rem; font-weight: 500; color: var(--muted); text-decoration: none; transition: color .15s; }
.nav-links a:hover, .nav-links a.active { color: var(--text); }
@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-logo span { display: none; }
  #nav .btn-sm { display: none; }
  .nav-inner { grid-template-columns: 1fr; justify-content: center; }
}
