
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field{ display:block; margin-bottom:15px; }
.field > span{
  display:block; font-family:var(--f-display); font-size:12px;
  font-weight:500; color:var(--text-body); margin-bottom:7px;
}
.field em{ font-style:normal; color:var(--accent); }
.field input,
.field select,
.field textarea{
  width:100%; padding:11px 14px; border-radius:10px;
  background:var(--glass-bg); border:1px solid var(--line);
  font-family:var(--f-body); font-size:12.5px; color:var(--text-main); outline:none;
  transition:border-color .2s ease, background .2s ease;
}
.field select{ appearance:none; cursor:pointer; }
.field textarea{ resize:vertical; min-height:118px; line-height:1.65; }
.field input::placeholder,
.field textarea::placeholder{ color:#909099; }
.field input:focus,
.field select:focus,
.field textarea:focus{ border-color:var(--glass-border); background:rgba(255,45,28,.06); }
.field.bad input,
.field.bad select,
.field.bad textarea{ border-color:rgba(248,113,113,.6); }

.form-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:4px; }
.form-msg{ margin-top:12px; font-size:12px; min-height:16px; line-height:1.6; }
.form-msg.ok{ color:var(--accent); }
.form-msg.err{ color:#FCA5A5; }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.appform{ padding:26px 26px 22px; }
.appform h2{ font-size:clamp(19px,2vw,24px); font-weight:600; margin-bottom:6px; }
.appform .sub{ color:var(--text-body); font-size:12.5px; line-height:1.75; margin-bottom:20px; }
.appform .note{ font-size:11.5px; color:var(--text-muted); line-height:1.7; }

@media (max-width: 720px){
  .frow{ grid-template-columns:1fr; gap:0; }
  .appform{ padding:20px 18px 18px; }
}
