.envelope-scene{z-index:60;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;opacity:0;background-color:#fdf9f4;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,3.5vh,2rem);padding:2rem 1.25rem;animation:.9s .1s forwards sceneFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-scene__bg{object-fit:cover;opacity:.5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.env-corner{pointer-events:none;opacity:1;position:absolute}.env-corner--tl{width:clamp(9rem,26vw,17rem);top:-2rem;left:-2rem}.env-corner--tr{width:clamp(9rem,26vw,17rem);top:-2rem;right:-2rem;transform:scaleX(-1)}.env-corner--bl{width:clamp(12rem,36vw,24rem);bottom:-1.5rem;left:-2rem}.env-corner--br{width:clamp(12rem,36vw,24rem);bottom:-1.5rem;right:-2rem;transform:scaleX(-1)}.envelope-scene__decor{transition:opacity .6s}.envelope-scene.is-opening .envelope-scene__decor{opacity:0}.envelope-stage{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.envelope-stage:before{content:"";filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#c48f3538 0%,#c48f3500 68%);border-radius:50%;width:130%;height:130%;animation:7s ease-in-out infinite heroGlow;position:absolute}.envelope{aspect-ratio:16/12;filter:drop-shadow(0 4px 10px #0000002e);width:clamp(20rem,90vw,40rem);transition:transform .35s cubic-bezier(.34,1.56,.64,1);animation:7s ease-in-out infinite envelopeFloat;position:relative}.envelope-scene:hover .envelope{transform:translateY(-8px)scale(1.02)}.envelope-scene.is-opening .envelope{animation-play-state:paused}.envelope__base-closed{object-fit:contain;object-position:center;z-index:1;width:100%;height:100%;transition:opacity .5s .25s;position:absolute;inset:0}.envelope__base-opened{object-fit:contain;object-position:center;z-index:2;opacity:0;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.envelope__seal{z-index:3;pointer-events:none;filter:drop-shadow(0 4px 10px #00000038);width:30%;position:absolute;top:80%;left:50%;transform:translate(-50%,-50%)}.envelope.envelope-is-open .envelope__base-closed{opacity:0}.envelope.envelope-is-open .envelope__base-opened{opacity:1}.envelope__seal.seal-break{animation:.52s cubic-bezier(.4,0,.2,1) forwards sealBreak}.envelope-cta-wrap{z-index:2;flex-direction:column;align-items:center;gap:.3rem;display:flex;position:relative}.env-separator{pointer-events:none;opacity:.88;width:clamp(10rem,42vw,24rem)}.envelope-cta{font-family:var(--font-serif);letter-spacing:.02em;color:#6b3f2a;align-items:center;gap:.6rem;font-size:clamp(1rem,4vw,1.35rem);font-style:italic;animation:2.6s ease-in-out infinite ctaPulse;display:inline-flex}.envelope-cta:before{content:"";background:#c48f35;border-radius:50%;width:8px;height:8px;animation:2.6s ease-in-out infinite ctaDot}.hero-inner{justify-content:center;display:flex;position:absolute;inset:0}.hero__col{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:42rem;min-height:100vh;display:flex;position:relative}.hero-inner.hero-sealed{opacity:0;pointer-events:none}.hero-inner.hero-sealed [class*=animate-]{animation-play-state:paused}.hero-inner.is-revealed{opacity:1;pointer-events:auto;animation:.85s cubic-bezier(.25,.46,.45,.94) both heroReveal}.hero-inner.is-revealed [class*=animate-]{animation-play-state:running}.hero__deco{pointer-events:none;z-index:1;width:clamp(8rem,22vw,10rem);position:absolute;top:clamp(1.5rem,3vh,3rem)}.hero__deco--left{right:calc(50% - clamp(1.8rem,2.2vw,1.4rem));transform:scaleX(-1)}.hero__deco--right{left:calc(50% - clamp(1.8rem,2.2vw,1.4rem))}.hero__corner{pointer-events:none;z-index:1;position:absolute}.hero__corner--bl{width:clamp(12rem,36vw,24rem);bottom:0;left:-2rem}.hero__corner--br{width:clamp(12rem,36vw,24rem);bottom:0;right:-2rem;transform:scaleX(-1)}@keyframes sceneFadeIn{to{opacity:1}}@keyframes envelopeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes heroGlow{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes ctaPulse{0%,to{opacity:.78;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes ctaDot{0%{box-shadow:0 0 #c48f3580}70%{box-shadow:0 0 0 10px #c48f3500}to{box-shadow:0 0 #c48f3500}}@keyframes sealBreak{0%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}35%{opacity:1;transform:translate(-50%,-65%)scale(1.12)rotate(-6deg)}to{opacity:0;transform:translate(-40%,-340%)scale(.5)rotate(20deg)}}@keyframes sceneExit{0%{opacity:1;transform:scale(1)}20%{opacity:.85}to{opacity:0;transform:scale(1.08)}}.envelope-scene.scene-exit{pointer-events:none;animation:.65s forwards sceneExit}@keyframes heroReveal{0%{opacity:0;transform:scale(.98)translateY(14px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.envelope,.envelope-cta,.envelope-stage:before,.hero-inner.is-revealed{animation:none}}.rsvp-form{text-align:left;flex-direction:column;gap:1.75rem;margin-top:2rem;display:flex}.rsvp-field{flex-direction:column;gap:.45rem;display:flex}.rsvp-label{letter-spacing:.18em;text-transform:uppercase;color:#6b3f2a;font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:600}.rsvp-input{color:#311c1a;-webkit-appearance:none;background:0 0;border:none;border-bottom:1.5px solid #c48f3559;border-radius:0;outline:none;width:100%;padding:.6rem 0;font-family:Cormorant Garamond,serif;font-size:1.05rem;transition:border-color .25s}.rsvp-input::placeholder{color:#6b3f2a59;font-style:italic}.rsvp-input:focus{border-bottom-color:#c48f35}.rsvp-input[aria-invalid=true]{border-bottom-color:#b83535}.rsvp-fieldset{border:none;margin:0;padding:0}.rsvp-legend{letter-spacing:.18em;text-transform:uppercase;color:#6b3f2a;width:100%;margin-bottom:.9rem;font-family:Cormorant Garamond,serif;font-size:.8rem;font-weight:600;display:block}.rsvp-radio-group{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.rsvp-radio-option{cursor:pointer;display:block;position:relative}.rsvp-radio-input{clip:rect(0, 0, 0, 0);opacity:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.rsvp-radio-card{color:#6b3f2a8c;user-select:none;text-align:center;border:1.5px solid #c48f354d;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .5rem .75rem;font-family:Cormorant Garamond,serif;font-size:.95rem;transition:border-color .25s,color .25s,background .25s;display:flex}.rsvp-radio-input:checked+.rsvp-radio-card{color:#6b3f2a;background:#c48f350f;border-color:#c48f35}.rsvp-radio-input:focus-visible+.rsvp-radio-card{outline-offset:2px;outline:2px solid #c48f35}.rsvp-radio-card__icon{font-size:1.15rem;line-height:1;transition:transform .25s}.rsvp-radio-input:checked+.rsvp-radio-card .rsvp-radio-card__icon{transform:scale(1.15)}.rsvp-error{color:#b83535;font-family:Cormorant Garamond,serif;font-size:.88rem;font-style:italic}.rsvp-btn{letter-spacing:.2em;text-transform:uppercase;color:#fdf9f4;cursor:pointer;background:#6b3f2a;border:none;border-radius:.25rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.9rem 1.5rem;font-family:Cormorant Garamond,serif;font-size:.88rem;font-weight:600;transition:background .2s,box-shadow .2s,transform .12s,opacity .2s;display:flex;box-shadow:0 2px #32160a2e,0 6px 20px #c48f352e}.rsvp-btn:hover:not(:disabled){background:#7d4a32;box-shadow:0 2px #32160a26,0 10px 26px #c48f3542}.rsvp-btn:active:not(:disabled){box-shadow:0 0 #32160a14,0 2px 8px #c48f351a}.rsvp-btn:focus-visible{outline-offset:3px;outline:2px solid #c48f35}.rsvp-btn:disabled{opacity:.5;cursor:default}.rsvp-btn__dots{align-items:center;gap:.22rem;display:inline-flex}.rsvp-btn__dots span{background:currentColor;border-radius:50%;width:.3rem;height:.3rem;animation:1.1s ease-in-out infinite rsvpDot;display:block}.rsvp-btn__dots span:nth-child(2){animation-delay:.18s}.rsvp-btn__dots span:nth-child(3){animation-delay:.36s}@keyframes rsvpDot{0%,80%,to{opacity:.35;transform:scale(.5)}40%{opacity:1;transform:scale(1.15)}}.rsvp-feedback{text-align:center;padding:1.5rem 1rem;animation:.45s both rsvpReveal}.rsvp-feedback__icon{margin-bottom:.45rem;font-size:1.8rem;line-height:1;display:block}.rsvp-feedback__title{margin-bottom:.5rem;font-family:Great Vibes,cursive;font-size:2.2rem;line-height:1.1}.rsvp-feedback__text{color:#6b3f2a;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;line-height:1.8}.rsvp-feedback--success .rsvp-feedback__icon,.rsvp-feedback--success .rsvp-feedback__title{color:#c48f35}.rsvp-feedback--error .rsvp-feedback__icon,.rsvp-feedback--error .rsvp-feedback__title{color:#b83535}@keyframes rsvpReveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.gifts-cta[data-astro-cid-oqayabyz]{width:100%;max-width:380px;margin-inline:auto}.gifts-or[data-astro-cid-oqayabyz]{align-items:center;gap:.75rem;width:100%;max-width:380px;margin:.85rem auto;display:flex}.gifts-or[data-astro-cid-oqayabyz]:before,.gifts-or[data-astro-cid-oqayabyz]:after{content:"";background:#c48f354d;flex:1;height:1px}.gallery-scene{max-width:20rem;margin-inline:auto;position:relative}.gallery-floral{pointer-events:none;z-index:2;position:absolute}.gallery-floral--tr{width:clamp(8.5rem,20vw,10rem);top:-.2rem;right:-1.5rem}.gallery-floral--bl{width:clamp(4rem,13vw,5rem);bottom:0;left:-2rem}.gallery-carousel{z-index:1;position:relative}.gallery-frame{aspect-ratio:1;outline-offset:5px;cursor:grab;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;background:#f0e8d8;border-radius:50% 50% 0 0;outline:5px solid #c48f35;width:100%;position:relative;overflow:hidden}.gallery-frame:active{cursor:grabbing}.gallery-slide{object-fit:cover;object-position:center top;opacity:0;width:100%;height:100%;transition:opacity .65s;position:absolute;inset:0}.gallery-slide.is-active{opacity:1;animation:3s ease-out forwards gallery-zoom}@keyframes gallery-zoom{0%{transform:scale(1.1)}to{transform:scale(1)}}.gallery-dots{justify-content:center;gap:.45rem;margin-top:1.25rem;display:flex}.gallery-dot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c48f354d;border:none;border-radius:50%;width:.5rem;height:.5rem;padding:0;transition:background .3s,transform .2s}.gallery-dot.is-active{background:#6b3f2a;transform:scale(1.3)}.cal{margin-top:2.5rem;max-width:19rem;margin-inline:auto}.cal__divider{background:linear-gradient(90deg,#0000,#c48f3566,#0000);height:1px;margin-block:1.5rem}.cal__month{letter-spacing:.35em;text-transform:uppercase;color:#311c1a;text-align:center;margin-bottom:1.1rem;font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:700}.cal__grid{grid-template-columns:repeat(7,1fr);display:grid}.cal__hdr{letter-spacing:.05em;color:#6b3f2a;text-align:center;padding:.35rem 0 .6rem;font-family:Cormorant Garamond,serif;font-size:.7rem;font-weight:600}.cal__day{color:#311c1a;text-align:center;padding:.5rem 0;font-family:Cormorant Garamond,serif;font-size:.85rem}.cal__day--wedding{justify-content:center;align-items:center;display:flex;position:relative}.cal__day--wedding>span{z-index:1;color:#b83535;font-size:.88rem;font-weight:700;line-height:1;position:relative}.cal__heart{z-index:0;width:2rem;height:2rem;animation:1.5s ease-in-out infinite heartbeat;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}@keyframes heartbeat{0%,to{transform:translate(-50%,-50%)scale(1)}14%{transform:translate(-50%,-50%)scale(1.3)}28%{transform:translate(-50%,-50%)scale(1)}42%{transform:translate(-50%,-50%)scale(1.15)}70%{transform:translate(-50%,-50%)scale(1)}}
