/* Decorative treatments copied from Jackelin & Eduardo's local invitation. */
.hero-transition img { width:54%; left:0; bottom:0; transform:scaleY(-1); }
.hero-transition img.right { left:auto; right:0; transform:scale(-1,-1); }
.venue-corner { width:230px; height:239px; left:-40px; top:-10px; }
.venue-corner.right { left:auto; right:-40px; }
.closing-garland { background-image:url("images/timeline-footer-ivory.png"); clip-path:polygon(0 45px,15% 45px,15% 0,85% 0,85% 45px,100% 45px,100% 100%,0 100%); }
.hero-transition img { mask-image:url("images/hero-transition-satin-mask.png"); mask-size:100% 100%; mask-repeat:no-repeat; }
.gift-card-art[src$="cash-gift-slender.jpg"] { mask-image:url("images/cash-gift-ivory.png"); mask-size:100% 100%; mask-repeat:no-repeat; }
#story-card { min-height:0; aspect-ratio:923 / 1704; margin:35px auto 0; }
#story-card .countdown-frame-art { mask-image:url("images/countdown-frame-photoroom.webp"); mask-size:100% 100%; mask-repeat:no-repeat; }
.hero .sparkle { visibility:visible; border-radius:50%; background:radial-gradient(circle,#fff 0 13%,#fffde8cc 24%,#fff8df55 43%,transparent 72%); filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px #fff7dd); animation:hero-glint 3.2s ease-in-out var(--spark-delay,0s) infinite; }
.hero .sparkle::before { width:170%; height:2px; background:linear-gradient(90deg,transparent,#fff,transparent); filter:blur(.4px); }
.hero .sparkle::after { width:2px; height:170%; background:linear-gradient(transparent,#fff,transparent); filter:blur(.4px); }
.hero .sparkle:nth-child(3n) { animation-duration:2.4s; }
.hero .sparkle:nth-child(4n) { animation-duration:3.8s; }
@keyframes hero-glint { 0%,18%,70%,100% { opacity:0; transform:scale(.4); } 32% { opacity:.35; transform:scale(.8); } 43% { opacity:1; transform:scale(1.5); } 55% { opacity:.6; transform:scale(1); } }
