@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_fed1534a-module__F9WnGq__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_fed1534a-module__F9WnGq__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a1e5f881e1ca6a9a-s.3r71i8beaaw7i.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2efc0c479abd2474-s.02-h3o5cqnryq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70963ccca14000df-s.3dxjtj6-bs-2c.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a146d0fd3ff96e4-s.3pzgmnk57caz1.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0474ff9f7224a0da-s.0_mk8de7o781e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f48d461c03e0a8ec-s.p.3rqg0w444aekk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes Fallback;src:local(Arial);ascent-override:124.79%;descent-override:58.8%;line-gap-override:0.0%;size-adjust:68.19%}.great_vibes_d6946f36-module__l-Fo7W__className{font-family:Great Vibes,Great Vibes Fallback;font-style:normal;font-weight:400}.great_vibes_d6946f36-module__l-Fo7W__variable{--font-great-vibes:"Great Vibes", "Great Vibes Fallback"}
*,:before,:after{box-sizing:border-box}:root{--color-primary:#7d5884;--color-sage:#b0c89a;--color-gold:#c4a064;--color-cream:#fdf8f5;--color-rose:#d4a0c0;--color-lavender:#ede0f5}body{background-color:var(--color-cream);margin:0;padding:0}.floral-bg{background-color:#faf5ef;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none'%3E%3Ccircle cx='80' cy='30' r='6' fill='%23D4A0C0' opacity='0.18'/%3E%3Ccircle cx='80' cy='20' r='4.5' fill='%23E8B8D0' opacity='0.14'/%3E%3Ccircle cx='90' cy='30' r='4.5' fill='%23E8B8D0' opacity='0.14'/%3E%3Ccircle cx='80' cy='40' r='4.5' fill='%23E8B8D0' opacity='0.14'/%3E%3Ccircle cx='70' cy='30' r='4.5' fill='%23E8B8D0' opacity='0.14'/%3E%3Ccircle cx='80' cy='30' r='2.5' fill='%23A06070' opacity='0.22'/%3E%3Cpath d='M72 44 Q65 54 75 50' stroke='%23B0C89A' stroke-width='1.2' fill='none' opacity='0.35'/%3E%3Cpath d='M88 44 Q95 54 85 50' stroke='%23B0C89A' stroke-width='1.2' fill='none' opacity='0.35'/%3E%3Ccircle cx='20' cy='100' r='4' fill='%237D5884' opacity='0.12'/%3E%3Ccircle cx='20' cy='91' r='3' fill='%23A089A9' opacity='0.10'/%3E%3Ccircle cx='29' cy='100' r='3' fill='%23A089A9' opacity='0.10'/%3E%3Ccircle cx='20' cy='109' r='3' fill='%23A089A9' opacity='0.10'/%3E%3Ccircle cx='11' cy='100' r='3' fill='%23A089A9' opacity='0.10'/%3E%3Ccircle cx='20' cy='100' r='2' fill='%237D5884' opacity='0.18'/%3E%3Ccircle cx='135' cy='130' r='4.5' fill='%23B0C89A' opacity='0.18'/%3E%3Ccircle cx='135' cy='120' r='3.5' fill='%23C4D8A8' opacity='0.14'/%3E%3Ccircle cx='145' cy='130' r='3.5' fill='%23C4D8A8' opacity='0.14'/%3E%3Ccircle cx='135' cy='140' r='3.5' fill='%23C4D8A8' opacity='0.14'/%3E%3Ccircle cx='125' cy='130' r='3.5' fill='%23C4D8A8' opacity='0.14'/%3E%3Ccircle cx='135' cy='130' r='2' fill='%23617460' opacity='0.20'/%3E%3Cellipse cx='45' cy='140' rx='12' ry='5' fill='%23B0C89A' opacity='0.12' transform='rotate(-35 45 140)'/%3E%3Cellipse cx='120' cy='55' rx='10' ry='4' fill='%23B0C89A' opacity='0.11' transform='rotate(40 120 55)'/%3E%3Cellipse cx='145' cy='20' rx='8' ry='3.5' fill='%23D4A0C0' opacity='0.10' transform='rotate(-20 145 20)'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='1.2' fill='%23C4A064' opacity='0.14'/%3E%3C/svg%3E")}@keyframes petalFall{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)}6%{opacity:.65}88%{opacity:.45}to{opacity:0;transform:translateY(calc(100vh + 80px)) translateX(var(--drift,50px)) rotate(480deg)}}@keyframes envelopePulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.012)}}.envelope-perspective{perspective:1500px}.envelope-wrapper{cursor:pointer;filter:drop-shadow(0 18px 44px #7d58843d);width:380px;max-width:min(380px,88vw);height:266px;transition:filter .35s,transform .35s;position:relative}.envelope-wrapper:hover:not(.is-opening):not(.is-open){filter:drop-shadow(0 28px 56px #7d588457);animation:none;transform:translateY(-7px)scale(1.015)}.envelope-wrapper.is-opening,.envelope-wrapper.is-open{cursor:default;animation:none}.envelope-wrapper.pulse{will-change:transform;animation:2.4s ease-in-out infinite envelopePulse}.env-body{background:linear-gradient(148deg,#fffef9,#fdf8f2);border:1.5px solid #c8a8da59;border-radius:3px;position:absolute;inset:0}.env-body:after{content:"";pointer-events:none;border:1px solid #c4a0642e;border-radius:2px;position:absolute;inset:9px}.env-fold-left{clip-path:polygon(0 0,0 100%,46% 50%);background:linear-gradient(215deg,#e2d2f2,#d4bce8);position:absolute;inset:0}.env-fold-right{clip-path:polygon(100% 0,54% 50%,100% 100%);background:linear-gradient(325deg,#e2d2f2,#d4bce8);position:absolute;inset:0}.env-fold-bottom{clip-path:polygon(0 100%,50% 52%,100% 100%);background:linear-gradient(#dac8ee,#c8b0dc);position:absolute;inset:0}.env-flap{clip-path:polygon(0 0,100% 0,50% 48%);transform-origin:top;backface-visibility:hidden;z-index:5;background:linear-gradient(168deg,#b090cc,#c4a8dc,#d8beec);transition:transform 1.15s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:rotateX(0)}.env-flap.is-open{transform:rotateX(-180deg)}.env-seal{z-index:6;background:radial-gradient(circle at 38% 34%,#b07898,#6b2e5e);border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 16px #6b2e5e80,0 0 0 2.5px #c4a064bf,0 0 0 5px #c4a0642e}.seal-svg{opacity:.92;width:42px;height:42px}.env-card-peek{z-index:2;background:linear-gradient(#fffaf6 0%,#fff5ef 100%);border:1px solid #c4a06438;border-radius:2px 2px 0 0;height:72%;transition:transform 1.5s cubic-bezier(.34,1.56,.64,1) .45s;position:absolute;bottom:0;left:9%;right:9%;transform:translateY(66%)}.env-card-peek.is-open{transform:translateY(-10px)}.invitation-card{opacity:0;background:linear-gradient(168deg,#fffdf9 0%,#fdf8f3 100%);border:1.5px solid #c4a06447;border-radius:14px;width:min(440px,90vw);max-width:440px;padding:48px 40px;transition:opacity .85s .1s,transform .85s .1s;position:relative;transform:translateY(28px)scale(.97);box-shadow:0 28px 70px #7d588421,0 4px 22px #7d588412}.invitation-card.is-visible{opacity:1;transform:translateY(0)scale(1)}.floral-corner{opacity:.5;pointer-events:none;width:72px;height:72px;position:absolute}.floral-corner-tl{top:8px;left:8px}.floral-corner-br{bottom:8px;right:8px;transform:rotate(180deg)}.font-script{font-family:var(--font-great-vibes,cursive)!important}.font-serif,.font-cormorant{font-family:var(--font-playfair,Georgia, serif)!important}.floral-divider{justify-content:center;align-items:center;gap:12px;width:100%;padding:4px 0;display:flex}.floral-divider-line{background:linear-gradient(90deg,#0000,#b0c89a8c,#0000);flex:1;height:1px}.floral-divider-icon{color:var(--color-rose);font-size:17px;line-height:1}.wedding-hero{background:linear-gradient(135deg,#7d5884 0%,#9879a6 35%,#b09880 70%,#a0b878 100%);position:relative;overflow:hidden}.wedding-hero:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='18' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3Ccircle cx='50' cy='50' r='30' fill='none' stroke='rgba(255,255,255,0.04)' stroke-width='1'/%3E%3Ccircle cx='50' cy='50' r='7' fill='rgba(255,255,255,0.04)'/%3E%3C/svg%3E");position:absolute;inset:0}.fade-in-up{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.fade-in-up.animate{opacity:1;transform:translateY(0)}.open-btn{border:1.5px solid var(--color-primary);color:var(--color-primary);cursor:pointer;font-family:var(--font-playfair,Georgia, serif);letter-spacing:2px;text-transform:uppercase;background:0 0;border-radius:28px;padding:11px 32px;font-size:13px;transition:all .3s}.open-btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #7d58844d}.wedding-gradient{background:linear-gradient(135deg,#7d5884 0%,#a089a9 50%,#b0c89a 100%)}
