*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Montserrat',sans-serif;color:#333;background:#fffcf9;overflow-x:hidden;}
h1,h2,h3{font-family:'Playfair Display',serif;}
section{padding:80px 20px;}

/* NAVBAR */
.navbar{position:fixed;top:0;width:100%;background:white;display:flex;justify-content:space-between;align-items:center;padding:15px 20px;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.05);}
.logo{height:32px;}
.menu-btn{font-size:26px;background:none;border:none;cursor:pointer;}
.dropdown-menu{position:absolute;top:60px;right:20px;background:white;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.1);display:none;flex-direction:column;}
.dropdown-menu a{padding:12px 20px;text-decoration:none;color:#333;}
.dropdown-menu.show{display:flex;}

/* HERO */
.hero{height:100vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;}
.bg-video{position:absolute;width:100%;height:100%;object-fit:cover;top:0;left:0;z-index:-1;}
.hero-overlay{background:rgba(0,0,0,.45);position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:white;}
.hero-title{font-size:2.5rem;}
.hero-divider{width:60px;height:1px;background:#D4AF37;margin:20px auto;}
.amp{color:#D4AF37;}

/* STORY */
.story{background:#f6f4f2;}
.story-container{display:flex;flex-direction:column;gap:40px;max-width:900px;margin:auto;}
.story-block{flex:1;}
.story-quote{margin-top:40px;text-align:center;font-style:italic;color:#777;}

/* GALLERY */
.section-header{text-align:center;margin-bottom:40px;}
.gold-text{color:#D4AF37;letter-spacing:4px;font-size:.7rem;text-transform:uppercase;}
.grid-container{display:grid;grid-template-columns:1fr;gap:14px;}
.photo-card{overflow:hidden;border-radius:15px;cursor:pointer;transition:transform .6s ease,box-shadow .6s ease;box-shadow:0 8px 20px rgba(0,0,0,.08);}
.photo-card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 18px 35px rgba(0,0,0,.12);}
.photo-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease;}

/* DRESS CODE */
.dress-code{background:#fdf8f0;}
.dress-card{border:1px solid #D4AF37;padding:50px 25px;text-align:center;border-radius:20px;max-width:520px;margin:auto;}
.ornament{font-size:2rem;color:#D4AF37;margin-bottom:10px;}
.palette-grid{display:flex;justify-content:center;gap:18px;margin-top:30px;}
.color-item{text-align:center;font-size:.65rem;color:#888;text-transform:uppercase;}
.color-circle{width:50px;height:50px;border-radius:50%;border:3px solid white;box-shadow:0 4px 10px rgba(0,0,0,.1);margin-bottom:6px;}

/* LOCATION */
.location-wrapper{display:flex;flex-direction:column;gap:20px;max-width:900px;margin:auto;}
.loc-card{flex:1;background:white;padding:30px 15px;border-radius:12px;text-align:center;box-shadow:0 6px 20px rgba(0,0,0,.06);transition:transform .4s ease;}
.loc-card:hover{transform:translateY(-5px);}
.qr-code{width:100%;max-width:90px;margin-top:15px;cursor:pointer;transition:transform .4s ease;}
.qr-code:hover{transform:scale(1.08);}

/* RSVP */
.rsvp-container{max-width:500px;margin:auto;text-align:center;}
.rsvp form{display:flex;flex-direction:column;gap:14px;margin-top:25px;}
.rsvp input,.rsvp select,.rsvp textarea{padding:15px;border:1px solid #e5e5e5;border-radius:8px;font-size:15px;background:#fafafa;}
.rsvp input:focus,.rsvp select:focus,.rsvp textarea:focus{border-color:#D4AF37;outline:none;background:white;}
#sendBtn{background:#D4AF37;color:white;padding:18px;border:none;border-radius:50px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .4s ease;}
#sendBtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(212,175,55,.4);}
.hidden{display:none;}

/* FOOTER */
.main-footer{padding:70px 20px;background:#1a1a1a;color:white;text-align:center;}
.main-footer p{font-size:.7rem;color:#888;}
.brand-footer{display:block;margin-top:10px;font-size:1.4rem;color:#D4AF37;}

/* LIGHTBOX */
.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:none;justify-content:center;align-items:center;}
.lightbox img{max-width:90%;max-height:90%;}

/* MUSIC BUTTON */
.music-btn{position:fixed;bottom:25px;right:25px;background:#D4AF37;color:white;border:none;width:50px;height:50px;border-radius:50%;cursor:pointer;}

/* ANIMATION */
.fade-in{opacity:0;transform:translateY(30px);transition:1s;}
.fade-in.appear{opacity:1;transform:translateY(0);}

/* TABLET */
@media (min-width:768px){
.grid-container{grid-template-columns:repeat(2,1fr);}
.hero-title{font-size:3.5rem;}
}

/* DESKTOP */
@media (min-width:1024px){
.grid-container{grid-template-columns:repeat(3,1fr);}
.story-container{flex-direction:row;}
.location-wrapper{flex-direction:row;}
.hero-title{font-size:4rem;}
}