.enquiry-hero h1 { max-width: 14ch; font-size: clamp(3rem, 6vw, 6rem); }
.enquiry-intro { margin-top: 20px; color: var(--color-ink-2); }
.enquiry-notice { padding: 20px; background: var(--color-paper-3); color: var(--color-ink); border: 1px solid var(--color-rule); margin-block: 24px; font-size: .95rem; max-width: 75ch; }
.enquiry-layout { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1.7fr); gap: 64px; align-items: start; padding-bottom: var(--space-section); }
.enquiry-estimate { position: sticky; top: 24px; padding-top: 24px; border-top: 1px solid var(--color-rule); }
.enquiry-estimate h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); text-transform: uppercase; }
.enquiry-estimate > * + * { margin-top: 20px; }
.estimate-actions { display: grid; justify-items: start; gap: 8px; }
.estimate-text { white-space: pre-wrap; font: inherit; font-size: .9rem; overflow-wrap: anywhere; }
.enquiry-section { padding-block: 40px; border-bottom: 1px solid var(--color-rule); }
.enquiry-section:first-of-type { padding-top: 24px; border-top: 1px solid var(--color-rule); margin-top: 24px; }
.enquiry-section-head h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.enquiry-section-head p { color: var(--color-ink-2); margin-top: 12px; }
.enquiry-fields { display: grid; gap: 24px; margin-top: 32px; }
.enquiry-field { min-width: 0; }
.enquiry-field > label, .enquiry-choice legend { font-weight: 500; display: block; margin-bottom: 8px; }
.enquiry-field input:not([type=radio]):not([type=checkbox]), .enquiry-field select, .enquiry-field textarea { width: 100%; min-height: 48px; background: var(--color-paper-2); color: var(--color-ink); border: 1px solid var(--color-rule); border-radius: 0; padding: 12px; }
.enquiry-field textarea { resize: vertical; min-height: 128px; }
.enquiry-field input::file-selector-button { background: var(--color-paper-3); border: 1px solid var(--color-rule); color: var(--color-ink); padding: 8px 12px; margin-right: 12px; cursor: pointer; }
.enquiry-field input[aria-invalid=true], .enquiry-field textarea[aria-invalid=true], .enquiry-field select[aria-invalid=true] { border-color: var(--color-error); }
.field-hint { color: var(--color-ink-2); font-size: .875rem; margin-bottom: 10px; line-height: 1.6; }
.field-error { color: var(--color-error); font-size: .9rem; margin-top: 8px; }
.required-mark { color: var(--color-accent-text); }
.enquiry-choice { padding: 0; margin: 0; border: 0; min-width: 0; }
.enquiry-options { display: flex; flex-wrap: wrap; gap: 12px; }
.enquiry-option { display: flex; gap: 10px; align-items: center; min-height: 48px; padding: 10px 16px; background: var(--color-paper-2); border: 1px solid var(--color-rule); cursor: pointer; }
.enquiry-option:has(input:checked) { border-color: var(--color-accent); }
.enquiry-field input[type=radio], .enquiry-field input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--color-accent); flex-shrink: 0; margin: 0; }
.enquiry-field .enquiry-consent { display: flex; gap: 12px; align-items: flex-start; padding-block: 10px; cursor: pointer; }
.enquiry-consent input { margin-top: 3px !important; }
.enquiry-actions { padding-block: 32px; display: grid; justify-items: start; gap: 16px; }
.enquiry-actions p { font-size: .9rem; color: var(--color-ink-2); }
.enquiry-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.enquiry-errors { border: 1px solid var(--color-error); padding: 20px; margin-top: 24px; }
.enquiry-errors a { display: inline-block; padding-block: 5px; }
.enquiry-errors ul { margin-bottom: 0; padding-left: 20px; }
.enquiry-review { border-top: 1px solid var(--color-rule); padding-block: 32px; }
.enquiry-review h2 { font-size: clamp(2rem, 4vw, 3rem); }
.enquiry-review pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .95rem; line-height: 1.7; padding: 24px; background: var(--color-paper-2); }
.privacy-source { white-space: pre-wrap; font-size: .9rem; color: var(--color-ink-2); overflow-wrap: anywhere; }
#attachment-list { color: var(--color-ink-2); font-size: .875rem; overflow-wrap: anywhere; padding-left: 20px; }
@media (max-width: 60rem) { .enquiry-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; } .enquiry-estimate { position: static; } }
@media (max-width: 40rem) { .enquiry-hero h1 { font-size: 3rem; } .enquiry-option { padding: 10px 12px; } .enquiry-review pre { padding: 16px; } .enquiry-review .hero-actions { align-items: flex-start; flex-direction: column; } }
