.slide-birthday {
  flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 0; overflow: hidden; color: #fff;
  background: radial-gradient(ellipse at 30% 20%, #4a0a16 0%, #1a0509 40%, #0a0a0a 75%);
}
.slide-birthday.has-bg { background-image: var(--bd-bg); background-size: cover; background-position: center; }
.slide-birthday.has-bg::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.slide-birthday .bd-content { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 3vh; padding: 8vh 8vw; }
.slide-birthday .bd-eyebrow { font-size: 1.8vw; font-weight: 700; letter-spacing: 0.3em; text-transform: uppercase; color: #ffcc00; }
.slide-birthday .bd-title { font-size: 6vw; font-weight: 900; line-height: 1.05; letter-spacing: -0.02em; text-shadow: 0 0.5vh 2vh rgba(0,0,0,0.6); }
.slide-birthday .bd-sub { font-size: 2.2vw; font-weight: 300; color: rgba(255,255,255,0.9); }

/* Confetti: 36 drifting pieces, pure CSS (no emoji — Tizen font coverage). */
.slide-birthday .bd-confetti { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.slide-birthday .bd-confetti i {
  position: absolute; top: -4vh; width: 1vw; height: 1.6vh; border-radius: 0.15vw;
  left: calc(var(--i) * 2.78vw + 0.5vw);
  background: hsl(calc(var(--i) * 37deg), 85%, 60%);
  animation: bd-fall calc(7s + (var(--i) * 0.37s) - (var(--i) * 0.37s) * 0) linear infinite;
  animation-delay: calc(var(--i) * -0.55s);
  transform: rotate(calc(var(--i) * 25deg));
}
.slide-birthday .bd-confetti i:nth-child(odd) { animation-duration: 9s; width: 0.7vw; }
.slide-birthday .bd-confetti i:nth-child(3n) { animation-duration: 11s; border-radius: 50%; }
@keyframes bd-fall {
  0%   { transform: translateY(0) rotate(0deg); opacity: 0; }
  8%   { opacity: 1; }
  100% { transform: translateY(110vh) rotate(720deg); opacity: 0.9; }
}
