@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap";:root{--color-cream:#fdf0ed;--color-ivory:#fff5f3;--color-gray-light:#f8eae6;--color-burgundy:#722f37;--color-gold:#c5a880;--color-text-main:#333;--color-text-light:#666;--font-script:"Great Vibes", cursive;--font-serif:"Playfair Display", serif;--font-sans:"Inter", sans-serif;--transition-slow:.8s cubic-bezier(.25, 1, .5, 1);--transition-med:.5s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-ivory);color:var(--color-text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:400}.script-text{font-family:var(--font-script)}.serif-text{font-family:var(--font-serif)}.burgundy-text{color:var(--color-burgundy)}.gold-text{color:var(--color-gold)}.fade-in{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}.app-container{width:100%;min-height:100vh;position:relative;overflow:hidden}.scroll-content{opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}.scroll-content.active{opacity:1;pointer-events:auto}.music-btn{border:1px solid var(--color-gold);cursor:pointer;z-index:100;width:50px;height:50px;color:var(--color-burgundy);transition:all var(--transition-med);background-color:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 15px #0000001a}.music-btn:hover{transform:scale(1.05)}.btn-primary{background-color:var(--color-burgundy);color:#fff;font-family:var(--font-serif);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-med), transform .2s ease;border:none;border-radius:4px;padding:15px 40px;font-size:1rem}.btn-primary:hover{background-color:#5a252b;transform:translateY(-2px)}.btn-outline{color:var(--color-burgundy);border:1px solid var(--color-burgundy);font-family:var(--font-sans);cursor:pointer;background-color:#0000;border-radius:4px;align-items:center;gap:8px;padding:12px 30px;font-size:.9rem;transition:all .3s;display:inline-flex}.btn-outline:hover{background-color:#722f370d}.envelope-container{z-index:2000;background-color:#0000;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity 1.5s,visibility 1.5s;display:flex;position:fixed;top:0;left:0}.envelope-container.hidden{opacity:0;visibility:hidden;pointer-events:none}.envelope-wrapper{cursor:pointer;perspective:2000px;background:0 0;width:100vw;height:100vh;position:relative;overflow:hidden}.envelope-inside{z-index:1;opacity:0;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity 3s .5s;display:flex;position:absolute;top:0;left:0}.envelope-inside:after{content:"";-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:-1;opacity:0;background:#fff6;width:100%;height:100%;transition:opacity 3s .5s;position:absolute;top:0;left:0}.envelope-wrapper.open .envelope-inside,.envelope-wrapper.open .envelope-inside:after{opacity:1}.inside-content{text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;background:#ffffffd9;border:1px solid #d4af3780;border-radius:8px;padding:30px;transition:opacity 2s 1.5s,transform 2s 1.5s;transform:translateY(20px)}.envelope-wrapper.open .inside-content{opacity:1;transform:translateY(0)}.flap{z-index:2;background-image:url(/assets/envelope-cover.jpg);background-position:50%;background-size:100% 100%;width:100%;height:100%;transition:transform 2.5s cubic-bezier(.4,0,.2,1),opacity 2s .8s;position:absolute;top:0;left:0}.top-flap{clip-path:polygon(0 0,100% 0,50% 50%);transform-origin:top;z-index:4}.bottom-flap{clip-path:polygon(0 100%,100% 100%,50% 50%);transform-origin:bottom;z-index:3}.left-flap{clip-path:polygon(0 0,50% 50%,0 100%);transform-origin:0;z-index:2}.right-flap{clip-path:polygon(100% 0,100% 100%,50% 50%);transform-origin:100%;z-index:2}.envelope-wrapper.open .top-flap{opacity:0;transform:rotateX(90deg)}.envelope-wrapper.open .bottom-flap{opacity:0;transform:rotateX(-90deg)}.envelope-wrapper.open .left-flap{opacity:0;transition:transform 2.5s cubic-bezier(.4,0,.2,1),opacity 2s .5s;transform:rotateY(-90deg)}.envelope-wrapper.open .right-flap{opacity:0;transition:transform 2.5s cubic-bezier(.4,0,.2,1),opacity 2s .5s;transform:rotateY(90deg)}.wax-seal{z-index:5;background:radial-gradient(circle at 35% 35%,#f3d279 0%,#d4af37 40%,#aa771c 100%);border:4px solid #e5d5b5;border-radius:50%;justify-content:center;align-items:center;width:clamp(160px,45vw,240px);height:clamp(160px,45vw,240px);transition:all 1.5s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 25px #00000080,inset 0 4px 10px #fff9,inset 0 -4px 15px #0006}.seal-letters{color:#fff;font-family:var(--font-script);text-shadow:2px 2px 4px #0006,-1px -1px 2px #fff6;justify-content:center;align-items:center;padding-right:8px;font-size:clamp(50px,12vw,80px);line-height:1;display:flex}.seal-amp{margin:0 8px;font-size:clamp(30px,8vw,50px)}.wax-seal.glowing{animation:1s forwards seal-glow}.wax-seal.fade-out{opacity:0;filter:blur(8px);transform:translate(-50%,-50%)scale(1.5)}@keyframes seal-glow{0%{box-shadow:0 4px 15px #0006}50%{transform:translate(-50%,-50%)scale(1.05);box-shadow:0 0 40px #e1c15d,0 0 20px #fff}to{transform:translate(-50%,-50%)scale(1.1);box-shadow:0 0 60px #e1c15d,0 0 40px #fff}}.magic-glow{z-index:4;opacity:0;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle,#fff 0%,#e1c15d99 40%,#0000 70%);width:150px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.magic-glow.active{animation:2.5s ease-out forwards explode}@keyframes explode{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.sparkles-container{z-index:100;pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.sparkle{opacity:0;background:radial-gradient(circle,#fff 0%,#f3d279cc 40%,#0000 100%);border-radius:50%;width:12px;height:12px;animation:2.5s ease-in-out forwards fairy-dust;position:absolute;top:0;left:0;transform:scale(0);box-shadow:0 0 15px 4px #d4af3766}.sparkle:before,.sparkle:after{display:none}@keyframes fairy-dust{0%{opacity:0;transform:translate(0)scale(0)}30%{opacity:1;transform:translate(calc(var(--tx) * .7), calc(var(--ty) * .7)) scale(var(--scale))}to{opacity:0;transform:translate(var(--tx), calc(var(--ty) - 60px)) scale(0)}}.tap-to-open{color:#fff;letter-spacing:6px;z-index:10;pointer-events:none;text-shadow:0 2px 10px #000c,0 0 4px #00000080;text-align:center;width:max-content;padding:10px;font-size:14px;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.pulse{animation:2s infinite pulse-opacity}@keyframes pulse-opacity{0%,to{opacity:.6}50%{opacity:1}}.section-invitation{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-background{z-index:-1;background-image:url(/assets/floral-bg.png);background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.invitation-content{flex-direction:column;align-items:center;max-width:800px;padding:40px 20px;display:flex}.title-names{color:#3b4c6b;margin:40px 0 0;font-size:5rem;font-weight:400;line-height:1.2}.ampersand{font-size:3rem}.subtitle{letter-spacing:6px;color:#6a7b9a;text-transform:uppercase;margin:20px 0 30px;font-size:1rem}.date-display{justify-content:center;align-items:center;width:100%;max-width:400px;display:flex}.date-line{opacity:.3;background-color:#6a7b9a;flex-grow:1;height:1px}.date-text{color:#3b4c6b;padding:0 20px;font-size:1.5rem}@media (width<=768px){.title-names{font-size:4rem}.ampersand{font-size:2.5rem}.subtitle{letter-spacing:4px;font-size:.85rem}.date-text{font-size:1.2rem}}.section-countdown{background-color:var(--color-ivory);text-align:center;padding:80px 20px}.section-countdown .section-title{margin-bottom:50px;font-size:3.5rem}.countdown-container{justify-content:center;gap:20px;max-width:600px;margin:0 auto;display:flex}.countdown-item{flex-direction:column;align-items:center;gap:15px;display:flex}.glass-card{-webkit-backdrop-filter:blur(10px);background:#fff6;border:1px solid #fffc;border-radius:12px;justify-content:center;align-items:center;width:90px;height:110px;display:flex;box-shadow:0 8px 32px #722f370d}.countdown-item .number{color:var(--color-burgundy);font-size:3rem;line-height:1}.countdown-item .label{color:var(--color-burgundy);font-size:2rem}@media (width<=600px){.countdown-container{gap:10px}.glass-card{width:65px;height:85px}.countdown-item .number{font-size:2rem}.countdown-item .label{font-size:1.5rem}}.section-schedule{background-color:var(--color-ivory);text-align:center;padding:80px 20px}.section-schedule .section-title{margin-bottom:60px;font-size:3.5rem}.timeline{flex-direction:column;gap:30px;max-width:800px;margin:0 auto;display:flex;position:relative}.timeline:before{content:"";background-color:var(--color-gold);opacity:.3;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{justify-content:space-between;align-items:center;width:100%;display:flex}.timeline-item.left,.timeline-item.right{flex-direction:row}.timeline-content{text-align:right;width:45%;padding:0 20px}.timeline-item.right .timeline-content{text-align:left}.timeline-icon{background-color:var(--color-burgundy);color:#fff;z-index:1;width:40px;height:40px;box-shadow:0 0 0 5px var(--color-ivory);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.timeline-time{color:var(--color-burgundy);margin-bottom:5px;font-size:1.5rem}.timeline-title{color:var(--color-text-main);margin-bottom:10px;font-size:1.2rem;font-weight:500}.timeline-desc{color:var(--color-text-light);line-height:1.5}@media (width<=600px){.timeline:before,.timeline-icon{left:20px}.timeline-item.left,.timeline-item.right{flex-direction:row-reverse;justify-content:flex-end}.timeline-content,.timeline-item.right .timeline-content{text-align:left;width:100%;padding-left:60px;padding-right:0}}.section-location{background-color:var(--color-cream);text-align:center;padding:80px 20px}.section-location .section-title{margin-bottom:40px;font-size:3.5rem}.location-container{max-width:800px;margin:0 auto}.map-wrapper{border-radius:8px;width:100%;height:400px;margin-bottom:40px;overflow:hidden;box-shadow:0 10px 30px #0000000d}.location-info{background:#fff;border:1px solid #c5a88033;border-radius:8px;padding:40px;box-shadow:0 5px 20px #00000008}.venue-name{color:var(--color-burgundy);margin-bottom:10px;font-size:2rem}.venue-address{color:var(--color-text-light);margin-bottom:30px;font-size:1.1rem;font-style:italic}.action-buttons{flex-wrap:wrap;justify-content:center;gap:15px;display:flex}.btn-primary{align-items:center;display:inline-flex}@media (width<=600px){.location-info{padding:30px 20px}.action-buttons{flex-direction:column}.btn-primary,.btn-outline{justify-content:center;width:100%}}.section-rsvp{background-color:var(--color-ivory);text-align:center;padding:80px 20px}.section-rsvp .section-title{margin-bottom:40px;font-size:3.5rem}.rsvp-container{border:1px solid var(--color-burgundy);background:#fff;border-radius:8px;max-width:600px;margin:0 auto;padding:40px;box-shadow:0 10px 30px #722f370d}.rsvp-form{text-align:left}.form-group{margin-bottom:25px}.form-group label{color:var(--color-text-main);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=tel],.form-group textarea,.form-group select{width:100%;font-family:var(--font-sans);background-color:#fafafa;border:1px solid #e5e7eb;border-radius:4px;padding:12px 15px;font-size:1rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-burgundy);background-color:#fff;outline:none}.phone-input{border:1px solid #e5e7eb;border-radius:4px;display:flex;overflow:hidden}.phone-input .country-code{color:var(--color-text-light);background-color:#f3f4f6;border-right:1px solid #e5e7eb;padding:12px 15px}.phone-input input{border:none!important;border-radius:0!important}.radio-group{flex-direction:column;gap:12px;margin-top:10px;display:flex}.radio-label{cursor:pointer;align-items:center;font-size:1rem;display:flex;font-weight:400!important}.radio-label input[type=radio]{accent-color:var(--color-burgundy);margin-right:10px;transform:scale(1.2)}.btn-submit{width:100%;margin-top:10px}.rsvp-success{color:var(--color-burgundy);text-align:center;padding:40px 20px}.rsvp-success h3{margin-bottom:10px;font-size:2rem}.footer{background-color:var(--color-gray-light);text-align:center;border-top:1px solid #c5a88033;padding:60px 20px}.footer-names{margin-bottom:10px;font-size:3rem}.footer-date{color:var(--color-text-light);letter-spacing:4px;font-size:1rem}
