/* IMPULSE — единая навигация в стиле новой главной (Porsche-механика) */
#pnav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s ease,border-color .4s;}
#pnav.scrolled{background:rgba(10,10,10,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.12);}
.pnav-in{max-width:1280px;margin:0 auto;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;}
.pnav-logo{font-size:18px;font-weight:800;letter-spacing:.05em;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.pnav-logo::before{content:"";width:22px;height:18px;background:url(assets/brand/logo-mark.png) center/contain no-repeat;flex:0 0 auto;}
.pnav-links{display:flex;align-items:center;gap:34px;}
.pnav-links a{position:relative;font-size:14px;font-weight:500;color:rgba(255,255,255,.62);text-decoration:none;
  transition:color .3s;padding:4px 0;}
.pnav-links a:hover{color:#fff;}
.pnav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:#fff;
  transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.pnav-links a:hover::after,.pnav-links a.active::after{transform:scaleX(1);}
.pnav-links a.active{color:#fff;}
.pnav-exp{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:9px 22px !important;color:#fff !important;
  transition:background .3s,color .3s !important;}
.pnav-exp::after{display:none !important;}
.pnav-exp:hover{background:#fff;color:#0A0A0A !important;}
#pburger{display:none;width:40px;height:40px;background:none;border:none;cursor:pointer;position:relative;z-index:120;}
#pburger span{position:absolute;left:8px;right:8px;height:2px;background:#fff;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .3s;}
#pburger span:nth-child(1){top:14px;} #pburger span:nth-child(2){top:24px;}
#pburger.open span:nth-child(1){transform:translateY(5px) rotate(45deg);}
#pburger.open span:nth-child(2){transform:translateY(-5px) rotate(-45deg);}
#pmob{position:fixed;inset:0;z-index:110;background:rgba(10,10,10,.97);backdrop-filter:blur(16px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;}
#pmob.open{opacity:1;visibility:visible;}
#pmob a{font-size:28px;font-weight:700;color:#fff;text-decoration:none;opacity:0;transform:translateY(24px);
  transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);}
#pmob.open a{opacity:1;transform:none;}
@media(max-width:1100px){.pnav-links{display:none;}#pburger{display:block;}}

.pm-close{position:absolute;top:20px;right:22px;width:44px;height:44px;background:none;border:none;color:#fff;
  font-size:30px;font-weight:300;cursor:pointer;line-height:1;z-index:5;}

/* ===== Мега-меню «Сервис» (внутренние страницы) ===== */
.pnav-links .has-mega{position:relative;display:flex;align-items:center;}
.pnav-links .nav-trigger{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:14px;font-weight:500;color:rgba(255,255,255,.62);background:none;border:none;cursor:pointer;padding:4px 0;transition:color .3s;}
.pnav-links .has-mega:hover .nav-trigger,.pnav-links .has-mega:focus-within .nav-trigger{color:#fff;}
.pnav-links .nav-trigger svg{width:13px;height:13px;transition:transform .3s cubic-bezier(.22,1,.36,1);}
.pnav-links .has-mega:hover .nav-trigger svg,.pnav-links .has-mega:focus-within .nav-trigger svg{transform:rotate(180deg);}
.pnav-links .mega{position:absolute;top:calc(100% + 20px);left:-28px;min-width:680px;padding:30px 34px;border-radius:16px;background:rgba(15,16,20,.94);-webkit-backdrop-filter:saturate(160%) blur(26px);backdrop-filter:saturate(160%) blur(26px);border:1px solid rgba(255,255,255,.1);box-shadow:0 32px 90px -24px rgba(0,0,0,.8);display:grid;grid-template-columns:1.05fr 1fr;gap:40px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;}
.pnav-links .mega::before{content:"";position:absolute;top:-20px;left:0;right:0;height:20px;}
.pnav-links .has-mega:hover .mega,.pnav-links .has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);}
.pnav-links .mega-h{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:18px;}
.pnav-links .mega-h svg{width:12px;height:12px;color:#8A3FFC;}
.pnav-links .mega-h::after{display:none !important;}
.pnav-links .mega-link{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.62);font-size:15px;font-weight:400;padding:8px 0;transition:color .2s,padding-left .2s;}
.pnav-links .mega-link:hover{color:#fff;padding-left:4px;}
.pnav-links .mega-link--accent{color:#fff;font-weight:600;}
.pnav-links .mega-link::after{display:none !important;}
/* мобильное меню: список с группами */
#pmob{align-items:flex-start !important;justify-content:flex-start !important;padding:96px 28px 40px !important;overflow-y:auto;gap:2px !important;}
#pmob a{font-size:21px !important;font-weight:600 !important;padding:9px 0;}
#pmob .mm-h{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38);margin:22px 0 6px;}
#pmob .mm-h:first-of-type{margin-top:0;}

/* ===== Единый футер (site-footer) для внутренних страниц ===== */
.site-footer{border-top:1px solid rgba(255,255,255,.12);padding:clamp(60px,7vw,92px) 0 34px;margin-top:clamp(70px,9vw,130px);}
.site-footer .sf-in{max-width:1280px;margin:0 auto;padding:0 32px;}
.site-footer .sf-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(28px,4vw,64px);}
.site-footer .sf-logo{font-weight:800;letter-spacing:.04em;font-size:20px;color:#fff;}
.site-footer .sf-tag{color:rgba(255,255,255,.6);font-weight:300;font-size:14px;line-height:1.65;margin-top:16px;max-width:40ch;}
.site-footer .sf-social{display:flex;gap:12px;margin-top:22px;}
.site-footer .sf-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);transition:color .25s,border-color .25s;}
.site-footer .sf-social a:hover{color:#fff;border-color:rgba(255,255,255,.5);}
.site-footer .sf-social svg{width:18px;height:18px;}
.site-footer .sf-col{display:flex;flex-direction:column;gap:12px;}
.site-footer .sf-h{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:4px;}
.site-footer .sf-col a{color:rgba(255,255,255,.6);font-size:14px;font-weight:300;transition:color .2s;}
.site-footer .sf-col a:hover{color:#fff;}
.site-footer .sf-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid rgba(255,255,255,.12);}
.site-footer .sf-bottom small{color:rgba(255,255,255,.38);font-size:13px;}
.site-footer .sf-legal{display:flex;gap:20px;}
.site-footer .sf-legal a{color:rgba(255,255,255,.38);font-size:13px;transition:color .2s;}
.site-footer .sf-legal a:hover{color:#fff;}
@media(max-width:820px){.site-footer .sf-top{grid-template-columns:1fr 1fr;}.site-footer .sf-brand{grid-column:1/-1;}}
@media(max-width:520px){.site-footer .sf-top{grid-template-columns:1fr;}.site-footer .sf-in{padding:0 24px;}}

/* ===== Капс-заголовки на маркетинговых страницах (medium, НЕ болд) ===== */
.mkt h1, .mkt h2{text-transform:uppercase;font-weight:500 !important;letter-spacing:-.01em;line-height:1.03;}

/* ===== Асимметричный FAQ на внутренних страницах (заголовок слева + вопросы справа) ===== */
.faq-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,96px);align-items:start;}
.faq-aside{position:sticky;top:110px;}
.faq-grid .acc{margin-top:0;}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px;}.faq-aside{position:static;}}

/* ---------- Переключатель языка RU/EN ----------
   Цвета с !important: на внутренних страницах другие правила перебивали
   цвет неактивного языка, и текст сливался с фоном (баг 01.08.2026).
   .active приравнен к .on: тёмный текст допустим только на белой пилюле. */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin-left:6px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:3px;}
.lang-switch a{font-size:12px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.55) !important;background:transparent !important;opacity:1 !important;transform:none !important;padding:5px 10px;border-radius:999px;line-height:1;transition:color .2s,background .2s;}
.lang-switch a:hover{color:#fff !important;}
.lang-switch a.on{color:#0A0A0A !important;background:#fff !important;}
#pmob .lang-switch{margin:14px 0 0;}
/* Переключатель языка: фиксы */
.lang-switch a::after{display:none !important;}
#pmob .lang-switch{order:-1;margin:0 0 22px !important;align-self:flex-start;}
#pmob .lang-switch a{font-size:13px !important;font-weight:600 !important;padding:7px 16px !important;opacity:1 !important;transform:none !important;}
/* индекс: мобильное меню #mobmenu тоже поддерживает переключатель */
/* Переключатель вверху меню — одинаково на главной (#mobmenu) и на внутренних (#pmob).
   Раньше на главной он стоял в конце списка: чтобы сменить язык, надо было
   пролистать всё меню до конца. */
#mobmenu .lang-switch{order:-1;margin:0 0 22px !important;align-self:flex-start;}
#mobmenu .lang-switch a{font-size:13px !important;font-weight:600 !important;padding:7px 16px !important;opacity:1 !important;transform:none !important;}

/* ============================================================
   Мобильное меню: «Решения» и «Услуги» свёрнуты в аккордеоны.
   Было 22 ссылки подряд — список не помещался на экран.
   ============================================================ */
#pmob .mm-group, #mobmenu .mm-group{width:100%;border-bottom:1px solid rgba(255,255,255,.09);}
#pmob .mm-group summary, #mobmenu .mm-group summary{
  list-style:none;cursor:pointer;position:relative;
  padding:15px 40px 15px 0;
  font-size:20px;font-weight:650;color:#fff;letter-spacing:-.012em;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;}
#pmob .mm-group summary::-webkit-details-marker,
#mobmenu .mm-group summary::-webkit-details-marker{display:none;}
#pmob .mm-group summary::after, #mobmenu .mm-group summary::after{
  content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-7px;
  border-right:1.8px solid rgba(255,255,255,.5);border-bottom:1.8px solid rgba(255,255,255,.5);
  transform:rotate(45deg);transition:transform .25s ease;}
#pmob .mm-group[open] summary::after, #mobmenu .mm-group[open] summary::after{
  transform:rotate(-135deg);margin-top:-2px;}
#pmob .mm-links, #mobmenu .mm-links{
  display:flex;flex-direction:column;padding:2px 0 14px;}
/* ссылки внутри группы — мельче заголовка группы, чтобы читалась иерархия */
#pmob .mm-links a, #mobmenu .mm-links a{
  font-size:16px !important;font-weight:500 !important;
  color:rgba(255,255,255,.74);padding:11px 0 !important;min-height:44px;
  display:flex;align-items:center;}
#pmob .mm-links a:active, #mobmenu .mm-links a:active{color:#fff;}
/* «Компания» остаётся раскрытой — там всего 6 пунктов */
#pmob .mm-h, #mobmenu .mm-h{margin:20px 0 4px !important;}
