*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Cormorant Garamond,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-cream: #f9f7f2;--cloud-grey: #dce6e5;--cloud-blush: #efe0e2;--pink-pastel: #f4c2d7;--mint-pastel: #b8e6d0;--gold-accent: #c5a059;--gold-glitter: #d4af37;--text-dark: #4a4a4a;--text-light: #7a7a7a}.app{min-height:100vh;background-color:var(--bg-cream);display:flex;justify-content:center;align-items:center;padding:20px;position:relative;overflow:hidden}.background-moons{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.moon{position:absolute;border-radius:50%;opacity:.3;filter:blur(1px)}.moon-pink{background:radial-gradient(circle at 30% 30%,var(--pink-pastel),transparent 70%)}.moon-mint{background:radial-gradient(circle at 30% 30%,var(--mint-pastel),transparent 70%)}.moon-1{width:200px;height:200px;top:10%;left:5%;animation:float 20s ease-in-out infinite}.moon-2{width:150px;height:150px;top:60%;left:10%;animation:float 25s ease-in-out infinite reverse}.moon-3{width:180px;height:180px;top:20%;right:8%;animation:float 22s ease-in-out infinite}.moon-4{width:120px;height:120px;bottom:15%;right:15%;animation:float 18s ease-in-out infinite reverse}.moon-5{width:100px;height:100px;top:50%;right:5%;animation:float 15s ease-in-out infinite}.clouds{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.cloud{position:absolute;border-radius:50px;opacity:.25;filter:blur(2px)}.cloud-1{width:120px;height:80px;background:var(--pink-pastel);top:15%;left:20%;animation:drift 30s ease-in-out infinite}.cloud-2{width:100px;height:60px;background:var(--mint-pastel);top:40%;left:5%;animation:drift 35s ease-in-out infinite reverse}.cloud-3{width:140px;height:90px;background:var(--pink-pastel);top:70%;left:25%;animation:drift 28s ease-in-out infinite}.cloud-4{width:110px;height:70px;background:var(--mint-pastel);top:25%;right:20%;animation:drift 32s ease-in-out infinite reverse}.cloud-5{width:90px;height:55px;background:var(--pink-pastel);bottom:20%;right:10%;animation:drift 26s ease-in-out infinite}.cloud-6{width:130px;height:85px;background:var(--mint-pastel);top:55%;right:5%;animation:drift 29s ease-in-out infinite reverse}.stars{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.star{position:absolute;color:var(--gold-accent);opacity:.5;font-size:20px;animation:twinkle 3s ease-in-out infinite}.star-1{top:15%;left:10%;font-size:14px;animation-delay:0s}.star-2{top:25%;right:15%;font-size:18px;animation-delay:.5s}.star-3{top:45%;left:8%;font-size:12px;animation-delay:1s}.star-4{bottom:40%;right:12%;font-size:16px;animation-delay:1.5s}.star-5{top:65%;left:20%;font-size:15px;animation-delay:.3s}.star-6{bottom:25%;right:8%;font-size:13px;animation-delay:.8s}.star-7{top:35%;left:50%;font-size:17px;animation-delay:1.2s}.star-8{bottom:15%;left:30%;font-size:11px;animation-delay:.6s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(20px,-20px) rotate(5deg)}66%{transform:translate(-15px,15px) rotate(-5deg)}}@keyframes drift{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.rsvp-container{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:500px;padding:50px 40px;border-radius:8px;box-shadow:0 10px 40px #0000001a;text-align:center;position:relative;z-index:10;border:1px solid rgba(255,255,255,.5);overflow:hidden}.container-moons{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.crescent-moon{position:absolute;border-radius:50%;opacity:.3}.crescent-pink{background:var(--pink-pastel);mask:radial-gradient(circle at 25% 50%,transparent 40%,black 40%);-webkit-mask:radial-gradient(circle at 25% 50%,transparent 40%,black 40%)}.crescent-mint{background:var(--mint-pastel);mask:radial-gradient(circle at 25% 50%,transparent 40%,black 40%);-webkit-mask:radial-gradient(circle at 25% 50%,transparent 40%,black 40%)}.crescent-1{width:80px;height:80px;top:10%;left:5%;transform:rotate(-25deg);animation:gentle-float 15s ease-in-out infinite}.crescent-2{width:60px;height:60px;top:15%;right:8%;transform:rotate(20deg);animation:gentle-float 18s ease-in-out infinite reverse}.crescent-3{width:70px;height:70px;bottom:20%;left:10%;transform:rotate(15deg);animation:gentle-float 20s ease-in-out infinite}.crescent-4{width:55px;height:55px;bottom:15%;right:12%;transform:rotate(-30deg);animation:gentle-float 16s ease-in-out infinite reverse}@keyframes gentle-float{0%,to{transform:translate(0) rotate(var(--initial-rotate, 0deg))}50%{transform:translate(10px,-10px) rotate(calc(var(--initial-rotate, 0deg) + 5deg))}}.moon-icon{font-size:80px;line-height:1;margin-bottom:10px;color:var(--gold-accent);background:linear-gradient(45deg,#c5a059,#e6c879,#c5a059);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;transform:rotate(-15deg);filter:drop-shadow(0 2px 4px rgba(197,160,89,.3));position:relative;z-index:1}h1{font-family:Great Vibes,cursive;font-size:3.5rem;font-weight:400;color:var(--text-dark);margin-bottom:5px;line-height:1.2;position:relative;z-index:1}.subtitle,h2{font-size:.9rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);margin-bottom:30px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:10px 0;display:inline-block;width:100%;position:relative;z-index:1}p{margin-bottom:30px;font-size:1.1rem;color:var(--text-dark)}.event-date{font-size:1.2rem;color:var(--text-dark);margin-bottom:20px;font-weight:500;text-align:center;position:relative;z-index:1}.form-group{margin-bottom:20px;text-align:left;position:relative;z-index:1}label{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:8px}input,select{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:4px;font-family:Cormorant Garamond,serif;font-size:1.1rem;background-color:#fdfdfd;transition:border-color .3s,box-shadow .3s}input:focus,select:focus{outline:none;border-color:var(--gold-accent);background-color:#fff;box-shadow:0 0 0 3px #c5a0591a}button{background:linear-gradient(135deg,#c5a059,#d4af37);color:#fff;border:none;padding:15px 40px;font-size:1rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:30px;font-family:Cormorant Garamond,serif;font-weight:600;margin-top:10px;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 4px 15px #c5a05966}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #c5a05980}button:disabled{opacity:.7;cursor:not-allowed}.success-message{margin-top:15px;padding:12px 20px;background:linear-gradient(135deg,#c5a0591a,#d4af371a);border:1px solid var(--gold-accent);border-radius:8px;color:var(--text-dark);font-size:1rem;text-align:center;font-family:Cormorant Garamond,serif;line-height:1.5;animation:fadeIn .3s ease-in;position:relative;z-index:1}.success-message:before{content:"✓";display:inline-block;margin-right:8px;color:var(--gold-accent);font-weight:700;font-size:1.2rem}.error-message{margin-top:10px;margin-bottom:15px;padding:12px 20px;background:#d32f2f1a;border:1px solid #d32f2f;border-radius:8px;color:#d32f2f;font-size:.9rem;text-align:center;font-family:Cormorant Garamond,serif;line-height:1.5;animation:fadeIn .3s ease-in;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.location-section{margin-top:30px;padding-top:25px;border-top:1px solid #eee;text-align:center;position:relative;z-index:1}.location-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;color:var(--text-dark);margin-bottom:10px}.location-address{font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--text-light);line-height:1.6;margin-bottom:15px}.maps-link{display:inline-block;color:var(--gold-accent);text-decoration:none;font-size:.95rem;font-family:Cormorant Garamond,serif;border-bottom:1px solid var(--gold-accent);transition:color .3s,border-color .3s;padding-bottom:2px}.maps-link:hover{color:var(--gold-glitter);border-bottom-color:var(--gold-glitter)}.footer-note{margin-top:25px;margin-bottom:40px;font-size:1.1rem;color:#aaa;font-style:italic;position:relative;z-index:1}@media(max-width:480px){h1{font-size:2.5rem}.rsvp-container{padding:30px 20px}.moon{opacity:.2}.cloud{opacity:.15}}
