.canvas-reveal{opacity:1!important;overflow:hidden;background:transparent!important;transition:opacity .7s ease!important}.canvas-reveal:not(.has-started):not(.is-done) .reveal-canvas{animation:reveal-breathe 2.8s ease-in-out infinite}.reveal-canvas,.reveal-particles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.reveal-canvas{z-index:2;cursor:grab;touch-action:none;transition:opacity .7s ease}.reveal-canvas:active{cursor:grabbing}.reveal-particles{z-index:4;pointer-events:none;mix-blend-mode:screen}.reveal-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none;transition:opacity .6s ease}.canvas-reveal.has-started .reveal-hint,.canvas-reveal.is-done .reveal-hint{opacity:0}.canvas-reveal.is-done .reveal-canvas,.canvas-reveal.is-done .reveal-particles{opacity:0;pointer-events:none}.frame-sand .canvas-reveal{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 98%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 98%,transparent 100%)}.frame-mirror .canvas-reveal,.frame-lotus .canvas-reveal{animation:none}.petal-curtain{overflow:visible!important;background:transparent!important;touch-action:none}.petal-curtain:before{content:none}.petal-curtain img{aspect-ratio:auto!important;filter:none!important;transition:none;pointer-events:none;-webkit-user-select:none;user-select:none}.petal-curtain.is-scattering:before,.petal-curtain.is-scattering span{opacity:0}.frame-peacock:not(.is-revealed) .reveal-details{opacity:0}.petal-curtain span{z-index:100;bottom:-30%!important}.frame-peacock.is-revealed .petal-curtain{opacity:0;transition:opacity 2.4s ease 1.8s}.frame-peacock.is-revealed .petal-curtain img{opacity:1}.frame-glitter{position:absolute;z-index:32;top:-18%;right:-18%;bottom:-18%;left:-18%;width:136%;height:136%;pointer-events:none;overflow:visible}.celebration-petals{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.theme-sparkles{position:fixed;z-index:205;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}.theme-sparkles-lotus{mix-blend-mode:normal}.mirror-petal-halo{position:absolute;z-index:18;top:2%;right:1%;bottom:1%;left:1%;pointer-events:none}.mirror-petal-halo img{position:absolute;left:var(--halo-left);top:var(--halo-top);width:17%;height:auto;opacity:0;filter:drop-shadow(0 4px 7px rgba(92,56,98,.18));transform:translate(-50%,-50%) rotate(var(--halo-rotation)) scale(.55);animation:mirror-halo-petal 5.2s cubic-bezier(.2,.75,.2,1) var(--halo-delay) forwards}@keyframes reveal-breathe{0%,to{opacity:1}50%{opacity:.8}}@keyframes mirror-halo-petal{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--halo-rotation) - 24deg)) scale(.35)}13%,68%{opacity:.88;transform:translate(-50%,-50%) rotate(var(--halo-rotation)) scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% + 24px)) rotate(calc(var(--halo-rotation) + 46deg)) scale(.72)}}@media(prefers-reduced-motion:reduce){.canvas-reveal:not(.has-started):not(.is-done) .reveal-canvas{animation:none}}@font-face{font-family:Cinzel;src:url(/savethedate-resources/lavender-garden/assets/cinzel.woff2) format("woff2");font-display:swap;font-weight:400 700}@font-face{font-family:Cormorant Garamond;src:url(/savethedate-resources/lavender-garden/assets/cormorant.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700}@font-face{font-family:Cormorant Garamond;src:url(/savethedate-resources/lavender-garden/assets/cormorant-italic.woff2) format("woff2");font-display:swap;font-style:italic;font-weight:400 700}@font-face{font-family:Jost;src:url(/savethedate-resources/lavender-garden/assets/jost.woff2) format("woff2");font-display:swap;font-weight:400 600}:root{color:#153d43;font-family:Jost,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:#020403;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.stage{--ink: #153f46;--accent: #b8904a;--button-top: #126b7a;--button-bottom: #0a4a56;--button-text: #fbf4e3;--modal-surface: #fffaf0;--modal-border: rgba(184, 144, 74, .62);position:relative;min-height:100svh;overflow-x:hidden;color:var(--ink);background:#faf5e8 var(--stage-bg) center top / cover fixed no-repeat}.theme-peacock{--ink: #4b1e32;--accent: #c97388;--button-top: #a53e59;--button-bottom: #76253c;--button-text: #fff8eb;--modal-surface: #fff8f4;--modal-border: rgba(201, 115, 136, .62)}.theme-mirror{--ink: #654416;--accent: #a77729;--button-top: #aa772c;--button-bottom: #6f4817;--button-text: #fff8e9}.theme-lotus{--ink: #183c61;--accent: #a66848;--button-top: #1a4d78;--button-bottom: #0e3155;--button-text: #fff8e9}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;overflow:hidden;background:#030504}.intro video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.intro-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(72% 62% at 50% 44%,transparent 34%,rgba(0,0,0,.6) 100%)}.theme-sand .intro-veil{background:radial-gradient(74% 62% at 50% 45%,transparent 34%,rgba(0,0,0,.43) 100%)}.tap-prompt{position:absolute;left:50%;bottom:clamp(72px,13vh,112px);width:248px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px;color:#fbf4e8;border:0;background:transparent;text-shadow:0 2px 16px rgba(0,0,0,.78);cursor:pointer;animation:promptPulse 2.4s ease-in-out infinite}.tap-prompt strong{font-family:Cinzel,serif;font-size:19px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.tap-prompt small{font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic;letter-spacing:.08em}.ornament{display:inline-flex;width:114px;height:10px;align-items:center;justify-content:center;gap:10px;color:var(--accent)}.ornament>span{width:40px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.ornament>span:last-child{transform:scaleX(-1)}.ornament>i{width:7px;height:7px;background:currentColor;transform:rotate(45deg)}.invitation{position:relative;z-index:2;min-height:100svh;padding:29px 18px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(14px);pointer-events:none}.invitation.is-open{opacity:1;transform:none;pointer-events:auto;transition:opacity 1.1s ease,transform 1.1s ease}.invitation header{flex:none;position:relative;z-index:4}.invitation h1{margin:12px 0 2px;font-family:Cinzel,serif;font-size:clamp(16px,1.45vw,20px);font-weight:500;letter-spacing:.34em;line-height:1.35;text-transform:uppercase}.couple{margin:0;display:flex;align-items:baseline;justify-content:center;gap:.22em;font-family:Cormorant Garamond,serif;font-size:clamp(42px,4.4vw,59px);font-style:italic;font-weight:500;line-height:1.08}.couple i{color:var(--accent);font-size:1.08em;font-weight:400}.frame-shell{position:relative;isolation:isolate;flex:none;margin-top:14px;-webkit-user-select:none;user-select:none}.frame-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.reveal-details{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;color:var(--ink);font-family:Cormorant Garamond,serif;text-shadow:0 1px rgba(255,255,255,.45)}.preamble{font-size:14px;font-style:italic}.day{font-family:Cinzel,serif;font-size:clamp(40px,3.8vw,56px);font-weight:500;line-height:1}.month{margin-top:5px;font-family:Cinzel,serif;font-size:15px;letter-spacing:.08em}.detail-rule{width:48px;height:1px;margin:14px 0 12px;background:currentColor;opacity:.54}.venue{max-width:190px;font-size:18px;font-style:italic;line-height:1.1}.city{margin-top:5px;font-family:Jost,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.frame-sand{width:clamp(335px,29.2vw,420px);aspect-ratio:1122 / 1402}.frame-sand .reveal-details,.frame-sand .wipe-surface{left:25.6%;top:27%;width:48.8%;height:52.6%;border-radius:50%}.frame-sand .wipe-surface{background:#0e6070 url(/savethedate-resources/lavender-garden/assets/sand.webp) center / 100% 100% no-repeat;color:#fbf4e3;text-shadow:0 1px 6px rgba(0,0,0,.5)}.frame-peacock{width:clamp(367px,32vw,460px);aspect-ratio:1086 / 1448;margin-top:-2px}.frame-peacock .reveal-details{z-index:20!important;left:26%;top:25%;width:48%;height:55%}.petal-curtain{position:absolute;z-index:21;left:23%;top:20%;width:54%;height:65%;border:0;background:#fff8f5;cursor:pointer;overflow:hidden}.petal-curtain img{position:absolute;left:var(--petal-left);top:var(--petal-top);width:52%;aspect-ratio:1;object-fit:contain;transform:translate(-50%,-50%) scale(var(--petal-scale)) rotate(var(--petal-rotate));filter:saturate(.72) brightness(1.14);transition:opacity .8s ease var(--petal-delay),transform 1.1s cubic-bezier(.2,.8,.2,1) var(--petal-delay)}.petal-curtain span{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:100%;color:#7e4154;font-family:Cormorant Garamond,serif;font-size:13px;font-style:italic;letter-spacing:.12em}.frame-peacock.is-revealed .petal-curtain{pointer-events:none;background:transparent;transition:background-color .7s ease}.frame-peacock.is-revealed .petal-curtain img{opacity:0;transform:translate(-50%,-180%) scale(.4) rotate(120deg)}.frame-peacock.is-revealed .petal-curtain span{opacity:0}.frame-mirror{width:clamp(304px,22.25vw,320px);aspect-ratio:941 / 1672}.frame-mirror .reveal-details,.frame-mirror .wipe-surface{left:19.2%;top:31%;width:61.8%;height:57.1%;border-radius:49%}.frame-mirror .reveal-details{z-index:6}.frame-mirror .wipe-surface{z-index:7;background:#f3f0e7 url(/savethedate-resources/lavender-garden/assets/fog.webp) center / 100% 100% no-repeat}.frame-lotus{width:clamp(324px,22.65vw,326px);aspect-ratio:1086 / 1404;margin-top:-2px}.frame-lotus .reveal-details,.frame-lotus .wipe-surface{left:19%;top:18.7%;width:62%;height:72.7%;border-radius:49%}.frame-lotus .wipe-surface{background:#f3f2ed url(/savethedate-resources/lavender-garden/assets/mirror.webp) center / 100% 100% no-repeat}.wipe-surface{--veil-opacity: 1;position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink);opacity:var(--veil-opacity);outline:none;cursor:grab;touch-action:none;transition:opacity .3s ease}.wipe-surface:active{cursor:grabbing}.wipe-surface span{padding:5px 10px;font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;letter-spacing:.06em}.wipe-surface small{padding:0 8px;font-family:Cormorant Garamond,serif;font-size:10px;font-style:italic}.is-revealed .wipe-surface{pointer-events:none}.formal{margin:27px 0 0;font-family:Cormorant Garamond,serif;font-size:17px;font-style:italic;letter-spacing:.02em}.theme-peacock .formal:before,.theme-peacock .formal:after,.theme-mirror .formal:before,.theme-mirror .formal:after,.theme-lotus .formal:before,.theme-lotus .formal:after{content:"";display:inline-block;width:7px;height:7px;margin:0 10px;border:1px solid var(--accent);transform:rotate(45deg)}.cta-wrap{width:min(280px,72vw);margin-top:22px;display:grid;gap:9px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .55s ease,transform .55s ease}.cta-wrap.show{opacity:1;transform:none;pointer-events:auto}.theme-sand .cta-wrap{margin-top:42px}.theme-peacock .cta-wrap{margin-top:34px}.theme-mirror .cta-wrap{margin-top:79px}.theme-lotus .cta-wrap{margin-top:70px}.rsvp-button,.calendar-button,.submit-button,.success-message button{width:100%;min-height:38px;padding:10px 18px;color:var(--button-text);font-family:Cinzel,serif;font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border:1px solid rgba(255,255,255,.44);border-radius:2px;background:linear-gradient(var(--button-top),var(--button-bottom));box-shadow:0 9px 22px #172a2a33,inset 0 0 0 2px #ffffff14;cursor:pointer}.rsvp-button:hover,.calendar-button:hover,.submit-button:hover,.success-message button:hover{filter:brightness(1.07);transform:translateY(-1px)}.calendar-button{display:grid;place-items:center;color:var(--ink);border-color:color-mix(in srgb,var(--accent),transparent 18%);background:#fffcf4c7;box-shadow:0 7px 18px #172a2a1f,inset 0 0 0 1px #fff9;text-decoration:none}.invitation footer{margin-top:18px;padding-bottom:2px;color:color-mix(in srgb,var(--ink) 70%,transparent);font-family:Jost,sans-serif;font-size:10px;letter-spacing:.08em}.invitation footer a{color:var(--ink);font-weight:600;text-underline-offset:3px}.music-button{position:fixed;right:14px;bottom:14px;z-index:24;width:44px;height:44px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0;border:1px solid rgba(255,255,255,.62);border-radius:50%;background:#212220ad;box-shadow:0 5px 20px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.music-button span{width:2px;height:11px;border-radius:2px;background:#fff;animation:musicBar .8s ease-in-out infinite alternate}.music-button span:nth-child(2){height:16px;animation-delay:-.35s}.music-button span:nth-child(3){height:8px;animation-delay:-.15s}.music-button.is-muted span{height:5px;animation-play-state:paused}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:18px;background:#040c0cb3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:modalFade .25s ease both}.rsvp-modal{position:relative;width:min(520px,100%);max-height:calc(100svh - 36px);overflow:auto;padding:30px clamp(20px,5vw,38px) 32px;color:var(--ink);text-align:center;border:1px solid var(--modal-border);background:linear-gradient(#ffffffe0,#ffffffe0),var(--stage-bg) center / cover;box-shadow:0 28px 80px #00000061,inset 0 0 0 5px #ffffff61;animation:modalRise .35s cubic-bezier(.2,.85,.3,1) both}.rsvp-modal h2{margin:12px 0 4px;font-family:Cormorant Garamond,serif;font-size:38px;font-style:italic;font-weight:600}.rsvp-modal>p{margin:0 0 18px;font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic}.modal-close{position:absolute;top:10px;right:12px;width:34px;height:34px;display:grid;place-items:center;padding:0;color:var(--ink);font-family:Cormorant Garamond,serif;font-size:29px;line-height:1;border:0;background:transparent;cursor:pointer}.rsvp-modal form{display:grid;gap:13px;text-align:left}.rsvp-modal label{display:grid;gap:6px}.rsvp-modal label>span{font-family:Cinzel,serif;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.rsvp-modal input,.rsvp-modal textarea{width:100%;padding:11px 12px;color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 52%,#d7d1c7);border-radius:2px;outline:none;background:#ffffffb8;font-family:Jost,sans-serif;font-size:14px}.rsvp-modal input:focus,.rsvp-modal textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.rsvp-modal textarea{resize:vertical}.submit-button{margin-top:5px}.form-error{margin:0;color:#9f1239;font-size:.9rem;line-height:1.45}.submit-button:disabled{cursor:wait;opacity:.68}.success-message{display:grid;justify-items:center;gap:11px;padding:20px 0 4px}.success-message strong{font-family:Cormorant Garamond,serif;font-size:28px;font-style:italic}.success-message span{max-width:300px;font-family:Cormorant Garamond,serif;font-size:17px}.success-message button{width:min(240px,100%);margin-top:7px}@keyframes promptPulse{0%,to{opacity:.72;transform:translate(-50%) translateY(0)}50%{opacity:1;transform:translate(-50%) translateY(-3px)}}@keyframes musicBar{to{transform:scaleY(.45)}}@keyframes modalFade{0%{opacity:0}}@keyframes modalRise{0%{opacity:0;transform:translateY(18px) scale(.97)}}@media(max-width:600px){.stage{background-attachment:scroll}.invitation{min-height:100svh;padding:15px 10px 14px}.invitation h1{margin-top:10px;font-size:15px;letter-spacing:.3em}.couple{margin-top:3px;font-size:clamp(38px,11.2vw,44px)}.frame-shell{margin-top:12px}.frame-sand{width:min(86vw,335px);margin-top:21px}.frame-peacock{width:min(94vw,367px);margin-top:2px}.frame-mirror{width:min(78vw,304px);margin-top:23px}.frame-lotus{width:min(83vw,324px);margin-top:4px}.preamble{font-size:12px}.day{font-size:43px}.month{font-size:12px}.venue{max-width:150px;font-size:15px}.city{font-size:8px}.formal{margin-top:16px;font-size:15px}.theme-sand .formal{margin-top:31px}.theme-peacock .formal{margin-top:37px}.theme-mirror .formal{margin-top:28px}.theme-lotus .formal{margin-top:38px}.cta-wrap{width:237px;margin-top:18px}.theme-sand .cta-wrap{margin-top:42px}.theme-peacock .cta-wrap{margin-top:26px}.theme-mirror .cta-wrap{margin-top:74px}.theme-lotus .cta-wrap{margin-top:62px}.rsvp-button{min-height:35px;font-size:11px}.invitation footer{margin-top:13px;font-size:9px}.music-button{right:14px;bottom:14px}}@media(max-height:760px)and (min-width:700px){.invitation{padding-top:25px}.frame-shell{transform:scale(.82);margin-top:-35px;margin-bottom:-42px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
