/* УСЫ — animations.css : reveal-on-scroll + микроанимации */

/* базовое скрытое состояние */
.reveal,
.scroll{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),
             transform .7s cubic-bezier(.2,.7,.2,1);
  will-change:opacity,transform;
}

/* появление */
.reveal.in,
.scroll.in{
  opacity:1;
  transform:none;
}

/* ступенчатая задержка по data-d */
[data-d="1"]{transition-delay:.09s}
[data-d="2"]{transition-delay:.18s}
[data-d="3"]{transition-delay:.27s}

/* лёгкий «приближающийся» вариант для карточек-плиток */
.serv.scroll,
.spot.scroll,
.mas.scroll,
.g.scroll{
  transform:translateY(30px) scale(.985);
}
.serv.scroll.in,
.spot.scroll.in,
.mas.scroll.in,
.g.scroll.in{
  transform:none;
}

/* hero-заголовок: clip-подъём строк */
.hero-title .reveal{
  display:inline-block;
  opacity:0;
  transform:translateY(115%);
  transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1);
}
.hero-title .reveal.in{
  opacity:1;
  transform:none;
}

/* картинки внутри плиток — мягкий зум при наведении (на десктопе) */
@media(hover:hover){
  .mas img,.g img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .mas:hover img,.g:hover img{transform:scale(1.06)}
  .g{cursor:zoom-in}
}

/* доступность: уважаем системную настройку */
@media(prefers-reduced-motion:reduce){
  .reveal,.scroll,
  .hero-title .reveal,
  .serv.scroll,.spot.scroll,.mas.scroll,.g.scroll{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .scroll-cue i{animation:none}
  html{scroll-behavior:auto}
}
