:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
body, button, input, select, textarea { font-family: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font-size: 1rem; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; background: #fff; color: #111; }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.hero-media, .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-slide { opacity: 0; transition: opacity 900ms ease; }
.hero-slide.is-active { opacity: 1; }
.hero-media img, .hero-slide img { width: 100%; height: 100%; object-fit: cover; }
.slider-dots { display: flex; gap: 8px; }
.slider-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; }
.lang-switch { display: inline-flex; align-items: center; }
.lang-switch button { cursor: pointer; }
.menu-toggle { display: none; cursor: pointer; }
.placeholder-map { min-height: 280px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; }
.contact-form textarea { min-height: 120px; resize: vertical; }
.form-status:empty { display: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
