/* Диспетчер header (approved 16.10.2026) */
#vn .hdr .wrap.wx{max-width:1400px;gap:18px}
.stage{display:flex;align-items:center;gap:3px;font:600 10.5px/1 var(--fm);letter-spacing:0;color:#FFB23F;white-space:nowrap}
.stage .c{display:inline-block;width:11px;height:18px;line-height:18px;text-align:center;background:rgba(22,38,79,.55);border:1px solid #34508F;border-radius:2px;position:relative;transform-origin:50% 50%}
.stage .c::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(5,11,28,.9)}
.stage .sp{width:5px}
.stage .c.f,.flap.f{animation:flap .09s linear}
@keyframes flap{0%{transform:scaleY(1)}50%{transform:scaleY(.05)}100%{transform:scaleY(1)}}
/* flight strip */
.flt{position:relative;height:26px;border-top:1px solid rgba(52,80,143,.35)}
.flt .ftr{position:absolute;left:14px;right:14px;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(52,80,143,.8) 0 6px,transparent 6px 12px)}
.flt .fct{position:absolute;left:14px;top:calc(50% - 1px);height:2px;width:calc(100% - 28px);transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,rgba(255,178,63,.15),#FFB23F);will-change:transform}
.flt .fwp{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:0;background:none;padding:0;cursor:pointer}
.flt .fwp::before{content:"";position:absolute;left:5px;top:5px;width:8px;height:8px;transform:rotate(45deg);border:1px solid #34508F;background:#050B1C;transition:background .25s,border-color .25s,box-shadow .25s}
.flt .fwp.on::before{background:#FFB23F;border-color:#FFB23F;box-shadow:0 0 8px rgba(255,178,63,.8)}
.flt .fwp span{position:absolute;top:20px;left:50%;transform:translate(-50%,-4px);opacity:0;font:500 10px/1 var(--fm);letter-spacing:.08em;color:#FFB23F;white-space:nowrap;background:rgba(5,11,28,.95);padding:4px 6px;border:1px solid #16264F;border-radius:3px;pointer-events:none;transition:opacity .2s,transform .2s}
.flt .fwp:hover span,.flt .fwp:focus-visible span{opacity:1;transform:translate(-50%,0)}
.flt .frw{position:absolute;right:6px;top:4px;width:84px;height:18px;border-radius:2px;background:rgba(22,38,79,.55);border:1px solid #34508F}
.flt .frw::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 5px,transparent 5px 10px)}
.flt .frw i{position:absolute;width:3px;height:3px;border-radius:50%;background:#34508F}
.flt.landed .frw i{background:#FFB23F;box-shadow:0 0 5px #FFB23F;animation:rwl 1.2s infinite}
@keyframes rwl{0%,100%{opacity:.35}30%{opacity:1}}
.flt .fpl{position:absolute;left:0;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;will-change:transform;pointer-events:none;z-index:2}
.flt .fpl .pi{width:22px;height:22px;transition:none}
.flt .fpl svg{width:22px;height:22px;display:block;filter:drop-shadow(0 0 4px rgba(255,178,63,.55))}
@media(max-width:1279px){#vn .hdr .stage{display:none}}
 .flt .frw{width:56px}
#vn .hdr .clock{white-space:nowrap}
.stage{gap:1px}
.stage .c{width:9px;height:16px;line-height:16px;font-size:9.5px;border-radius:1.5px}
#vn #mainHdr .nav{gap:16px}
#vn .hb .bcn{background:#fff;box-shadow:0 0 0 1.5px #050B1C}
#vn .hb:not(.btn--a) .bcn{display:none}
#vn .hdr .flt{display:block;width:100%;padding:0;margin:0}

#vn .hdr .flt{height:42px}
.flt .fpl{width:34px;height:34px;margin:-17px 0 0 -17px}
.flt .fpl .fpi,.flt .fpl svg{width:34px;height:34px}
.flt .frw{width:110px;height:24px;top:9px}
@media(max-width:960px){.flt .frw{width:70px}}
/* takeoff/landing + tail-attached trail (16.10.2026) */
.flt .frl,.flt .frw{position:absolute;top:9px;width:110px;height:24px;border-radius:2px;background:rgba(22,38,79,.55);border:1px solid #34508F;left:auto;right:auto}
.flt .frl{left:6px}.flt .frw{right:6px}
.flt .frl::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.45) 0 5px,transparent 5px 10px)}
.flt .frl i{position:absolute;width:3px;height:3px;border-radius:50%;background:#34508F}
.flt.gl .frl i{background:#FFB23F;box-shadow:0 0 5px #FFB23F;animation:rwl 1.2s infinite}
.flt .ftr{left:116px;right:116px}
.flt .fct,.flt .frt,.flt .fcr{position:absolute;left:0;top:calc(50% - 1px);height:2px;width:1px;transform-origin:0 50%;transform:scaleX(0);will-change:transform}
.flt .fct{background:#FFB23F;box-shadow:0 0 6px rgba(255,178,63,.5)}
.flt .frt{height:1px;top:50%;background:rgba(255,178,63,.45)}
.flt .fcr{background:linear-gradient(90deg,#FFB23F,rgba(255,178,63,0));width:180px;transform-origin:0 50%}
.flt .fpl{z-index:3}
.flt .fshw{position:absolute;inset:0;transform-origin:50% 50%;opacity:.8}
.flt .fsh{width:34px;height:34px}
.flt .fsh svg{filter:none!important;opacity:1}
.flt .fsh svg path,.flt .fsh svg rect{fill:#16264F!important;stroke:#16264F!important}
.flt .fsc{position:relative;width:34px;height:34px;transform-origin:50% 50%}
@media(max-width:960px){.flt .frl,.flt .frw{width:68px}.flt .ftr{left:74px;right:74px}}

.flt .frt{height:1px;top:50%;transform:none;background:repeating-linear-gradient(90deg,rgba(255,178,63,.38) 0 4px,transparent 4px 9px);box-shadow:none}
.flt .fwp{z-index:4}
.flt .fwp.on::before{box-shadow:0 0 0 2px #050B1C,0 0 8px rgba(255,178,63,.8)}

/* lights, touchdown (16.10.2026) */
.flt .frl i,.flt .frw i,.flt.gl .frl i,.flt.landed .frw i{background:#FFB23F;box-shadow:0 0 5px #FFB23F;animation:none;opacity:.12;transition:opacity .25s;transition-delay:calc(var(--k)*90ms)}
.flt .frl.rev i,.flt .frw.rev i{transition-delay:calc((7 - var(--k))*90ms)}
.flt .frl.lit i,.flt .frw.lit i{opacity:1;transition-delay:calc(var(--k)*45ms)}
.flt .ffl{position:absolute;left:0;top:50%;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,178,63,.8) 35%,rgba(255,178,63,0) 70%);opacity:0;pointer-events:none;z-index:5;transform:translate(-50%,-50%)}
.flt .fpi{position:relative}
.flt .fpi i{position:absolute;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;opacity:0}
.flt .fpi .lb{left:52%;top:50%;background:#FFB23F;box-shadow:0 0 4px 1px #FFB23F;animation:bcn 1.4s steps(1) infinite}
.flt .fpi .ls{left:44%;top:50%;background:#fff;box-shadow:0 0 5px 1px #fff}
.flt .fpi .lnl{left:21%;top:16%;background:#FFB23F;box-shadow:0 0 4px #FFB23F}
.flt .fpi .lnr{left:21%;top:84%;background:#fff;box-shadow:0 0 4px #fff}
.flt .fpl.air .fpi .lnl,.flt .fpl.air .fpi .lnr{opacity:.85}
.flt .fpl.air .fpi .ls{animation:strb 1.2s infinite}
@keyframes bcn{0%{opacity:.95}12%{opacity:.15}100%{opacity:.15}}
@keyframes strb{0%,6%{opacity:1}7%,15%{opacity:0}16%,22%{opacity:1}23%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.flt .fpi .lb{animation:none;opacity:.9}.flt .fpl.air .fpi .ls{animation:none;opacity:0}.flt .frl i,.flt .frw i{transition:none}}

/* 10/10 pass */
#vn .hdr .flt{background:#050B1C}
.flt .fhl{position:absolute;inset:0;width:34px;height:34px;opacity:0;pointer-events:none;filter:none!important}
.flt .fpi .lnl,.flt .fpi .lnr{width:4px;height:4px;margin:-2px 0 0 -2px}
.flt .fpi .lnl{box-shadow:0 0 3px 1px #FFB23F,0 0 9px 3px rgba(255,178,63,.45)}
.flt .fpi .lnr{box-shadow:0 0 3px 1px #fff,0 0 9px 3px rgba(255,255,255,.35)}
.flt .fpl.air .fpi .lnl,.flt .fpl.air .fpi .lnr{opacity:.95}
@media(max-width:960px){.flt .fpi .lnl,.flt .fpi .lnr{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}}
@media(max-width:960px){.flt .frl,.flt .frw{width:54px}.flt .ftr{left:60px;right:60px}}
@media(max-width:600px){.flt .fwp:nth-of-type(2n){display:none}.flt .frl,.flt .frw{width:70px}.flt .ftr{left:76px;right:76px}}

/* v8: approach tag + mobile lights */
.flt .fmk{display:none;position:absolute;left:0;top:3px;margin-left:-22px;width:44px;text-align:center;font:600 8.5px/1 var(--fm);letter-spacing:.12em;color:rgba(255,178,63,.55);pointer-events:none;z-index:1;white-space:nowrap}
.flt .fmk::after{content:"";display:block;width:1px;height:5px;margin:2px auto 0;background:rgba(52,80,143,.9)}
@media(max-width:600px){
 .flt .fmk{display:block}
 .flt .fpi .lnl{box-shadow:0 0 3px 1px #FFB23F,0 0 10px 4px rgba(255,178,63,.55)}
 .flt .fpi .lnr{box-shadow:0 0 3px 1px #fff,0 0 10px 4px rgba(255,255,255,.45)}
 .flt .fpi .lb{width:4px;height:4px;margin:-2px 0 0 -2px;box-shadow:0 0 4px 1px #FFB23F,0 0 10px 3px rgba(255,178,63,.5)}
 .flt .fpi .ls{width:4px;height:4px;margin:-2px 0 0 -2px;box-shadow:0 0 5px 2px #fff,0 0 12px 4px rgba(255,255,255,.4)}
}
.flt .fmk{width:36px;margin-left:-18px;letter-spacing:.04em;font-size:8px}

/* v10: logo wall = live footer .fw mechanics, brand glyphs */
#vn #mainHdr .brand{position:relative}
#vn #mainHdr .brand.lgw-on>svg.logo{visibility:hidden}
.lgw{position:absolute;left:0;top:0;width:100%;height:100%;display:block;perspective:900px}
.lgw i{position:absolute;top:0;width:calc(46/462*100%);height:100%;perspective:600px;font-style:normal}
.lgw b,.lgw s{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-decoration:none;transition:transform .55s cubic-bezier(.3,1.4,.5,1)}
.lgw svg{display:block;width:100%;height:100%;overflow:visible}
.lgw s{transform:rotateX(180deg)}
.lgw i.on b{transform:rotateX(-180deg)}
.lgw i.on s{transform:rotateX(0);filter:drop-shadow(0 0 6px rgba(255,178,63,.45))}
@media(prefers-reduced-motion:reduce){.lgw b,.lgw s{transition:none!important}}
#vn .mnav .lt-host .lt{left:30px;right:28px;bottom:5px}
#vn #mainHdr .brand .lgw i{width:calc(46/462*100%);height:100%;border-radius:0;background:none;box-shadow:none;display:block}
/* mobile menu primary button: same tile language */
#vn #mainHdr .mnav .btn--a{background:#16264F;border:1px solid #FFB23F;color:#FFB23F;border-radius:5px;font:600 12.5px/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 0 12px rgba(255,178,63,.18)}
/* stage board 1.5x */
.stage{gap:1.5px}
.stage .c{width:13.5px;height:24px;line-height:24px;font-size:14px;font-weight:700;color:#FFB23F;border-radius:2px;background:#16264F;border-color:#34508F}
.stage .c::after{background:#050B1C}
@media(max-width:1699px){.stage .c:nth-child(-n+5){display:none}#vn #mainHdr .nav{gap:14px}}
@media(min-width:1700px){#vn .hdr .wrap.wx{max-width:1640px}}
#vn #mainHdr .mnav.open{background:#050B1C}
/* v13: no lights/arrow on Диспетчер */
#vn #mainHdr .hb .lt,#vn #mainHdr .mnav .lt{display:none}
#vn #mainHdr .hb.btn--a{padding-bottom:0}
#vn #mainHdr .mnav .btn--a{padding-bottom:0;box-shadow:none;border-color:rgba(255,178,63,.75);background:transparent}
/* v14: ВОЙТИ twin of the logo */
#vn #mainHdr .in-tw{position:relative;display:flex;flex:none;margin:0}
#vn #mainHdr .in-tw .logo{height:26px;width:auto}
#vn #mainHdr .brand .lgw i{width:auto}
@media(max-width:1120px) and (min-width:961px){#vn #mainHdr .in-tw .logo{height:20px}}
@media(max-width:960px){#vn #mainHdr .in-tw{display:none}}
@media(max-width:1699px){#vn #mainHdr.btn-w .wrap.wx{gap:16px}}
@media(max-width:1499px){#vn #mainHdr.btn-w .clock{display:none}}
/* v17 tg-6 */
#vn #mainHdr .tg6{display:none;position:relative;flex:none;width:26px;height:26px;perspective:300px;margin:0}
#vn #mainHdr.btn-w.tg-6 .tg6{display:block}
#vn #mainHdr .tg6 .f6,#vn #mainHdr .tg6 i{position:absolute;inset:0;display:block}
#vn #mainHdr .tg6 i{backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s cubic-bezier(.3,1.4,.5,1)}
#vn #mainHdr .tg6 svg{display:block;width:26px;height:26px}
#vn #mainHdr .tg6 .bk{transform:rotateX(180deg)}
#vn #mainHdr .tg6:hover .fr,#vn #mainHdr .tg6.on .fr,#vn #mainHdr .tg6:focus-visible .fr{transform:rotateX(-180deg)}
#vn #mainHdr .tg6:hover .bk,#vn #mainHdr .tg6.on .bk,#vn #mainHdr .tg6:focus-visible .bk{transform:rotateX(0)}
#vn #mainHdr .tg6 .bcn6{position:absolute;right:3px;top:3px;width:4px;height:4px;border-radius:50%;background:#FFB23F;box-shadow:0 0 0 1px #16264F,0 0 3px 1px rgba(255,178,63,.7);animation:bcn6 2.4s ease-in-out infinite;pointer-events:none;transition:opacity .2s}
#vn #mainHdr .tg6:hover .bcn6,#vn #mainHdr .tg6.on .bcn6{opacity:0}
@keyframes bcn6{0%,100%{box-shadow:0 0 0 1px #16264F,0 0 1px 0 rgba(255,178,63,.4)}50%{box-shadow:0 0 0 1px #16264F,0 0 4px 1.5px rgba(255,178,63,.9)}}
@media(prefers-reduced-motion:reduce){#vn #mainHdr .tg6 .bcn6{animation:none}#vn #mainHdr .tg6 i{transition:none}}
@media(max-width:1120px) and (min-width:961px){#vn #mainHdr .tg6,#vn #mainHdr .tg6 svg{width:20px;height:20px}}
@media(max-width:960px){#vn #mainHdr .tg6{display:none!important}}
/* v18 beacon = plane .lb blink */
#vn #mainHdr .tg6 .bcn6{right:5px;top:5px;width:4px;height:4px;background:#FFB23F;box-shadow:0 0 3px 1px #FFB23F,0 0 6px 2px rgba(255,178,63,.5);animation:bcn 1.4s steps(1) infinite}
@media(prefers-reduced-motion:reduce){#vn #mainHdr .tg6 .bcn6{animation:none;opacity:.9}}
/* v19 beacon in corner */
#vn #mainHdr .tg6 .bcn6{right:2.5px;top:2.5px;width:3.5px;height:3.5px;box-shadow:0 0 2px .5px #FFB23F,0 0 4px 1px rgba(255,178,63,.5)}
/* ===== fix-hdr2 (16.10.2026) ===== */
:root{--hdr-h:111px;--gx:40px}
/* 1. one grid for header and content */
#vn .wrap{max-width:1400px}
@media(min-width:1700px){#vn .wrap{max-width:1640px}}
#vn .vn-s1__hero,#vn .vn-land__copy,#vn .vn-land__meta{left:var(--gx)}
#vn .vn-land__term{right:var(--gx)}
/* 3. sticky scenes, anchors below full header (header + route strip) */
html{scroll-padding-top:calc(var(--hdr-h) + 12px)}
#vn section[id],#vn [id]{scroll-margin-top:calc(var(--hdr-h) + 12px)}
#vn .vn-s1:not(.is-reduced):not(.no-webgl) .vn-s1__stage{top:var(--hdr-h);height:calc(100vh - var(--hdr-h));height:calc(100svh - var(--hdr-h))}
#vn .vn-s1.is-reduced .vn-s1__view,#vn .vn-s1.no-webgl .vn-s1__view,#vn .vn-s1.is-reduced .vn-s1__land,#vn .vn-s1.no-webgl .vn-s1__land{height:calc(100vh - var(--hdr-h));height:calc(100svh - var(--hdr-h))}
#vn .hero{min-height:calc(100vh - var(--hdr-h));min-height:calc(100svh - var(--hdr-h))}
#vn .full{min-height:calc(100vh - var(--hdr-h));min-height:calc(100svh - var(--hdr-h))}
#vn .vn-land__copy{top:clamp(28px,7svh,120px)}
/* 2. hero fits the visible stage at any height */
#vn .vn-s1__hero{top:50%;transform:translateY(-50%);max-height:calc(100svh - var(--hdr-h) - 24px)}
#vn .vn-s1 .vn-h1{font-size:clamp(34px,min(5.5vw,8.6svh),92px)}
#vn .vn-s1__hero .vn-lead{margin-top:clamp(10px,2.4svh,22px);font-size:clamp(14px,min(1.15vw,2.2svh),17px)}
#vn .vn-s1__hero .vn-cta{margin-top:clamp(14px,3.4svh,32px)}
#vn .vn-s1__hero .vn-eyebrow{margin-bottom:clamp(10px,2.4svh,24px)}
#vn .vn-s1.is-mobile .vn-s1__hero{top:clamp(16px,4svh,40px);transform:none}
#vn .vn-s1.is-mobile .vn-h1{font-size:clamp(28px,min(8.6vw,5.6svh),46px)}
/* 5. palette: no green */
#vn{--ok:#FFB23F;--okL:#34508F}
#vn .vn-status i{background:#FFB23F;animation-name:ping}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,178,63,.55)}70%{box-shadow:0 0 0 9px rgba(255,178,63,0)}100%{box-shadow:0 0 0 0 rgba(255,178,63,0)}}
/* 4. beacon link mode while a Telegram CTA is hovered/focused */
#vn #mainHdr .tg6.lk .bcn6{background:#fff;opacity:1;box-shadow:0 0 2px 1px #fff,0 0 5px 1.5px rgba(255,255,255,.75);animation:strb .9s infinite}
@media(prefers-reduced-motion:reduce){#vn #mainHdr .tg6.lk .bcn6{animation:none;opacity:1}}
/* fix-hdr2: demo board on one strict cell grid (cells per column 12/6/6/4/8) */
#vn .board{--fs:clamp(10px,1.05vw,16px);--g:3px;--cg:calc(var(--fs)*1.5)}
#vn .board .brow{grid-template-columns:calc(12*var(--fs) + 11*var(--g)) calc(6*var(--fs) + 5*var(--g)) calc(6*var(--fs) + 5*var(--g)) calc(4*var(--fs) + 3*var(--g)) calc(8*var(--fs) + 7*var(--g));column-gap:var(--cg);justify-content:start;padding-left:18px;padding-right:18px}
#vn .board .brow:not(.hd){font-size:var(--fs)}
#vn .board .fl{gap:var(--g);justify-self:start}
#vn .board .fl span{width:var(--fs);flex:none}
#vn .board .brow.hd span{justify-self:start;padding:0;margin:0;text-indent:0}
@media(max-width:960px){#vn .board{--fs:clamp(9px,2.6vw,14px);--g:2px;--cg:calc(var(--fs)*1.2)}#vn .board .brow{grid-template-columns:calc(12*var(--fs) + 11*var(--g)) calc(6*var(--fs) + 5*var(--g)) calc(8*var(--fs) + 7*var(--g));padding-left:14px;padding-right:14px}#vn .board .brow>span{overflow:visible}}
/* fix-mow: boards fill the full frame, 6 columns proportional to cell counts */
#vn .board{container-type:inline-size;--g:3px;--cg:24px;--fs:clamp(10px,calc((100cqw - 36px - 35*var(--g) - 5*var(--cg))*.82/41),24px)}
#vn .board .brow{grid-template-columns:12fr 6fr 6fr 4fr 8fr 5fr;column-gap:var(--cg)}
#vn .board .brow.hd{font-size:clamp(10px,calc(var(--fs)*.62),12.5px)}
@media(max-width:960px){#vn .board{--g:2px;--cg:14px;--fs:clamp(8px,calc((100cqw - 28px - 23*var(--g) - 2*var(--cg))*.9/26),14px)}#vn .board .brow{grid-template-columns:12fr 6fr 8fr}#vn .board .brow>:nth-child(6){display:none}}
#vn .board{--cg:clamp(8px,2cqw,24px);--g:clamp(1.5px,.25cqw,3px);--fs:clamp(6px,calc((100cqw - 36px - 35*var(--g) - 5*var(--cg))*.86/41),24px)}
#vn .board .brow{grid-template-columns:minmax(0,12fr) minmax(0,6fr) minmax(0,6fr) minmax(0,4fr) minmax(0,8fr) minmax(0,5fr)}
#vn .board .brow.hd span{white-space:nowrap;overflow:visible;min-width:0}
@media(max-width:960px){#vn .board .brow{grid-template-columns:minmax(0,12fr) minmax(0,6fr) minmax(0,8fr)}}
@container (max-width:720px){#vn .board .brow.hd{letter-spacing:.04em;font-size:9px}}
@media(max-width:960px){#vn .board{--g:1.5px;--cg:10px;--fs:clamp(8px,calc((100cqw - 28px - 23*var(--g) - 2*var(--cg))/26),14px)}}

/* unify (16.10.2026): one palette, one content grid */
#vn{--mute:rgba(5,11,28,.66);--muteH:#34508F;--dim:rgba(255,255,255,.66);--dimH:#34508F;--amber2:#FFB23F;--err:#16264F}
#vn .vn-s1{--dim:rgba(255,255,255,.66);--faint:rgba(52,80,143,.45);--light:#FFFFFF;--navy:#16264F;--bg2:#16264F;--ink:#FFFFFF}
#vn .split>.brd-full{grid-column:1/-1}
#vn .fill{background:#FFB23F;color:#050B1C}
#vn .fw b{background:linear-gradient(#050B1C 49.5%,#16264F 50%,#050B1C 50.5%);color:#16264F;box-shadow:inset 0 0 0 1px #16264F}
#vn .fw s{background:linear-gradient(#FFB23F 49.5%,#050B1C 50%,#FFB23F 50.5%)}
/* news grid (16.10.2026): features grid module + split-flap hover */
#vn .ng .nc2{padding-bottom:72px;min-height:300px;transition:background .3s,box-shadow .3s}
#vn .ng .nc2 .h3{margin:0}
#vn .ng .nm{display:flex;gap:14px;margin-top:auto;font:500 11px/1 var(--fm);letter-spacing:.14em;color:var(--mute)}
#vn .ng .fx{display:inline-flex;gap:1px}
#vn .ng .fx i{position:relative;display:inline-block;font-style:normal;min-width:.62em;text-align:center;perspective:200px}
#vn .ng .fx i b,#vn .ng .fx i s{display:block;font-weight:500;text-decoration:none;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s cubic-bezier(.3,1.4,.5,1);transition-delay:calc(var(--k)*28ms)}
#vn .ng .fx i s{position:absolute;inset:-3px -1px;display:grid;place-items:center;background:#FFB23F;color:#050B1C;border-radius:2px;transform:rotateX(180deg)}
#vn .ng .fx i s:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(5,11,28,.35)}
#vn .ng .fx-t{color:#34508F}
#vn .ng .nc2:hover .nm .fx i b,#vn .ng .nc2:focus-visible .nm .fx i b{transform:rotateX(-180deg)}
#vn .ng .nc2:hover .nm .fx i s,#vn .ng .nc2:focus-visible .nm .fx i s{transform:rotateX(0)}
#vn .ng .rd{position:absolute;left:30px;right:30px;bottom:24px;display:flex;align-items:center;gap:10px;font:600 12px/1 var(--fm);letter-spacing:.16em;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
#vn .ng .rd .fx{gap:3px}
#vn .ng .rd .fx i{width:20px;height:24px;line-height:24px;min-width:0}
#vn .ng .rd .fx i b{background:#16264F;color:#FFB23F;border-radius:2px;height:24px}
#vn .ng .rd .fx i s{inset:0}
#vn .ng .rd .fx i b:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#050B1C}
#vn .ng .nc2:hover .rd,#vn .ng .nc2:focus-visible .rd{opacity:1;transform:none}
#vn .ng .nc2:hover .rd .fx i b,#vn .ng .nc2:focus-visible .rd .fx i b{transform:rotateX(-180deg);transition-delay:calc(180ms + var(--k)*45ms)}
#vn .ng .nc2:hover .rd .fx i s,#vn .ng .nc2:focus-visible .rd .fx i s{transform:rotateX(0);transition-delay:calc(180ms + var(--k)*45ms)}
#vn .ng .nc2:hover,#vn .ng .nc2:focus-visible{box-shadow:inset 0 0 0 1px #FFB23F;outline:0}
@media(prefers-reduced-motion:reduce){#vn .ng .fx i b,#vn .ng .fx i s,#vn .ng .rd{transition:none!important}#vn .ng .nc2:hover .nm .fx i b{transform:none}#vn .ng .nc2:hover .nm .fx i s{transform:rotateX(180deg)}#vn .ng .nc2:hover .rd{opacity:0}}

/* cta2: header Dispatcher tile beacon: yellow blink normally, white strobe only while a «Связаться» / t.me CTA is hovered or focused (.lk from hdr.js); no glow per the no-shadows rule */
#vn #mainHdr .tg6 .bcn6,#vn #mainHdr .tg6.lk .bcn6{box-shadow:none!important}
#vn #mainHdr .tg6:not(.lk) .bcn6{background:#FFB23F}
#vn #mainHdr .tg6.lk .bcn6{background:#FFFFFF}

/* noglow 18.10.2026: no glow/halo/shadow anywhere per site rule; blinking and timing unchanged (opacity animations untouched) */
.flt .fwp.on::before{box-shadow:none!important}
.flt .frl i,.flt .frw i,.flt.gl .frl i,.flt.landed .frw i{box-shadow:none!important}
.flt .fct{box-shadow:none!important}
.flt .fpl svg,.flt .fpl .fpi svg{filter:none!important}
.flt .fpi .lb,.flt .fpi .ls,.flt .fpi .lnl,.flt .fpi .lnr{box-shadow:none!important;filter:none!important}
.flt .fshw,.flt .fsh{visibility:hidden!important}
.lgw i.on s{filter:none!important}
#vn #mainHdr .mnav .btn--a{box-shadow:none!important}
/* noglow10 18.10.2026: 10/10 crisp lights; motion instead of halo; palette only, no shadow/blur/gradient */
.flt .ffl{background:none!important;box-sizing:border-box;width:22px;height:22px;border:2px solid #FFB23F;border-radius:50%;box-shadow:none!important;filter:none!important}
#fl .fpl.air .fpi .lnl,#fl .fpl.air .fpi .lnr{opacity:.2;animation:dstr 1.2s steps(1) -.6s infinite}
@keyframes dstr{0%{opacity:1}7%{opacity:.2}13%{opacity:1}20%{opacity:.2}100%{opacity:.2}}
#fl .fpl.air .fpi .ls{animation:strb 1.2s steps(1) infinite}
#fl .fpi .lb{width:5px;height:5px;margin:-2.5px 0 0 -2.5px}
@media(max-width:600px){#fl .fpi .lb{width:6px;height:6px;margin:-3px 0 0 -3px}}
#fl .frl.lit i,#fl .frw.lit i{opacity:.12;transition:none;animation:rin .18s steps(1) var(--d0,0ms) both,rab 1s steps(1) calc(var(--d0,0ms) + 180ms) infinite}
@keyframes rin{0%{opacity:.12}50%{opacity:1;transform:scale(1.7)}100%{opacity:1;transform:none}}
@keyframes rab{0%{opacity:1;transform:scale(1.7)}12%{opacity:1;transform:none}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#fl .fpl.air .fpi .lnl,#fl .fpl.air .fpi .lnr{animation:none;opacity:.95}#fl .fpl.air .fpi .ls{animation:none;opacity:0}#fl .frl.lit i,#fl .frw.lit i{animation:none;opacity:1}#fl .fpi .lb{animation:none;opacity:.9}}

/* trail 18.10.2026: trail is sized by width in hdr.js (not scaleX), so it is never left behind the plane */
.flt .fct{width:0;transform:none;will-change:auto}
/* the plane flies over the route marks (it never has a dark unlit mark drawn on top of it); clicks still reach the marks: plane has pointer-events:none */
#fl .fpl{z-index:5}
#fl .ffl{z-index:6}
