.app{width:100%;overflow-x:hidden}.navbar{position:fixed;top:0;width:100%;background:#fffffffa;box-shadow:0 2px 10px #0000001a;z-index:1000;padding:0}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#d4849c}.nav-toggle{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{width:25px;height:3px;background:#c9a86a;margin:3px 0;transition:.3s;border-radius:3px}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu li a{color:#555;text-decoration:none;font-weight:500;cursor:pointer;transition:color .3s;font-size:.95rem}.nav-menu li a:hover{color:#d4849c}.hero{position:relative;height:100vh;min-height:600px;background:linear-gradient(135deg,#ffe8f0,#ffd4e5,#fff);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%)}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000008}.hero-content{position:relative;z-index:1;padding:2rem;animation:fadeInUp 1s ease-out}.hero-icon{font-size:4rem;margin-bottom:1rem;color:#c9a86a;animation:fadeIn 1.5s ease-out}.hero-title{font-size:3.5rem;font-weight:700;color:#4a4a4a;margin-bottom:1.5rem;letter-spacing:2px}.divider{width:100px;height:2px;background:#c9a86a;margin:1.5rem auto}.hero-subtitle{font-size:1.5rem;color:#666;margin-bottom:1rem;font-weight:300;letter-spacing:1px}.hero-date{font-size:1.2rem;color:#d4849c;font-weight:600}.scroll-down{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:none;border:2px solid #D4849C;color:#d4849c;padding:.75rem 1.5rem;border-radius:30px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;transition:all .3s;z-index:2;animation:bounce 2s infinite}.scroll-down:hover{background:#d4849c;color:#fff;transform:translate(-50%) translateY(-5px)}.scroll-text{font-size:.85rem;font-weight:600;letter-spacing:1px}.scroll-arrow{font-size:1.2rem;line-height:1}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.about{padding:5rem 1.5rem;background:#fff}.container{max-width:1200px;margin:0 auto}.about-content{max-width:800px;margin:0 auto;text-align:center}.about-content h2{font-size:2rem;color:#4a4a4a;margin-bottom:1.5rem}.about-content p{font-size:1.1rem;line-height:1.8;color:#666;margin-bottom:1.5rem}.details{padding:5rem 1.5rem;background:#fff5f8}.section-title{text-align:center;font-size:2.5rem;color:#4a4a4a;margin-bottom:3rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.detail-card{background:#fff;padding:2.5rem 2rem;border-radius:15px;box-shadow:0 5px 20px #00000014;text-align:center;transition:transform .3s,box-shadow .3s}.detail-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.detail-icon{font-size:3rem;margin-bottom:1rem}.detail-card h3{font-size:1.5rem;color:#d4849c;margin-bottom:1rem}.detail-name{font-size:1.1rem;font-weight:600;color:#4a4a4a;margin-bottom:.5rem}.detail-address{color:#777;line-height:1.6;margin-bottom:.5rem}.detail-time{color:#d4849c;font-weight:600;margin-top:.5rem}.schedule{padding:5rem 1.5rem;background:#fff}.timeline{max-width:700px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:2px;height:100%;background:#ffd4e5}.timeline-item{display:flex;gap:2rem;margin-bottom:3rem;position:relative}.timeline-time{flex:0 0 120px;text-align:right;font-weight:600;color:#d4849c;padding-top:.5rem}.timeline-content{flex:1;background:#fff5f8;padding:1.5rem;border-radius:10px;box-shadow:0 3px 15px #0000000d;position:relative}.timeline-content:before{content:"";position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#d4849c;border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px #ffd4e5}.timeline-content h3{font-size:1.3rem;color:#4a4a4a;margin-bottom:.5rem}.timeline-content p{color:#777;line-height:1.6}.gallery{padding:5rem 1.5rem;background:#fff}.gallery-subtitle{text-align:center;color:#666;margin-bottom:3rem;font-size:1.1rem;font-style:italic}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.gallery-item{position:relative;overflow:hidden;border-radius:10px;cursor:pointer;aspect-ratio:1;box-shadow:0 3px 15px #0000001a;transition:transform .3s,box-shadow .3s}.gallery-item:hover{transform:scale(1.05);box-shadow:0 8px 25px #00000026}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#d4849cd9;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-icon{font-size:3rem;color:#fff}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s}.lightbox-image{max-width:90%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 50px #00000080}.lightbox-close{position:absolute;top:2rem;right:2rem;background:#fff3;color:#fff;border:none;font-size:3rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .3s;padding:0}.lightbox-close:hover{background:#ffffff4d}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;color:#fff;border:none;font-size:2rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s;padding:0}.lightbox-prev:hover,.lightbox-next:hover{background:#ffffff4d}.lightbox-prev{left:2rem}.lightbox-next{right:2rem}.lightbox-counter{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;font-size:1.2rem;background:#00000080;padding:.5rem 1.5rem;border-radius:20px}.gifts{padding:5rem 1.5rem;background:#fff}.gifts-subtitle{text-align:center;color:#666;max-width:800px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.8}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:900px;margin:0 auto 2rem}.gift-card{background:#fff5f8;padding:2.5rem 2rem;border-radius:15px;box-shadow:0 5px 20px #00000014;text-align:center;transition:transform .3s,box-shadow .3s}.gift-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001f}.gift-card h3{font-size:1.8rem;color:#d4849c;margin-bottom:1.5rem}.qr-code-placeholder{width:250px;height:250px;margin:0 auto 1.5rem;border:3px dashed #FFD4E5;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden;padding:10px}.qr-code-placeholder img{width:100%;height:100%;object-fit:contain}.qr-placeholder-text{text-align:center;color:#d4849c}.qr-icon{font-size:3rem;display:block;margin-bottom:.5rem}.qr-placeholder-text p{margin:.25rem 0;font-weight:600}.qr-hint{font-size:.85rem;color:#999;font-weight:400!important;font-style:italic}.download-btn{display:inline-block;padding:.75rem 1.5rem;background:#d4849c;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;font-size:.95rem;margin-bottom:1.5rem;transition:background .3s,transform .2s}.download-btn:hover{background:#b86d85;transform:translateY(-2px)}.account-info{background:#fff;padding:1.5rem;border-radius:10px;text-align:left;color:#666;line-height:1.8;font-size:.95rem}.account-info strong{color:#4a4a4a}.gifts-note{text-align:center;font-size:1.2rem;color:#d4849c;font-weight:600;margin-top:2rem}.rsvp{padding:5rem 1.5rem;background:linear-gradient(135deg,#ffe8f0,#ffd4e5)}.rsvp-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:1.1rem}.rsvp-form{max-width:600px;margin:0 auto;background:#fff;padding:2.5rem;border-radius:15px;box-shadow:0 5px 30px #0000001a}.form-group{margin-bottom:1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid #FFD4E5;border-radius:8px;font-size:1rem;font-family:Lato,sans-serif;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d4849c}.form-group textarea{resize:vertical;min-height:100px}.btn-submit{width:100%;padding:1rem 2rem;background:#d4849c;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .3s,transform .2s}.btn-submit:hover{background:#b86d85;transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.prayer{padding:5rem 1.5rem;background:#fff}.prayer-content{max-width:700px;margin:0 auto;text-align:center}.prayer-icon{font-size:3rem;margin-bottom:1rem}.prayer-content h3{font-size:2rem;color:#4a4a4a;margin-bottom:1.5rem}.prayer-text{font-size:1.2rem;line-height:1.8;color:#666;font-style:italic;margin-bottom:1rem}.prayer-verse{color:#d4849c;font-weight:600}.footer{padding:3rem 1.5rem;background:#4a4a4a;color:#fff;text-align:center}.footer-text{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.8}.footer-contact{margin-bottom:2rem;color:#ccc}.footer-contact a{color:#ffd4e5;text-decoration:none;transition:color .3s}.footer-contact a:hover{color:#fff}.footer-divider{width:100px;height:1px;background:#777;margin:2rem auto}.footer-copyright{color:#999;font-size:.9rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.nav-toggle{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 #0000000d;padding:2rem 0;gap:0}.nav-menu.active{left:0}.nav-menu li{padding:1rem 0}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.section-title{font-size:2rem}.about-content h2{font-size:1.5rem}.about-content p{font-size:1rem}.details-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.timeline:before{left:30px}.timeline-item{flex-direction:column;gap:.5rem;padding-left:60px}.timeline-time{text-align:left;flex:none}.timeline-content:before{left:-48px}.rsvp-form{padding:2rem 1.5rem}.prayer-text{font-size:1.1rem}.about,.details,.schedule,.gifts,.rsvp,.prayer{padding:3rem 1.5rem}.gifts-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (max-width: 480px){.nav-logo{font-size:1.2rem}.hero{min-height:500px}.hero-title{font-size:2rem}.hero-icon{font-size:3rem}.hero-subtitle,.hero-date{font-size:1rem}.section-title{font-size:1.8rem}.detail-card{padding:2rem 1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.lightbox{padding:1rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-close{top:1rem;right:1rem;width:40px;height:40px;font-size:2rem}.lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:1.5rem}.gift-card{padding:2rem 1.5rem}.qr-code-placeholder{width:220px;height:220px}.timeline-item{padding-left:50px}.timeline-content:before{left:-38px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Lato,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa;color:#333;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif}
