*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}#invitation{display:block;width:100%;height:100vh;height:100dvh;border:0}button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.vs-env{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#f5ebe5 0%,#e8ddd5 100%)}
.vs-env-container{position:relative;width:90%;max-width:420px;perspective:1000px}.vs-env-envelope{position:relative;width:100%;filter:drop-shadow(0 15px 35px rgba(0,0,0,.2))}
.vs-env-flap-wrapper{position:absolute;top:0;left:0;width:100%;height:50%;z-index:1;transform-style:preserve-3d;transform-origin:top center}.vs-env-flap{position:absolute;inset:0;clip-path:polygon(0 0,50% 100%,100% 0);background:linear-gradient(180deg,#8a6550 0%,#9a7560 100%)}
.vs-env-photo-wrapper{position:absolute;width:65%;left:50%;top:0;transform:translateX(-50%) translateY(20px);z-index:5;opacity:0;pointer-events:none;visibility:hidden}.vs-env-photo-frame{position:relative;background:#fff;padding:6px 6px 20px;box-shadow:0 8px 30px rgba(0,0,0,.3)}.vs-env-photo-frame img{width:100%;height:140px;object-fit:cover;object-position:top;display:block}
.vs-env-body{position:relative;z-index:10;min-height:300px;overflow:hidden;background:#b08970}.vs-env-fold-left,.vs-env-fold-right{position:absolute;top:0;width:50%;height:50%;z-index:3;pointer-events:none}.vs-env-fold-left{left:0;clip-path:polygon(0 0,100% 100%,0 100%);background:linear-gradient(to bottom right,#c09a80 0%,#b08970 100%)}.vs-env-fold-right{right:0;clip-path:polygon(100% 0,100% 100%,0 100%);background:linear-gradient(to bottom left,#c09a80 0%,#b08970 100%)}
.vs-env-seal{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;z-index:25;transition:transform .2s ease;pointer-events:none}.vs-env-seal-btn{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:transparent;border:0;cursor:pointer;z-index:35}.vs-env-seal-btn:hover+.vs-env-seal{transform:translate(-50%,-50%) scale(1.1)}
.vs-env-seal-outer{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.35),inset 0 2px 4px rgba(255,255,255,.35),inset 0 -3px 6px rgba(0,0,0,.15);background:radial-gradient(circle at 30% 30%,#F5D4B3 0%,#D4956E 35%,#A86A48 75%,#8B5538 100%)}.vs-env-seal-inner{width:22px;height:22px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(255,255,255,.8)}
.vs-env-seal-hint{position:absolute;top:58%;left:calc(50% + 30px);transform:translateY(-50%);display:flex;align-items:center;gap:4px;pointer-events:none;z-index:26;animation:vsEnvHintBounce 2s ease-in-out infinite}.vs-env-seal-arrow{width:24px;height:24px;color:rgba(255,255,255,.8)}.vs-env-seal-text{font-family:'Cormorant Garamond',serif;font-size:12px;color:rgba(255,255,255,.9);white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.vs-env-content{position:absolute;top:5%;left:0;right:0;bottom:5%;z-index:30;text-align:center;color:#fff;padding:5px 24px 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;pointer-events:none}
.vs-env-names{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,4.5vw,28px);font-weight:500;font-style:italic;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1.25;word-wrap:break-word;padding:0 10px}.vs-env-date{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;letter-spacing:4px;margin-bottom:20px}.vs-env-time{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:600;letter-spacing:2px;margin-top:-16px;margin-bottom:16px}
.vs-env-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px}.vs-env-divider-line{width:50px;height:1px;background:rgba(255,255,255,.5)}.vs-env-divider-icon{width:14px;height:14px;font-size:14px;color:rgba(255,255,255,.8);line-height:14px}.vs-env-invite{font-family:'Cormorant Garamond',serif;font-size:14px;text-transform:uppercase;letter-spacing:3px;margin-top:70px;margin-bottom:6px}.vs-env-guest{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;font-style:italic;margin-bottom:22px}
.vs-env-sparkle{position:absolute;width:4px;height:4px;background:rgba(255,215,150,.8);border-radius:50%;pointer-events:none;animation:vsEnvSparkle 2.5s ease-in-out infinite;z-index:20}.vs-env-sparkle:nth-child(1){top:5%;left:10%}.vs-env-sparkle:nth-child(2){top:12%;right:8%;animation-delay:.7s}.vs-env-sparkle:nth-child(3){bottom:20%;left:5%;animation-delay:1.4s}.vs-env-sparkle:nth-child(4){bottom:15%;right:10%;animation-delay:2.1s}
@keyframes vsEnvHintBounce{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(5px)}}@keyframes vsEnvSparkle{0%,100%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}
.vs-env-opening .vs-env-flap-wrapper{animation:vsEnvFlapOpen .7s ease forwards}.vs-env-opening .vs-env-fold-left,.vs-env-opening .vs-env-fold-right{animation:vsEnvFoldsFade .3s ease forwards}.vs-env-opening .vs-env-photo-wrapper{animation:vsEnvPhotoReveal 1.6s ease .3s forwards}.vs-env-opening .vs-env-envelope{animation:vsEnvFade .5s ease 1.6s forwards}
@keyframes vsEnvFlapOpen{0%{transform:rotateX(0deg)}100%{transform:rotateX(-180deg)}}@keyframes vsEnvFoldsFade{to{opacity:0}}@keyframes vsEnvPhotoReveal{0%{opacity:0;visibility:visible;transform:translateX(-50%) translateY(60px)}25%{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-20px)}60%{opacity:1;visibility:visible;transform:translateX(-50%) translateY(-60px)}100%{opacity:0;visibility:visible;transform:translateX(-50%) translateY(-140px)}}@keyframes vsEnvFade{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.95) translateY(20px)}}
@media(prefers-reduced-motion:reduce){.vs-env-sparkle,.vs-env-seal-hint{animation:none}.vs-env-opening *{animation-duration:.01s!important;animation-delay:0s!important}}
