:root {
  --mm-perf-max-width: 1080px;
}

#moduleMount > *,
.mm-section,
.mm-panel,
.mm-home-panel,
.mm-bubble,
section[class*="carousel"],
section[class*="ghibli"],
section[class*="books"] {
  content-visibility: auto;
  contain-intrinsic-size: 680px;
}

#moduleMount > *:first-child,
.mm-hero,
.mm-hero-panel,
[data-priority="hero"] {
  content-visibility: visible;
  contain-intrinsic-size: auto;
}

.mm-card,
.mm-poster,
.mm-cover,
.mm-rail,
.mm-carousel,
.mm-section,
.mm-panel {
  contain: layout paint style;
}

img {
  image-rendering: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.mm-shell,
.mm-main,
.mm-header-clean-final-v45,
.mm-top-clean,
.mm-home,
#moduleMount,
main {
  max-width: var(--mm-perf-max-width);
}

.mm-rail,
[class*="rail"],
[class*="carousel-track"],
[class*="carousel__track"] {
  will-change: transform;
  contain: layout paint;
  transform: translateZ(0);
}

.mm-perf-offscreen *,
.mm-perf-user-active *,
html.mm-perf-hidden * {
  animation-play-state: paused !important;
  transition-duration: 0.01ms !important;
}

.mm-perf-offscreen [data-mm-autoscroll],
.mm-perf-user-active [data-mm-autoscroll] {
  animation-play-state: paused !important;
}

@media (max-width: 720px) {
  :root {
    --mm-perf-max-width: 100vw;
  }

  body {
    overflow-x: hidden;
  }

  .mm-shell,
  .mm-main,
  .mm-home,
  #moduleMount,
  main {
    width: min(100%, 100vw);
    max-width: 100vw;
  }

  #moduleMount > *,
  .mm-section,
  .mm-panel,
  .mm-bubble {
    contain-intrinsic-size: 560px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
