.theme-scene--malaysia {
  isolation: isolate;
}

body.theme-malaysia-active .cover {
  background: transparent;
}

.theme-layer--hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(22, 40, 33, 0.14) 0%, rgba(22, 40, 33, 0) 22%, rgba(22, 40, 33, 0) 78%, rgba(22, 40, 33, 0.14) 100%),
    linear-gradient(180deg, rgba(18, 27, 36, 0.12) 0%, rgba(18, 27, 36, 0) 28%, rgba(18, 27, 36, 0) 70%, rgba(18, 27, 36, 0.1) 100%);
}

.theme-layer--foliage {
  overflow: hidden;
}

.theme-foliage {
  position: absolute;
  top: -3%;
  height: 106%;
  width: clamp(60px, 18vw, 360px);
  opacity: 0.95;
}

.theme-layer--foliage img.theme-foliage {
  height: 106%;
}

.theme-foliage--left {
  left: -5vw;
  object-position: left center;
}

.theme-foliage--right {
  right: -5vw;
  object-position: right center;
}

.theme-sprite {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  will-change: transform, opacity;
}

.theme-sprite--butterfly {
  filter: drop-shadow(0 6px 9px rgba(16, 36, 36, 0.18));
}

.theme-sprite__orient {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
}

.theme-sprite__image {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
}

.theme-sprite__image--butterfly {
  transform-origin: 50% 50%;
  animation: butterflyFlutter var(--flutter-duration, 1.35s) ease-in-out infinite;
}

@keyframes butterflyFlutter {
  0%,
  100% {
    transform: scaleX(0.72);
  }
  50% {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-layer--sprites {
    display: none !important;
  }
}
