.contact-form {
    max-width: 540px;
    margin: 24px auto 36px;
    text-align: left;
    color: #fff;
}
.contact-form__field { margin-bottom: 16px; }
.contact-form__field label { display: block; margin-bottom: 6px; color: #fff; }
.contact-form__field input, .contact-form__field textarea { min-height: 44px; }
.contact-form__field input,
.contact-form__field textarea {
    display: block;
    width: 100%;
    max-width: none;
    padding: 10px 12px;
    border: 1px solid #aaa;
    border-radius: 0;
    background: #fff;
    color: #222;
    font: inherit;
    box-sizing: border-box;
}
.contact-form__field textarea { min-height: 100px; resize: vertical; }
.contact-form__field input:focus,
.contact-form__field textarea:focus,
.contact-form__consent input:focus-visible,
.contact-form__submit:focus-visible { outline: 2px solid #a8d570; outline-offset: 2px; }
.contact-form__consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; color: #fff; font-size: 14px; line-height: 1.5; cursor: pointer; }
.contact-form__consent input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #6a9e30; }
.contact-form__consent a { color: #fff; text-decoration: underline; }
.contact-form__submit { padding: 12px 24px; border: 0; background: #6c9d30; color: #fff; font: inherit; cursor: pointer; }
.contact-form__submit:hover { background: #577f27; }
.contact-form__submit:disabled { opacity: .65; cursor: wait; }
.contact-form__status { margin: 0 0 16px; color: #fff; }
.contact-form__status[hidden] { display: none; }
.contact-form__status[data-state="success"] { color: #b5ea7f; }
.contact-form__status[data-state="error"] { font-weight: 700; }
.contact-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 575px) {
    .contact-form { margin-top: 20px; }
    .contact-form__submit { width: 100%; }
}
