/* GeoWise · Motion v2 — появление при прокрутке и ховеры в стиле Apple (весь сайт)
 * Пара к /scripts/gw-motion.js. Подключать ПОСЛЕ всех стилей страницы.
 * Движение — отдельными свойствами translate / scale / opacity: существующие transform не затираются.
 * Всё действует только при html.gwm (класс ставит скрипт; без JS и при «уменьшить движение» сайт статичен).
 */
:root{
  --gwm-ez:cubic-bezier(.22,.61,.36,1);   /* основная кривая */
  --gwm-ez-out:cubic-bezier(.16,1,.3,1);  /* мягкое торможение: фото, графики */
  --gwm-rise:20px;                        /* подъём текста */
  --gwm-rise-card:32px;                   /* подъём карточки */
}

/* ---------- 1. Первый экран главной: только текст ----------
   Работает ТОЛЬКО по классу .gwm-h. При APPEAR=false в gw-motion.js класс не ставится
   ([С] 01.11 15:27 — текст загружается и прокручивается стандартно), и эти правила
   никого не скрывают. Скрывать текст селектором (без класса) здесь нельзя. */
html.gwm .gwm-h{opacity:0;translate:0 18px}
html.gwm.gwm-loaded .gwm-h{opacity:1;translate:none;
  transition:opacity 1s var(--gwm-ez),translate 1s var(--gwm-ez);transition-delay:var(--gwm-d,0ms)}

/* ---------- 2. Появление при прокрутке ---------- */
html.gwm .gwm-t{opacity:0;translate:0 var(--gwm-rise)}
html.gwm .gwm-c{opacity:0;translate:0 var(--gwm-rise-card);scale:.98}
html.gwm .gwm-p{opacity:0;scale:1.08}
html.gwm .gwm-l{scale:0 1;transform-origin:left center}       /* полосы: слева направо */
html.gwm .gwm-col{scale:1 0;transform-origin:center bottom}   /* столбики: снизу вверх */
html.gwm .gwm-dot{opacity:0;scale:.3}                          /* точки */

html.gwm .gwm-t.gwm-on{opacity:1;translate:none;
  transition:opacity .8s var(--gwm-ez),translate .8s var(--gwm-ez);transition-delay:var(--gwm-d,0ms)}
html.gwm .gwm-c.gwm-on{opacity:1;translate:none;scale:none;
  transition:opacity .9s var(--gwm-ez),translate .9s var(--gwm-ez),scale .9s var(--gwm-ez);transition-delay:var(--gwm-d,0ms)}
html.gwm .gwm-p.gwm-on{opacity:1;scale:1;
  transition:opacity 1s var(--gwm-ez),scale 1.8s var(--gwm-ez-out);transition-delay:var(--gwm-d,0ms)}
html.gwm .gwm-l.gwm-on{scale:1 1;transition:scale 1.1s var(--gwm-ez-out);transition-delay:var(--gwm-d,0ms)}
html.gwm .gwm-col.gwm-on{scale:1 1;transition:scale 1s var(--gwm-ez-out);transition-delay:var(--gwm-d,0ms)}
html.gwm .gwm-dot.gwm-on{opacity:1;scale:1;
  transition:opacity .35s var(--gwm-ez),scale .6s cubic-bezier(.34,1.5,.64,1);transition-delay:var(--gwm-d,0ms)}

/* шаги «1 — 2 — 3 — 4» (Как это работает): линия между номерами прорисовывается слева направо */
html.gwm .gwm-steps .step::after{scale:0 1;transform-origin:left center}
html.gwm .gwm-steps.gwm-on .step::after{scale:1 1;transition:scale .8s var(--gwm-ez-out)}
html.gwm .gwm-steps.gwm-on .step:nth-child(1)::after{transition-delay:.45s}
html.gwm .gwm-steps.gwm-on .step:nth-child(2)::after{transition-delay:.85s}
html.gwm .gwm-steps.gwm-on .step:nth-child(3)::after{transition-delay:1.25s}

/* плашки поверх фото (класс ставит скрипт): фото со scale рисуется позже обычного
   потока и закрывало их собой — поднимаем над фото, не меняя раскладку */
html.gwm .gwm-over{position:relative;z-index:1}

/* после появления снимаем задержки — ховер отвечает сразу */
html.gwm .gwm-done{transition-delay:0ms!important}

/* ---------- 3. Ховер — только ПК с мышью и только у блоков из списка HOVER в gw-motion.js ---------- */
@media (hover:hover) and (min-width:1024px){
  html.gwm .gwm-lift{transition:translate .5s var(--gwm-ez),box-shadow .5s var(--gwm-ez)}
  html.gwm .gwm-lift.gwm-c.gwm-on.gwm-done,
  html.gwm .gwm-lift:not(.gwm-c){transition:translate .5s var(--gwm-ez),box-shadow .5s var(--gwm-ez)}
  html.gwm .gwm-lift:hover{translate:0 -4px;box-shadow:0 18px 40px rgba(29,29,31,.10)}
  html.gwm .section--dark .gwm-lift:hover,
  html.gwm .card--dark.gwm-lift:hover,
  html.gwm .tariff--dark.gwm-lift:hover{box-shadow:0 22px 48px rgba(0,0,0,.35)}
  /* фото в карточке: медленный зум 1.04 внутри рамки (главная) */
  html.gwm .gwm-zoom{overflow:hidden}
  html.gwm .gwm-zoom img.gwm-done{transition:scale .9s var(--gwm-ez)}
  html.gwm .gwm-zoom:hover img{scale:1.04}
  /* текстовые ссылки: подчёркивание вырастает слева направо */
  html.gwm .gwm-link{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;
    background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s var(--gwm-ez),opacity .2s}
  html.gwm .gwm-link:hover{background-size:100% 1px;opacity:1}
}
/* нажатие — короткий отклик кнопок, везде */
html.gwm .btn:active{scale:.97;transition:scale .12s var(--gwm-ez)}

/* ---------- 4. «Уменьшить движение» ---------- */
@media (prefers-reduced-motion:reduce){
  html.gwm [class*="gwm-"],html.gwm .gwm-steps .step::after{opacity:1!important;translate:none!important;scale:none!important;transition:none!important}
}
