
:root{--navy:#12355b;--navy2:#0d2b4d;--gold:#c9963d;--cream:#faf6ee;--ink:#17304d;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);background:var(--cream)}
.hero{background:linear-gradient(135deg,var(--navy2),#1d4a78);color:white;text-align:center;padding:48px 20px 62px}
.brand{font-weight:700;letter-spacing:.18em;font-size:14px;color:#e0b45c}.eyebrow{font-size:12px;letter-spacing:.15em;color:#e0b45c;font-weight:700;margin:18px 0}
.hero h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,70px);line-height:1.05;max-width:1100px;margin:10px auto 20px;font-weight:500}
.hero p{font-size:17px;margin-bottom:28px}.btn{display:inline-block;border:0;border-radius:7px;padding:13px 19px;text-decoration:none;font-weight:700;cursor:pointer}
.gold{background:var(--gold);color:white}.navy{background:var(--navy);color:white}.small{padding:11px 15px;margin-top:7px}
.celebrations{padding:60px 20px 45px;max-width:1000px;margin:auto}.celebrations h2,.rsvp h2{text-align:center;font:500 35px Georgia,serif;margin:0 0 15px}.intro{text-align:center;margin-bottom:28px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #132f4b17}
.cardtop{background:var(--navy);color:white;padding:28px}.cardtop span{font-size:12px;font-weight:700}.cardtop h3{font:500 28px Georgia,serif;margin:8px 0}.cardtop p{margin:0}.cardbody{padding:27px;font-size:16px;line-height:1.55}
.rsvp{padding:35px 20px 75px}.rsvpbox{max-width:760px;margin:auto;background:white;padding:38px;border-radius:20px;box-shadow:0 10px 30px #132f4b14}.dark{text-align:center;color:var(--gold)}
.rsvpbox>p{text-align:center}label,legend{font-weight:700;font-size:14px}input,textarea{width:100%;padding:12px;margin:7px 0 17px;border:1px solid #d7d2c8;border-radius:7px;font:inherit}
fieldset{border:1px solid #ddd6ca;border-radius:9px;margin:8px 0 20px;padding:17px}.choice{display:block;font-weight:400;margin:10px 0}.choice input{width:auto;margin:0 8px 0 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.status{font-weight:700;margin-top:15px}footer{text-align:center;background:var(--navy2);color:white;padding:30px 20px}footer p{margin-bottom:0}
@media(max-width:720px){.cards,.grid{grid-template-columns:1fr}.hero{padding-top:32px}.rsvpbox{padding:25px 18px}}
