
html { font-size: 16px; }

@media (min-width: 1680px) {
  html { font-size: calc(16 * 100vw / 1920); }
}

@media (min-width: 768px) and (max-width: 1679px) {
  html { font-size: clamp(16px, 12.63px + 0.439vw, 20px); }
}

@media (max-width: 767px) {
  html { font-size: 16px; }
}

body { overflow-x: hidden; }

img, svg, video { max-width: 100%; }

a:focus-visible, button:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid #b9a779;
  outline-offset: 2px;
}

[data-nav-panel] { display: none; }
.nav-open [data-nav-panel] { display: flex; }

@media (prefers-reduced-motion: reduce) {
  [data-nav-panel] { animation: none !important; }
}
