/* ============================================================
   VisArtis — движение. Осталось ровно столько, сколько допускает
   закон витрины: покой.

   Правило закона о карточке: «Наведение: масштабируется только
   сердечко (scale(1.08), .2s). Фото в сетке неподвижно — стена из
   12 дрожащих картинок разрушает покой витрины.»

   Поэтому отсюда убраны:
   · наклон карточки за курсором (perspective + rotateX/rotateY),
   · выдвижение фотографии из плоскости (translateZ),
   · бегущий блик по фотографии (.item-card__photo::after),
   · 3D-подъём медальонов .cat-strip (компонент прежней шапки),
   · параллакс героя.
   Сердечко живёт в base.css — там же, где и сама карточка.

   Осталось одно: всплытие блока при первой прокрутке. Это не
   украшение карточки, а порядок появления страницы; оно отвечает
   на событие, длится полсекунды и не повторяется — после
   отыгрыша js/motion.js снимает классы.

   Правила выживания (выстраданы имперской версией):
   · анимируются ТОЛЬКО transform и opacity;
   · на тач-экране, в узком окне и при prefers-reduced-motion слой
     молчит: медиазапрос ниже просто не открывается.

   Классы и переменные (--mo-*) навешивает js/motion.js;
   разметка страниц не тронута.
   ============================================================ */

@media (hover: hover) and (pointer: fine) and (min-width: 900px) {

  /* Всплытие при прокрутке: 14px снизу + проявление,
     каскад через --mo-d (шаг 40мс). */
  .mo-reveal {
    opacity: 0;
    transform: translateY(14px);
    transition:
      opacity .55s var(--ease),
      transform .55s var(--ease);
    transition-delay: var(--mo-d, 0ms);
  }
  .mo-reveal.is-in {
    opacity: 1;
    transform: none;
  }
}

/* Просьба системы «поменьше движения»: даже если классы уже
   навешаны (настройка сменилась на лету) — всё стоит на месте.
   Скрипт при этой настройке не запускается вовсе. */
@media (prefers-reduced-motion: reduce) {
  .mo-reveal { opacity: 1; transform: none; }
}
