:root{--black:#080604;--ivory:#fff8ec;--cream:#f5ead7;--gold:#d7aa52;--wine:#6f1425;--green:#596b3f;--text:#271b13;--muted:#8b745e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.serif{font-family:Georgia,'Times New Roman',serif}.btn{display:inline-flex;gap:.7rem;align-items:center;border:1px solid var(--gold);padding:1rem 1.35rem;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--ivory);background:rgba(8,6,4,.35);transition:.25s}.btn:hover{background:var(--gold);color:var(--black)}.btn.dark{background:#102016}.wrap{width:min(1160px,90vw);margin:auto}.site-head{position:fixed;top:0;left:0;right:0;z-index:20;padding:1.1rem 0;background:linear-gradient(to bottom,rgba(0,0,0,.7),transparent)}.nav{display:flex;justify-content:space-between;align-items:center}.logo{width:72px}.menu{display:flex;gap:1.6rem;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}.menu a{opacity:.86}.hero{min-height:100vh;display:grid;place-items:center;position:relative;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.32),rgba(0,0,0,.78)),var(--hero) center/cover no-repeat;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 45% 30%,rgba(215,170,82,.25),transparent 35%),linear-gradient(to top,rgba(8,6,4,1),transparent 25%);pointer-events:none}.hero-content{position:relative;z-index:2;text-align:center;padding-top:5rem}.kicker{letter-spacing:.42em;text-transform:uppercase;color:#ead1a0;font-size:.78rem}.hero h1{font-size:clamp(3.2rem,8vw,8rem);line-height:.9;margin:1rem 0;color:var(--gold);font-weight:400}.hero p{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase}.date{font-size:1.7rem!important;color:#fff}.verse{margin-top:2rem;color:#dec89e;font-style:italic;letter-spacing:.06em}.intro-logo{width:115px;margin:0 auto 1.3rem;filter:drop-shadow(0 0 18px rgba(215,170,82,.65))}.section{padding:6.5rem 0;background:var(--ivory);color:var(--text)}.section.dark{background:#080604;color:var(--ivory)}.section.green{background:#132116;color:var(--ivory)}.title{font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;line-height:1;margin:.5rem 0 1.2rem}.gold{color:var(--gold)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(215,170,82,.35);border:1px solid rgba(215,170,82,.35)}.info-card{background:var(--ivory);padding:2.2rem;text-align:center}.info-card b{display:block;letter-spacing:.2em;text-transform:uppercase;color:var(--wine);font-size:.75rem;margin-bottom:.8rem}.story p{line-height:1.9;color:#4b3a2b}.timeline{display:grid;gap:1.4rem;margin-top:2rem}.timeitem{border-left:2px solid var(--gold);padding-left:1.3rem}.timeitem h3{margin:.1rem 0;color:var(--wine)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery img{height:250px;width:100%;object-fit:cover;border-radius:18px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.faq details{background:#fff;padding:1.4rem;border:1px solid #ead8b8}.faq summary{cursor:pointer;font-weight:700;color:var(--wine)}.faq p{line-height:1.7}.footer{padding:3rem 0;text-align:center;background:#050403;color:#c9ad75}.intro-page .site-head{display:none}.enter{margin-top:2rem}.rsvp-box{background:#fff;padding:2rem;border:1px solid #ead8b8}.rsvp-box input,.rsvp-box textarea,.rsvp-box select{width:100%;padding:1rem;margin:.45rem 0 1rem;border:1px solid #d7c3a0;background:#fffaf1}.mobile-toggle{display:none}@media(max-width:800px){.menu{display:none}.mobile-toggle{display:block}.grid2,.faq{grid-template-columns:1fr}.card-row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.hero h1{font-size:3.4rem}.section{padding:4rem 0}.hero-content{padding-inline:1rem}.logo{width:58px}}

/* V3 FIXES: mobile menu, Elementor content areas, gallery lightbox */
.menu .menu-list{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;align-items:center}.menu .menu-list li{margin:0}.mobile-toggle{appearance:none;border:1px solid rgba(215,170,82,.55);background:rgba(0,0,0,.35);color:var(--ivory);border-radius:999px;padding:.65rem .9rem;display:none;align-items:center;gap:.45rem;cursor:pointer;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.mobile-toggle span{display:block;width:18px;height:2px;background:var(--gold);margin:3px 0;border-radius:99px}.mobile-toggle em{font-style:normal;color:var(--gold)}.elementor-content:empty{display:none}.hero h1 span{font-style:italic;font-size:.45em}.awt-gallery a{display:block;cursor:zoom-in}.awt-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}.awt-lightbox.is-open{display:flex}.awt-lightbox img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 80px rgba(0,0,0,.75)}.awt-lightbox button{position:absolute;top:24px;right:24px;border:1px solid rgba(215,170,82,.65);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;width:46px;height:46px;font-size:28px;line-height:1;cursor:pointer}.awt-lightbox .awt-prev,.awt-lightbox .awt-next{top:50%;transform:translateY(-50%);font-size:42px}.awt-lightbox .awt-prev{left:24px;right:auto}.awt-lightbox .awt-next{right:24px}
@media(max-width:800px){.site-head{background:rgba(0,0,0,.78);backdrop-filter:blur(14px)}.mobile-toggle{display:inline-flex;position:relative;z-index:31}.menu{position:fixed;top:0;left:0;right:0;min-height:100vh;background:radial-gradient(circle at 50% 15%,rgba(215,170,82,.16),transparent 32%),rgba(5,4,3,.97);display:flex!important;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:.28s ease;z-index:30}.menu.is-open{opacity:1;visibility:visible;pointer-events:auto}.menu .menu-list{display:flex!important;flex-direction:column;gap:1.4rem;text-align:center}.menu a{font-family:Georgia,'Times New Roman',serif;font-size:2rem;letter-spacing:.04em;color:var(--gold)}body.menu-open{overflow:hidden}.gallery{grid-template-columns:1fr}.gallery img{height:330px}.hero-content{padding-top:7rem}.awt-lightbox{padding:12px}.awt-lightbox .awt-prev,.awt-lightbox .awt-next{display:none}}
