*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #d4a574;--secondary-color: #8b7355;--accent-color: #f4e6d7;--text-dark: #2c2c2c;--text-light: #ffffff;--background-light: #faf8f5;--shadow-light: rgba(0, 0, 0, .1);--shadow-medium: rgba(0, 0, 0, .2);--gradient-gold: linear-gradient(135deg, #d4a574 0%, #8b7355 100%)}body{font-family:Poppins,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--background-light);overflow-x:hidden}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--gradient-gold);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease}.loading-content{text-align:center;color:var(--text-light)}.loading-heart{font-size:3rem;animation:heartbeat 1.5s infinite;margin-bottom:1rem}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.music-notification{position:fixed;top:20px;right:20px;background:var(--gradient-gold);color:#fff;padding:1rem 1.5rem;border-radius:50px;box-shadow:0 5px 20px var(--shadow-medium);z-index:1001;opacity:1;transition:opacity .3s ease;animation:slideInRight .5s ease}.notification-content{display:flex;align-items:center;gap:1rem}.enable-music-btn{background:#fff3;border:none;color:#fff;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.enable-music-btn:hover{background:#ffffff4d}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.hero{height:100vh;background:linear-gradient(#0006,#0006),url(/assets/bg-2-BB3JTmCK.jpg) center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-light);position:relative}.hero-content{max-width:800px;padding:0 2rem;animation:fadeInUp 1s ease}.couple-names{font-family:Dancing Script,cursive;font-size:4rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.wedding-date{font-size:1.5rem;margin-bottom:2rem;font-weight:300}.wedding-verse{font-size:1.1rem;line-height:1.8;margin-bottom:1rem;font-style:italic;max-width:600px;margin-left:auto;margin-right:auto}.verse-source{font-size:1rem;color:var(--primary-color);font-weight:500}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.navbar{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;transition:all .3s ease;transform:translateY(-100%)}.navbar.scrolled{transform:translateY(0);box-shadow:0 2px 20px var(--shadow-light)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:Dancing Script,cursive;font-size:2rem;font-weight:700;color:var(--primary-color)}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{text-decoration:none;color:var(--text-dark);font-weight:500;transition:color .3s ease;position:relative}.nav-link:hover{color:var(--primary-color)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--primary-color);transition:width .3s ease}.nav-link:hover:after{width:100%}.hamburger{display:none;flex-direction:column;cursor:pointer}.bar{width:25px;height:3px;background:var(--text-dark);margin:3px 0;transition:.3s}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;margin-bottom:4rem}.section-title h2{font-family:Dancing Script,cursive;font-size:3rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.title-divider{width:80px;height:3px;background:var(--gradient-gold);margin:0 auto 1rem}.couple-section{padding:6rem 0;background:var(--background-light)}.couple-container{display:flex;justify-content:center}.bride-groom{display:flex;align-items:center;gap:3rem;max-width:1000px}.person-card{background:#fff;border-radius:20px;padding:2rem;text-align:center;box-shadow:0 10px 30px var(--shadow-light);transition:transform .3s ease;width:100%;max-width:350px;min-height:450px;display:flex;flex-direction:column;align-items:center;overflow:hidden}.person-card:hover{transform:translateY(-10px)}.person-image{width:200px;height:200px;border-radius:50%;overflow:hidden;margin:0 auto 1.5rem;border:5px solid var(--primary-color);flex-shrink:0}.bride-groom{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;max-width:1000px;margin:0 auto}.person-image img{width:100%;height:100%;object-fit:cover}.person-info h3{font-family:Dancing Script,cursive;font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.person-info p{color:var(--text-dark);margin-bottom:.5rem}.social-links{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--gradient-gold);color:#fff;border-radius:50%;text-decoration:none;transition:transform .3s ease}.social-link:hover{transform:scale(1.1)}.couple-divider{display:flex;align-items:center;justify-content:center}.heart-icon{font-size:2rem;color:var(--primary-color);animation:heartbeat 2s infinite}.event-section{padding:6rem 0;background:#fff}.events-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem;margin-bottom:4rem}.event-card{background:var(--background-light);border-radius:20px;padding:2rem;text-align:center;box-shadow:0 10px 30px var(--shadow-light);transition:transform .3s ease}.event-card:hover{transform:translateY(-10px)}.event-icon{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.event-info h3{font-family:Dancing Script,cursive;font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.event-details{margin-bottom:2rem}.event-details p{margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;text-align:center}.event-details i{flex-shrink:0;align-self:flex-start;margin-top:3px}.event-details i{color:var(--primary-color);width:20px}.btn-map{background:var(--gradient-gold);color:#fff;border:none;padding:.8rem 2rem;border-radius:50px;font-weight:500;cursor:pointer;transition:transform .3s ease}.btn-map:hover{transform:scale(1.05)}.countdown-container{text-align:center;background:var(--gradient-gold);color:#fff;padding:3rem 2rem;border-radius:20px;margin-top:2rem}.countdown-container h3{font-family:Dancing Script,cursive;font-size:2rem;margin-bottom:2rem}.countdown{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.countdown-item{text-align:center;min-width:80px}.countdown-item span{display:block;font-size:2.5rem;font-weight:700;background:#fff3;border-radius:10px;padding:1rem;margin-bottom:.5rem}.countdown-item label{font-size:.9rem;opacity:.9}.gallery-section{padding:6rem 0;background:var(--background-light)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.gallery-item{position:relative;border-radius:15px;overflow:hidden;cursor:pointer;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay i{font-size:2rem;color:#fff}.rsvp-section{padding:6rem 0;background:#fff}.rsvp-container{max-width:600px;margin:0 auto}.rsvp-form{background:var(--background-light);padding:3rem;border-radius:20px;box-shadow:0 10px 30px var(--shadow-light)}.form-group{margin-bottom:2rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid #eee;border-radius:10px;font-size:1rem;transition:border-color .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.btn-submit{width:100%;background:var(--gradient-gold);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:transform .3s ease}.btn-submit:hover{transform:translateY(-2px)}.footer{background:var(--text-dark);color:#fff;padding:2rem 0;text-align:center}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-text{flex:1}.footer-text i{color:var(--primary-color)}.music-toggle{background:var(--gradient-gold);color:#fff;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:transform .3s ease}.music-toggle:hover{transform:scale(1.1)}.modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:#000000e6;animation:fadeIn .3s ease}.modal-content{position:relative;margin:auto;display:block;width:90%;max-width:800px;top:50%;transform:translateY(-50%)}.modal-content img{width:100%;height:auto;border-radius:10px}.close{position:absolute;top:-40px;right:0;color:#fff;font-size:2rem;cursor:pointer;transition:color .3s ease}.close:hover{color:var(--primary-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.hamburger{display:flex}.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background-color:#fff;width:100%;text-align:center;transition:.3s;box-shadow:0 10px 27px var(--shadow-light);padding:2rem 0}.nav-menu.active{left:0}.couple-names{font-size:2.5rem}.wedding-date{font-size:1.2rem}.wedding-verse{font-size:1rem}.bride-groom{flex-direction:column;gap:2rem}.couple-divider{order:2}.person-card{min-height:400px}.person-image{width:150px;height:150px}.events-container{grid-template-columns:1fr}.countdown{gap:1rem}.countdown-item span{font-size:2rem;padding:.8rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.rsvp-form{padding:2rem}.footer-content{flex-direction:column;gap:1rem}.section-title h2{font-size:2.5rem}.music-notification{top:10px;right:10px;padding:.8rem 1rem}.notification-content{gap:.5rem}.notification-content span{font-size:.9rem}}@media (max-width: 480px){.hero-content{padding:0 1rem}.couple-names{font-size:2rem}.person-image{width:150px;height:150px}.person-card,.event-card{padding:1.5rem}.countdown-item span{font-size:1.5rem;padding:.6rem}.gallery-grid{grid-template-columns:1fr}.music-notification{position:fixed;top:10px;left:10px;right:10px;text-align:center}}
