/* ===================== v12: кнопки «из кабины» и тёмная навигация ===================== */
.inst{display:flex;flex-direction:column}
.inst-ph{transform-style:flat}
.inst .rl{display:block;height:auto;overflow:visible;line-height:1.35}
.inst-act{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.inst-act .slots{min-height:0}
.inst-act .btn{margin-top:2px}
/* кнопки: срезанные углы как у К, фары-индикатор, «разгон» ›› и заливка полосой */
.btn{--cut:12px;--sw:var(--red);position:relative;isolation:isolate;overflow:hidden;border:0;padding:1.1em 1.9em;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
  transition:color .25s,translate .3s var(--ease)}
.btn.sm{--cut:9px;padding:.95em 1.4em}
.btn::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-30%;width:160%;background:var(--sw);transform:translateX(-102%) skewX(-24deg);transition:transform .55s var(--ease)}
.btn:hover::before{transform:translateX(0) skewX(-24deg)}
.btn:hover{translate:0 -2px}
.btn.blk{--sw:var(--red)}.btn.blk:hover{background:var(--black);color:var(--black)}
.btn.rd{--sw:var(--black)}.btn.rd:hover{background:var(--red);color:#fff}
.btn.ln{background:rgba(30,30,30,.07);box-shadow:inset 0 -3px 0 currentColor;--sw:var(--black)}
.btn.ln:hover{background:rgba(30,30,30,.07);color:#fff}
.cine .btn.blk{--sw:#fff}.cine .btn.blk:hover{background:var(--red);color:var(--black)}
.cine .btn.ln{background:rgba(255,255,255,.08);--sw:#fff}.cine .btn.ln:hover{background:rgba(255,255,255,.08);color:var(--black)}
.btn.wa:hover,.btn.tg:hover{background:inherit}
.btn.blk::after,.btn.rd::after{content:"››";letter-spacing:-.12em;font-size:1.15em;line-height:1;margin-left:.1em;transition:translate .35s var(--ease),letter-spacing .35s var(--ease)}
.btn.blk:hover::after,.btn.rd:hover::after{translate:5px 0;letter-spacing:.02em}
.btn.lamp .lm{display:none}
.btn.lamp::after{order:-1;margin:0 .3em 0 0}
.btn.lamp{gap:.5em}
.btn.lamp::after{content:"";width:9px;height:9px;background:currentColor;letter-spacing:0;font-size:inherit;animation:blink 1.1s steps(2,jump-none) infinite}
.btn.lamp:hover::after{translate:0;letter-spacing:0}
.btn:active{translate:0 1px;scale:.98}
.blk:disabled{opacity:.6}
/* тёмная навигация — едина на любом фоне */
.hd{background:rgba(22,22,22,.9);border:1px solid rgba(255,255,255,.14);color:#fff;box-shadow:0 14px 44px rgba(0,0,0,.35)}
.hd .brand{color:#fff}
.trk path{stroke:var(--beige)}
.wheel svg circle:first-child{fill:#333;stroke:#fff;stroke-width:1}
.brand-t small{color:#bbb}.brand-sep{background:#444}
#nav a{color:#f1f1f1}
#nav a.hot{color:var(--black)}
#nav .ind{background:var(--red)}
.hd .btn.rd{--sw:#fff}.hd .btn.rd:hover{background:var(--red);color:var(--black)}
#burger{background:var(--red)}
#burger span{background:var(--black)}
#burger span::before,#burger span::after{background:var(--black)}
#burger[aria-expanded=true]{background:#fff}
.hd .hd-in{gap:14px}
#nav a{padding:.85em .75em}
@media (max-width:1180px){#nav{display:none!important}.hd .hd-cta{display:none}#burger{display:block}}
@media (min-width:1181px){#burger{display:none}}
@media (max-width:1300px){#nav a{padding:.85em .55em;font-size:12px}.hd .hd-in{gap:8px}.hd-cta{padding:.9em 1.1em}}
.hd-cta{flex:none}

/* ===================== v13: из кабины — тумблеры, светофор, без бегущего колеса ===================== */
.bring{display:block;width:auto;height:auto;transform:none!important;margin:0!important}
.bring .logo{width:128px;height:33.4px}
/* светофор вместо мигающего квадрата */
@keyframes tl{
  0%,30%{background:#FC2C2C;box-shadow:0 0 0 2px var(--black),0 0 12px 2px rgba(252,44,44,.9)}
  34%,63%{background:#FFB400;box-shadow:0 0 0 2px var(--black),0 0 12px 2px rgba(255,180,0,.9)}
  67%,97%{background:#2ECC71;box-shadow:0 0 0 2px var(--black),0 0 12px 2px rgba(46,204,113,.9)}
  100%{background:#FC2C2C}}
.btn.lamp::after{width:11px;height:11px;border-radius:50%;background:#FC2C2C;animation:tl 3.6s linear infinite}
/* тумблер-переключатель */
.tmb{display:inline-flex;align-items:center;gap:12px;border:0;background:none;color:inherit;cursor:pointer;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:6px 0}
.tmb .tk{position:relative;width:54px;height:28px;background:#d9dadc;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));transition:background .3s;flex:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.tmb .tk i{position:absolute;left:3px;top:3px;width:22px;height:22px;background:var(--black);transition:transform .35s var(--ease),background .3s}
.tmb .tk::after{content:"OFF";position:absolute;right:6px;top:50%;translate:0 -50%;font-size:8.5px;letter-spacing:.06em;color:#777}
.tmb[aria-checked=true] .tk{background:var(--black)}
.tmb[aria-checked=true] .tk i{transform:translateX(26px);background:var(--red)}
.tmb[aria-checked=true] .tk::after{content:"ON";right:auto;left:8px;color:#fff}
.dark .tmb .tk,.shift .tmb .tk{background:#333}
.tmb:hover .tk i{filter:brightness(1.15)}
.stage .tmb{align-self:flex-start;margin-top:-6px}
/* согласие в форме — тумблер */
.form .chk input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:54px;height:28px;margin:0;background:#cfd0d2;cursor:pointer;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));transition:background .3s;box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.form .chk input[type=checkbox]::before{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;background:var(--black);transition:transform .35s var(--ease),background .3s}
.form .chk input[type=checkbox]::after{content:"OFF";position:absolute;right:6px;top:50%;translate:0 -50%;font:800 8.5px/1 Manrope,sans-serif;color:#777}
.form .chk input[type=checkbox]:checked{background:var(--black)}
.form .chk input[type=checkbox]:checked::before{transform:translateX(26px);background:var(--red)}
.form .chk input[type=checkbox]:checked::after{content:"ON";right:auto;left:8px;color:#fff}
.form .chk{align-items:center}
/* выбор числа платежей — кнопки приборной панели со светодиодами */
.seg{gap:6px}
.seg button{margin-left:0;border:0;background:#d9dadc;position:relative;padding:15px 8px 13px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.seg button::before{content:"";position:absolute;left:50%;top:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#9a9b9d;transition:background .3s,box-shadow .3s}
.seg button.on{background:var(--black);color:#fff}
.seg button.on::before{background:#2ECC71;box-shadow:0 0 10px 2px rgba(46,204,113,.85)}
.seg button:active{translate:0 1px}
/* вписываем визуалы в экран ноутбука */
.pslot .dial{max-width:min(340px,31vh)}
.pcock .pmodes{margin-bottom:clamp(14px,2vw,32px)}
.gate{max-width:min(420px,46vh)}
@media (max-height:820px){.sec .head{margin-bottom:clamp(20px,3vw,40px)}h2.h{font-size:clamp(34px,5.2vw,84px)}}

.btn{white-space:nowrap;flex:none}
@media (max-height:950px){h2.h{font-size:clamp(32px,4.8vw,78px)}.sec .head{margin-bottom:clamp(18px,2.6vw,34px)}.sec{padding-top:calc(clamp(40px,5vw,84px) + var(--cut))}main>section.sec{padding-bottom:calc(clamp(40px,5vw,84px) + var(--cut))}}

/* ===================== v14 ===================== */
/* курсор: прозрачное кольцо без инверсии */
.cur{mix-blend-mode:normal;background:transparent!important;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.5),inset 0 0 0 1px rgba(0,0,0,.5)}
.cur::after{background:var(--red);box-shadow:0 0 0 1.5px #fff}
.cur.big{background:transparent!important;border-color:#fff}
.cur.lbl{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--red)!important;border-color:transparent;box-shadow:none}
.cur.lbl::before{content:attr(data-l);position:absolute;inset:0;display:grid;place-items:center;font:800 11px/1 Manrope,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--black)}
.cur.lbl::after{display:none}
.rail.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
.rail.dragging *{pointer-events:none}
.rail{cursor:grab}
/* «плёночное» зерно */
body::after{content:"";position:fixed;inset:0;z-index:95;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .9s steps(5) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-30px 18px}40%{background-position:22px -26px}60%{background-position:-14px -30px}80%{background-position:28px 20px}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){body::after{animation:none}}
/* северное сияние в тёмных, красных и серых секциях */
.sec>.wrap{position:relative;z-index:1}
.sec.dark:not(.ctas)::before,.sec.red::before,.sec.gray::before{content:"";position:absolute;inset:-25%;pointer-events:none;z-index:0;animation:aur 22s ease-in-out infinite alternate;will-change:transform}
.sec.dark:not(.ctas)::before{background:radial-gradient(38% 34% at 18% 28%,rgba(252,44,44,.24),transparent 70%),radial-gradient(34% 30% at 82% 72%,rgba(238,206,168,.14),transparent 70%)}
.sec.red::before{background:radial-gradient(40% 36% at 78% 24%,rgba(255,255,255,.24),transparent 70%),radial-gradient(36% 32% at 14% 80%,rgba(30,30,30,.22),transparent 70%)}
.sec.gray::before{background:radial-gradient(36% 32% at 85% 20%,rgba(252,44,44,.10),transparent 70%),radial-gradient(34% 30% at 10% 80%,rgba(238,206,168,.35),transparent 70%)}
@keyframes aur{0%{transform:translate3d(-4%,-2%,0) rotate(0) scale(1)}100%{transform:translate3d(6%,5%,0) rotate(9deg) scale(1.12)}}
@media(prefers-reduced-motion:reduce){.sec::before{animation:none!important}}
/* факты: нумерация и зажигание */
.facts{counter-reset:f}
.fact{counter-increment:f;opacity:.28;transition:opacity .6s var(--ease),padding .3s var(--ease),background .25s}
.fact.on,.fact:hover{opacity:1}
.fact::before{content:counter(f,decimal-leading-zero);position:absolute;right:6px;top:10px;font-weight:800;font-size:clamp(34px,4vw,56px);letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(30,30,30,.25);transition:-webkit-text-stroke-color .4s,color .4s}
.fact.on::before{-webkit-text-stroke-color:var(--red)}
body.admin .fact{opacity:1}
/* акции — стопка карточек */
@media (min-width:900px){
  .promos{grid-template-columns:1fr;gap:26px;padding-bottom:30px}
  .promo{position:sticky;top:calc(var(--hh,78px) + 22px + var(--d,0) * 16px);min-height:min(48vh,380px);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--s,1));filter:brightness(var(--b,1));transform-origin:50% 0}
  .promo .bd{font-size:clamp(48px,11cqw,150px)}
  body.admin .promo{position:relative;top:auto}
}
.promo.rv.in{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--s,1));filter:brightness(var(--b,1))}
.fact b,.fact>span{padding-right:clamp(52px,5.2vw,84px)}
.fact::before{font-size:clamp(30px,3.2vw,46px)}
main>section{overflow-x:clip}

/* ===================== v15: схема проезда без рекламы, Jivo ===================== */
html.jivo-hide jdiv,html.jivo-hide #jivo-iframe-container,html.jivo-hide #jivo_custom_widget,html.jivo-hide .__jivoMobileButton{display:none!important}
.map{min-height:0;background:transparent}
.smap{position:relative;width:100%;aspect-ratio:800/520;container-type:inline-size;overflow:hidden;background:var(--gray)}
.sm-bg{position:absolute;inset:0;width:100%;height:100%}
.sm-bg .flow{animation:flowd 1.2s linear infinite}
@keyframes flowd{to{stroke-dashoffset:-30}}
.sm-img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover}
.ml{position:absolute;translate:-50% -50%;display:inline-flex;flex-direction:column;align-items:center;gap:1px;font-weight:800;font-size:max(10px,1.75cqw);line-height:1.15;text-transform:uppercase;letter-spacing:.01em;background:#fff;color:var(--black);padding:.45em .7em;box-shadow:0 6px 18px rgba(0,0,0,.14);clip-path:polygon(0 0,calc(100% - .5em) 0,100% .5em,100% 100%,.5em 100%,0 calc(100% - .5em));white-space:nowrap;text-align:center}
.ml i{font-style:normal;font-weight:700;text-transform:none;color:var(--mute);font-size:.85em}
.ml-m{flex-direction:row;gap:.5em;background:var(--red)}.ml-m b{display:grid;place-items:center;width:1.5em;height:1.5em;background:var(--black);color:#fff;font-size:.9em}
.ml-s{background:var(--black);color:#fff}.ml-s i{color:var(--beige)}
.ml-c{background:var(--black);color:#fff}
.ml-p{background:transparent;box-shadow:none;color:#9b7a4e;font-size:max(9px,1.45cqw);clip-path:none;padding:0}
.ml-w{background:var(--beige);font-size:max(9px,1.4cqw)}
.pin{position:absolute;translate:-50% -100%;display:flex;flex-direction:column-reverse;align-items:center;gap:6px}
.pk2{display:block;width:max(34px,6.2cqw);aspect-ratio:237/165;background:var(--red);color:var(--black);padding:.9cqw;filter:drop-shadow(0 8px 14px rgba(252,44,44,.45));position:relative;z-index:1;animation:pinb 2.4s ease-in-out infinite}
.pk2 svg{width:100%;height:100%;display:block}
.pr{position:absolute;left:50%;bottom:-10px;width:max(40px,7cqw);aspect-ratio:1;border-radius:50%;border:2px solid var(--red);translate:-50% 50%;animation:ring 2.4s ease-out infinite;pointer-events:none}
@keyframes ring{0%{scale:.2;opacity:1}100%{scale:2.2;opacity:0}}
@keyframes pinb{50%{translate:0 -6px}}
.pa{background:var(--red);color:var(--black);font-weight:800;font-size:max(10px,1.75cqw);padding:.35em .7em;text-transform:uppercase;white-space:nowrap}
.mcap{position:absolute;left:2%;bottom:2.5%;font-size:max(9px,1.3cqw);font-weight:700;color:var(--mute)}
.mlink{display:inline-block;margin-top:14px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:2px}
.mlink:hover{color:var(--red)}
.mapadd{margin-top:18px;font-size:12px;color:var(--mute)}.mapadd .ph{width:180px;height:100px;margin-top:6px}
@media(prefers-reduced-motion:reduce){.sm-bg .flow,.pk2,.pr{animation:none}}

