/* The site-wide top navigation bar. Every page that shows it copies the
   <header class="nav"> block from index.html exactly; test_publication.py checks
   that they match. Values are fixed here so pages need no other stylesheet. */

.nav {
  position: sticky; top: 0; z-index: 20;
  background: rgba(255,255,255,.82);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid #e5e9ec;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto,
               "Helvetica Neue", Arial, sans-serif;
  line-height: 1.6;
}
.nav a, .nav a:hover { text-decoration: none; }
.nav-inner {
  max-width: 1080px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 24px;
}
.brand-lockup { display: inline-flex; align-items: center; gap: .42rem; }
.brand {
  font-weight: 800; font-size: 1.05rem; letter-spacing: -.01em;
  color: #14181c; display: inline-flex; align-items: center; gap: .45rem;
}
.brand-byline {
  color: #5c666e;
  font-size: .72rem;
  font-weight: 450;
  letter-spacing: 0;
  white-space: nowrap;
}
.brand-byline:hover { color: #3d52b8; }
.brand-mark {
  width: 34px; height: 34px; flex: none; object-fit: contain;
  mix-blend-mode: multiply;
}
.nav-links { display: flex; align-items: center; gap: 18px; }
.nav-links a { color: #5c666e; font-size: .92rem; font-weight: 500; }
.nav-links a:hover { color: #14181c; }
.nav-ext { color: #3d52b8 !important; }

@media (min-width: 901px) and (max-width: 1120px) {
  .nav .brand-byline { display: none; }
  .nav-links { gap: 12px; }
  .nav-links a { font-size: .82rem; }
}
@media (max-width: 900px) {
  .nav-inner { padding-right: 18px; padding-left: 18px; }
  .nav .brand-byline { display: none; }
  .nav-links { gap: 16px; }
  .nav-links a:not(.nav-summary):not(.nav-paper):not(.nav-evaluation) { display: none; }
}
@media (max-width: 640px) {
  .nav-links { gap: 14px; }
  .nav-links .nav-summary { display: none; }
  .nav-links a { font-size: .78rem; }
}
