/* Сцены на прокрутке для демо-сайтов Лидохода. Длина сцены — переменная --len (в экранах), прогресс — --p (ставит fx-scroll.js). */
[data-scrub]{position:relative;height:calc(var(--len,2.4)*100vh);--p:0}
[data-scrub]>.pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}

/* без движения: сцены обычной высоты, в конечном состоянии */
.fxs-static [data-scrub]{height:auto;--p:1}
.fxs-static [data-scrub]>.pin{position:relative;height:auto;min-height:min(100vh,760px)}

.fxs-bar{position:fixed;left:0;right:0;top:0;z-index:2147483100;height:3px;background:var(--fx,#fff);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

.fxs-dots{position:fixed;right:20px;top:50%;z-index:900;display:grid;gap:14px;translate:0 -50%}
.fxs-dots a{position:relative;display:block;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--fxs-dot,rgba(255,255,255,.55));transition:background .3s,border-color .3s,scale .3s}
.fxs-dots a::before{content:"";position:absolute;inset:-9px}
.fxs-dots a span{position:absolute;right:22px;top:50%;translate:8px -50%;padding:5px 10px 4px;border-radius:100px;background:var(--fx,#fff);color:var(--fx-ink,#111);font:600 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,translate .3s}
.fxs-dots a:hover span,.fxs-dots a:focus-visible span{opacity:1;translate:0 -50%}
.fxs-dots a.fxs-on{background:var(--fx,#fff);border-color:var(--fx,#fff);scale:1.35}
.fxs-dots.fxs-light{--fxs-dot:rgba(10,30,40,.4)}
@media (max-width:900px){.fxs-dots{display:none}}
@media (prefers-reduced-motion:reduce){.fxs-bar{display:none}}
