.hourglass-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(88vw, 300px);
  aspect-ratio: 1 / 1.65;
  max-height: min(50vh, 400px);
  filter:
    drop-shadow(0 8px 24px rgba(0, 0, 0, 0.45))
    drop-shadow(0 0 32px rgba(212, 175, 88, 0.12));
  animation: hourglass-float 6s ease-in-out infinite;
}

.hourglass-stage::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 95%;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    ellipse at 50% 50%,
    rgba(212, 175, 88, 0.06) 0%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
}

#hourglass {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

@keyframes hourglass-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hourglass-stage {
    animation: none;
  }
}
