/* ---------- form ---------- */
.form-layout{display:grid;grid-template-columns:1fr 380px;gap:72px;padding:64px 0 96px;align-items:start}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:flex;flex-direction:column;gap:8px}
.field--full{grid-column:1/-1}
.field label{font-size:13px;font-weight:600;color:var(--ink)}
.field .hint{font-size:12px;color:var(--muted-2);font-weight:400}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--rule-strong);border-radius:var(--radius);padding:13px 15px;width:100%;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}
.field textarea{resize:vertical;min-height:120px;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(16,20,24,.05)}
.field .error{font-size:12.5px;color:var(--accent);font-weight:500;display:none}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:var(--accent)}
.field.is-invalid .error{display:block}
.form-success{border:1px solid var(--rule);border-top:3px solid var(--accent);background:var(--paper-2);padding:52px 44px;text-align:center;border-radius:var(--radius)}
.form-success h2{font-size:28px;margin-bottom:14px}
.form-success p{font-size:16px;color:var(--muted);max-width:46ch;margin:0 auto 28px;line-height:1.68}
.aside-card{border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--radius);padding:30px 28px;margin-bottom:22px}
.aside-card h3{font-size:17px;margin-bottom:14px;letter-spacing:-.015em}
.aside-card p{font-size:14.5px;color:var(--body);line-height:1.68}
.aside-card li{font-size:14.5px;color:var(--body);padding-left:20px;position:relative;margin-bottom:11px;line-height:1.6}
.aside-card li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--accent);border-radius:1px}

@media (max-width:1080px){
  .form-layout{grid-template-columns:1fr;gap:48px}
}
@media (max-width:960px){
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:620px){
  .form-success{padding:40px 24px}
}
