@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_9ef763a5-module__YfddLG__className{font-family:Great Vibes,Great Vibes Fallback;font-style:normal;font-weight:400}.great_vibes_9ef763a5-module__YfddLG__variable{--font-great-vibes:"Great Vibes", "Great Vibes Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.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:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_2cd52c41-module__amABYq__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_2cd52c41-module__amABYq__variable{--font-outfit:"Outfit", "Outfit Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold-light:#f5d87a;--gold:#d4a647;--gold-dark:#b8860b;--gold-deep:#8b6914;--red-envelope:#8b1a1a;--red-dark:#5c0e0e;--red-light:brown;--cream:#fdf8ef;--cream-dark:#f5e6cc;--brown:#5c3d2e;--brown-light:#8b6f5e;--text-dark:#2c1810;--text-light:#fdf8ef;--bg-dark:#1a0f0a;--bg-gradient-start:#1a0a05;--bg-gradient-end:#2d1a0e;--font-script:var(--font-great-vibes), cursive;--font-body:var(--font-outfit), sans-serif;--shadow-gold:0 0 20px #d4a64766;--shadow-deep:0 10px 40px #00000080;--shadow-card:0 8px 32px #0000004d}html,body{min-height:100dvh;font-family:var(--font-body);color:var(--text-dark);background:var(--bg-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.stage{flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100dvh;display:flex;position:relative;overflow:hidden}.bg-warm{background:radial-gradient(at 50% 30%,#2d1a0e 0%,#1a0a05 70%,#0d0503 100%)}.bg-celebration{background:linear-gradient(145deg,#1a0a05 0%,#2d1a0e 40%,#1a0f0a 100%)}.particles-container{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.particle{background:radial-gradient(circle, var(--gold-light) 0%, var(--gold) 60%, transparent 100%);opacity:0;animation:floatParticle var(--duration,8s) var(--delay,0s) infinite ease-in-out;border-radius:50%;position:absolute}@keyframes floatParticle{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:.8}50%{opacity:.4}90%{opacity:.6}to{opacity:0;transform:translateY(-20vh)scale(1)}}.realistic-envelope-scene{perspective:1800px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;min-height:100dvh;padding:1rem;display:flex}.envelope-3d{width:320px;height:420px;transform-style:preserve-3d;position:relative}@media (min-width:768px){.envelope-3d{width:400px;height:520px}}.env-paper-texture{border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff06 2px 4px),repeating-linear-gradient(-30deg,#0000,#0000 3px,#00000005 3px 5px),radial-gradient(at 20%,#ffffff0a 0%,#0000 50%),radial-gradient(at 80% 30%,#ffffff08 0%,#0000 40%),radial-gradient(at 40% 30%,#b83333 0%,#8b1a1a 35%,#6b1010 70%,#5a0d0d 100%);position:absolute;inset:0}.env-paper-darker{background:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff04 2px 4px),radial-gradient(at 40% 30%,#7a1818 0%,#601010 50%,#4a0a0a 100%)!important}.env-back{border-radius:14px;position:absolute;inset:0;overflow:hidden;box-shadow:0 25px 80px #000000b3,0 5px 20px #0006}.env-card-inside{z-index:1;border-radius:10px;position:absolute;inset:20px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.env-card-inside img{object-fit:cover;border-radius:10px;width:100%;height:100%;display:block}.env-front{z-index:2;border-radius:0 0 14px 14px;height:65%;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -2px 10px #00000026}.env-front-shadow{pointer-events:none;background:linear-gradient(#00000026 0%,#0000 100%);height:30px;position:absolute;top:0;left:0;right:0}.env-gold-border{inset:12px;pointer-events:none;border:1.5px solid #d4a64759;border-radius:6px;position:absolute;inset-block-start:20px}.env-flap{transform-origin:top;height:55%;transform-style:preserve-3d;z-index:3;position:absolute;top:0;left:0;right:0}.env-flap-front{backface-visibility:hidden;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:14px 14px 0 0;position:absolute;inset:0;overflow:hidden}.env-flap-front .env-flap-shadow{clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none;background:linear-gradient(#0000 0%,#0003 100%);height:40%;position:absolute;bottom:0;left:0;right:0}.env-flap-back{backface-visibility:hidden;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:14px 14px 0 0;position:absolute;inset:0;overflow:hidden;transform:rotateY(180deg)}.env-seal-wrapper{z-index:10;cursor:pointer;width:70px;height:70px;margin:0 auto;position:absolute;top:calc(55% - 35px);left:0;right:0}@media (min-width:768px){.env-seal-wrapper{width:84px;height:84px;top:calc(55% - 42px)}}.env-seal{background:radial-gradient(circle at 35% 35%,#ffe88a 0%,#d4a647 25%,#b8860b 55%,#8b6914 80%,#6b4f0a 100%);border-radius:50%;width:70px;height:70px;transition:transform .2s;position:relative;box-shadow:0 4px 15px #d4a64780,0 0 30px #d4a64726,inset 0 -2px 6px #00000059,inset 0 2px 6px #ffe88a66}@media (min-width:768px){.env-seal{width:84px;height:84px}}.env-seal:hover{transform:scale(1.1)}.env-seal:active{transform:scale(.95)}.env-seal-ring{border:1.5px solid #ffe88a80;border-radius:50%;position:absolute;inset:10px}@media (min-width:768px){.env-seal-ring{border-width:2px;inset:12px}}.env-seal-star{color:#ffe88ab3;text-shadow:0 1px 3px #0000004d;justify-content:center;align-items:center;font-size:1.4rem;display:flex;position:absolute;inset:0}@media (min-width:768px){.env-seal-star{font-size:1.8rem}}.env-seal-glow{pointer-events:none;background:radial-gradient(circle,#d4a64759 0%,#0000 70%);border-radius:50%;animation:2.5s ease-in-out infinite envSealPulse;position:absolute;inset:-12px}@keyframes envSealPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.2)}}.env-hint{font-family:var(--font-body);color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase;text-align:center;font-size:.85rem;animation:2s ease-in-out infinite envHintPulse}@keyframes envHintPulse{0%,to{opacity:.5}50%{opacity:1}}.env-subtitle{text-align:center}.env-subtitle-script{font-family:var(--font-script);color:var(--gold-light);margin-bottom:.25rem;font-size:1.5rem}.env-subtitle-small{font-family:var(--font-body);color:var(--cream-dark);opacity:.6;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}.card-zoom-overlay{background:var(--bg-dark);z-index:50;pointer-events:none;position:fixed;inset:0}.confetti-container{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:10px;height:10px;animation:confettiFall var(--fall-duration,3s) var(--fall-delay,0s) ease-in forwards;position:absolute;top:-20px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}to{opacity:0;transform:translateY(100vh) rotate(var(--rotation,720deg)) scale(.5)}}.invitation-wrapper{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:600px;padding:1rem;display:flex}@media (min-width:768px){.invitation-wrapper{gap:3rem;padding:2rem}}.invitation-card{border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 0 1px #d4a6474d}.invitation-card img{width:100%;height:auto;display:block}.invitation-frame{border:3px solid var(--gold);pointer-events:none;border-radius:16px;position:absolute;inset:0;box-shadow:inset 0 0 20px #d4a64726}.invitation-frame:before,.invitation-frame:after{content:"❧";color:var(--gold);opacity:.6;font-size:1.5rem;position:absolute}.invitation-frame:before{top:-2px;left:50%;transform:translate(-50%)translateY(-50%)}.invitation-frame:after{bottom:-2px;left:50%;transform:translate(-50%)translateY(50%)rotate(180deg)}.event-section{flex-direction:column;align-items:center;gap:2rem;width:100%;display:flex}.guest-of-honor{flex-direction:column;align-items:center;gap:1rem;display:flex}.photo-frame{background:linear-gradient(135deg, var(--gold-light), var(--gold-dark), var(--gold-light));width:180px;height:180px;box-shadow:var(--shadow-gold);border-radius:50%;padding:5px;position:relative}@media (min-width:768px){.photo-frame{width:220px;height:220px;padding:6px}}.photo-inner{border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden}.photo-inner img{object-fit:cover;width:100%;height:100%}.guest-name{font-family:var(--font-script);color:var(--gold-light);text-shadow:0 2px 10px #d4a6474d;font-size:2.2rem}@media (min-width:768px){.guest-name{font-size:2.8rem}}.guest-title{font-family:var(--font-body);color:var(--cream-dark);letter-spacing:.2em;text-transform:uppercase;opacity:.8;font-size:.9rem}.details-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-shadow:var(--shadow-card);background:linear-gradient(135deg,#2d1a0ee6 0%,#1a0f0af2 100%);border:1px solid #d4a64740;border-radius:16px;padding:2rem 1.5rem}@media (min-width:768px){.details-card{padding:2.5rem}}.details-card h2{font-family:var(--font-script);color:var(--gold-light);text-align:center;margin-bottom:1.5rem;font-size:1.8rem}.detail-row{border-bottom:1px solid #d4a6471a;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.detail-row:last-child{border-bottom:none}.detail-icon{flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;font-size:1.4rem;display:flex}.custom-calendar-icon{width:2.2rem;height:2.2rem;font-family:var(--font-body);border:1px solid #d4a64766;border-radius:6px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 2px 6px #00000040}.cal-header{background:var(--red-envelope);color:var(--text-light);text-align:center;letter-spacing:.05em;padding:1px 0;font-size:.55rem;font-weight:700;line-height:1.2}.cal-body{background:var(--cream);color:var(--text-dark);flex:1;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;line-height:1.1;display:flex}.detail-text{font-family:var(--font-body);color:var(--cream);font-size:1rem;line-height:1.5}.detail-text strong{color:var(--gold-light);font-weight:600}.countdown-section{text-align:center;width:100%}.countdown-label{font-family:var(--font-body);color:var(--gold);letter-spacing:.25em;text-transform:uppercase;margin-bottom:1rem;font-size:.85rem}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.countdown-item{background:#d4a64714;border:1px solid #d4a64726;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .5rem;display:flex}.countdown-number{font-family:var(--font-body);color:var(--gold-light);font-size:1.8rem;font-weight:700;line-height:1}@media (min-width:768px){.countdown-number{font-size:2.4rem}}.countdown-unit{font-family:var(--font-body);color:var(--cream-dark);letter-spacing:.15em;text-transform:uppercase;opacity:.7;font-size:.65rem}.map-button{background:linear-gradient(135deg, var(--gold-dark) 0%, var(--gold) 50%, var(--gold-dark) 100%);color:var(--bg-dark);font-family:var(--font-body);letter-spacing:.05em;cursor:pointer;background-size:200% 200%;border:none;border-radius:50px;align-items:center;gap:.75rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;animation:3s ease-in-out infinite shimmerButton;display:inline-flex;box-shadow:0 4px 20px #d4a6474d}@keyframes shimmerButton{0%,to{background-position:0%}50%{background-position:100%}}.map-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px #d4a64780}.map-button:active{transform:translateY(0)}.rsvp-section{text-align:center;background:#d4a6470d;border:1px solid #d4a64733;border-radius:16px;width:100%;padding:1.5rem}.rsvp-title{font-family:var(--font-script);color:var(--gold-light);margin-bottom:.75rem;font-size:1.6rem}.rsvp-numbers{font-family:var(--font-body);color:var(--cream);font-size:1.1rem;line-height:1.8}.rsvp-numbers a{color:var(--gold-light);text-decoration:none;transition:color .3s}.rsvp-numbers a:hover{color:var(--gold);text-decoration:underline}.divider{align-items:center;gap:1rem;width:100%;max-width:300px;margin:0 auto;display:flex}.divider-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.divider-ornament{color:var(--gold);opacity:.6;font-size:1rem}.welcome-text{text-align:center;padding:.5rem}.welcome-text h1{font-family:var(--font-script);color:var(--gold-light);text-shadow:0 2px 15px #d4a6474d;margin-bottom:.5rem;font-size:2.5rem;line-height:1.3}@media (min-width:768px){.welcome-text h1{font-size:3.5rem}}.welcome-text p{font-family:var(--font-body);color:var(--cream-dark);opacity:.8;font-size:1rem;line-height:1.6}.footer{text-align:center;color:var(--brown-light);opacity:.5;font-size:.8rem;font-family:var(--font-body);padding:2rem 1rem}
