.festival-page {
  background: linear-gradient(180deg, #2d1b4e 0%, #1a0a2e 50%, #0d0520 100%);
}

.festival-banner {
  font-size: clamp(1.2rem, 4vw, 1.8rem);
  color: #ffd700;
  text-shadow: 0 0 20px rgba(255, 215, 0, 0.5);
  margin-bottom: 16px;
  letter-spacing: 0.2em;
}

.festival-time {
  color: #ffd700;
  text-shadow: 0 0 24px rgba(255, 215, 0, 0.4);
}

.festival-clock-container {
  margin-top: 30px;
  width: min(320px, 80vw);
  height: min(320px, 80vw);
}

.festival-face {
  border-color: rgba(255, 215, 0, 0.3);
  box-shadow: 0 0 50px rgba(255, 215, 0, 0.2), inset 0 0 30px rgba(0, 0, 0, 0.3);
}

.festival-face .hand.hour-hand {
  background: linear-gradient(to top, #ffd700, #ffb347);
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
}

.festival-face .hand.minute-hand {
  background: linear-gradient(to top, #ff6b6b, #ff8e53);
  box-shadow: 0 0 10px rgba(255, 107, 107, 0.5);
}

.festival-face .hand.second-hand {
  background: linear-gradient(to top, #fff, #ffd700);
  box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
}

.festival-face::before {
  background: #ffd700;
  box-shadow: 0 0 15px #ffd700;
}
