.avb-contact { background: var(--surface, #edf2f6); color: var(--navy, #172d4f); padding: clamp(20px, 4vw, 38px); border-radius: 14px; }
.avb-contact *, .avb-contact-response * { box-sizing: border-box; }
.avb-contact .form-heading { margin-bottom: 27px; }
.avb-contact .form-heading h2 { margin: 0; font-size: 1.65rem; line-height: 1.18; letter-spacing: -.025em; }
.avb-contact .form-heading p { font-size: 14px; margin-top: 15px; }
.avb-contact .form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 17px; }
.avb-contact .form-fields label { font-size: 14px; font-weight: 550; }
.avb-contact .form-fields label > span { font-size: 12px; font-weight: 400; }
.avb-contact .full-field { grid-column: 1 / -1; }
.avb-contact .form-fields input, .avb-contact .form-fields textarea, .avb-contact .form-fields select { width: 100%; display: block; margin-top: 8px; min-height: 48px; padding: 12px 14px; border: 1px solid #ccd6e1; border-radius: 6px; background: #fff; color: #172d4f; font: inherit; font-weight: 400; font-size: 15px; line-height: 1.5; }
.avb-contact .form-fields textarea { min-height: 145px; resize: vertical; }
.avb-contact :is(input, select, textarea, button, a):focus-visible { outline: 2px solid #172d4f; outline-offset: 3px; }
.avb-contact [aria-invalid="true"] { border-color: #a22337; }
.avb-contact .avb-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 22px; font-size: 12px; line-height: 1.7; }
.avb-contact .avb-consent input { flex: 0 0 17px; width: 17px; height: 17px; margin: 3px 0 0; accent-color: #172d4f; }
.avb-contact .avb-consent > span { min-width: 0; overflow-wrap: anywhere; }
.avb-contact .avb-consent a { text-decoration: underline; text-underline-offset: 2px; }
.avb-contact .form-note { font-size: 12px; line-height: 1.7; margin: 20px 0; }
.avb-contact .avb-field-error { color: #a22337; display: block; font-size: 12px; font-weight: 400; margin-top: 5px; }
.avb-contact .avb-field-error:empty, .avb-contact .avb-form-status:empty { display: none; }
.avb-contact .avb-form-status { font-size: 14px; line-height: 1.6; }
.avb-contact .form-error { color: #a22337; }
.avb-contact .avb-form-success { color: #175c3a; }
.avb-contact .button { display: flex; justify-content: center; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 12px 20px; border: 1px solid #172d4f; border-radius: 6px; background: #172d4f; color: #fff; font: inherit; font-size: 14px; cursor: pointer; }
.avb-contact .button:disabled { opacity: .65; cursor: wait; }
.avb-contact .required-note { font-size: 11px; margin-top: 15px; }
.avb-contact .avb-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.avb-contact altcha-widget { display: block; margin: 20px 0 8px; max-width: 100%; --altcha-max-width: 100%; --altcha-color-base: #fff; --altcha-color-base-content: #172d4f; --altcha-color-primary: #172d4f; --altcha-color-error: #a22337; --altcha-border-color: #ccd6e1; --altcha-border-radius: 6px; --altcha-padding: 14px; }
.avb-contact altcha-widget:focus-within { outline: 2px solid #172d4f; outline-offset: 3px; border-radius: 6px; }
.avb-contact altcha-widget [type="checkbox"] { accent-color: #172d4f; }
.avb-contact .avb-contact-alternative { font-size: 12px; line-height: 1.7; margin: 10px 0 20px; overflow-wrap: anywhere; }
.avb-contact .avb-contact-alternative a { text-decoration: underline; text-underline-offset: 2px; }
.avb-contact-response { margin: 0; padding: 35px 16px; background: #fff; color: #172d4f; font: 16px/1.6 system-ui, sans-serif; }
.avb-contact-response main { max-width: 720px; margin: 0 auto; }
.avb-contact-response a { color: #172d4f; }
@media (max-width: 560px) { .avb-contact .form-fields { grid-template-columns: 1fr; } }
