.ritual-shell { padding-block: clamp(2rem, 6vw, 5rem); }

.ritual-breath {
  width: 140px;
  height: 140px;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--color-gold-light), var(--color-gold) 70%, transparent 100%);
  opacity: 0.6;
  animation: breathe 6s ease-in-out infinite;
}

@keyframes breathe {
  0%, 100% { transform: scale(0.8); opacity: 0.4; }
  50% { transform: scale(1.15); opacity: 0.75; }
}

.deck-stack {
  position: relative;
  width: 140px;
  height: 210px;
  margin: 1rem auto;
}
.deck-stack__card {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
}
.deck-stack__card:nth-child(1) { transform: rotate(-4deg) translate(-4px, 2px); }
.deck-stack__card:nth-child(2) { transform: rotate(3deg) translate(3px, -2px); }
.deck-stack__card:nth-child(3) { transform: none; }

.deck-stack--shuffling .deck-stack__card:nth-child(1) {
  animation: shuffle-left 2.4s ease-in-out infinite;
}
.deck-stack--shuffling .deck-stack__card:nth-child(2) {
  animation: shuffle-right 2.4s ease-in-out infinite;
}
.deck-stack--shuffling .deck-stack__card:nth-child(3) {
  animation: shuffle-center 2.4s ease-in-out infinite;
}

@keyframes shuffle-left {
  0%, 100% { transform: rotate(-4deg) translate(-4px, 2px); }
  50% { transform: rotate(-10deg) translate(-16px, -4px); }
}
@keyframes shuffle-right {
  0%, 100% { transform: rotate(3deg) translate(3px, -2px); }
  50% { transform: rotate(9deg) translate(15px, 3px); }
}
@keyframes shuffle-center {
  0%, 100% { transform: none; }
  50% { transform: translateY(-6px) scale(1.02); }
}

@media (prefers-reduced-motion: reduce) {
  .ritual-breath { animation: none; }
  .deck-stack--shuffling .deck-stack__card { animation: none; }
}
