/* Slow, low-opacity thumbnail appearances frame the closing invitation. */
.closing{position:relative;isolation:isolate;overflow:hidden}
.closing-popups{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;mask-image:linear-gradient(90deg,#000 0%,#000b 24%,transparent 39%,transparent 61%,#000b 76%,#000 100%)}
.closing-popup{position:absolute;left:var(--pop-x);top:var(--pop-y);width:clamp(160px,20vw,300px);aspect-ratio:16/9;opacity:0;transform:translate(-50%,-50%) scale(.94);animation:closing-soft-popup 14s ease-in-out infinite;animation-delay:var(--pop-delay);will-change:transform,opacity}
.closing-popup>img{width:100%;height:100%;object-fit:cover;border-radius:12px;filter:saturate(.7);border:1px solid #ffffff14;box-shadow:0 14px 32px #0004}
.closing .closing__inner{position:relative;z-index:1}
@keyframes closing-soft-popup{0%,60%,100%{opacity:0;transform:translate(-50%,calc(-50% + 5px)) scale(.94)}18%{opacity:.17}38%{opacity:.17;transform:translate(-50%,calc(-50% - 3px)) scale(1.02)}58%{opacity:0;transform:translate(-50%,calc(-50% - 6px)) scale(1.04)}}
.closing[data-motion-visible=false] .closing-popup,body[data-page-hidden=true] .closing-popup,body[data-motion=paused] .closing-popup{animation-play-state:paused}
@media(max-width:700px){.closing-popup{width:170px}.closing-popup:nth-child(n+5){display:none}.closing-popups{mask-image:linear-gradient(90deg,#000b,transparent 35%,transparent 65%,#000b)}}
@media(prefers-reduced-motion:reduce){.closing-popup{animation:none;opacity:.07;transform:translate(-50%,-50%);will-change:auto}}
