:root{--header-h:116px;--cab-navy:#08131f;--cab-navy-2:#0d2942;--cab-navy-3:#164f7b;--cab-sky:#55d5ff}
.site-header{position:sticky!important;top:0!important;z-index:1000!important;background:linear-gradient(125deg,rgba(8,19,31,.98),rgba(13,41,66,.97) 58%,rgba(22,79,123,.96))!important;color:#fff!important;box-shadow:0 12px 35px rgba(8,19,31,.24)!important;backdrop-filter:blur(14px)}
.site-header::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 62%,rgba(85,213,255,.08) 62% 63%,transparent 63% 72%,rgba(255,255,255,.05) 72% 73%,transparent 73%)}.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--cab-navy-3),var(--cab-sky),var(--cab-navy-3))}
.site-header .header-inner{position:relative;max-width:1500px!important;margin:auto;min-height:var(--header-h);padding:16px 28px;display:flex;align-items:center;gap:14px}.site-header .header-actions{display:flex!important;flex:0 0 auto;gap:8px;order:1}.site-header .brand{display:flex;align-items:center;gap:15px;min-width:0;margin-right:auto;order:2}.site-header .brand-logo-link{width:92px;flex:0 0 92px;display:grid;place-items:center;border-radius:14px}.site-header .logo{display:block;width:92px;height:66px;object-fit:contain}.site-header .brand h1{margin:0;max-width:710px;color:#fff;font-size:clamp(17px,2vw,27px);font-weight:800;letter-spacing:-.02em;line-height:1.15}.site-header .top-nav{display:flex;order:3;gap:8px;margin-left:auto;align-items:center}.site-header .top-nav a,.site-header .top-nav summary{padding:8px 12px;border-radius:999px;color:#d6e4f2;text-decoration:none;font-size:13px;white-space:nowrap;cursor:pointer;list-style:none}.site-header .top-nav a:hover,.site-header .top-nav summary:hover,.site-header .top-nav .is-active{background:#164f7b;color:#fff}.site-header .top-nav details{position:relative;z-index:30}.site-header .top-nav details>summary{display:flex;align-items:center;gap:2px}.site-header .top-nav details>summary::after{content:"+";display:inline-flex;align-items:center;justify-content:center;margin-left:8px;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;color:var(--cab-sky);font-size:15px;font-weight:700;line-height:1}.site-header .top-nav details[open]>summary::after{content:"−"}.site-header .top-subnav{position:absolute;z-index:40;top:calc(100% + 10px);left:0;min-width:220px;padding:8px;border-top:2px solid var(--cab-sky);border-radius:10px;background:#0d2942;box-shadow:0 16px 34px rgba(0,0,0,.28)}.site-header .top-subnav::before{content:"";position:absolute;top:-12px;left:24px;border:5px solid transparent;border-bottom-color:var(--cab-sky)}.site-header .top-subnav a{display:block}.site-header .services-nav .service-subnav{left:50%;min-width:270px;transform:translateX(-50%)}.site-header .services-nav .service-subnav::before{left:50%!important;transform:translateX(-50%)}.site-header .services-nav.is-active>summary,.site-header .education-nav.is-active>summary{background:#176299;color:#fff}.site-header .icon-btn{width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}.site-header .login-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-size:13px;font-weight:800}.site-header .login-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.site-header .mobile-menu-btn{display:none}
.site-footer{margin-top:40px!important;background:linear-gradient(135deg,var(--cab-navy),var(--cab-navy-2))!important;color:#fff!important}.site-footer .footer-inner{max-width:1500px!important;margin:auto!important;padding:35px 28px!important;display:grid!important;grid-template-columns:1.15fr .75fr .75fr 1fr!important;gap:28px!important}.site-footer .footer-inner h2,.site-footer .footer-inner h3{margin-top:0}.site-footer .footer-inner p,.site-footer .footer-inner a{color:#bed0e2}.site-footer .footer-inner a:hover{color:var(--cab-sky)}.site-footer .footer-nav{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important}.site-footer .footer-nav h3{margin-bottom:4px}.site-footer .socials{display:flex;gap:9px}.site-footer .socials a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;text-decoration:none}.site-footer .footer-cta{position:relative;display:inline-flex;isolation:isolate;overflow:hidden;margin-top:10px;padding:10px 14px;border:1px solid rgba(85,213,255,.72);border-radius:10px;background:linear-gradient(105deg,#0c4773,#1675b5 42%,#1ea7da 72%,#0d3b61);background-size:220% 100%;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(17,107,161,.28)}.site-footer .footer-cta::before{content:"";position:absolute;z-index:-1;inset:0;width:48%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.52),transparent);transform:translateX(-220%) skewX(-22deg);animation:cabFooterShine 3.8s ease-in-out infinite}@keyframes cabFooterShine{0%,28%{transform:translateX(-220%) skewX(-22deg)}64%,100%{transform:translateX(330%) skewX(-22deg)}}.site-footer .copyright{grid-column:1/-1;display:flex!important;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#91a9c2}.site-footer .copyright a{text-decoration:none}
@media(max-width:992px){:root{--header-h:91px}.site-header .header-inner{padding:11px 12px;gap:6px}.site-header .header-actions{display:none!important}.site-header .brand-logo-link{width:48px;flex-basis:48px}.site-header .logo{width:48px;height:38px}.site-header .brand h1{font-size:0}.site-header .brand h1::after{content:"Центр Аналитика Бизнеса";font-size:14px;white-space:nowrap;letter-spacing:-.03em}.site-header .mobile-menu-btn{display:grid;place-items:center;order:3;margin-left:auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:19px}.site-header .top-nav{display:none;order:4}.site-header .top-nav.is-open{display:flex;position:absolute;top:100%;left:14px;right:14px;flex-direction:column;padding:10px;border-radius:0 0 12px 12px;background:#0d2942;z-index:120}.site-header .top-nav.is-open a,.site-header .top-nav.is-open summary{color:#fff}.site-header .services-nav,.site-header .education-nav{width:100%}.site-header .services-nav>summary,.site-header .education-nav>summary{justify-content:space-between;width:100%;padding:8px 10px}.site-header .services-nav .service-subnav,.site-header .education-nav>.top-subnav{position:static;min-width:0;margin:2px 0 4px;padding:4px;transform:none;box-shadow:none;background:rgba(255,255,255,.07)}.site-header .top-subnav::before{display:none}.site-header .services-nav .service-subnav a,.site-header .education-nav>.top-subnav a{padding:9px 13px 9px 23px!important}.site-header .mobile-auth-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 8px;border-top:1px solid rgba(255,255,255,.16);color:#fff}.site-header .mobile-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%}.site-header .mobile-avatar svg{width:18px;height:18px}.site-header .auth-label{flex:1;font-size:13px}.site-header .auth-action{border:0;background:transparent;color:var(--cab-sky);font-size:24px;cursor:pointer;padding:2px 8px}.site-footer .footer-inner{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:768px){.site-footer .footer-inner{grid-template-columns:1fr!important;padding:30px 18px!important}.site-footer .copyright{grid-column:auto;flex-direction:column;gap:10px}}
/* В десктопном хедере не показывается мобильный профиль. */
.site-header .mobile-auth-row{display:none!important}.site-header .brand-logo-link{position:relative;top:-5px}
@media(max-width:992px){.site-header .mobile-auth-row{display:flex!important}.site-header .brand-logo-link{top:0}}
/* Контакты читаются в том же кегле, что навигация и документы. */
.site-footer .footer-nav a,.site-footer .footer-contacts p,.site-footer .footer-contacts p a{font-size:16px!important;line-height:1.65!important;font-weight:400!important}
/* Сбалансированная сетка футера: документы читаются в одну строку, колонки выровнены. */
@media(min-width:993px){.site-footer .footer-inner{grid-template-columns:minmax(360px,1.25fr) minmax(180px,.82fr) minmax(320px,1.05fr) minmax(210px,.88fr)!important;column-gap:48px!important;row-gap:28px!important;align-items:start!important}.site-footer .footer-inner>div,.site-footer .footer-inner>nav{min-width:0}.site-footer .footer-nav a{max-width:100%}}
/* Контент остаётся доступным, даже если дополнительная анимация страницы не запустилась. */
.reveal{opacity:1!important;transform:none!important}
/* Ритм и типографика контактов в общем футере. */
.site-footer .footer-about .footer-cta{margin-top:22px!important}
.site-footer .footer-contacts p{margin:0!important}
.site-footer .footer-contacts p a{text-decoration:none!important}
/* Контакты повторяют вертикальный ритм соседней навигационной колонки. */
.site-footer .footer-contacts h3{margin-bottom:4px!important}
.site-footer .footer-contact-list{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.site-footer .footer-contact-list span,.site-footer .footer-contact-list a{font-size:16px!important;line-height:1.65!important;font-weight:400!important;text-decoration:none!important;color:#bed0e2}
.site-footer .socials{margin-top:20px;gap:10px}
.site-footer .socials a{width:48px;height:42px;border-radius:12px;border:1px solid rgba(85,213,255,.46);background:linear-gradient(135deg,rgba(30,119,178,.52),rgba(11,41,66,.82));color:#eaf8ff!important;font-size:14px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 18px rgba(0,0,0,.17);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.site-footer .socials a:hover{transform:translateY(-2px);border-color:#55d5ff;background:linear-gradient(135deg,#1b8ec9,#11527e)}
#consultation{scroll-margin-top:calc(var(--header-h) + 18px)}
/* Мобильный хедер: логотип, название и меню всегда находятся в одной строке. */
@media(max-width:992px){
  .site-header .header-inner{flex-direction:row!important;flex-wrap:nowrap!important;min-height:64px!important}
  .site-header .brand{flex:1 1 auto!important;min-width:0!important;margin-right:0!important;gap:8px!important;overflow:hidden}
  .site-header .brand>div,.site-header .brand h1{min-width:0!important;overflow:hidden}
  .site-header .brand h1::after{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .site-header .mobile-menu-btn{flex:0 0 36px!important;margin-left:0!important}
}
@media(max-width:420px){
  .site-header .header-inner{padding-left:10px!important;padding-right:10px!important}
  .site-header .brand-logo-link{width:43px!important;flex-basis:43px!important}
  .site-header .logo{width:43px!important;height:35px!important}
  .site-header .brand h1::after{font-size:12px!important}
}
/* Компактная нижняя навигация для мобильных устройств. */
.cab-mobile-bottom-nav{display:none}
@media(max-width:992px){body{padding-bottom:82px!important}.cab-mobile-bottom-nav{position:fixed;z-index:1200;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(76px,1fr));align-items:stretch;width:min(calc(100% - 24px),360px);min-height:60px;padding:5px;border:1px solid rgba(85,213,255,.4);border-radius:18px;background:rgba(8,27,45,.94);box-shadow:0 12px 32px rgba(3,12,22,.32),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(14px)}.cab-bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;border-radius:13px;color:#d8e8f5!important;text-decoration:none!important;font:700 10px/1.1 var(--font,Manrope,Arial,sans-serif);letter-spacing:.01em}.cab-bottom-nav__item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cab-bottom-nav__item--support{background:linear-gradient(135deg,#176ba2,#1daddb);color:#fff!important;box-shadow:0 5px 14px rgba(27,150,207,.32)}.cab-bottom-nav__item:active{transform:scale(.96)}}
@media(max-width:992px){.cab-mobile-bottom-nav{grid-template-columns:repeat(4,minmax(64px,1fr));width:min(calc(100% - 20px),420px)}.cab-bottom-nav__item--cart{position:relative}.cab-cart-count{position:absolute;top:2px;right:calc(50% - 27px);display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #0b2339;border-radius:999px;background:#55d5ff;color:#082038;font-size:10px;line-height:1}.cab-cart-count[hidden]{display:none}}
.catalog-buy-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--navy-3);cursor:pointer;transition:.2s}.catalog-buy-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.catalog-buy-button:hover,.catalog-buy-button:focus-visible,.catalog-buy-button.is-selected{border-color:var(--sky);background:var(--navy-3);color:#fff;box-shadow:0 5px 14px rgba(22,117,181,.25)}.catalog-buy-button.is-selected{background:#1675b5}.program-card__actions{display:flex;justify-content:flex-end;margin-top:13px}.catalog-list th:last-child,.catalog-list td:last-child{text-align:center;width:58px}
/* На мобильных хедер фиксирован, а корневой контейнер не даёт странице расширяться по горизонтали. */
@media(max-width:992px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-top:var(--header-h)!important}
  .site-header{position:fixed!important;top:0!important;right:0!important;left:0!important;width:100%!important}
}
/* Корзина не меняет ширину мобильной панели: четыре равные компактные ячейки. */
@media(max-width:992px){
  .cab-mobile-bottom-nav{width:calc(100% - 24px)!important;max-width:360px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .cab-bottom-nav__item{min-width:0!important;overflow:hidden}
  .cab-bottom-nav__item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cab-cart-count{right:3px!important;top:2px!important;pointer-events:none}
}
/* Совместимое залипание хедера на мобильных без выпадения из потока страницы. */
@media(max-width:992px){
  body{padding-top:0!important}
  .site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;right:auto!important;left:auto!important;width:auto!important}
  .cab-mobile-bottom-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:calc(100% - 48px)!important;max-width:336px!important}
}
/* Фиксация по краям viewport: без transform и без смещения вправо. */
@media(max-width:992px){
  .cab-mobile-bottom-nav{left:12px!important;right:12px!important;transform:none!important;width:auto!important;max-width:none!important;margin:0!important;box-sizing:border-box!important}
}
/* `clip` не создаёт новый контейнер прокрутки и сохраняет sticky-хедер на мобильных. */
@media(max-width:992px){
  html,body{overflow-x:clip!important}
  .site-header{position:-webkit-sticky!important;position:sticky!important;z-index:2000!important}
}
