:root { --shell-navy:#081127; --shell-violet:#6843f2; --shell-lime:#a7f51d; }
body.site-shell-menu-open { overflow:hidden; }
.site-shell-header { position:absolute; inset:0 0 auto; z-index:9900; height:132px; color:#fff; background:transparent; transition:height .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease; }
.site-shell-header.is-sticky { position:fixed; height:88px; background:rgba(8,17,39,.96); box-shadow:0 12px 34px rgba(0,0,0,.18); backdrop-filter:blur(18px); animation:shell-slide-in .32s ease both; }
@keyframes shell-slide-in { from { transform:translateY(-100%); } to { transform:translateY(0); } }
.site-shell-inner { position:relative; width:min(1180px,calc(100% - 40px)); height:100%; margin:0 auto; display:grid; grid-template-columns:170px minmax(0,1fr) 220px; align-items:center; gap:24px; }
.site-shell-logo,.site-shell-drawer-logo,.site-shell-footer__logo { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-decoration:none; }
.site-shell-logo { justify-self:start; width:132px; }
.site-shell-logo img { width:68px; height:68px; object-fit:contain; transition:width .25s ease,height .25s ease; }
.site-shell-logo span,.site-shell-drawer-logo span { margin-top:-4px; font:800 27px/1 Arial,sans-serif; letter-spacing:4px; }
.site-shell-header.is-sticky .site-shell-logo img { width:48px; height:48px; }
.site-shell-header.is-sticky .site-shell-logo span { font-size:21px; letter-spacing:3px; }
.site-shell-drawer { display:contents; }
.site-shell-drawer-head,.site-shell-overlay { display:none; }
.site-shell-nav { display:flex; justify-content:center; align-items:center; gap:25px; }
.site-shell-nav>a,.site-shell-capabilities-toggle,.site-shell-phone { color:#fff; font-family:Arial,sans-serif; font-size:16px; font-weight:600; text-decoration:none; transition:color .2s ease; }
.site-shell-nav>a:hover,.site-shell-nav>a[aria-current="page"],.site-shell-capabilities-toggle:hover,.site-shell-phone:hover { color:var(--shell-lime); }
.site-shell-phone { justify-self:end; font-size:18px; white-space:nowrap; }
.site-shell-capabilities { position:relative; }
.site-shell-capabilities-toggle { display:flex; align-items:center; gap:6px; padding:0; border:0; background:transparent; line-height:30px; cursor:pointer; }
.site-shell-capabilities-toggle span { display:block; width:8px; height:8px; flex:0 0 8px; margin-top:-4px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .22s ease; }
.site-shell-capabilities.is-open>.site-shell-capabilities-toggle { color:var(--shell-lime); }
.site-shell-capabilities.is-open>.site-shell-capabilities-toggle span { transform:rotate(225deg); }
.site-shell-submenu { position:absolute; top:calc(100% + 18px); left:50%; z-index:3; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; width:510px; padding:12px; border:1px solid rgba(105,92,255,.14); border-radius:22px; background:rgba(255,255,255,.97); box-shadow:0 24px 70px rgba(22,34,92,.2); backdrop-filter:blur(18px); opacity:0; visibility:hidden; transform:translate(-50%,12px) scale(.97); transform-origin:50% 0; transition:opacity .22s ease,visibility .22s ease,transform .22s ease; }
.site-shell-submenu a { display:flex; min-height:62px; align-items:center; gap:11px; padding:10px 12px; border:1px solid transparent; border-radius:15px; color:#111b3b; font:600 14px/1.25 Arial,sans-serif; text-decoration:none; transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease; }
.site-shell-submenu a:hover,.site-shell-submenu a:focus-visible { color:#3422a8; border-color:rgba(98,72,255,.16); background:linear-gradient(135deg,rgba(230,255,242,.9),rgba(239,235,255,.96)); box-shadow:0 9px 24px rgba(72,55,180,.1); transform:translateY(-1px); }
.site-shell-capability-icon { display:flex; width:38px; height:38px; flex:0 0 38px; align-items:center; justify-content:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,#8051ff 0%,#5925e8 52%,#3512ad 100%)!important; box-shadow:0 8px 20px rgba(79,38,211,.28); }
.site-shell-capability-icon::before,.site-shell-capability-icon::after { content:none!important; display:none!important; }
.site-shell-capability-icon i { font-size:15px; }
.site-shell-capabilities:focus-within .site-shell-submenu,.site-shell-capabilities.is-open .site-shell-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
@media (hover:hover) and (pointer:fine) {
  .site-shell-capabilities:hover .site-shell-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
}
.site-shell-toggle { position:relative; z-index:4; display:none; width:48px; height:48px; padding:12px; border:1px solid rgba(255,255,255,.22); border-radius:13px; background:rgba(255,255,255,.07); cursor:pointer; transition:border-color .25s ease,background .25s ease; }
.site-shell-toggle span { display:block; height:3px; margin:4px 0; border-radius:4px; background:#fff; transform-origin:center; transition:transform .28s cubic-bezier(.22,.8,.22,1),opacity .18s ease; }
.site-shell-close { display:none; }
.site-shell-footer { padding:78px 0 38px; color:#fff; background:#0a1230; font-family:Arial,sans-serif; }
.site-shell-footer__inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.site-shell-footer__top { display:grid; grid-template-columns:180px 1fr auto; gap:36px; align-items:center; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.1); }
.site-shell-footer__logo { width:150px; }
.site-shell-footer__logo img { display:block; width:78px; height:78px; object-fit:contain; filter:none!important; }
.site-shell-footer__logo span { margin-top:-4px; color:#fff; font:800 27px/1 Arial,sans-serif; letter-spacing:4px; }
.site-shell-footer__nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; }
.site-shell-footer a { color:rgba(255,255,255,.76); text-decoration:none; }
.site-shell-footer a:hover { color:var(--shell-lime); }
.site-shell-footer__nav a { font-size:14px; font-weight:750; }
.site-shell-socials { display:flex; gap:9px; }
.site-shell-socials a { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.06); }
.site-shell-socials svg { width:20px; height:20px; fill:currentColor; }
.site-shell-socials span { font-size:10px; font-weight:900; letter-spacing:-.03em; }
.site-shell-footer__contacts { display:grid; grid-template-columns:1fr 1fr auto; gap:24px; align-items:end; padding:38px 0; }
.site-shell-footer__contacts>div { display:grid; gap:7px; }
.site-shell-footer__contacts span { color:rgba(255,255,255,.45); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.site-shell-footer__contacts div a { color:#fff; font-size:clamp(21px,2.6vw,34px); font-weight:800; letter-spacing:-.03em; }
.site-shell-requisites { padding:14px 21px; border:1px solid rgba(167,245,29,.55); border-radius:13px; color:#b9ff39!important; font-weight:800; }
.site-shell-footer__bottom { display:grid; grid-template-columns:1.2fr 1fr auto; gap:22px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); }
.site-shell-footer__bottom p { margin:0; color:rgba(255,255,255,.52); font-size:12px; line-height:1.6; }
.site-shell-footer__legal { display:grid; gap:7px; font-size:12px; }
@media (max-width:960px) {
  .site-shell-inner { grid-template-columns:150px 1fr 48px; }
  .site-shell-toggle { display:block; grid-column:3; justify-self:end; }
  .site-shell-overlay { position:fixed; inset:0; z-index:1; display:block; background:rgba(4,9,25,.62); opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s ease; }
  .site-shell-overlay.is-open { opacity:1; visibility:visible; }
  .site-shell-drawer { position:fixed; top:0; bottom:0; left:0; z-index:2; display:flex; width:min(300px,82vw); padding:30px 0 0; flex-direction:column; overflow:hidden; color:#0a1426; background:#fff; box-shadow:24px 0 70px rgba(0,0,0,.25); transform:translateX(-105%); transition:transform .32s cubic-bezier(.22,.8,.22,1); }
  .site-shell-drawer.is-open { transform:translateX(0); }
  body.site-shell-menu-open .site-shell-header { animation:none; transform:none; backdrop-filter:none; }
  .site-shell-drawer-head { display:flex; width:100%; align-items:center; justify-content:center; min-height:190px; padding:0 24px 22px; }
  .site-shell-drawer-logo { width:max-content; margin:0 auto; color:#0a1426; }
  .site-shell-drawer-logo img { width:84px; height:84px; object-fit:contain; }
  .site-shell-drawer-logo span { font-size:26px; letter-spacing:4px; }
  .site-shell-close { display:none; }
  body.site-shell-menu-open .site-shell-toggle { border-color:rgba(255,255,255,.32); background:rgba(255,255,255,.1); }
  body.site-shell-menu-open .site-shell-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  body.site-shell-menu-open .site-shell-toggle span:nth-child(2) { opacity:0; transform:scaleX(.2); }
  body.site-shell-menu-open .site-shell-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .site-shell-nav { display:block; min-height:0; flex:1 1 auto; overflow-x:hidden; overflow-y:auto; }
  .site-shell-nav>a,.site-shell-capabilities-toggle { display:flex; width:100%; min-height:60px; align-items:center; justify-content:space-between; padding:0 28px; border:0; border-bottom:1px solid #e5e7eb; color:#0a1426; background:#fff; font-size:18px; text-align:left; }
  .site-shell-nav>a:hover,.site-shell-nav>a[aria-current="page"],.site-shell-capabilities-toggle:hover { color:#0a1426; background:#f5f7fb; }
  .site-shell-capabilities-toggle span { margin-top:-5px; }
  .site-shell-capabilities.is-open .site-shell-capabilities-toggle span { transform:rotate(225deg); }
  .site-shell-submenu { position:static; display:grid; width:auto; max-height:0; padding:0 12px; grid-template-columns:1fr; gap:5px; overflow:hidden; border:0; border-radius:0; background:#f7f8ff; box-shadow:none; opacity:0; visibility:hidden; transform:translateY(-8px); transition:max-height .34s cubic-bezier(.22,.8,.22,1),padding .28s ease,opacity .22s ease,visibility .22s ease,transform .28s ease; }
  .site-shell-capabilities:not(.is-open) .site-shell-submenu { max-height:0; padding-top:0; padding-bottom:0; opacity:0; visibility:hidden; transform:translateY(-8px); }
  .site-shell-capabilities.is-open .site-shell-submenu { max-height:430px; padding:7px 12px 12px; opacity:1; visibility:visible; transform:translateY(0); }
  .site-shell-submenu a { min-height:54px; padding:8px 10px; border:1px solid rgba(82,64,188,.08); border-radius:14px; color:#111b3b; background:#fff; font-size:14px; }
  .site-shell-submenu a:hover,.site-shell-submenu a:focus-visible { color:#3422a8; background:linear-gradient(135deg,rgba(230,255,242,.9),rgba(239,235,255,.96)); }
  .site-shell-phone { display:block; box-sizing:border-box; height:70px; flex:0 0 70px; margin:0; padding:23px 20px; border-top:1px solid #e5e7eb; color:#0a1426; background:#fff; box-shadow:0 -12px 26px rgba(17,27,59,.06); font-size:20px; line-height:23px; text-align:center; }
  .site-shell-footer__top { grid-template-columns:150px 1fr; }
  .site-shell-socials { grid-column:1/-1; }
  .site-shell-footer__contacts { grid-template-columns:1fr 1fr; }
  .site-shell-requisites { grid-column:1/-1; justify-self:start; }
  .site-shell-footer__bottom { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .site-shell-header { height:136px; }
  .site-shell-header.is-sticky { height:84px; }
  .site-shell-inner { width:calc(100% - 28px); grid-template-columns:132px 1fr 48px; gap:10px; }
  .site-shell-logo { width:118px; }
  .site-shell-logo img { width:72px; height:72px; }
  .site-shell-logo span { font-size:24px; letter-spacing:3.5px; }
  .site-shell-header.is-sticky .site-shell-logo img { width:44px; height:44px; }
  .site-shell-header.is-sticky .site-shell-logo span { font-size:18px; }
  .site-shell-toggle { grid-column:3; }
  .site-shell-footer { padding-top:58px; }
  .site-shell-footer__inner { width:min(100% - 28px,1180px); }
  .site-shell-footer__top,.site-shell-footer__contacts,.site-shell-footer__bottom { grid-template-columns:1fr; }
  .site-shell-footer__nav { justify-content:flex-start; }
  .site-shell-socials,.site-shell-requisites { grid-column:auto; }
  .site-shell-footer__contacts div a { font-size:24px; overflow-wrap:anywhere; }
}
@media (prefers-reduced-motion:reduce) { .site-shell-header,.site-shell-drawer,.site-shell-overlay { animation:none!important; transition:none!important; } }
