html { box-sizing: border-box; font-size: 16px; }
*, *::before, *::after { box-sizing: inherit; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, picture, svg, video { max-width: 100%; height: auto; display: block; }
button, a, input, textarea { font-family: inherit; }
:focus { outline: none; }
:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(152,168,111,0.18); border-radius: 0.5rem; }
body.no-scroll { overflow: hidden; height: 100vh; }
#mobileMenu { display: none; }
#mobileMenu[data-open="true"] { display: block; }
#mobileOverlay { transition: opacity .28s ease; opacity: 1; }
#mobileMenu.hidden { opacity: 0; pointer-events: none; }
#mobileMenu .rounded-2xl { transform: translateY(0); transition: transform .32s cubic-bezier(.2,.9,.3,1), opacity .28s ease; }
@media (prefers-reduced-motion: reduce) { * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; } }
#cookieBanner { transform: translateY(10px); transition: transform .28s ease, opacity .24s ease; }
#cookieBanner[data-visible="true"] { transform: translateY(0); }
.form-error { color: rgb(59,59,61); background-color: rgba(255,226,226,0.9); border-radius: .5rem; padding: .5rem .75rem; }
.form-success { color: rgb(59,59,61); background-color: rgba(226,255,226,0.9); border-radius: .5rem; padding: .5rem .75rem; }
input[type="email"], input[type="text"], textarea { font-size: 1rem; }
@media (max-width: 640px) {
  .container { padding-left: 1rem; padding-right: 1rem; }
}
