.contact-page { max-width: 70rem; }
.contact-page header { margin-block: 2rem; max-width: 46rem; }
.contact-breadcrumbs { font-size: .9rem; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 42rem); gap: 2rem; }
.contact-layout:has(aside) { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.quote-panel { padding: clamp(1rem, 3vw, 2rem); border: 1px solid #b4c5b9; background: #F5F7F5; }
.quote-form { display: grid; gap: 1.2rem; }
.form-field { display: grid; gap: .4rem; }
.form-field input, .form-field select, .form-field textarea { width: 100%; }
.form-field textarea { resize: vertical; }
.consent-field { display: flex; align-items: flex-start; gap: .75rem; }
.consent-field input { flex: 0 0 auto; width: 22px; height: 22px; margin-top: .25rem; accent-color: #08783E; }
.form-errors { border: 2px solid #9f2727; padding: 1rem; margin-bottom: 1.5rem; }
.form-errors h2 { font-size: 1.25rem; }
.field-error { color: #8b1c1c; font-size: .9rem; margin: 0; }
[aria-invalid="true"] { border-color: #9f2727; }
@media(max-width: 47.99rem) { .contact-layout:has(aside) { grid-template-columns: minmax(0, 1fr); } }
