:root{--text-pink: #D94A8C;--text-gold: #C59B27;--bg-pink: #fdf2f7;--font-script: "Great Vibes", cursive;--font-serif: "Cinzel", serif}body{margin:0;padding:0;color:var(--text-pink);overflow-x:hidden;background-color:var(--bg-pink);font-family:var(--font-serif)}.invitation-wrapper{position:relative;width:100%}.magical-bg{position:fixed;inset:0;background:radial-gradient(circle at 15% 25%,rgba(255,180,220,.2) 0%,transparent 50%),radial-gradient(circle at 85% 75%,rgba(255,200,230,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,220,240,.1) 0%,transparent 70%);z-index:-1}.scene{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:40px 20px;opacity:0;transform:translateY(50px);transition:all 1s cubic-bezier(.5,0,0,1)}.scene.show{opacity:1;transform:translateY(0)}.scene-1{background:linear-gradient(180deg,rgba(255,220,240,.3) 0%,transparent 100%)}.pink-castle{width:100%;max-width:350px;margin-bottom:-30px;z-index:2}.pink-castle svg{width:100%;height:auto;filter:drop-shadow(0 10px 30px rgba(217,74,140,.15))}.title-board{background:linear-gradient(135deg,#9b59b6,#8e44ad);border-radius:15px;padding:15px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;box-shadow:0 8px 25px #9b59b64d;border:2px solid rgba(255,255,255,.3)}.princess-name{font-family:var(--font-script);font-size:3rem;color:#fff;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.princess-title{font-family:var(--font-serif);font-size:.9rem;color:var(--text-gold);letter-spacing:4px;margin:5px 0 0;text-transform:uppercase}.animated-butterfly,.animated-bird{position:absolute;z-index:4}.animated-butterfly{top:18%;left:15%;animation:floatAnim 4s infinite alternate}.animated-butterfly svg{width:45px;height:45px}.bird-left{top:35%;left:8%;animation:floatAnim 3s infinite alternate-reverse}.bird-right{top:40%;right:8%;animation:floatAnim 5s infinite alternate}.animated-bird svg{width:50px;height:50px}.scene-2{background:linear-gradient(180deg,transparent 0%,rgba(255,220,240,.2) 50%,transparent 100%)}.invitation-text-box{text-align:center;font-family:var(--font-script);font-size:2.2rem;line-height:1.5;color:var(--text-pink);text-shadow:2px 2px 6px rgba(255,255,255,.9);margin-bottom:30px}.invitation-text-box p{margin:5px 0}.golden-frame-container{position:relative;width:250px;height:250px;display:flex;justify-content:center;align-items:center}.golden-rope-frame{width:100%;height:100%;position:absolute;z-index:2;border:6px solid var(--text-gold);border-radius:50%;box-shadow:0 0 0 3px #c59b274d,inset 0 0 0 3px #c59b2733,0 10px 30px #c59b2733}.baby-photo{width:85%;height:85%;object-fit:cover;border-radius:50%;z-index:1}.golden-crown{position:absolute;top:-35px;z-index:3}.golden-crown svg{width:70px;height:55px;filter:drop-shadow(0 3px 6px rgba(197,155,39,.4))}.congrats-text{font-family:var(--font-script);font-size:2.5rem;text-align:center;margin-top:30px;line-height:1.4}.heart-jewel-container{position:relative;width:180px;height:180px;margin:30px 0;display:flex;align-items:center;justify-content:center}.blue-heart-jewel svg{width:150px;height:150px;animation:pulseGlow 2s infinite alternate}.jewel-crown{position:absolute;top:-15px;z-index:2}.jewel-crown svg{width:50px;height:40px}.date-text,.venue-text,.time-text{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--text-pink);text-shadow:1px 1px 5px rgba(255,255,255,.9);text-align:center;margin:8px 0}.thank-you-text{font-family:var(--font-script);font-size:2.5rem;text-align:center;margin-bottom:30px}.form-section{width:100%;max-width:450px;padding:0 20px}@keyframes floatAnim{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-15px) rotate(5deg)}}@keyframes pulseGlow{0%{filter:drop-shadow(0 0 10px rgba(100,200,255,.4));transform:scale(1)}to{filter:drop-shadow(0 0 25px rgba(100,200,255,.8));transform:scale(1.05)}}.audio-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fdf2f7,#fae1ed);transition:opacity 1s ease,visibility 1s}.audio-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.magical-book-wrapper{text-align:center;perspective:1000px}.book{width:220px;height:300px;position:relative;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.645,.045,.355,1);cursor:pointer;margin:0 auto 30px}.book-cover{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#d94a8c,#c0392b);border-radius:5px 15px 15px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:2;transform-origin:left;transition:transform 1.5s cubic-bezier(.645,.045,.355,1);box-shadow:10px 10px 20px #0003;border-left:10px solid rgba(0,0,0,.1)}.book-title{font-family:var(--font-script);font-size:1.8rem;padding:20px}.book-crown{font-size:3rem;margin-top:20px}.book-page{position:absolute;width:95%;height:95%;top:2.5%;right:0;background:#fff;border-radius:0 10px 10px 0;z-index:1;box-shadow:5px 5px 10px #0000001a}.tap-to-open{font-family:var(--font-serif);color:var(--text-pink);font-size:1.1rem;letter-spacing:2px;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.audio-overlay.opening .book-cover{transform:rotateY(-160deg)}.calendar-section .btn-outline-gold{border:2px solid var(--text-pink)!important;color:var(--text-pink)!important;background:#fff!important;border-radius:50px!important;font-weight:700!important;transition:all .3s ease!important;padding:8px 18px!important}.calendar-section .btn-outline-gold:hover{background:var(--text-pink)!important;color:#fff!important}.map-container-wrapper{display:flex;justify-content:center;align-items:center}.map-box{width:100%;height:250px;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px #0000001a;border:3px solid white}.map-box iframe{width:100%;height:100%;border:none;display:block}@media(max-width:480px){.princess-name{font-size:2.5rem}.invitation-text-box{font-size:1.8rem}.congrats-text{font-size:2rem}.golden-frame-container{width:200px;height:200px}.scene{min-height:40vh;padding:20px 10px}.map-box{height:200px}}
