.contact-modal{border:0;border-radius:18px;padding:0;width:min(1010px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;color:var(--navy);background:#fff;box-shadow:0 28px 80px #0b18304d}
.contact-modal::backdrop{background:#0b183099;backdrop-filter:blur(5px)}
.contact-modal__grid{display:grid;grid-template-columns:1.08fr 1fr;min-height:690px}
.contact-modal__close{position:absolute;right:20px;top:16px;z-index:2;width:38px;height:38px;border:0;background:transparent;color:#5e7196;font:300 32px/1 'DM Sans',sans-serif;cursor:pointer;border-radius:8px}
.contact-modal__close:hover,.contact-modal__close:focus-visible{background:#eef4ff;color:var(--blue)}
.contact-modal__intro{position:sticky;top:0;align-self:start;height:min(760px,calc(100dvh - 32px));overflow:hidden;padding:70px 48px 300px 54px;border-right:1px solid var(--line);background:#fff}
.contact-modal__art{position:absolute;left:0;right:0;bottom:26px;height:310px;background:url('contact-wave-reference.png') -276px -520px/1536px 1024px no-repeat;pointer-events:none}
.contact-modal__eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:750;color:var(--blue);margin:0 0 22px}
.contact-modal__intro h2{font-size:clamp(39px,4.1vw,60px);line-height:1.08;letter-spacing:-.06em}
.contact-modal__intro>p:not(.contact-modal__eyebrow){position:relative;z-index:1;margin:25px 0 0;color:#485c7f;font-size:17px;line-height:1.6;max-width:390px}
.contact-modal__panel{display:flex;align-items:center;padding:66px 48px 45px 40px}
#contact-form{width:100%;display:grid;gap:8px}
#contact-form[hidden],.contact-modal__success[hidden]{display:none}
#contact-form label{font-size:14px;font-weight:650;line-height:1.35;margin-top:7px}
#contact-form label span{color:var(--blue)}
#contact-form label small{font-size:13px;font-weight:400;color:#64748b}
#contact-form input:not([type=hidden]):not(.contact-modal__honey),#contact-form select,#contact-form textarea{width:100%;border:1px solid #cbd8ee;border-radius:7px;background:#fff;padding:10px 13px;font:inherit;font-size:15px;color:var(--navy);outline:none;transition:border-color .2s,box-shadow .2s}
#contact-form input:not([type=hidden]):not(.contact-modal__honey),#contact-form select{height:43px}
#contact-form textarea{min-height:86px;resize:vertical}
#contact-form input:focus-visible,#contact-form select:focus-visible,#contact-form textarea:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #0757ff1c}
#contact-form select:invalid{color:#617084}
.contact-modal__honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.contact-modal__submit,.contact-modal__done{border:0;border-radius:7px;background:var(--blue);color:#fff;cursor:pointer;font:650 15px/1.3 'DM Sans',sans-serif;padding:14px 20px;transition:background .2s,transform .2s}
.contact-modal__submit{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:12px;width:100%}
.contact-modal__submit:hover,.contact-modal__done:hover{background:#0045d4;transform:translateY(-2px)}
.contact-modal__submit:disabled{opacity:.7;cursor:wait;transform:none}
.contact-modal__privacy{font-size:12px;line-height:1.45;color:#677892;margin:3px 0 0}
.contact-modal__privacy a{text-decoration:underline;text-underline-offset:2px}
.contact-modal__error{font-size:13px;line-height:1.5;color:#a12626;background:#fff0f0;border:1px solid #f0caca;border-radius:7px;padding:10px 12px;margin:8px 0 0}
.contact-modal__error[hidden]{display:none}
.contact-modal__error a{text-decoration:underline}
.contact-modal__success{width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:520px}
.contact-modal__check{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:var(--blue);font:400 65px/1 'DM Sans',sans-serif}
.contact-modal__success h3{font-size:clamp(36px,4vw,56px);line-height:1.1;outline:none}
.contact-modal__success p{font-size:20px;line-height:1.55;color:#445b80;margin:0;max-width:350px}
.contact-modal__success small{font-size:13px;color:#617084;margin-top:12px}
.contact-modal__done{width:min(300px,100%);margin-top:8px}
@media(min-width:761px) and (max-height:800px){.contact-modal__panel{padding:32px 48px 22px 40px}#contact-form{gap:5px}#contact-form label{margin-top:3px}#contact-form input:not([type=hidden]):not(.contact-modal__honey),#contact-form select{height:39px}#contact-form textarea{height:72px;min-height:72px}.contact-modal__submit{margin-top:8px;padding:12px 20px}}
@media(max-width:760px){.contact-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.contact-modal__grid{display:block;min-height:0}.contact-modal__intro{position:relative;height:auto;padding:33px 28px 185px;border-right:0;border-bottom:1px solid var(--line)}.contact-modal__art{bottom:0;height:180px;background-position:-189px -359px;background-size:1050px 700px}.contact-modal__eyebrow{font-size:10px;margin-bottom:10px}.contact-modal__intro h2{font-size:32px}.contact-modal__intro h2 br{display:none}.contact-modal__intro>p:not(.contact-modal__eyebrow){font-size:14px;line-height:1.5;margin-top:9px;padding-right:18px}.contact-modal__close{right:10px;top:8px}.contact-modal__panel{padding:20px 28px 28px}.contact-modal__success{min-height:290px;gap:13px}.contact-modal__check{width:70px;height:70px;font-size:42px}.contact-modal__success p{font-size:17px}.contact-modal__success small{margin-top:2px}}
@media(max-width:420px){.contact-modal__intro{padding:25px 20px 17px}.contact-modal__panel{padding:16px 20px 22px}#contact-form{gap:6px}#contact-form label{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.contact-modal__submit,.contact-modal__done{transition:none}}
