:root {
  --mo-ease: cubic-bezier(.22, .61, .36, 1);
  --mo-rise: 18px;
}

@keyframes mo-rise-in {
  from { opacity: 0; transform: translateY(var(--mo-rise)); }
  to   { opacity: 1; transform: none; }
}
@keyframes mo-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

html.mo .page .mo-in {
  animation: mo-rise-in .6s var(--mo-ease) both;
}

html.mo .page > .mo-in {
  animation-name: mo-fade-in;
}

html.mo .page .mo-done {
  animation: none;
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  html.mo .page :is(article, .lnk-host):not(.hero-slide) {
    transition: transform .3s var(--mo-ease);
  }
  html.mo .page :is(article, .lnk-host):not(.hero-slide):hover {
    transform: translateY(-5px);
  }

  html.mo .page :is(article, .lnk-host):not(.hero-slide) .fig-bg > .fig-img {
    transition: transform .55s var(--mo-ease);
  }
  html.mo .page :is(article, .lnk-host):not(.hero-slide):hover .fig-bg > .fig-img {
    transform: scale(calc(1.05 * var(--cover-zoom, 100) / 100));
  }

  html.mo .page .play-button-container {
    transition: transform .35s cubic-bezier(.34, 1.4, .64, 1);
  }
  html.mo .page .lnk-host:hover .play-button-container {
    transform: scale(1.12);
  }
}

@media (hover: none) {
  html.mo .page :is(article, .lnk-host):not(.hero-slide) {
    transition: transform .18s ease-out;
  }
  html.mo .page :is(article, .lnk-host):not(.hero-slide):active {
    transform: scale(.985);
  }
}

html.mo .page > :is(article, .lnk-host):hover,
html.mo .page > :is(article, .lnk-host):active {
  transform: none !important;
}

html.mo .page a.button,
html.mo .page .related-pager-btn,
html.mo .page .gazeta-issues-nav {
  transition: transform .25s var(--mo-ease), opacity .25s var(--mo-ease);
}
@media (hover: hover) and (pointer: fine) {
  html.mo .page a.button:hover { transform: translateY(-2px); }
  html.mo .page .related-pager-btn:not(:disabled):hover,
  html.mo .page .gazeta-issues-nav:not(:disabled):hover { transform: scale(1.1); }
}
html.mo .page a.button:active { transform: translateY(0) scale(.97); }
html.mo .page .related-pager-btn:not(:disabled):active,
html.mo .page .gazeta-issues-nav:not(:disabled):active { transform: scale(.94); }

@media (prefers-reduced-motion: reduce) {
  html.mo .page *,
  html.mo .page *::before,
  html.mo .page *::after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }
}
