.deafloop-contact-form {
  max-width: 780px;
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid #d6e2e7;
  border-radius: .65rem;
  background: #f8fcfd;
}
.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.25rem;
}
.deafloop-contact-form p { margin: 0 0 1.15rem; }
.deafloop-contact-form label {
  display: block;
  margin-bottom: .35rem;
  color: var(--navy);
  font-weight: 700;
}
.deafloop-contact-form .optional { color: var(--muted); font-weight: 400; }
.deafloop-contact-form input[type="text"],
.deafloop-contact-form input[type="email"],
.deafloop-contact-form input[type="tel"],
.deafloop-contact-form textarea {
  width: 100%;
  padding: .7rem .8rem;
  border: 1px solid #9fb5bf;
  border-radius: .35rem;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
.deafloop-contact-form input:focus,
.deafloop-contact-form textarea:focus {
  outline: 3px solid rgba(8,124,167,.22);
  border-color: var(--blue);
}
.deafloop-contact-form .contact-consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; }
.deafloop-contact-form .contact-consent input { margin-top: .4rem; }
.contact-honeypot { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.contact-form-message { max-width: 780px; margin: 1.25rem 0; padding: 1rem 1.15rem; border-left: 4px solid var(--blue); background: var(--sky); }
.contact-form-message.error { border-color: #a52a2a; background: #fff2f2; }
.required-note { color: var(--muted); }
@media (max-width: 620px) { .contact-form-grid { grid-template-columns: 1fr; } }
