:root{--ink:#5f5549;--ink-soft:#897b6c;--paper:#fbf7ee;--champagne:#b89269;--line:#8b6f503b;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Montserrat", Arial, sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;background:#e9e1d6;margin:0}body.page-locked{overflow:hidden}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{color:inherit}.app{isolation:isolate;min-height:100vh;position:relative;overflow:clip}.page-shell{background:#faf6ee;width:min(100%,760px);min-height:100vh;margin:0 auto;overflow:hidden}.floating-controls{z-index:75;pointer-events:none;justify-content:space-between;width:min(100%,760px);padding:0 17px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.round-button,.menu-close{cursor:pointer;pointer-events:auto;background:#fffcf6f5;border:1px solid #85684a33;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;transition:transform .24s,color .24s,background .24s;display:grid;box-shadow:0 5px 14px #48321e17}.round-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px;width:19px;height:19px}.round-button:hover{color:#fffaf2;background:var(--champagne);transform:translateY(-2px)}.round-button:focus-visible{color:#fffaf2;background:var(--champagne);transform:translateY(-2px)}.music-button.is-playing{color:var(--champagne)}.menu-overlay{z-index:90;visibility:hidden;opacity:0;pointer-events:none;background:linear-gradient(#fdfaf4eb,#fdfaf4f7), var(--floral-paper) center top / cover;place-items:center;width:min(100%,760px);transition:opacity .42s,transform .55s cubic-bezier(.19,.74,.24,1),visibility 0s linear .55s;display:grid;position:fixed;top:0;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)translateY(-14px)}.menu-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)translateY(0)}.menu-close{z-index:2;font-family:var(--sans);font-size:1.55rem;font-weight:300;line-height:1;position:absolute;top:16px;right:17px}.menu-inner{text-align:center;width:min(100%,430px);padding:70px 30px 40px}.menu-monogram{margin:0 0 12px;font-size:clamp(2.7rem,11vw,4.3rem);line-height:1}.menu-monogram i{color:var(--champagne);font-size:.6em}.menu-inner nav{border-top:1px solid var(--line);margin:36px 0 30px}.menu-inner nav button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:baseline;width:100%;padding:14px 2px;font-size:clamp(1.6rem,6vw,2.2rem);transition:color .3s,padding .3s;display:flex}.menu-inner nav button:hover{color:var(--champagne);padding-left:8px}.menu-inner nav small{color:var(--champagne);font-family:var(--sans);letter-spacing:.16em;font-size:.5rem}.official-song{color:var(--ink);flex-direction:column;font-size:1.05rem;text-decoration:none;display:inline-flex}.official-song span{color:var(--champagne);font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:.48rem}.opening{contain:paint;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;min-height:100svh;padding:clamp(68px,9vh,90px) 20px 22px;display:flex;position:relative;overflow:hidden}.opening-paper{z-index:-2;object-fit:cover;object-position:center top;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.opening:before{content:"";z-index:-1;background:radial-gradient(#fffdf826,#fffdf86b 78%,#0000);position:absolute;top:0;bottom:0;left:0;right:0}.engagement-content{content-visibility:auto;contain-intrinsic-size:auto 2500px}.hero-copy{z-index:10;transition:opacity .42s,transform .42s;animation:.46s ease-out both heroArrive;position:relative}.invitation-open .hero-copy{opacity:.48;transform:translateY(-8px)scale(.98)}.eyebrow{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 12px;font-size:.61rem;font-weight:500;line-height:1.6}.hero-copy h1{letter-spacing:-.045em;align-items:center;gap:clamp(11px,3vw,24px);margin:0;font-size:clamp(3rem,12vw,5.2rem);font-weight:400;line-height:.84;display:flex}.hero-copy h1 i,.names-lockup i{color:var(--champagne);font-size:.62em;font-weight:400}.hero-date{color:var(--champagne);font-family:var(--sans);letter-spacing:.38em;margin:16px 0 0;font-size:.59rem;font-weight:500}.envelope-button{z-index:4;cursor:pointer;perspective:1200px;background:0 0;border:0;width:min(100vw,430px);height:min(59vh,500px);min-height:400px;margin:-10px 0 -4px;padding:0;position:relative}.envelope-button:disabled{cursor:default}.envelope-button:focus-visible .envelope-scene{outline-offset:10px;outline:2px solid #8e6f4da6}.envelope-scene{--card-lift:-128px;--card-open-scale:1.045;isolation:isolate;width:min(96vw,398px);height:340px;transform-style:preserve-3d;position:absolute;bottom:45px;left:50%;transform:translate(-50%)}.envelope-button.is-arming .envelope-scene{transition:transform .16s ease-out;transform:translate(-50%,2px)scale(.994)}.envelope-scene:before{content:"";z-index:0;opacity:.35;pointer-events:none;background:radial-gradient(#be976c33,#0000 70%);border-radius:50%;width:108%;height:70%;position:absolute;bottom:28px;left:50%;transform:translate(-50%)scale(.96)}.envelope-back,.envelope-front,.envelope-flap{width:100%;height:238px;position:absolute;bottom:0;left:0}.envelope-back{z-index:1;background:repeating-linear-gradient(7deg,#674b2e05 0 1px,#0000 1px 4px),linear-gradient(145deg,#ffffff61,#0000 48%),#d5c8b4;border:1px solid #6f583d38;border-radius:2px;box-shadow:0 17px 30px #462f1b29}.envelope-flap{z-index:6;clip-path:polygon(0 0,100% 0,100% 7%,96% 18%,88% 29%,52% 65%,48% 65%,12% 29%,4% 18%,0 7%);transform-origin:50% 0;background:repeating-linear-gradient(7deg,#674b2e05 0 1px,#0000 1px 4px),linear-gradient(145deg,#ffffff4d,#0000 50%),linear-gradient(155deg,#dfd4c2,#cbbba3);border-radius:0 0 44% 44%/0 0 10% 10%}.envelope-flap:after{content:"";clip-path:inherit;pointer-events:none;background:linear-gradient(150deg,#0000 48%,#8e693f47 49.5%,#e8d3b199 50.2%,#0000 52%);position:absolute;top:3px;bottom:3px;left:3px;right:3px}.envelope-front{z-index:4;clip-path:polygon(0 4%,50% 57%,100% 4%,100% 100%,0 100%);background:repeating-linear-gradient(7deg,#674b2e04 0 1px,#0000 1px 4px),linear-gradient(132deg,#0000 49.3%,#5c40261f 49.9%,#f0e5d380 50.35%,#0000 50.8%),linear-gradient(228deg,#0000 49.3%,#5c40261f 49.9%,#f0e5d380 50.35%,#0000 50.8%),linear-gradient(158deg,#ded1bd,#cdbba2)}.envelope-front:after{content:"";background:linear-gradient(145deg,#ffffff40,#0000 54%),linear-gradient(#0000 84%,#5f422814);position:absolute;top:0;bottom:0;left:0;right:0}.envelope-rim{z-index:5;clip-path:polygon(0 5%,50% 58%,100% 5%,100% 100%,0 100%);pointer-events:none;border:1px solid #896b484d;height:230px;position:absolute;bottom:4px;left:4px;right:4px}.envelope-flowers{z-index:7;opacity:.94;pointer-events:none;transform-origin:50% 82%;width:100%;height:238px;display:block;position:absolute;bottom:0;left:0;right:0}.envelope-floral-cluster>path{fill:none;stroke:#927d63;stroke-linecap:round;stroke-width:1.1px}.invite-card{z-index:2;background:linear-gradient(#ffffffb3,#ffffffb3), var(--floral-paper) center / cover;opacity:0;transform-origin:50% 100%;border:1px solid #8b683e6b;flex-direction:column;align-items:center;width:94%;height:310px;padding:30px 20px 23px;display:flex;position:absolute;bottom:18px;left:3%;overflow:hidden;transform:translateY(108px)scale(.975);box-shadow:0 13px 30px #49321f24}.invite-card:after{content:"";z-index:3;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff75,#0000);width:32%;position:absolute;top:-25%;bottom:-25%;left:0;transform:translate(-140%)rotate(12deg)}.card-flower-frame{z-index:1;opacity:.94;pointer-events:none;transform-origin:50%;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;transform:scale(1)}.card-botanical>path{fill:none;stroke:#9f876a;stroke-linecap:round;stroke-width:1.1px}.card-inner-border{z-index:2;pointer-events:none;border:1px solid #aa804c6b;position:absolute;top:8px;bottom:8px;left:8px;right:8px;box-shadow:inset 0 0 0 3px #fffaf06b,inset 0 0 0 4px #aa804c1f}.invite-card>span:not(.card-inner-border){z-index:3;position:relative}.card-ornament{color:var(--champagne);text-shadow:0 1px #ffffffb3;font-size:.68rem;line-height:1}.card-ornament--top{margin-bottom:7px}.card-ornament--bottom{margin-top:13px;font-size:.92rem}.card-kicker{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:.42rem;font-weight:500}.card-names{margin-top:15px;font-size:clamp(2.65rem,11vw,3.15rem);line-height:.9}.card-names i{color:var(--champagne);font-size:.58em}.card-rule{background:var(--champagne);width:40px;height:1px;margin:15px 0 12px}.card-message{font-size:1.58rem;font-style:italic;line-height:1.04}.card-date{color:var(--champagne);font-family:var(--sans);letter-spacing:.17em;margin-top:17px;font-size:.52rem;font-weight:500}.seal-decoration{z-index:8;color:#68705c;width:176px;transition:opacity .45s 80ms,transform .6s 80ms;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}.seal-sprig{width:100%;display:block}.wax-seal{z-index:10;color:#f6dfbf;text-shadow:0 1px #5533194d;background:radial-gradient(circle at 34% 27%,#ffffff4d,#0000 20%),radial-gradient(circle,#b9844f 0 50%,#80502d 51% 58%,#bd8b57 59% 66%,#82522f 67%);border:1px solid #80522f;border-radius:48% 52% 46% 54%/53% 47% 55% 45%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 5px 12px #3a23124d,inset 0 0 0 2px #ffd8a92e,inset 0 -3px 7px #54301833}.wax-seal:before{content:"";border:1px solid #f6d5ab6b;border-radius:50%;position:absolute;top:11px;bottom:11px;left:11px;right:11px;box-shadow:inset 0 0 0 2px #5c341a21}.wax-seal:after{content:"✦";color:#ffe7c694;font-size:.42rem;position:absolute;top:7px;right:11px}.wax-seal i{margin:0 2px;font-size:.78rem}.wax-seal b{font-size:.86rem;font-weight:500}.open-label{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;padding-bottom:13px;font-size:.56rem;font-weight:500;transition:opacity .25s;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.open-label:after{content:"";border-bottom:1px solid;border-right:1px solid;width:5px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)rotate(45deg)}.envelope-flap,.invite-card,.wax-seal,.seal-decoration{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform, opacity}.envelope-button.is-open .envelope-flap{animation:.62s cubic-bezier(.22,.72,.22,1) 70ms both flapGrandOpen}.envelope-button.is-open .invite-card{animation:.86s cubic-bezier(.2,.76,.24,1) .34s both cardGrandReveal}.envelope-button.is-open .wax-seal{animation:.43s ease-out 20ms both sealRelease}.envelope-button.is-open .seal-decoration{animation:.43s ease-out 20ms both bouquetRelease}.envelope-button.is-open .open-label{opacity:0}.envelope-button.is-settled .envelope-scene:before,.envelope-button.is-settled .invite-card:after{animation:none}.envelope-button.is-settled .envelope-flap{z-index:0;will-change:auto;animation:none;transform:rotateX(180deg)}.envelope-button.is-settled .invite-card{opacity:1;transform:translate3d(0,var(--card-lift),0) scale(var(--card-open-scale));will-change:auto;animation:none}.envelope-button.is-settled .card-flower-frame{opacity:.94;animation:none;transform:scale(1)}.envelope-button.is-settled .wax-seal{opacity:0;will-change:auto;animation:none;transform:translate(-50%,40px)scale(.6)}.envelope-button.is-settled .seal-decoration{opacity:0;will-change:auto;animation:none;transform:translate(-50%,28px)scale(.72)}.envelope-button.is-settled .envelope-flowers{opacity:.94;will-change:auto;animation:none;transform:scale(1)}.envelope-button.is-settled .card-rule,.envelope-button.is-settled .card-message,.envelope-button.is-settled .card-date,.envelope-button.is-settled .card-ornament--bottom{opacity:1;animation:none;transform:none}.petal-burst{z-index:20;contain:layout paint style;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.petal-burst span{width:var(--size);height:var(--size);contain:strict;opacity:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform, opacity;background:url(/flower-particle.svg) 50%/contain no-repeat;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)scale(.28)}.petal-burst.is-active span{animation:petalFly var(--duration) cubic-bezier(.17,.72,.28,1) var(--delay) forwards}.continue-cue{z-index:15;color:var(--ink-soft);cursor:pointer;font-family:var(--sans);letter-spacing:.15em;opacity:0;pointer-events:none;text-transform:uppercase;background:0 0;border:0;flex-direction:column;align-items:center;gap:1px;padding:7px 12px;font-size:.53rem;transition:opacity .6s 1.5s,transform .6s 1.5s;display:flex;position:relative;transform:translateY(8px)}.invitation-open .continue-cue{opacity:1;pointer-events:auto;transform:translateY(0)}.continue-cue svg{fill:none;stroke:currentColor;stroke-width:1.25px;width:20px;height:20px}.now-playing{z-index:18;color:var(--ink-soft);font-family:var(--sans);letter-spacing:.08em;opacity:0;pointer-events:none;text-transform:uppercase;align-items:center;gap:8px;font-size:.48rem;text-decoration:none;transition:opacity .5s;display:flex;position:absolute;bottom:16px;right:18px}.now-playing.is-visible{opacity:.78;pointer-events:auto}.equalizer{align-items:end;gap:2px;height:12px;display:flex}.equalizer i{background:var(--champagne);width:1px;height:8px}.equalizer i:nth-child(2){height:12px}.equalizer i:nth-child(3){height:6px}.section{content-visibility:auto;contain-intrinsic-size:850px;text-align:center;padding:clamp(92px,14vw,132px) clamp(27px,8vw,76px);position:relative}.section h2{letter-spacing:-.04em;margin:0;font-size:clamp(2.65rem,10vw,5rem);font-weight:400;line-height:.91}.section h2 em{color:var(--champagne);font-weight:400}.invitation-section{background:radial-gradient(at 50% 35%,#fdfaf4f7 0,#fdfaf4e0 48%,#fdfaf461 75%,#0000 90%);min-height:100svh}.fine-rule{width:min(210px,65vw);color:var(--champagne);align-items:center;gap:12px;margin:4px auto 29px;display:flex}.fine-rule span{background:linear-gradient(90deg,transparent,var(--champagne));opacity:.55;flex:1;height:1px}.fine-rule span:last-child{background:linear-gradient(90deg,var(--champagne),transparent)}.fine-rule i{font-size:.78rem;font-style:normal}.invite-copy{width:min(100%,440px);color:var(--ink-soft);margin:29px auto;font-size:clamp(1.08rem,4vw,1.35rem);line-height:1.65}.names-lockup{margin:3px 0 8px;font-size:clamp(2.5rem,10vw,4.8rem);line-height:1}.occasion{color:var(--champagne);font-family:var(--sans);letter-spacing:.23em;margin:0;font-size:.56rem;font-weight:500}.event-details{text-align:left;width:min(100%,470px);margin:60px auto 38px;position:relative}.event-details:before{content:"";background:linear-gradient(var(--champagne),#b992691a);width:1px;position:absolute;top:42px;bottom:42px;left:25px}.event-details article{grid-template-columns:52px 1fr;gap:23px;padding-bottom:35px;display:grid;position:relative}.event-details article:last-child{padding-bottom:0}.detail-icon{z-index:1;width:52px;height:52px;color:var(--champagne);background:#fcf8eff0;border:1px solid #a3825e59;border-radius:50%;place-items:center;display:grid;position:relative}.detail-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.25px;width:21px;height:21px}.event-details small,.photo-story figcaption span{color:var(--champagne);font-family:var(--sans);letter-spacing:.17em;text-transform:uppercase;font-size:.52rem;font-weight:500}.event-details h3{margin:4px 0 1px;font-size:clamp(1.36rem,5vw,1.72rem);font-weight:500;line-height:1.1}.event-details p{color:var(--ink-soft);margin:3px 0 0;font-size:1rem}.detail-actions{flex-wrap:wrap;justify-content:center;gap:13px 29px;display:flex}.detail-actions button,.detail-actions a{color:var(--ink);cursor:pointer;font-family:var(--sans);letter-spacing:.13em;text-transform:uppercase;background:0 0;border:0;padding:8px 2px;font-size:.57rem;font-weight:500;text-decoration:none;position:relative}.detail-actions button:after,.detail-actions a:after{content:"";background:var(--champagne);height:1px;transition:transform .3s;position:absolute;bottom:2px;left:0;right:0}.detail-actions button:hover:after,.detail-actions a:hover:after{transform:scaleX(.35)}.countdown-section{min-height:74svh;box-shadow:inset 0 1px var(--line),inset 0 -1px var(--line);background:#f5ede1;flex-direction:column;justify-content:center;align-items:center;display:flex}.countdown-section h2{font-size:clamp(2.35rem,8vw,4rem)}.countdown{grid-template-columns:repeat(4,1fr);width:min(100%,540px);margin:48px auto 0;display:grid}.countdown div{flex-direction:column;align-items:center;display:flex;position:relative}.countdown div:not(:last-child):after{content:"";background:var(--line);width:1px;height:58%;position:absolute;top:8%;right:0}.countdown strong{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(2rem,8vw,4.15rem);font-weight:400;line-height:1}.countdown span{color:var(--ink-soft);font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;margin-top:10px;font-size:.49rem}.after-countdown{color:var(--champagne);margin:38px 0 0;font-size:1.05rem;font-style:italic}.tonight{color:var(--champagne);font-size:1.8rem;font-style:italic}.gallery-section{background:linear-gradient(#faf6eec2,#faf6eec2),var(--floral-paper) center top / 100% auto repeat-y;padding-left:clamp(20px,6vw,58px);padding-right:clamp(20px,6vw,58px)}.gallery-heading{margin-bottom:62px}.gallery-heading h2{font-size:clamp(2.7rem,10vw,4.7rem)}.photo-story{width:min(100%,560px);margin:0 auto}.photo-reveal{background:#eee4d7;border:10px solid #fffcf6f2;position:relative;overflow:hidden;box-shadow:0 20px 48px #44311f26}.photo-reveal:after{content:"";z-index:2;background:linear-gradient(135deg,#f4eadc,#dfcbb2);transition:transform 1.25s cubic-bezier(.19,.76,.2,1) .25s;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(0)}.photo-story.is-visible .photo-reveal:after{transform:translate(104%)}.photo-reveal img{width:100%;height:auto;transition:transform .72s cubic-bezier(.19,.76,.2,1) 60ms;display:block;transform:scale(1.055)}.photo-story.is-visible .photo-reveal img{transform:scale(1)}.photo-story figcaption{width:min(92%,420px);margin:25px auto 0}.photo-story figcaption p{margin:8px 0 0;font-size:clamp(1.4rem,5vw,2rem);font-style:italic;line-height:1.22}.photo-two .photo-reveal img{aspect-ratio:3/4;object-fit:cover}.memory-thread{width:min(265px,65%);color:var(--champagne);align-items:center;gap:14px;margin:68px auto;display:flex}.memory-thread span{background:var(--line);flex:1;height:1px}.memory-thread i{font-size:.65rem;font-style:normal}footer{border-top:1px solid var(--line);color:var(--ink-soft);font-family:var(--sans);letter-spacing:.11em;text-transform:uppercase;background:#f6efe4cc;justify-content:center;align-items:center;gap:10px;padding:23px 24px 26px;font-size:.5rem;display:flex}footer i{color:var(--champagne);font-style:normal}.reveal{opacity:0;transition:opacity .5s,transform .5s cubic-bezier(.19,.74,.24,1);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}@keyframes heroArrive{0%{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translate(0,0)}}@keyframes petalFly{0%{opacity:0;transform:translate(-50%,-50%)rotate(0)scale(.28)}12%{opacity:1}72%{opacity:.92}to{opacity:0;transform:translate3d(calc(-50% + var(--x)),calc(-50% + var(--y)),0) rotate(var(--rotation)) scale(1.08)}}@keyframes cardShimmer{0%{opacity:0;transform:translate(-140%)rotate(12deg)}24%{opacity:.65}to{opacity:0;transform:translate(420%)rotate(12deg)}}@keyframes cardCopyIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translate(0,0)}}@keyframes cardFlowersBloom{0%{opacity:0;transform:scale(.95)}to{opacity:.94;transform:scale(1)}}@keyframes envelopeFlowersAwaken{0%{opacity:.72;transform:scale(.98)}55%{opacity:1;transform:scale(1.018)}to{opacity:.94;transform:scale(1)}}@keyframes envelopeHalo{0%{opacity:.25;transform:translate(-50%)scale(.92)}50%{opacity:.62;transform:translate(-50%)scale(1.04)}to{opacity:.35;transform:translate(-50%)scale(.96)}}@keyframes flapGrandOpen{0%{z-index:6;transform:rotateX(0)}46%{z-index:6;transform:rotateX(92deg)}47%{z-index:0}78%{z-index:0;transform:rotateX(187deg)}to{z-index:0;transform:rotateX(180deg)}}@keyframes cardGrandReveal{0%,30%{opacity:0;transform:translateY(108px)scale(.975)}42%{opacity:1;transform:translateY(60px)scale(.985)}78%{opacity:1;transform:translate3d(0,calc(var(--card-lift) - 8px),0) scale(1.05)}to{opacity:1;transform:translate3d(0,var(--card-lift),0) scale(var(--card-open-scale))}}@keyframes sealRelease{0%,18%{opacity:1;transform:translate(-50%)scale(1)rotate(0)}45%{opacity:1;transform:translate(-50%,-2px)scale(1.05)rotate(-2deg)}to{opacity:0;transform:translate(-50%,40px)scale(.6)rotate(18deg)}}@keyframes bouquetRelease{0%,20%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,28px)scale(.72)}}@media (max-height:700px){.opening{padding-top:59px}.hero-copy h1{font-size:clamp(2.45rem,10vw,3.45rem)}.envelope-button{height:54vh;min-height:355px}.envelope-scene{--card-lift:-103px;--card-open-scale:1.035;bottom:22px;transform:translate(-50%)scale(.94)}.envelope-button.is-open .envelope-scene{transform:translate(-50%)scale(.94)}}@media (max-width:430px){.now-playing{bottom:11px;right:15px}.page-shell{box-shadow:none}.envelope-back{box-shadow:0 12px 24px #462f1b24}.photo-reveal{box-shadow:0 12px 28px #44311f1f}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
