.halloween-float {
  position: fixed;
  top: -10vh;
  z-index: 9999;
  user-select: none;
  cursor: default;
  animation-name: spookyfall;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: backwards;
  opacity: 0;
  font-size: 1em;
  pointer-events: none;
  will-change: transform, opacity;
}

@keyframes spookyfall {
  0% {
    transform: translateY(0) translateX(0) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 0.9;
  }
  50% {
    transform: translateY(55vh) translateX(25px) rotate(180deg);
    opacity: 0.9;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(115vh) translateX(-25px) rotate(360deg);
    opacity: 0;
  }
}

.home-page .title {
  text-shadow: 0 0 20px rgba(255, 102, 0, 0.6), 0 0 40px rgba(128, 0, 128, 0.4);
}

.home-page .subtitle {
  text-shadow: 0 0 20px rgba(255, 102, 0, 0.6), 0 0 40px rgba(128, 0, 128, 0.4);
}

@media (prefers-reduced-motion: reduce) {
  .halloween-float {
    display: none;
  }
}
