/* Stable main content on refresh — no scroll animation, no reveal sink before JS */
html {
  scroll-behavior: auto;
}

/* Visible by default; animate only after user switches tabs (html.mvv-reveal-motion) */
.reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

html.mvv-reveal-motion .reveal:not(.visible) {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

html.mvv-reveal-motion .reveal.visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  html.mvv-reveal-motion .reveal:not(.visible) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
