:root{
  --bg:#0b0e14;--fg:#f6f7fb;--muted:#b6bdc6;--brand:#d6a16d;--brand-2:#7a5b3a;--card:#151923;--soft:#1c2230;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
img{max-width:100%;display:block}
.btn{display:inline-block;background:var(--brand);color:#000;padding:.75rem 1rem;border-radius:999px;border:none;text-decoration:none;font-weight:600;cursor:pointer}
.btn.light{background:transparent;color:var(--fg);border:1px solid var(--fg)40}
.btn:focus{outline:2px solid var(--brand)}
.muted{color:var(--muted)}
.section{padding:64px 20px;max-width:1100px;margin:0 auto}
.section-title{font-family:'Great Vibes',cursive;font-size:40px;margin:0 0 24px;color:var(--brand)}
.lead{font-size:1.1rem;color:var(--muted)}
.hero{position:relative;min-height:72vh;display:grid;place-items:center;background:#000 url("") center/cover no-repeat}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,#000000aa, #00000033 40%, #000000aa)}
.hero-content{position:relative;text-align:center;padding:20px}
.couple{font-family:'Great Vibes',cursive;font-size:56px;margin:0 0 8px}
.date{margin:0 0 20px;color:#fff}
.countdown{display:flex;gap:18px;justify-content:center}
.countdown div{background:var(--card);padding:10px 14px;border-radius:12px;min-width:76px}
.countdown span{display:block;font-weight:700;font-size:28px}
.grid-2{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:900px){.grid-2{grid-template-columns:1.1fr 1fr}}
.card{background:var(--card);border:1px solid #ffffff14;border-radius:16px;padding:20px}
.map{width:100%;height:280px;border:0;border-radius:12px}
.masonry{columns:1;column-gap:12px}
@media(min-width:700px){.masonry{columns:2}}
@media(min-width:1100px){.masonry{columns:3}}
.masonry .ph{break-inside:avoid;margin:0 0 12px;overflow:hidden;border-radius:14px;background:var(--soft)}
.masonry .ph img{width:100%;height:auto;display:block}
.qr-form{display:flex;gap:10px;flex-wrap:wrap}
.qr-form input{flex:1 1 260px;padding:.8rem 1rem;border-radius:999px;border:1px solid #ffffff24;background:#0f1420;color:var(--fg)}
.footer{padding:36px 20px;text-align:center;color:var(--muted);background:#0a0e16}
.note{margin-top:12px;color:var(--muted)}
.bullets{padding-left:18px}