.contact-dialog{width:min(560px,calc(100% - 28px));max-height:min(90vh,760px);padding:0;border:0;border-radius:20px;background:transparent;overflow:visible;color:var(--text,#121a29)}
.contact-dialog::backdrop{background:rgba(0,8,20,.72);backdrop-filter:blur(5px)}
.contact-dialog__panel{position:relative;max-height:min(90vh,760px);overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.3)}
.contact-dialog__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid #e0e4ea;background:#fff;color:#202839;font:400 24px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center;transition:.18s}
.contact-dialog__close:hover{background:#f5f6f8;transform:rotate(2deg)}
.contact-dialog h2{margin:8px 44px 8px 0;font-size:30px;line-height:1.08;letter-spacing:-.025em}
.contact-dialog__subtitle{margin:0 0 22px;color:#6a7280;font-size:15px;line-height:1.5}
.contact-form__field{margin-bottom:14px}
.contact-form__field label{display:block;margin:0 0 7px;font-size:13px;font-weight:700;color:#252d3a}
.contact-form__field label span{font-weight:500;color:#8b929d}
.contact-form input[type="text"],.contact-form textarea{width:100%;border:1px solid #e0e5ec;border-radius:10px;padding:13px 14px;background:#fff;color:#121a29;font:inherit;font-size:15px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.contact-form textarea{min-height:116px;resize:vertical}
.contact-form input[type="text"]::placeholder,.contact-form textarea::placeholder{color:#9ba3af}
.contact-form input[type="text"]:focus,.contact-form textarea:focus{border-color:#7460e9;box-shadow:0 0 0 3px rgba(116,96,233,.12)}
.contact-form__field[data-invalid="true"] input,.contact-form__field[data-invalid="true"] textarea{border-color:#d94c4c;background:#fffafa}
.contact-form__error{display:block;min-height:0;margin-top:5px;color:#b83c3c;font-size:12px;line-height:1.35}
.contact-form__error:empty{display:none}
.contact-form__consent{display:flex;align-items:flex-start;gap:9px;margin:4px 0 3px;color:#6d7580;font-size:12px;line-height:1.45;cursor:pointer}
.contact-form__consent input{flex:0 0 auto;margin-top:3px;accent-color:#5b46d7}
.contact-form__error--consent{margin:0 0 8px}
.contact-form__server-error{margin:10px 0 0;padding:11px 12px;border-radius:9px;background:#fff2f2;color:#9f2f2f;font-size:13px}
.contact-form__submit{width:100%;margin-top:14px;justify-content:center;min-height:50px;border:0;cursor:pointer}
.contact-form__submit[disabled]{opacity:.65;cursor:wait;transform:none}
.contact-form__honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form__success{text-align:center;padding:34px 8px 22px;outline:none}
.contact-form__success-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:#edf8f1;color:#23834c}
.contact-form__success-icon svg{width:26px;height:26px}
.contact-form__success strong{display:block;font-size:24px;margin-bottom:7px;color:#111827}
.contact-form__success p{margin:0 0 22px;color:#6a7280}
.contact-form__success .button{margin-inline:auto}
body:has(.contact-dialog[open]){overflow:hidden}
@media(max-width:620px){.contact-dialog{width:calc(100% - 18px);max-height:94vh}.contact-dialog__panel{padding:24px 18px 20px;border-radius:16px;max-height:94vh}.contact-dialog h2{font-size:25px}.contact-dialog__close{top:10px;right:10px}.contact-form input[type="text"],.contact-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.contact-dialog__close,.contact-form input,.contact-form textarea{transition:none}}
