html { scroll-behavior: smooth; }
.preview-notice { padding: .45rem 1rem; background: #495045; color: #fffdfa; text-align: center; font: 500 .875rem/1.5 'Montserrat', sans-serif; letter-spacing: .04em; }
.menu-toggle { display: none; font: 600 .95rem 'Montserrat', sans-serif; border: 1px solid #fffdfa; border-radius: 6px; padding: .7rem 1rem; background: transparent; color: #fffdfa; cursor: pointer; }
.logo-img { max-width: 180px; object-fit: contain; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #b25972; outline-offset: 5px; }
.footer-links span { font-size: .875rem; }
#form-status { margin-top: 1rem; font-size: .95rem; }
.privacy-note { font-size: .875rem; }
.btn-submit:disabled { opacity: .6; cursor: default; }
@media (max-width: 768px) {
  nav { flex-wrap: wrap; gap: 1rem; }
  nav .menu-toggle:not([hidden]) { display: block; }
  nav .nav-links { display: flex; width: 100%; flex-direction: column; align-items: stretch; gap: 0; }
  nav .nav-links li a { display: block; font-size: .875rem; padding: .85rem .25rem; text-align: left; }
  html.has-js nav .nav-links { display: none; }
  html.has-js nav .nav-links.is-open { display: flex; }
  input, select, textarea { font-size: 1rem; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
