/* REVNIX animation pack 2 — подключается после animations.css */
/* свет за курсором в герое + параллакс текста и чипов */
.hero-spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(440px circle at var(--hx,50%) var(--hy,40%),#a5dfd266,transparent 65%)}
.hero:hover .hero-spot{opacity:1}
.hero h1{translate:calc(var(--hxn,0)*-12px) calc(var(--hyn,0)*-7px);transition:translate .5s cubic-bezier(.2,.8,.2,1)}
.floating-chip{translate:calc(var(--hxn,0)*38px) calc(var(--hyn,0)*28px);transition:translate .5s cubic-bezier(.2,.8,.2,1)}
.chip-two{translate:calc(var(--hxn,0)*-32px) calc(var(--hyn,0)*-22px)}
.orb-inner{translate:calc(var(--hxn,0)*-16px) calc(var(--hyn,0)*-10px);animation:glitch 7s infinite}
@keyframes glitch{0%,92%,100%{text-shadow:none;transform:none}93%{text-shadow:4px 0 #ff6b9a88,-4px 0 #4fd1c5;transform:translateX(-3px) skewX(7deg)}95%{text-shadow:-4px 0 #ff6b9a88,4px 0 #4fd1c5;transform:translateX(3px)}97%{text-shadow:none;transform:none}}
/* абзац героя по словам */
.wf{display:inline-block;opacity:0;animation:wf .8s ease forwards;animation-delay:calc(1.9s + var(--i)*26ms)}
@keyframes wf{from{filter:blur(7px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}
/* заголовки секций: слова поднимаются из-под маски */
.wr{display:inline-block;overflow:hidden;vertical-align:top;font-style:normal;padding:0 .06em .12em;margin:0 -.06em}
.wi{display:inline-block;font-style:normal;transform:translateY(108%) rotate(3deg);transition:transform .95s cubic-bezier(.2,.75,.2,1) calc(var(--i)*85ms)}
.in .wi{transform:none}
/* линия-разделитель рисуется над секциями */
.sec-line{position:absolute;top:0;left:50%;width:min(1140px,88%);height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#7fc4b2,transparent);transform:translateX(-50%) scaleX(0);transition:transform 1.5s cubic-bezier(.2,.7,.2,1)}
.sec-line.on{transform:translateX(-50%) scaleX(1)}
/* блеск на тёмной кнопке */
.btn-dark{position:relative;overflow:hidden}
.btn-dark::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,#ffffff45,transparent);transform:skewX(-20deg);animation:shine2 4.8s ease-in-out infinite;pointer-events:none}
@keyframes shine2{0%,55%{left:-60%}100%{left:140%}}
/* появление текста этапа процесса */
.process-slide.active .slide-copy>*,.process-slide.is-current .slide-copy>*{animation:up .75s cubic-bezier(.2,.8,.2,1) backwards}
.process-slide.active .slide-copy>:nth-child(2),.process-slide.is-current .slide-copy>:nth-child(2){animation-delay:.09s}
.process-slide.active .slide-copy>:nth-child(3),.process-slide.is-current .slide-copy>:nth-child(3){animation-delay:.18s}
@keyframes up{from{opacity:0;transform:translateY(24px);filter:blur(6px)}}
/* параллакс внутри кейсов */
.case-visual .map-card{translate:0 calc(var(--p,0)*-18px)}
.case-visual .map-lines{translate:0 calc(var(--p,0)*12px)}
/* кольца вокруг финальной частичной анимации */
.brand-motion{overflow:hidden}
.brand-ring{position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px;border:1px solid #63cbb599;border-radius:50%;pointer-events:none;animation:ringOut 8s ease-out infinite}
.brand-ring:nth-of-type(2){animation-delay:-2.6s}.brand-ring:nth-of-type(3){animation-delay:-5.3s}
@keyframes ringOut{from{transform:scale(.3);opacity:.9}to{transform:scale(8);opacity:0}}
/* кнопка «наверх» с кольцом прогресса */
.totop{position:fixed;left:24px;bottom:24px;z-index:16;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#fffd;backdrop-filter:blur(8px);box-shadow:0 8px 28px #17221d22;cursor:pointer;transform:scale(0) rotate(-90deg);transition:transform .5s cubic-bezier(.2,.9,.3,1.3),background .25s}
.totop.show{transform:scale(1)}.totop:hover{background:var(--mint)}
.totop svg{width:100%;height:100%;transform:rotate(-90deg)}
.totop circle{fill:none;stroke-width:2.5}.totop .bg{stroke:#d9ded8}.totop .pg{stroke:#3f9c86;stroke-linecap:round;stroke-dasharray:125.66;stroke-dashoffset:125.66}
.totop path{stroke:#171b19;stroke-width:2;fill:none;stroke-linecap:round;transform:rotate(90deg);transform-origin:center}
@media(max-width:850px){.totop{left:14px;bottom:14px}}
/* мелочи */
.marquee:hover .marquee-track,.review-strip:hover .review-track{animation-play-state:paused}
.footer a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s cubic-bezier(.2,.7,.2,1)}
.footer a:hover{background-size:100% 1px}
.calculator select{transition:box-shadow .3s,border-color .3s}
.calculator select:focus{outline:none;border-color:#62aa99;box-shadow:0 0 0 5px #a5dfd266}
@media (prefers-reduced-motion:reduce){
  .brand-ring,.hero-spot{display:none!important}
  .wf{animation:none!important;opacity:1}.wi{transform:none;transition:none}.sec-line{transform:translateX(-50%)}
  .orb-inner,.btn-dark::before{animation:none!important}
}
