/* Only the backdrop word changes composition; the photographs retain their slots. */
.spring-petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-4;contain:strict;perspective:700px}
.spring-petal{position:absolute;left:var(--petal-x);top:-25px;width:var(--petal-size);height:calc(var(--petal-size)*.72);border-radius:80% 12% 72% 32%;background:linear-gradient(140deg,#fff6fb 5%,#f4bfd6 48%,#d396bc 100%);box-shadow:inset 0 0 2px #fff9;opacity:0;animation:petal-drift var(--petal-duration) var(--petal-delay) linear infinite;will-change:transform,opacity}
@keyframes petal-drift{
  0%{transform:translate3d(0,-20px,0) rotateZ(0deg) rotateY(0deg);opacity:0}
  9%{opacity:var(--petal-alpha)}
  28%{transform:translate3d(calc(var(--petal-drift)*.7),29svh,0) rotateZ(65deg) rotateY(100deg)}
  53%{transform:translate3d(calc(var(--petal-drift)*.25),56svh,0) rotateZ(140deg) rotateY(205deg)}
  78%{transform:translate3d(var(--petal-drift),81svh,0) rotateZ(var(--petal-turn)) rotateY(285deg);opacity:var(--petal-alpha)}
  100%{transform:translate3d(calc(var(--petal-drift)*.6),calc(100svh + 45px),0) rotateZ(calc(var(--petal-turn) + 80deg)) rotateY(380deg);opacity:0}
}
.motion-paused .spring-petal{animation-play-state:paused}
@media(max-width:650px){
 .spring-petal:nth-child(n+19){display:none}
}
@media(prefers-reduced-motion:reduce){.spring-petals{display:none}}

/* The transparent 3D canvas paints portraits above the falling background. */
#world{background:transparent}
