/* Уточнения макета по замечаниям Макса, 10.11.2026. */
.top{padding-block:calc(env(safe-area-inset-top,0px) + 18px) 14px}
.top .wrap{gap:26px}
.top.menu-open{background:#030624;border-bottom:1px solid var(--line)}
.top .logo img{height:42px}
.nav{gap:24px;align-items:center}
.nav a{font-size:14px;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.header-contact{font-size:13px;min-height:44px;padding-inline:22px}
.language{position:relative}
.language summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:5px;min-width:54px;min-height:44px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}
.language summary::-webkit-details-marker{display:none}
.language summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.language[open] summary svg{transform:rotate(180deg)}
.language-panel{position:absolute;top:calc(100% + 10px);right:0;width:174px;padding:8px;background:#0a0e36;border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 12px 40px #0005}
.language-panel a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 12px;border-radius:8px;font-size:14px}
.language-panel a:hover,.language-panel a[aria-current]{background:#ffffff0b}
.language-panel a[aria-current]::after{content:"✓";font-size:12px}
.burger{border:1px solid var(--line);border-radius:12px;width:44px;height:44px;background:#ffffff05}
.burger span{width:20px;height:1.5px}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.mnav{background:#030624;padding-top:calc(env(safe-area-inset-top,0px) + 112px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);animation:menu-in .2s ease both}
.mnav nav a{font-size:clamp(1.3rem,5vw,1.8rem);padding-block:15px;line-height:1.35}
.mnav-foot{gap:6px;margin-top:28px}
.mnav-foot .btn{min-height:52px;font-size:14px;padding-inline:24px;margin-bottom:14px}
.mnav-foot .tel{font-size:12px;gap:8px;min-height:38px;flex-wrap:wrap}
.mnav-foot .tel b{font-size:14px}
@keyframes menu-in{from{opacity:0}to{opacity:1}}

/* Одинаковый ритм разделов без суммы двух больших отступов. */
.sec{padding-block:clamp(44px,5vw,72px)}
.sec-head{margin-bottom:clamp(28px,3.3vw,48px)}
#who{padding-bottom:clamp(24px,3vw,40px)}
.about{padding-top:clamp(24px,3vw,40px);padding-bottom:clamp(28px,3vw,44px)}
.about + .nums-sec{padding-top:clamp(28px,3vw,44px)}
.principles{margin-top:clamp(28px,3vw,40px)}
.clients{padding-block:32px 40px}
.clients-head{margin-bottom:24px}
.cta{padding-block:clamp(56px,6vw,88px)}
.foot{padding-top:clamp(40px,4vw,64px)}
.soc{flex-wrap:wrap;gap:8px}
.soc a{padding-inline:14px;font-size:13px}
.soc [hidden]{display:none}
.foot-contacts .sites{display:none}

/* 36 исходных логотипов остаются в сетке. На телефоне JS собирает две ленты. */
.client-ribbons,.client-motion{display:none}
.clients:not(.is-visible) .client-track,.clients.page-inactive .client-track{animation-play-state:paused}
.language-panel [hidden]{display:none}
@keyframes client-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:1080px){
 .top .wrap{gap:12px}
 .top .logo img{height:38px}
 .header-actions{gap:6px}
 .header-contact{display:none}
 .mnav{display:flex}
 .mnav[hidden]{display:none}
}
@media(max-width:767px){
 .top{padding-block:calc(env(safe-area-inset-top,0px) + 12px) 10px}
 .top .logo img{height:36px}
 .clients{padding-block:24px 32px}
 .clients-head{padding-inline:24px;margin-bottom:14px}
 .clients-head h2{font-size:1.35rem;padding-inline:12px}
 .clients-grid{display:grid;grid-template-rows:repeat(2,76px);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:120px;gap:6px 10px;overflow-x:auto;overscroll-behavior-x:contain}
 .clients-grid [data-reveal]{opacity:1;transform:none}
 .js .clients-grid{display:none}
 .client-ribbons{display:grid;gap:6px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
 .client-track{display:flex;width:max-content;animation:client-flow 95s linear infinite;will-change:transform}
 .client-track:nth-child(2){animation-direction:reverse;animation-duration:105s}
 .client-group{display:flex;gap:10px;padding-right:10px;flex:none}
 .client-group .cl{width:120px;height:76px;flex:none}
 .client-group img{width:120px;max-height:76px;object-fit:contain}
 .clients.paused .client-track{animation-play-state:paused}
 .js .client-motion{display:flex;position:absolute;right:0;top:50%;transform:translateY(-50%);width:36px;height:36px;align-items:center;justify-content:center;color:#fff;border:1px solid var(--line);border-radius:50%;background:var(--navy);cursor:pointer}
 .client-motion svg{width:12px;height:12px;fill:currentColor}
 .client-motion .play-icon{display:none}
 .clients.paused .pause-icon{display:none}
 .clients.paused .play-icon{display:block}
 .mnav nav a{padding-block:14px}
}
@media(max-height:600px) and (max-width:1080px){
 .mnav{padding-top:88px}
 .mnav nav a{font-size:20px;padding-block:10px}
 .mnav-foot{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
 .client-track{animation:none!important;transform:none!important}
 .client-ribbons{overflow-x:auto;mask-image:none}
 .client-track{will-change:auto}
 .js .client-motion{display:none}
 .client-group[aria-hidden]{display:none}
 .mnav{animation:none}
}
