.palace-scene .palace-art {
  animation: none;
  transform: scale(1.006);
}

.palace-scene .crystal-refraction {
  position: absolute;
  display: block;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

.palace-scene .crystal-refraction-column {
  left: 1%;
  top: 15%;
  width: 14%;
  height: 62%;
  clip-path: polygon(12% 0, 88% 4%, 100% 100%, 0 94%);
}

.palace-scene .crystal-refraction-arch {
  left: 51%;
  top: 7%;
  width: 12%;
  height: 23%;
  clip-path: polygon(0 20%, 68% 0, 100% 84%, 28% 100%);
}

.palace-scene .crystal-refraction::before {
  content: "";
  position: absolute;
  inset: -48px -16px;
  pointer-events: none;
  background: linear-gradient(155deg,
    transparent 16%, rgb(160 255 229 / 8%) 22%,
    rgb(228 255 255 / 58%) 24%, rgb(183 224 255 / 20%) 27%,
    transparent 31%, transparent 47%,
    rgb(187 255 241 / 16%) 51%, rgb(245 255 255 / 48%) 53%,
    transparent 58%, transparent 73%,
    rgb(178 223 255 / 30%) 77%, transparent 81%);
  animation: crystal-refraction-pass 4.5s ease-in-out infinite;
  animation-play-state: paused;
}

.palace-scene .crystal-refraction-arch::before {
  animation-delay: -2.25s;
  animation-direction: reverse;
}

html[data-motion="running"] .palace-scene [data-scene-motion]::before {
  animation-play-state: running;
}

html[data-motion="paused"] .palace-scene [data-scene-motion]::before,
html[data-motion="hidden"] .palace-scene [data-scene-motion]::before {
  animation-play-state: paused;
}

@keyframes crystal-refraction-pass {
  0%, 100% { transform: translate3d(-3px, -32px, 0); opacity: .35; }
  50% { transform: translate3d(3px, 32px, 0); opacity: .85; }
}

@media (max-width: 700px) {
  .palace-scene .crystal-refraction-column {
    left: 0;
    top: 100px;
    width: 12%;
    height: 205px;
  }

  .palace-scene .crystal-refraction-arch {
    left: auto;
    right: 1%;
    top: 90px;
    width: 13%;
    height: 205px;
  }
}
