body {
  opacity: 0;
  transition: opacity 0.25s ease-out;
}

body.page-is-visible {
  opacity: 1;
}

body.page-is-leaving {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  body {
    opacity: 1 !important;
    transition: none !important;
  }
}

/* On mobile show content immediately without JS (avoids transparent page) */
@media (max-width: 767px) {
  body {
    opacity: 1 !important;
    transition: none !important;
  }
}

/* AOS: на мобильных не анимировать — контент сразу виден */
@media (max-width: 767px) {
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
  }
}
