.stamp{width:var(--stamp-size,clamp(300px, 55vw, 420px));--stamp-text-size:calc(var(--stamp-size,clamp(300px, 55vw, 420px)) * .2);justify-content:center;align-items:center;display:inline-flex;position:relative}.stamp-image{object-fit:contain;width:100%;height:100%;filter:var(--stamp-image-filter,drop-shadow(0 4px 8px #0000004d))}.stamp-text{max-inline-size:64%;font-family:var(--stamp-font,"Great Vibes", cursive);font-weight:400;font-size:var(--stamp-text-size);color:var(--stamp-text-color,#a11714);text-shadow:var(--stamp-text-shadow);letter-spacing:-.01em;text-align:center;white-space:nowrap;text-rendering:optimizelegibility;pointer-events:none;-webkit-user-select:none;user-select:none;line-height:.9;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stamp-monogram{justify-content:center;align-items:center;gap:var(--stamp-monogram-gap,.02em);transform:translateX(var(--stamp-monogram-shift-x,0)) scale(var(--stamp-monogram-fit-scale,1));transform-origin:50%;display:inline-flex}.stamp-initial{transform-origin:50%;display:inline-block}.stamp-initial-first{transform:translate(calc(var(--stamp-initial-shift-x,0) + var(--stamp-part-adjust-x,0em)), calc(-.24em + var(--stamp-part-adjust-y,0em))) scale(var(--stamp-initial-scale,1)) scale(var(--stamp-part-adjust-scale,1))}.stamp-initial-second{transform:translate(calc(var(--stamp-initial-shift-x,0) + var(--stamp-part-adjust-x,0em)), calc(.24em + var(--stamp-part-adjust-y,0em))) scale(var(--stamp-initial-scale,1)) scale(var(--stamp-part-adjust-scale,1))}.stamp-ampersand{margin:0 var(--stamp-ampersand-margin,.03em);transform:translate(var(--stamp-part-adjust-x,0em), calc(.08em + var(--stamp-part-adjust-y,0em))) scale(var(--stamp-ampersand-scale,1)) scale(var(--stamp-part-adjust-scale,1));font-size:.34em;line-height:1;display:inline-block}@keyframes envelope-fade-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes envelope-stamp-raise{0%{transform:translate(-50%,-50%)}to{transform:perspective(var(--envelope-stamp-raise-perspective,400px)) translate3d(-50%, -50%, 0) translateY(var(--stamp-raise-target,-150px)) rotateX(var(--envelope-stamp-raise-tilt,5deg))}}.envelope-invitation{--envelope-stage-gradient:linear-gradient(180deg, var(--envelope-bg-start,#f5f4f0) 0%, var(--envelope-bg-end,#e1dbd3) 100%);min-height:100dvh;color:var(--envelope-ink,var(--ink));background:0 0}.envelope-stage{background:var(--envelope-stage-gradient);align-items:var(--envelope-stage-align,stretch);justify-content:var(--envelope-stage-justify,center);width:100%;height:100dvh;min-height:100dvh;padding:var(--envelope-stage-padding,0);cursor:pointer;opacity:1;transition:opacity var(--envelope-fade-duration,1.5s) ease var(--envelope-fade-delay,1.5s);display:flex;position:relative;overflow:hidden}.envelope-stage:focus-visible{outline:2px solid var(--envelope-focus-ring,var(--focus-ring));outline-offset:6px}.envelope-stage.is-fading{opacity:0}.envelope-frame{width:100%;max-width:var(--envelope-frame-max-width,1050px);background:var(--envelope-frame-background,var(--envelope-frame-surface,transparent));border-radius:var(--envelope-frame-radius,0);border:var(--envelope-frame-border,none);height:100%;box-shadow:var(--envelope-frame-shadow,none);position:relative;overflow:hidden}.envelope-video{object-fit:cover;object-position:center;width:100%;height:100%;animation:envelope-fade-in var(--envelope-video-fade-duration,.6s) ease-out;z-index:1;display:block;position:relative}.envelope-video-placeholder{object-fit:cover;object-position:center;z-index:0;width:100%;height:100%;position:absolute;inset:0}.stamp-overlay{transform-origin:50% 85%;pointer-events:none;z-index:2;will-change:transform;--stamp-size:var(--envelope-stamp-size,clamp(300px, 55vw, 420px));--stamp-raise-target:calc(var(--stamp-size) * var(--envelope-stamp-raise-factor,-.36));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stamp-overlay.is-raising{animation:envelope-stamp-raise var(--envelope-stamp-raise-duration,3.5s) linear forwards}@media (width>=1050px){.envelope-frame{-webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 var(--envelope-frame-mask-edge,8%), #000 calc(100% - var(--envelope-frame-mask-edge,8%)), transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 var(--envelope-frame-mask-edge,8%), #000 calc(100% - var(--envelope-frame-mask-edge,8%)), transparent 100%);mask-image:linear-gradient(90deg, transparent 0%, #000 var(--envelope-frame-mask-edge,8%), #000 calc(100% - var(--envelope-frame-mask-edge,8%)), transparent 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}@media (prefers-reduced-motion:reduce){.envelope-video{animation:none}.stamp-overlay.is-raising{animation:none;transform:translate(-50%,-50%)}.envelope-stage{transition:none}}.envelope-invitation{--envelope-bg-start:#e8e1df;--envelope-bg-end:#e8e1df;--envelope-ink:var(--ink);--stamp-text-color:#a11714;--stamp-text-shadow:-1px -1px 0 #ffb4a099, -2px -2px 1px #ffc8b44d, 1px 1px 1px #280a0ab3, 2px 2px 2px #14000066, 0 0 1px #3c0f0f80}html.invitation-scroll-locked,body.invitation-scroll-locked{overflow:hidden}.envelope-layer .envelope-stage,.envelope-layer .envelope-audio-toggle{pointer-events:auto}.envelope-layer .envelope-stage.is-fading{pointer-events:none}.envelope-stage{z-index:2}.envelope-audio-toggle{background:var(--invitation-accent,var(--accent));width:2.5rem;height:2.5rem;color:var(--invitation-ink-inverse,#fff);box-shadow:0 8px 18px var(--invitation-accent-shadow,#00000038);cursor:pointer;z-index:1;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.envelope-audio-toggle:focus-visible{outline:2px solid var(--invitation-focus-ring,var(--focus-ring));outline-offset:2px}.envelope-audio-toggle i{pointer-events:none}.error-dialog-overlay{-webkit-backdrop-filter:blur(4px);z-index:10000;background:#00000073;animation:.25s ease-out error-overlay-in;position:fixed;inset:0}@keyframes error-overlay-in{0%{opacity:0}to{opacity:1}}.error-dialog{z-index:10001;background:var(--invitation-card-bg);text-align:center;border-radius:20px;width:calc(100% - 2rem);max-width:380px;padding:2.5rem 2rem 2rem;animation:.3s cubic-bezier(.25,1,.5,1) error-scale-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0003}@keyframes error-scale-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.error-dialog-icon{margin-bottom:1rem}.error-dialog-icon i{color:#e74c3c;font-size:3rem}.error-dialog-message{font-family:var(--font-primary);color:var(--invitation-text-primary);margin:0 0 1.75rem;font-size:1.05rem;line-height:1.5}.error-dialog-close{font-family:var(--font-primary);color:var(--invitation-ink-inverse);cursor:pointer;background:#e74c3c;border:none;border-radius:8px;padding:.75rem 2rem;font-size:.95rem;font-weight:500;transition:transform .2s,box-shadow .2s}.error-dialog-close:hover{transform:translateY(-1px);box-shadow:0 4px 15px #e74c3c59}@media (prefers-reduced-motion:reduce){.error-dialog-overlay,.error-dialog{animation:none}}.thank-you-success-page{z-index:10000;background:var(--invitation-bg-base,#faf9f7);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.thank-you-success-backdrop{z-index:0;position:absolute;inset:0}.thank-you-success-backdrop-image{object-fit:cover;width:100%;height:100%;animation:1.8s ease-out both thankYouSuccessBackdropIn;transform:scale(1.05)}@keyframes thankYouSuccessBackdropIn{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1.05)}}.thank-you-success-backdrop-overlay{background:linear-gradient(#faf9f7a6 0%,#faf9f7d9 50%,#faf9f7f2 100%);position:absolute;inset:0}.thank-you-success-content{z-index:1;width:100%;max-width:560px;padding:2rem;position:relative}.thank-you-success-card{-webkit-backdrop-filter:blur(20px);text-align:center;background:#ffffffb8;border:1px solid #ffffff80;border-radius:24px;padding:clamp(2.5rem,6vw,4rem) clamp(1.75rem,5vw,3rem);animation:1s ease-out .4s both thankYouSuccessCardIn;box-shadow:0 4px 30px #0000000f,0 1px 3px #0000000a}@keyframes thankYouSuccessCardIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.thank-you-success-icon{width:56px;height:56px;color:var(--invitation-accent,#a87070);margin:0 auto 1.5rem;animation:.8s ease-out .8s both thankYouSuccessIconIn}.thank-you-success-icon svg{width:100%;height:100%}@keyframes thankYouSuccessIconIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.thank-you-success-title{font-family:var(--font-secondary,"Great Vibes", "Fraunces", serif);color:var(--invitation-text-secondary,#6b5b4f);margin:-.15em -.18em 1.1rem;padding:.15em .18em .12em;font-size:clamp(2.5rem,7vw,3.5rem);font-weight:400;line-height:1.35;animation:.7s ease-out .9s both thankYouSuccessTextIn}.thank-you-success-lead{color:var(--invitation-text-primary,#4a4a4a);margin:0 0 1rem;font-size:clamp(1rem,2.5vw,1.15rem);font-weight:500;line-height:1.5;animation:.7s ease-out 1s both thankYouSuccessTextIn}.thank-you-success-body{color:var(--invitation-text-muted,#8b7355);margin:0 0 2rem;font-size:clamp(.9rem,2vw,1rem);font-weight:400;line-height:1.7;animation:.7s ease-out 1.1s both thankYouSuccessTextIn}.thank-you-success-body:last-child{margin-bottom:0}.thank-you-success-date{color:var(--invitation-accent,#a87070);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2rem;font-size:clamp(.85rem,2vw,.95rem);font-weight:400;animation:.7s ease-out 1.2s both thankYouSuccessTextIn}.thank-you-success-names{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.1em .25em;animation:.7s ease-out 1.3s both thankYouSuccessTextIn;display:flex}.thank-you-success-name{font-family:var(--font-secondary,"Great Vibes", "Fraunces", serif);color:var(--invitation-text-secondary,#6b5b4f);margin:0 -.18em;padding:.1em .18em;font-size:clamp(1.25rem,3.5vw,1.6rem);font-weight:400;line-height:1.35}.thank-you-success-separator{font-family:var(--font-secondary,"Great Vibes", "Fraunces", serif);color:var(--invitation-accent-soft,#c4b5a6);margin:0 -.12em;padding:.1em .12em;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.35}.thank-you-success-location{border-top:1px solid #0000000f;flex-direction:column;align-items:center;gap:.35rem;margin-top:1.5rem;padding-top:1.5rem;animation:.7s ease-out 1.4s both thankYouSuccessTextIn;display:flex}.thank-you-success-venue{font-family:var(--font-primary,system-ui);color:var(--invitation-text-primary,#4a4a4a);margin:0;font-size:1rem;font-weight:500}.thank-you-success-address{font-family:var(--font-primary,system-ui);color:var(--invitation-text-subtle,#8b7355);margin:0;font-size:.85rem;font-weight:300}.thank-you-success-time{font-family:var(--font-primary,system-ui);color:var(--invitation-accent,#a87070);align-items:center;gap:.4rem;margin-top:.25rem;font-size:.85rem;display:flex}.thank-you-success-actions{justify-content:center;margin-top:1.5rem;animation:.7s ease-out 1.5s both thankYouSuccessTextIn;display:flex}@keyframes thankYouSuccessTextIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.thank-you-success-backdrop-image,.thank-you-success-card,.thank-you-success-icon,.thank-you-success-title,.thank-you-success-lead,.thank-you-success-body,.thank-you-success-date,.thank-you-success-names,.thank-you-success-location,.thank-you-success-actions{opacity:1;animation:none;transform:none}}.thank-you-success-no-animations .thank-you-success-backdrop-image,.thank-you-success-no-animations .thank-you-success-card,.thank-you-success-no-animations .thank-you-success-icon,.thank-you-success-no-animations .thank-you-success-title,.thank-you-success-no-animations .thank-you-success-lead,.thank-you-success-no-animations .thank-you-success-body,.thank-you-success-no-animations .thank-you-success-date,.thank-you-success-no-animations .thank-you-success-names,.thank-you-success-no-animations .thank-you-success-location,.thank-you-success-no-animations .thank-you-success-actions{opacity:1;animation:none;transform:none}
