/* The garden is a steady photograph. Each real brass cutout pivots at its chain. */
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-layer {
  position: absolute; z-index: 1; width: 1080px; height: 1620px;
  transform-origin: 0 0; pointer-events: none; user-select: none;
}
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-object {
  position: absolute; display: block; pointer-events: none;
}
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-layer[hidden],
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-object[hidden] { display: none!important; }
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-swing {
  position: absolute; display: block; inset: 0;
  transform-origin: 50% 0;
  animation: rsvp-brass-pendulum-v72 var(--lamp-period,8s) ease-in-out var(--lamp-delay,0s) infinite;
  animation-play-state: var(--rsvp-lantern-play,paused);
}
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-image {
  display: block; position: absolute; inset: 0; z-index: 1;
  width: 100%; height: 100%; margin: 0; padding: 0; border: 0;
  object-fit: contain; object-position: center; opacity: 1;
  transform: none; animation: none; filter: none;
}
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-glow {
  position: absolute; z-index: 2; left: 49.5%; top: 61%; width: 20%; height: 17%;
  transform: translate(-50%,-50%); pointer-events: none; opacity: .13;
  background: radial-gradient(ellipse,#fff6d2 0%,#ffd68a80 26%,#e6a24a26 48%,transparent 72%);
  mix-blend-mode: screen;
  animation: rsvp-candle-warmth-v72 var(--lamp-flame-period,2s) ease-in-out var(--lamp-delay,0s) infinite;
  animation-play-state: var(--rsvp-lantern-play,paused);
}
#invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-object--round .rsvp-lantern-glow {
  left: 50%; top: 58%; width: 27%; height: 20%; opacity: .1;
}
@keyframes rsvp-brass-pendulum-v72 {
  0%,100% { transform: rotate(calc(var(--lamp-sway,.9deg) * -1)); }
  50% { transform: rotate(var(--lamp-sway,.9deg)); }
}
@keyframes rsvp-candle-warmth-v72 {
  0%,100% { opacity: .13; }
  23% { opacity: .18; }
  47% { opacity: .11; }
  68% { opacity: .16; }
  83% { opacity: .14; }
}
@media(prefers-reduced-motion:reduce) {
  #invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-swing { animation: none; transform: none; }
  #invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-glow { animation: none; opacity: .13; }
}
body.card-preview #invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-swing { animation: none; transform: none; }
body.card-preview #invitation-page #rsvp.finale-scene .rsvp-art .rsvp-lantern-glow { animation: none; opacity: .13; }
