/* Tour and waitlist forms. */
.lead-form { display: grid; gap: 20px; max-width: 820px; padding: clamp(20px, 4vw, 40px); border: 1px solid var(--ink); background: var(--paper); }
.lead-form__title { font-size: clamp(1.75rem, 4vw, 2.5rem); }
.lead-form__intro { margin: 0; color: var(--muted); }
.lead-form__grid { display: grid; gap: 20px; }
@media (min-width: 640px) { .lead-form__grid { grid-template-columns: 1fr 1fr; } }
.field { display: grid; gap: 6px; }
.field label { font-size: 0.9375rem; font-weight: 500; }
.field .req { font-weight: 400; color: var(--muted); }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field input[type="date"], .field select, .field textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; color: var(--ink); background: transparent; border: 1px solid var(--ink); border-radius: 0;
}
.field textarea { min-height: 120px; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--violet); }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
.field.has-error input, .field.has-error select, .field.has-error textarea { border-width: 2px; border-color: #8A1C1C; }
.field__hint { margin: 0; font-size: 0.875rem; color: var(--muted); }
.field__error { margin: 0; min-height: 0; font-size: 0.9375rem; color: #8A1C1C; font-weight: 500; }
.field__error:empty { display: none; }
.field__error::before { content: "Error: "; }
.check { display: flex; gap: 12px; align-items: flex-start; min-height: 44px; font-weight: 400 !important; }
.check input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--violet); }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { padding: 0; }
.form-status:empty { display: none; }
.form-status--ok { padding: 16px 20px; border: 1px solid var(--violet); border-left-width: 6px; background: rgba(74, 54, 104, 0.08); }
.form-status--error { padding: 16px 20px; border: 1px solid #8A1C1C; border-left-width: 6px; color: #8A1C1C; font-weight: 500; }
.lead-form .btn { justify-self: start; }
.lead-form [aria-busy="true"] { opacity: 0.7; }
