/* Модальная форма. Основные разделы и контакты сохраняют прежние стили. */
[data-open-request]{cursor:pointer;font-family:inherit}
.contact-form-trigger{margin-top:23px;background:#e4efff;color:#0e2e5c;border-color:#e4efff}
.contact-form-trigger:hover{background:#fff}
.request-dialog{width:min(600px,calc(100% - 40px));max-width:none;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;background:#0e2e5c;color:#f6f9ff;border:1px solid #6380a26b;border-radius:23px;box-shadow:0 30px 100px #06152666;overflow:hidden}
.request-dialog:not([open]){display:none}
.request-dialog[open]{display:flex;flex-direction:column}
/* Окно и заголовок получают служебный фокус, но не являются полями ввода. */
.request-dialog:focus,.request-dialog-header h2:focus{outline:none}
.request-dialog::backdrop{background:#071425b8;backdrop-filter:blur(5px)}
.request-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 28px 0;flex-shrink:0}
.request-dialog-header .eyebrow{font-size:9px;color:#c1d2e8;letter-spacing:1.4px;margin:0 0 13px}
.request-dialog-header h2{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:500;margin:0}
.request-close{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #ffffff38;color:#e9f3ff;background:transparent;cursor:pointer}
.request-close svg{width:22px;height:22px}
.request-close:hover{background:#ffffff10}
.request-close:focus-visible{outline:2px solid #d7e9ff;outline-offset:3px}
.request-dialog-body{padding:16px 28px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#7893b4 transparent}
.request-hint{font-size:14px;line-height:1.7;color:#c1d2e8;margin:0 0 21px;max-width:465px}
.request-form{min-width:0}
.request-form[hidden],.form-status[hidden]{display:none}
.request-form fieldset{display:grid;grid-template-columns:1fr;gap:17px;border:0;padding:0;margin:0;min-width:0}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field>label{font-size:13px;font-weight:500;color:#f6f9ff}
.form-field label>span{color:#c1d2e8;margin-left:3px}
.form-field label .optional-label{font-size:11px;font-weight:400;margin-left:7px}
.request-form input:not([type=checkbox]),.request-form textarea{width:100%;min-width:0;border:1px solid #90acce;background:#ffffff07;border-radius:9px;padding:12px 14px;color:#fff;font:inherit;font-size:16px;line-height:1.5;min-height:49px;transition:border-color .2s,background .2s}
.request-form textarea{resize:vertical;min-height:116px;max-height:280px}
.request-form input::placeholder,.request-form textarea::placeholder{color:#b6c9e0;opacity:1;font-size:13px}
.request-form input:not([type=checkbox]):focus,.request-form textarea:focus{outline:none;border-color:#d7e9ff;background:#ffffff0e}
.request-form input[type=checkbox]:focus-visible{outline:2px solid #d7e9ff;outline-offset:3px}
.request-form [aria-invalid=true]{border-color:#ffc9bd!important}
.field-hint{font-size:11px;line-height:1.7;color:#c1d2e8}
.field-error{font-size:12px;line-height:1.65;color:#ffd4ca}
.field-error:empty{display:none}
.form-honeypot{display:none}
.consent-line{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start}
.consent-line input{width:22px;height:22px;accent-color:#b9d6ff;cursor:pointer;margin:4px 0 0}
.consent-line label{font-size:12px;color:#d4e0ee;line-height:1.8;cursor:pointer;min-height:44px;padding-block:3px}
.consent-line a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.consent-line a:hover{color:#c4ddff}
.form-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.form-actions button{width:100%;border:1px solid #e4efff;border-radius:100px;min-height:51px;padding:14px 24px;background:#e4efff;color:#0e2e5c;font:inherit;font-size:14px;font-weight:550;cursor:pointer;transition:background .2s}
.form-actions button:hover:not(:disabled){background:#fff}
.form-actions button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.form-actions button:disabled{cursor:wait;opacity:.7}
.form-actions>span{font-size:10px;text-align:center;color:#c1d2e8;line-height:1.7}
.form-status{font-size:13px;line-height:1.8;padding:14px 16px;border:1px solid #92abc8;border-radius:8px;margin:18px 0 0;color:#edf5ff;background:#ffffff07;overflow-wrap:anywhere}
.form-status[data-state=error]{border-color:#e7ad9d;color:#ffdbd1}
.form-status[data-state=success]{border-color:#b4d9ba;color:#dcf3df}
.form-status:focus-visible{outline:2px solid #fff;outline-offset:3px}
.form-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.policy-header{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-block:16px}
.policy-header .logo{width:240px;max-width:50%}
.policy-back{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--blue)}
.policy-main{width:min(830px,calc(100% - 48px));margin:55px auto 70px;overflow-wrap:anywhere}
.policy-main h1{font-size:40px;letter-spacing:-1.7px;line-height:1.2;margin-bottom:23px}
.policy-main h2{font-size:24px;letter-spacing:-.6px;line-height:1.4;margin:34px 0 12px}
.policy-main p,.policy-main li{font-size:15px;line-height:1.85;color:#455a70}
.policy-main a{text-decoration:underline;text-underline-offset:4px;color:var(--blue)}
.policy-main li+li{margin-top:8px}
.policy-version{font-size:12px!important;color:#596b7b}
@media(max-width:800px){.policy-main h1{font-size:34px}}
@media(max-width:520px){
.request-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:18px}
.request-dialog-header{padding:20px 20px 0;gap:12px}
.request-dialog-header h2{font-size:26px;letter-spacing:-.8px}
.request-dialog-header .eyebrow{font-size:8px;letter-spacing:1px}
.request-dialog-body{padding:14px 20px 22px}
.request-hint{font-size:13px;margin-bottom:19px}
.request-form fieldset{gap:16px}
.policy-header{gap:16px}.policy-header .logo{width:180px}.policy-back{font-size:11px;text-align:right;max-width:130px}.policy-main{width:calc(100% - 40px);margin-block:35px 50px}.policy-main h1{font-size:30px}.policy-main h2{font-size:22px}.policy-main p,.policy-main li{font-size:14px}
}
@media(max-width:360px){.request-dialog-header{padding-inline:17px}.request-dialog-body{padding-inline:17px}.request-dialog-header h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.request-form *{transition:none!important}}
