.enquiry-form { max-width: 38rem; }
.enquiry-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.enquiry-form fieldset:disabled { opacity: .65; }
.form-field { display: flex; flex-direction: column; gap: .5rem; }
.form-field label { font-size: .9375rem; font-weight: 500; }
.optional-note, .form-help { color: var(--text-soft, #5a5348); font-weight: 400; }
.form-help { font-size: .875rem; line-height: 1.6; }
.form-field input:not([type="checkbox"]), .form-field textarea { width: 100%; padding: .75rem; border: 1px solid var(--text-soft, #5a5348); border-radius: 4px; background: var(--bg, #f4f0e6); font: inherit; color: inherit; font-size: 1rem; }
.form-field textarea { resize: vertical; }
.form-field :focus-visible, .form-submit:focus-visible { outline: 2px solid var(--accent, #23372b); outline-offset: 3px; }
.form-field [aria-invalid="true"], .form-field input:user-invalid, .form-field textarea:user-invalid { border: 2px solid var(--accent, #23372b); }
.field-error { font-size: .875rem; font-weight: 500; }
.consent-label { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; min-height: 44px; line-height: 1.6; }
.consent-label input { flex: none; width: 1.25rem; height: 1.25rem; margin-block-start: .15rem; accent-color: var(--accent, #23372b); }
.form-submit { align-self: flex-start; min-height: 48px; padding: .8em 1.9em; border: 1px solid var(--accent, #23372b); border-radius: 4px; background: var(--accent, #23372b); color: var(--accent-contrast, #f4f0e6); font: inherit; font-size: .9375rem; font-weight: 500; cursor: pointer; }
.form-submit:hover { background: var(--accent-strong, #1a2a20); }
fieldset:disabled .form-submit { cursor: not-allowed; }
.form-notice { max-width: 38rem; margin-block: 0 1.5rem; padding: 1rem; background: var(--bg-raised, #ebe5d6); border: 1px solid var(--text-soft, #5a5348); border-radius: 4px; }
.form-notice ul { padding-left: 1.25rem; margin-block-start: .75rem; }
.hp-field, .form-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
