.invitation-overlay{--invitation-duration:6.6s;--invitation-easing:cubic-bezier(.16, 1, .3, 1);--invitation-paper:#f5f0e7;--invitation-foil:#a7572e;z-index:100;animation:invitation-scene-exit var(--invitation-duration) var(--invitation-easing) both;background:radial-gradient(circle,#42546d 0%,#2d3948 38%,#1d2733 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.invitation-overlay:before,.invitation-overlay:after{content:"";pointer-events:none;position:absolute;inset:0}.invitation-overlay:before{background:radial-gradient(circle,#0000 58%,#00000040 100%)}.invitation-overlay:after{mix-blend-mode:soft-light;background:linear-gradient(#ffffff1f,#0000 18% 82%,#0000001f)}.invitation-photo,.invitation-photo-backdrop,.invitation-desk{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.invitation-photo-backdrop,.invitation-photo{display:none}.invitation-desk{object-fit:cover;object-position:center;filter:brightness(.82)saturate(.82)contrast(1.08)sepia(.15);transform-origin:50%;animation:invitation-desk-enter 1.6s var(--invitation-easing) both}.invitation-stage{perspective:1800px;pointer-events:none;width:min(760px,90vw);height:min(760px,88svh);position:relative}.invitation-envelope{aspect-ratio:1.48;width:min(610px,72vw,68svh);animation:invitation-envelope-enter 1.8s var(--invitation-easing) both;filter:drop-shadow(0 26px 30px #120c0a2e);display:block;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.invitation-envelope-back,.invitation-envelope-flap,.invitation-envelope-front,.invitation-envelope-border{display:block;position:absolute;inset:0}.invitation-envelope-back{z-index:1;animation:invitation-pocket-exit 2.2s var(--invitation-easing) .7s both;background:linear-gradient(135deg,#ffffff2e,#ffffff0f),#f3eee6;border:1px solid #784e2e6b;box-shadow:inset 0 0 0 1px #ffffff40,0 18px 30px #1709042e}.invitation-envelope-front{z-index:4;clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);animation:invitation-pocket-exit 2.2s var(--invitation-easing) .7s both;background:linear-gradient(135deg,#ffffff52,#f5ece0e6)}.invitation-envelope-border{z-index:6;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);animation:invitation-pocket-exit 2.2s var(--invitation-easing) .7s both;border:1px solid #784e2e59;inset:8px}.invitation-envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;filter:drop-shadow(0 2px 2px #120c0a14);height:60%;animation:invitation-flap-open 2.1s var(--invitation-easing) .4s both;background:linear-gradient(#ffffffc7,#f3eee6f5);top:0}.invitation-envelope-seal{z-index:7;color:#f6ecd8;width:58px;height:58px;font-family:var(--font-display);animation:invitation-seal-exit 2.3s var(--invitation-easing) .9s both;background:#9a2a1a;border:2px solid #b77d47;border-radius:50%;place-items:center;font-size:15px;display:grid;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 3px #9a2a1a,inset 0 0 0 4px #c99b51,0 4px 10px #120c0a26}.invitation-card{z-index:3;aspect-ratio:.74;transform-origin:50%;width:88%;animation:invitation-card-reveal 2.1s var(--invitation-easing) 1.1s both;background:linear-gradient(135deg,#ffffff61,#f4ebdfeb);border:1px solid #784e2e33;display:block;position:absolute;top:50%;left:50%;box-shadow:0 20px 36px #120c0a14,0 0 0 1px #ffffff47}.invitation-card-inner{outline-offset:-6px;color:#9a2a1a;white-space:nowrap;animation:invitation-ink-exit 1.6s var(--invitation-easing) 1.5s both;border:1px solid #8f683e47;outline:1px solid #784e2e2e;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:12px}.invitation-card-symbol,.invitation-card-title,.invitation-card-subtitle,.invitation-card-rule,.invitation-card-names,.invitation-card-note,.invitation-card-corner{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards invitation-text-reveal;animation-delay:var(--card-delay,0s);transform:translateY(18px)scale(.96)}.invitation-card-title,.invitation-card-subtitle,.invitation-card-note,.invitation-card-rule{letter-spacing:.06em}.invitation-card-title{font-size:clamp(1.5rem,2.8vw,2.5rem);font-family:var(--font-display);text-shadow:0 1px 1px #844a302e,0 6px 18px #5a291814;font-weight:600}.invitation-card-subtitle{letter-spacing:.2em;text-transform:uppercase;color:#9a2a1ac7;font-size:.7rem}.invitation-card-rule{font-size:1.4rem}.invitation-card-names{font-size:clamp(2.2rem,4.1vw,3.8rem);font-family:var(--font-script);color:#7a2417;text-shadow:0 1px #ffffff4d,0 10px 26px #6d30212e;justify-content:center;align-items:center;gap:.8rem;font-weight:600;line-height:1;display:flex}.invitation-name{display:inline-block}.invitation-amp{color:#b77d47;text-shadow:0 1px #ffffff4d,0 8px 16px #6d302126}.invitation-card-note{letter-spacing:.14em;text-transform:uppercase;color:#7a2417c2;text-shadow:0 1px #ffffff29;font-size:.62rem}.invitation-card-corner{color:#b77d47;font-size:22px;line-height:1;position:absolute}.invitation-card-corner--tl{top:12px;left:14px}.invitation-card-corner--tr{top:12px;right:14px;transform:scaleX(-1)}.invitation-card-corner--bl{bottom:12px;left:14px;transform:scaleY(-1)}.invitation-card-corner--br{bottom:12px;right:14px;transform:scale(-1)}@keyframes invitation-desk-enter{0%{opacity:0;filter:brightness(.7)saturate(.7)contrast(1.08)sepia(.15);transform:scale(1.06)translateY(24px)}to{opacity:1;filter:brightness(.82)saturate(.82)contrast(1.08)sepia(.15);transform:scale(1)translateY(0)}}@keyframes invitation-envelope-enter{0%{opacity:0;transform:translate(-50%,-34%)rotateX(18deg)rotate(-4deg)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)rotateX(0)rotate(0)scale(1)}}@keyframes invitation-flap-open{0%,35%{opacity:1;transform:rotateX(0)scaleY(1)}48%{opacity:1;transform:rotateX(54deg)scaleY(1.04)}68%{opacity:1;transform:rotateX(170deg)}to{opacity:0;transform:rotateX(170deg)}}@keyframes invitation-seal-exit{0%,55%{opacity:1;transform:translate(-50%,-50%)scale(1)}68%,to{opacity:0;transform:translate(-50%,-60%)scale(.94)}}@keyframes invitation-pocket-exit{0%,72%{opacity:1}to{opacity:0}}@keyframes invitation-card-reveal{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)rotateX(28deg)rotateY(-12deg)rotate(-6deg)}58%{opacity:1;transform:translate(-50%,-72%)scale(.88)rotateX(4deg)rotateY(0)rotate(0)}to{opacity:1;transform:translate(-50%,-55%)scale(1.03)rotateX(0)}}@keyframes invitation-ink-exit{0%,82%{opacity:1}to{opacity:1}}@keyframes invitation-scene-exit{0%,82%{opacity:1}to{opacity:0}}@keyframes invitation-text-reveal{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.invitation-overlay:not(.invitation-overlay--running),.invitation-overlay:not(.invitation-overlay--running) *,.invitation-overlay:not(.invitation-overlay--running) :after{animation-play-state:paused}@media (width<=480px),(height<=650px){.invitation-card-inner{gap:10px;inset:10px}.invitation-card-title{font-size:24px}.invitation-card-subtitle{letter-spacing:.15em;font-size:.58rem}.invitation-card-names{gap:.4rem;font-size:2.2rem}.invitation-card-note{letter-spacing:.12em;font-size:.52rem}.invitation-card-symbol{font-size:24px}.invitation-stage{height:min(600px,72svh)}.invitation-envelope{width:min(540px,76vw)}}@media (height<=500px){.invitation-card-inner{gap:5px}.invitation-card-title{font-size:18px}.invitation-card-names{font-size:26px}}@media (prefers-reduced-motion:reduce){.invitation-overlay,.invitation-overlay *,.invitation-overlay :after{animation:none}.invitation-photo,.invitation-photo-backdrop,.invitation-desk,.invitation-envelope{opacity:1}}
