.contact-form {
  height: 100%;
  padding: 25px;
  border: 1px solid #d9e2ec;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(22,50,84,.07);
}
.form-heading { margin-bottom: 18px; }
.form-kicker { display: block; color: #0b4f9c; font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.form-heading h3 { margin: 5px 0 5px; color: #122033; font-family: "Manrope", "Inter", sans-serif; font-size: 1.2rem; line-height: 1.28; }
.form-heading p { margin: 0; color: #607086; font-size: .76rem; line-height: 1.58; }
.field-label { display: block; margin: 11px 0 5px; color: #34445a; font-size: .7rem; font-weight: 800; }
.contact-form input,
.contact-form textarea,
.contact-form select { width: 100%; border: 1px solid #cdd8e4; border-radius: 9px; background: #fbfcfe; color: #122033; outline: none; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.contact-form input,
.contact-form select { min-height: 42px; padding: 0 11px; }
.contact-form textarea { min-height: 124px; padding: 10px 11px; resize: vertical; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: #8695a7; opacity: 1; }
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus { border-color: #1266c3; background: #fff; box-shadow: 0 0 0 3px rgba(18,102,195,.11); }
.rowx { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.contact-form .btn { width: 100%; margin-top: 16px; }
.contact-form .btn:disabled { cursor: wait; opacity: .7; transform: none; }
.form-security { margin: 9px 0 0; color: #697a8f; font-size: .64rem; text-align: center; }
.form-security i { color: #18a66e; }
.form-message { display: none; margin-top: 10px; padding: 9px 10px; border-radius: 8px; font-size: .72rem; font-weight: 700; }
.form-message.ok { display: block; background: #e9f8f1; border: 1px solid #bee9d6; color: #116746; }
.form-message.err { display: block; background: #fff1f2; border: 1px solid #efc8cc; color: #9b2f39; }
.captcha-wrap { margin-top: 14px; min-height: 65px; }
.hp-field { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
@media (max-width: 620px) {
  .contact-form { padding: 20px; }
  .rowx { grid-template-columns: 1fr; gap: 0; }
}
