:root{
  --accent-red: #7b1414;
  --accent-gold: #caa43a;
  --accent-black: #0b0b0b;
  --off-white: #f8f3ef;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,Helvetica,Arial,sans-serif;background:var(--off-white);color:var(--accent-black);line-height:1.4}
.container{max-width:1000px;margin:0 auto;padding:2rem}
.site-header{padding:1.5rem 0;text-align:center}
.site-title{font-size:1.6rem;color:var(--accent-red)}
.subtitle{color:#333;margin-top:.25rem}
.hero{min-height:60vh;background:linear-gradient(135deg, var(--accent-gold), #d9b158);display:flex;align-items:center}
.hero .overlay{background:linear-gradient(rgba(8,8,8,0.35),rgba(8,8,8,0.15));width:100%}
.hero-content{padding:6rem 2rem;color:white;text-align:center}
.hero h2{font-size:2.4rem;letter-spacing:1px}
.hero .date{margin-top:.5rem;opacity:.95}
.rsvp{display:inline-block;margin-top:1rem;padding:.6rem 1rem;background:var(--accent-red);color:var(--off-white);text-decoration:none;border-radius:6px}
.rsvp:hover{opacity:.95}
.rsvp-section{padding:3rem 0;text-align:center}
.site-footer{padding:2rem 0;text-align:center;color:#666}

/* Auth Modal */
#authModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);align-items:center;justify-content:center;z-index:9999}
.auth-modal-content{background:white;padding:2rem;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,0.2);max-width:400px;width:90%}
.auth-modal-content h2{margin-bottom:1rem;color:var(--accent-red)}
.auth-modal-content p{margin-bottom:1.5rem;color:#666;font-size:0.95rem}
.auth-form-group{margin-bottom:1rem}
.auth-form-group label{display:block;margin-bottom:0.5rem;font-weight:500}
.auth-form-group input{width:100%;padding:0.6rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}
.auth-form-group input:focus{outline:none;border-color:var(--accent-red)}
.auth-submit{background:var(--accent-red);color:white;padding:0.7rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;width:100%}
.auth-submit:hover{opacity:0.9}

/* Image Gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}
.gallery-item{position:relative;overflow:hidden;border-radius:8px;background:#f0f0f0}
.gallery-item img{width:100%;height:auto;display:block}

/* Responsive */
@media (max-width:600px){.hero-content{padding:4rem 1rem}.hero h2{font-size:1.6rem}.gallery{grid-template-columns:1fr}}

