.contact-grid { align-items:start; }
.contact-form { display:grid; gap:1.25rem; margin-top:1.75rem; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.contact-form label { display:block; margin-bottom:.4rem; font-size:.9rem; font-weight:700; }
.contact-form label span { color:var(--text-muted); font-size:.78rem; font-weight:400; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; min-width:0; min-height:48px; border:1px solid var(--border); border-radius:.5rem; padding:.75rem; background:var(--canvas); color:var(--text); font:inherit; }
.contact-form textarea { resize:vertical; min-height:180px; line-height:1.6; }
.contact-form [aria-invalid="true"] { border:2px solid var(--text); }
.contact-form .form-help,.contact-form .form-privacy { font-size:.82rem; color:var(--text-muted); }
.contact-form .field-error { display:block; font-size:.82rem; font-weight:700; margin-top:.3rem; }
.contact-form .form-availability { padding:.8rem 1rem; background:var(--primary-soft); border-left:3px solid var(--primary); font-size:.85rem; }
.contact-form .form-status { font-size:.9rem; font-weight:650; overflow-wrap:anywhere; }
.contact-form .form-status:empty { display:none; }
.contact-form button { justify-self:start; }
.contact-form button:disabled { opacity:.65; cursor:not-allowed; }
.contact-form .form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-details .contact-email { font-size:1.1rem; margin:1rem 0 0; }
@media(max-width:600px) {
 .contact-form-row { grid-template-columns:1fr; }
 .contact-form button { width:100%; }
}

.contact-captcha { min-width:0; border-top:1px solid var(--border); padding-top:1rem; }
.contact-captcha [data-captcha-widget] { margin-top:1rem; }
.contact-captcha .button { white-space:normal; }
