/* ============================================
   NAV
   ============================================ */
.nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(244, 246, 245, 0.88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 18px 32px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.brand { display: flex; align-items: center; gap: 10px; margin-right: auto; }
.brand-logo { width: 34px; height: auto; display: block; }
.brand-mark {
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: var(--ocean);
  border: 1px solid var(--ocean);
  padding: 4px 7px;
  border-radius: 3px;
}
.brand-name { font-family: var(--font-display); font-weight: 500; font-size: 19px; color: var(--text); }

.nav-links { display: flex; gap: 30px; font-weight: 500; font-size: 14.5px; }
.nav-links a { opacity: 0.7; transition: opacity 0.15s; }
.nav-links a:hover { opacity: 1; }

.nav-toggle { display: none; flex-direction: column; gap: 4px; background: none; border: none; padding: 6px; }
.nav-toggle span { width: 22px; height: 2px; background: var(--text); border-radius: 2px; }

.nav-mobile { display: none; flex-direction: column; gap: 4px; padding: 8px 32px 22px; border-top: 1px solid var(--line); }
.nav-mobile a { padding: 11px 0; font-weight: 500; }
.nav-mobile .btn { margin-top: 10px; }

@media (max-width: 860px) {
  .nav-links { display: none; }
  .nav-inner .btn-small { display: none; }
  .nav-toggle { display: flex; }
  .nav.is-open .nav-mobile { display: flex; }
}
