*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
img, svg { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid #5fe3a1; outline-offset: 2px;
}
body.modal-open { overflow: hidden; }
.hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap; opacity: 0; pointer-events: none; }
.form-error { margin: 0; padding: 12px 14px; border-radius: 10px; background: #2a1712; border: 1px solid #5c2a1f; color: #ffc6b8; font-size: 14px; line-height: 1.5; }
.form-done { padding: 28px; border-radius: 16px; background: #13362a; border: 1px solid #1d4a32; color: #c8ffe2; font-size: 17px; line-height: 1.6; }
button[disabled] { opacity: 0.6; cursor: progress; }
@media (max-width: 640px) {
  h1 { font-size: 40px !important; }
  h2 { font-size: 30px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
