.kp-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;color:#151617;background:#fff;box-shadow:0 24px 80px #15161755;font:400 15px/1.45 var(--font-text)}
.kp-dialog::backdrop{background:#151617b8}
.kp-box{position:relative;padding:32px}
.kp-dialog h2{margin:0;font:800 30px/1.1 var(--font-display);text-transform:uppercase}
.kp-lead{margin:12px 0 18px;color:#596168}
.kp-context{display:inline-block;margin:0 0 20px;padding:8px 12px;background:#f2f3f2;color:#303438;font-size:13px}
.kp-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;background:#f2f3f2;color:#151617;font-size:26px;cursor:pointer}
.kp-form{display:grid;gap:14px}
.kp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kp-form label:not(.kp-agree):not(.kp-trap){display:block;font-weight:600}
.kp-form input:not([type=checkbox]),.kp-form textarea{box-sizing:border-box;display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #cfd3d7;border-radius:0;background:#fff;color:#151617;font:inherit}
.kp-form textarea{min-height:76px;resize:vertical}
.kp-form :focus-visible,.kp-close:focus-visible{outline:2px solid #151617;outline-offset:2px}
.kp-form b{color:var(--color-brand)}
.kp-agree{display:flex;align-items:start;gap:10px;font-size:13px}
.kp-agree input{margin-top:3px;accent-color:var(--color-brand)}
.kp-agree a,.kp-email a{color:var(--color-brand);text-decoration:underline}
.kp-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.kp-error{margin:0;color:#ba2521;font-size:13px}
.kp-submit,.solution-kp-button{min-height:44px;padding:11px 22px;border:1px solid var(--color-brand);background:var(--color-brand);color:#fff;font:700 16px/1.2 var(--font-display);text-transform:uppercase;cursor:pointer}
.kp-submit:disabled{opacity:.5;cursor:wait}
.kp-email{margin:0;color:#596168;font-size:13px}
.kp-success{text-align:center;padding:24px 0}
.kp-success span{display:block;margin-bottom:16px;color:var(--color-brand);font-size:48px}
.kp-success p{margin:12px 0}
.solution-kp-button{justify-self:start;margin:12px 0}
@media(max-width:600px){.kp-box{padding:22px 16px}.kp-row{grid-template-columns:1fr;gap:12px}.kp-dialog h2{font-size:26px}}
