/* Native controls and navigation over the preserved visual theme. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
.field {
  display: block;
  width: 100%;
  height: 2.75rem;
  padding: .5rem .75rem;
  border: 1px solid var(--input);
  border-radius: .125rem;
  background: var(--background);
  color: var(--foreground);
  font-size: .875rem;
  box-shadow: 0 1px 2px rgb(0 0 0 / .05);
}
.field:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.form-select { appearance: auto; cursor: pointer; }
.choice-input { width: 1rem; height: 1rem; margin: 0; flex: 0 0 1rem; accent-color: var(--primary); cursor: pointer; }
.choice-input:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
[aria-invalid="true"] { outline: 1px solid var(--destructive); outline-offset: 2px; }
.form-message { padding: .75rem 1rem; border: 1px solid color-mix(in oklab, var(--destructive) 50%, transparent); border-radius: .125rem; color: var(--destructive); font-size: .875rem; }
#information-form .terms-consent { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; gap: .5rem; padding-top: .25rem; font-size: 12px; line-height: 18px; font-weight: 400; }
#information-form .terms-consent .choice-input { display: block; width: 14px; height: 14px; min-width: 14px; flex: 0 0 14px; margin: 2px 0 0; border-radius: 0; }
.terms-consent__copy { flex: 1 1 0%; min-width: 0; overflow-wrap: anywhere; }
#information-form .terms-consent label { display: block; margin: 0; font: inherit; cursor: pointer; }
#information-form .terms-consent p { margin: 0; font: inherit; }
#information-form .terms-link, #information-form .terms-link:visited { color: #2684ff; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
.terms-link:focus-visible, .terms-dialog__close:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
.terms-open { overflow: hidden; }
.terms-dialog { width: min(48rem, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; border: 1px solid var(--border); border-radius: .5rem; background: var(--background); color: var(--foreground); box-shadow: 0 24px 80px rgb(0 0 0 / .25); }
.terms-dialog::backdrop { background: rgb(0 0 0 / .6); }
.terms-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.terms-dialog__header h2 { margin: 0; font-size: 1.125rem; font-weight: 600; }
.terms-dialog__close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; border: 1px solid var(--border); border-radius: .25rem; color: inherit; background: transparent; font-size: 1.75rem; cursor: pointer; }
.terms-dialog__close:hover { background: var(--muted); }
.terms-dialog__frame { display: block; width: 100%; height: min(65dvh, 38rem); border: 0; }
.mobile-menu { position: absolute; top: 100%; inset-inline: 0; padding: .75rem 1rem; border-bottom: 1px solid var(--border); background: var(--background); box-shadow: 0 8px 14px rgb(0 0 0 / .08); }
.mobile-menu a, .mobile-menu [data-scroll-target] { display: block; width: 100%; padding: .75rem; font-size: .875rem; text-align: left; }
.mobile-menu a:focus-visible, .mobile-menu [data-scroll-target]:focus-visible { outline: 2px solid var(--ring); }
@media (min-width: 768px) { .mobile-menu { display: none; } }
.iti, .iti-aio { display: block !important; width: 100% !important; }
.iti input[type="tel"], .iti-aio input[type="tel"] { width: 100% !important; height: 2.75rem; }
.iti__country-list { color: #18352d; text-align: left; z-index: 60; }
.iti__flag-container { z-index: 1; }
.field-error { color: var(--destructive); font-size: .8rem; margin-top: .4rem; }
.submission-loader { display: flex; flex-direction: column; align-items: center; gap: 1rem; color: #fff; padding: 1.5rem; text-align: center; }
.submission-loader__spinner { display: block; width: 2.5rem; height: 2.5rem; border: 3px solid #ffffff50; border-top-color: #42ac89; border-radius: 50%; animation: submission-spin .8s linear infinite; }
@keyframes submission-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
