.contact-form{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,48px);border:1px solid var(--line,#ddd);position:relative}
.contact-form__intro{font-size:14px;line-height:1.9;margin:0 0 30px;color:#555}
.contact-form__field{margin-bottom:26px}
.contact-form label{display:block;font-size:15px;font-weight:600;margin-bottom:10px}
.contact-form__badge{display:inline-block;margin-left:10px;font-size:11px;font-weight:500;padding:2px 8px;background:#eee;color:#444;vertical-align:middle}
.contact-form input,.contact-form textarea{display:block;box-sizing:border-box;width:100%;border:1px solid #aaa;border-radius:2px;background:#fff;color:#111;font:inherit;font-size:16px;line-height:1.7;padding:12px 14px}
.contact-form textarea{min-height:220px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#858585;opacity:1}
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form button:focus-visible{outline:3px solid #52684b;outline-offset:3px}
.contact-form__hint{font-size:12px;line-height:1.8;color:#666;margin:8px 0 0}
.contact-form__submit{display:block;min-height:50px;min-width:200px;margin-top:30px;padding:12px 30px;border:1px solid #111;background:#111;color:#fff;font:inherit;font-size:15px;cursor:pointer}
.contact-form__submit:hover:not(:disabled){background:#383833}
.contact-form__submit:disabled{opacity:.5;cursor:not-allowed}
.contact-form__status{font-size:14px;line-height:1.9;min-height:1.9em;margin:18px 0 0;overflow-wrap:anywhere}
.contact-form__status[data-state="error"]{color:#9e2929}
.contact-form__status[data-state="success"]{color:#315a36}
.contact-form .contact-form__trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:620px){.contact-form__submit{width:100%}}
