.nu-contact-form{max-width:640px;margin:0 auto;text-align:left}
.nu-contact-form .nu-field{margin-bottom:16px}
.nu-contact-form label.nu-label{display:block;font-weight:600;margin-bottom:6px}
.nu-contact-form .nu-req{color:#c0392b}
.nu-contact-form input[type=text],.nu-contact-form input[type=email],.nu-contact-form input[type=tel],.nu-contact-form textarea{width:100%;box-sizing:border-box}
.nu-contact-form textarea{min-height:140px;resize:vertical}
.nu-contact-form .nu-radios label{display:inline-block;margin-right:20px;font-weight:400;cursor:pointer}
.nu-contact-form .nu-radios input{margin-right:6px}
.nu-contact-form .nu-error{display:none;color:#c0392b;font-size:13px;margin-top:4px}
.nu-contact-form .nu-has-error .nu-error{display:block}
.nu-contact-form .nu-has-error input[type=text],.nu-contact-form .nu-has-error input[type=email],.nu-contact-form .nu-has-error input[type=tel],.nu-contact-form .nu-has-error textarea{border-color:#c0392b}
.nu-contact-form .nu-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.nu-contact-form .nu-actions{display:flex;align-items:center;gap:12px}
.nu-contact-form .nu-loading{display:none;width:24px;height:24px}
.nu-contact-form.is-sending .nu-loading{display:inline-block}
.nu-contact-form.is-sending button{opacity:.6;pointer-events:none}
.nu-alert{max-width:640px;margin:0 auto 16px;padding:12px 16px;border-radius:4px;display:none}
.nu-alert.show{display:block}
.nu-alert.success{background:#e8f6ec;border:1px solid #2e8b57;color:#1d5c39}
.nu-alert.fail{background:#fdecea;border:1px solid #c0392b;color:#8a2a1f}
