.swing-scene { position:relative; isolation:isolate; min-height:100svh; height:max(100svh,820px); overflow:clip; background:#dfbd8b; }
.swing-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; z-index:-2; }
.swing-world { position:absolute; top:0; bottom:0; left:40%; width:min(100%,760px); transform:translateX(-50%); opacity:0; transition:opacity .5s ease; pointer-events:none; }
.swing-ready .swing-world { opacity:1; }
.swing-svg { display:block; width:100%; height:100%; overflow:visible; }
#courtyard-entry .swing-world { bottom:65px; left:45%; width:min(120%,1100px); }
#courtyard-entry .entry-continue { z-index:2; bottom:24px; }
.swing-closing .swing-world { left:33%; }
.swing-closing .closing-content { position:relative; z-index:2; width:min(41%,520px); margin:45px 5% 0 auto; padding:28px 22px; background:#fff5e6ee; border:1px solid #ead7b7; box-shadow:0 8px 35px #3e302226; }
.swing-closing.invitation-section { display:block; padding:42px 0 0; }
.swing-closing::after { display:none; }
.swing-closing .post-brand { z-index:3; }
.swing-closing .safarnama-signature { z-index:3; }
@media(max-aspect-ratio:4/5) {
 .swing-scene { height:max(100svh,840px); min-height:840px; }
 #courtyard-entry .swing-world { left:50%; width:115%; bottom:65px; }
 .swing-world,.swing-closing .swing-world { left:50%; width:100%; }
 .swing-closing .closing-content { width:88%; margin:30px auto 0; padding:21px 17px; }
 .swing-closing .section-heading { font-size:34px; margin-bottom:14px; }
 .swing-closing .closing-message { font-size:17px; margin-bottom:16px; }
 .swing-closing .rsvp-heading { margin:14px 0 10px; }
 .swing-closing .rsvp-button { padding:13px 14px; font-size:16px; }
 .swing-closing .wedding-countdown { margin:14px 0;gap:7px; }
 .swing-closing .countdown-unit { padding:8px 3px; }.swing-closing .countdown-unit strong {font-size:26px; }
 .swing-closing .countdown-unit span {font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .swing-world { transition:none; } }

.swing-status { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff5e9f0; color:#244e3c; padding:14px 20px; border-radius:12px; font-size:16px; z-index:3; text-align:center; }

.swing-palms { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }

.swing-palms { display:none; }

.swing-closing .safarnama-signature { left:auto;right:18px;bottom:12px;transform:none;font-size:17px; }

.swing-background { object-position:100% 50%; }
@media(max-width:499px){.swing-background{object-position:50% 50%;}}
