.grain {
  background-image: radial-gradient(rgba(255, 255, 255, 0.09) 1px, transparent 1px);
  background-size: 5px 5px;
}

.gold-glow {
  box-shadow: 0 0 110px rgba(229, 189, 61, 0.24), inset 0 0 70px rgba(229, 189, 61, 0.08);
}

@keyframes orbit {
  to { transform: rotate(360deg); }
}

@keyframes counter-orbit {
  to { transform: rotate(-360deg); }
}

@keyframes steam {
  0%, 100% { opacity: 0; transform: translateY(12px) scaleX(0.8); }
  40% { opacity: 0.65; }
  80% { opacity: 0; transform: translateY(-28px) scaleX(1.15); }
}

@keyframes breathe {
  50% {
    transform: scale(1.035);
    box-shadow: 0 0 120px rgba(229, 189, 61, 0.3), inset 0 0 70px rgba(229, 189, 61, 0.1);
  }
}

.bakery-orbit { animation: orbit 24s linear infinite; }
.bakery-orbit > * { animation: counter-orbit 24s linear infinite; }
.oven-breathe { animation: breathe 5s ease-in-out infinite; }
.steam { animation: steam 3.2s ease-in-out infinite; }
.steam:nth-child(2) { animation-delay: 1.1s; }
.steam:nth-child(3) { animation-delay: 2.1s; }

@media (prefers-reduced-motion: reduce) {
  .bakery-orbit,
  .bakery-orbit > *,
  .oven-breathe,
  .steam {
    animation: none !important;
  }
}
