/* Full homepage navigation and a shared call/callback dialog. */
.ap-homepage .ap-header-inner{display:grid;grid-template-columns:280px minmax(0,1fr) auto 44px;grid-template-areas:"brand address phone menu" "nav nav nav nav";column-gap:30px;row-gap:0;height:auto;padding-top:12px}
.ap-homepage .ap-header .ap-brand{grid-area:brand;display:block;width:280px;height:40px;margin:0;flex:none}
.ap-homepage .ap-header-address{grid-area:address;justify-self:end;font-size:13px}
.ap-homepage .ap-header-phone{grid-area:phone;font-size:17px;min-height:48px}
.ap-homepage .ap-header .ap-menu-toggle{grid-area:menu;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:9px;border:1px solid #dce6f4;border-radius:12px;background:#f4f8ff;color:#073e89;cursor:pointer}
.ap-homepage .ap-header .ap-menu-toggle .ap-icon{width:24px;height:24px}
.ap-homepage .ap-header .ap-menu-toggle:hover{background:#e6f0ff}
.ap-homepage .ap-desktop-nav{grid-area:nav;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;flex:none;margin-top:12px;border-top:1px solid #e9eef6;font-size:15px;white-space:nowrap}
.ap-homepage .ap-desktop-nav a{display:block;padding:14px 0;line-height:1.2}
.ap-homepage .ap-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ap-homepage .ap-navigation{position:fixed;inset:0;z-index:999985;display:flex;justify-content:flex-end;background:#03132e91;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overscroll-behavior:contain;font-family:"AP Roboto",Arial,sans-serif}
.ap-homepage .ap-navigation-panel{width:min(100%,460px);height:100%;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#08234d;color:#fff;padding:28px 32px max(28px,env(safe-area-inset-bottom));box-shadow:-18px 0 60px #00102e33;scrollbar-width:thin;scrollbar-color:#526a90 #08234d}
.ap-homepage .ap-navigation-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.ap-homepage .ap-navigation-brand{display:block;width:230px;height:44px;padding:4px 10px;border-radius:8px;background:#fff;overflow:hidden}
.ap-homepage .ap-navigation-brand img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 48%;border:0}
.ap-homepage .ap-navigation-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:9px;margin:0;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.ap-homepage .ap-navigation-close:hover{background:#ffffff15}
.ap-homepage .ap-navigation-links{display:grid}
.ap-homepage .ap-navigation-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:61px;padding:14px 0;border-bottom:1px solid #ffffff24;color:#fff;text-decoration:none;font:400 25px/1.25 "AP Roboto",Arial,sans-serif}
.ap-homepage .ap-navigation-links a>.ap-icon{width:21px;height:21px;transform:rotate(-45deg);stroke-width:1.4}
.ap-homepage .ap-navigation-links a:hover,.ap-homepage .ap-navigation-links a:focus-visible{color:#92c8ff}
.ap-homepage .ap-navigation-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding:16px 18px;min-height:54px;border-radius:12px;background:#ff071d;color:#fff;text-decoration:none;font:500 16px/1.3 "AP Roboto",Arial,sans-serif}
.ap-homepage .ap-navigation-cta:hover{background:#e00018;color:#fff}
.ap-homepage .ap-navigation-contact{display:flex;align-items:center;gap:12px;margin-top:24px;color:#fff;text-decoration:none}
.ap-homepage .ap-navigation-contact>img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid #fff}
.ap-homepage .ap-navigation-contact>span{display:grid;gap:5px}
.ap-homepage .ap-navigation-contact>span>span{font:400 13px/1.2 "AP Roboto",Arial,sans-serif;color:#b6cce7}
.ap-homepage .ap-navigation-contact strong{font:500 18px/1.2 "AP Roboto",Arial,sans-serif;color:#fff}
.ap-homepage .ap-navigation-contact>.ap-icon{width:22px;height:22px;margin-left:auto}
.ap-homepage .ap-navigation-address{display:block;margin-top:18px;color:#b6cce7;text-decoration:none;font:400 13px/1.5 "AP Roboto",Arial,sans-serif}
.ap-homepage .ap-navigation :is(a,button):focus-visible{outline:2px solid #92c8ff;outline-offset:4px}
.ap-homepage.ap-dialog-open .ap-contact-widget{visibility:hidden}
.ap-homepage .ap-sergey-panel{width:min(100%,460px);padding:32px;border-radius:24px}
.ap-homepage .ap-sergey-photo{display:block;width:88px;height:88px;margin:0 auto 12px;object-fit:cover;border:4px solid #e8f2ff;border-radius:50%;box-shadow:0 3px 18px #154d9120}
.ap-homepage .ap-sergey-company{display:block;text-align:center;font:500 12px/1.3 "AP Roboto",Arial,sans-serif;text-transform:uppercase;letter-spacing:1.2px;color:#547192;margin-bottom:10px}
.ap-homepage .ap-sergey-panel #ap-consultation-title{font:700 26px/1.16 "AP Roboto",Arial,sans-serif;text-align:center;letter-spacing:-.5px;margin:0 0 15px;color:#061653}
.ap-homepage .ap-sergey-panel .ap-dialog-intro{text-align:center;font-size:14px;line-height:1.5;margin:0 0 18px;color:#61718a}
.ap-homepage .ap-sergey-number{display:block;margin:4px 0 22px;text-align:center;color:#123b75;text-decoration:none;font:700 25px/1.3 "AP Roboto",Arial,sans-serif;white-space:nowrap}
.ap-homepage .ap-sergey-call{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;padding:14px 20px;background:#1261e8;color:#fff;border-radius:12px;text-decoration:none;font:500 17px/1.3 "AP Roboto",Arial,sans-serif}
.ap-homepage .ap-sergey-call:hover{background:#0954d3;color:#fff}
.ap-homepage .ap-sergey-callback{display:block;width:100%;min-height:48px;margin:10px 0 0;padding:12px;border:1px solid #dce6f4;border-radius:12px;background:#f6f9fe;color:#174a93;cursor:pointer;font:500 14px/1.3 "AP Roboto",Arial,sans-serif;letter-spacing:normal;text-transform:none}
.ap-homepage .ap-sergey-callback:hover{background:#ebf3ff}
@media(min-width:768px) and (max-width:1100px){
 .ap-homepage .ap-header-inner{grid-template-columns:240px minmax(0,1fr) auto 44px;column-gap:20px}
 .ap-homepage .ap-header .ap-brand{width:240px}
 .ap-homepage .ap-header-address{display:none}
 .ap-homepage .ap-desktop-nav{font-size:13px;gap:12px}
}
@media(max-width:767px){
 .ap-homepage .ap-header-inner{grid-template-columns:minmax(0,1fr) 42px 42px;grid-template-areas:"brand phone menu";column-gap:10px;min-height:68px;padding:10px 16px}
 .ap-homepage .ap-header .ap-brand{width:min(100%,260px);height:34px}
 .ap-homepage .ap-header .ap-header-phone{display:grid;place-items:center;width:42px;height:44px;min-height:44px;padding:0;gap:0}
 .ap-homepage .ap-header .ap-header-phone .ap-icon{width:25px;height:25px}
 .ap-homepage .ap-header .ap-menu-toggle{width:42px;min-width:42px;height:44px}
 .ap-homepage .ap-header-address,.ap-homepage .ap-header-phone span,.ap-homepage .ap-desktop-nav{display:none}
 .ap-homepage .ap-navigation-panel{width:min(100%,420px);padding:20px 22px max(24px,env(safe-area-inset-bottom))}
 .ap-homepage .ap-navigation-top{margin-bottom:18px;gap:14px}
 .ap-homepage .ap-navigation-brand{width:205px;height:40px}
 .ap-homepage .ap-navigation-links a{min-height:53px;padding:13px 0;font-size:23px}
 .ap-homepage .ap-navigation-cta{margin-top:22px;padding:16px;font-size:15px}
 .ap-homepage .ap-navigation-contact strong{font-size:17px}
 .ap-homepage .ap-sergey-panel{padding:30px 22px 24px}
 .ap-homepage .ap-sergey-photo{width:76px;height:76px}
 .ap-homepage .ap-sergey-panel #ap-consultation-title{font-size:24px}
 .ap-homepage .ap-sergey-number{font-size:23px}
}
@media(prefers-reduced-motion:no-preference){
 .ap-homepage .ap-navigation:not([hidden]) .ap-navigation-panel{animation:ap-drawer-enter .22s ease-out}
 @keyframes ap-drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
}
