:focus-visible {
  outline: 3px solid #c4b5fd;
  outline-offset: 4px;
}

.footer-col h3 {
  font-size: 0.74rem;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.mobile-menu-toggle {
  display: none;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--hairline);
  border-radius: 7px;
  background: var(--bg2);
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
}

@media (max-width: 900px) {
  nav { flex-wrap: wrap; gap: 10px; }
  .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; margin-left: auto; }
  nav > .nav-cta { display: none; }
  .nav-links {
    display: flex;
    order: 4;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px 0 2px;
  }
  .nav-links a { display: block; padding: 11px 4px; }
  .has-js nav.menu-ready .nav-links { display: none; }
  .has-js nav.menu-ready .nav-links.is-open { display: flex; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
