.mform{
  --card:#ffffff;
  --text:#1a1b1f;
  --muted:#6e737a;
  --border:#e6e8eb;
  --shadow:0 8px 22px rgba(0,0,0,.08);
  --ok-b:#cfe9d2;
  --ok-bg:#f1fbf2;
  --err-b:#ffd1d1;
  --err-bg:#fff5f5;

  max-width: 860px;
  color: var(--text);
}

.mform__head{ margin:0 0 14px; }
.mform__title{ margin:0; font-size:22px; line-height:1.2; }
.mform__desc{ margin-top:6px; color:var(--muted); line-height:1.45; }

.mform__note{
  border-radius:16px;
  padding:12px 14px;
  border:1px solid var(--border);
  background:var(--card);
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  margin:0 0 12px;
}
.mform__note--success{ border-color:var(--ok-b); background:var(--ok-bg); }
.mform__note--error{ border-color:var(--err-b); background:var(--err-bg); }
.mform__note-title{ font-weight:800; margin-bottom:6px; }
.mform__note-list{ margin:0 0 0 18px; }

.mform__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
@media (min-width:860px){ .mform__grid{ grid-template-columns:1fr 1fr; } }

.mform__field{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px;
  box-shadow:var(--shadow);
}

.mform__label{
  display:flex;
  gap:6px;
  font-weight:800;
  margin-bottom:8px;
}
.mform__req{ color:#d11f1f; }

.mform__hint{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
}

.mform__control input[type="text"],
.mform__control input[type="email"],
.mform__control input[type="tel"],
.mform__control textarea,
.mform__control select{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:11px 12px;
  font:inherit;
  outline:none;
  background:#fff;
}
.mform__control textarea{ min-height:130px; resize:vertical; }
.mform__control input:focus,
.mform__control textarea:focus,
.mform__control select:focus{ border-color:rgba(0,0,0,.35); }

.mform__captcha{
  margin-top:12px;
  padding:12px;
  border:1px dashed #d7dadd;
  border-radius:16px;
  background:#fbfcfd;
}
.mform__captcha-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:12px;
  align-items:center;
  margin-top:10px;
}
.mform__captcha-img{
  width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
}

.mform__actions{
  margin-top:14px;
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}
.mform__btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.1);
  background:#111;
  color:#fff;
  padding:12px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
}
.mform__btn:hover{ opacity:.92; }
.mform__btn:active{ transform:translateY(1px); }
.mform__meta{ color:var(--muted); font-size:13px; line-height:1.35; }

@media (max-width:480px){
  .mform__title{ font-size:20px; }
  .mform__actions{ flex-direction:column; align-items:stretch; }
  .mform__btn{ width:100%; }
  .mform__captcha-row{ grid-template-columns:1fr; }
}
