*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #8B2635;--secondary: #7BA5AE;--accent: #F0D9C6;--text-dark: #2C2C2C;--text-light: #A8A29C;--white: #FFFFFF;--light-bg: #FDEDD6;--off-white: #FEF7F0}body{font-family:Montserrat,sans-serif;color:var(--text-dark);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:Amatic SC,cursive;font-weight:700;line-height:1.2}.container{max-width:1200px;margin:0 auto;padding:0 20px}.hero{height:100vh;background:linear-gradient(135deg,var(--secondary) 0%,#5B8A94 100%);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120"><path d="M0,0 Q300,60 600,30 T1200,0 L1200,120 L0,120 Z" fill="rgba(255,255,255,0.05)"/></svg>') repeat-x bottom;opacity:.3}.hero-content{position:relative;z-index:1}.hero h1{font-size:4.5rem;margin-bottom:1rem;font-weight:300;letter-spacing:2px}.hero-ampersand{font-size:5rem;font-weight:300;color:var(--primary);margin:0 1rem}.hero-date{font-size:1.5rem;margin-top:2rem;letter-spacing:3px;font-weight:300}.countdown{display:flex;gap:3rem;justify-content:center;margin-top:3rem}.countdown-item{text-align:center}.countdown-number{font-size:3rem;font-family:Amatic SC,cursive;font-weight:700;display:block;color:var(--primary)}.countdown-label{font-size:.9rem;text-transform:uppercase;letter-spacing:2px;margin-top:.5rem}section{padding:6rem 0}section:nth-child(2n){background:var(--light-bg)}.section-title{text-align:center;font-size:3rem;margin-bottom:1rem;color:var(--primary)}.section-subtitle{text-align:center;color:var(--text-light);margin-bottom:4rem;font-size:1.1rem}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;margin-top:3rem}.event-card{background:var(--off-white);padding:3rem;border-radius:10px;box-shadow:0 10px 30px #0000001a;text-align:center;transition:transform .3s ease}.event-card:hover{transform:translateY(-5px)}.event-icon{font-size:3rem;margin-bottom:1.5rem}.event-card h3{font-size:2rem;margin-bottom:1rem;color:var(--primary)}.event-detail{margin:1rem 0;color:var(--text-light)}.event-detail strong{color:var(--text-dark);display:block;margin-bottom:.3rem}.map-button{display:inline-block;margin-top:1.5rem;padding:.8rem 2rem;background:var(--primary);color:var(--white);text-decoration:none;border-radius:5px;transition:background .3s ease}.map-button:hover{background:var(--secondary)}.gifts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.gift-card{background:var(--off-white);padding:2.5rem;border-radius:10px;box-shadow:0 5px 20px #00000014;text-align:center;transition:transform .3s ease}.gift-card:hover{transform:translateY(-5px)}.gift-icon{font-size:2.5rem;margin-bottom:1rem}.gift-card h3{font-size:1.5rem;margin-bottom:1rem;color:var(--primary)}.gift-card p{color:var(--text-light);margin-bottom:1.5rem;font-size:.95rem}.gift-button{display:inline-block;padding:.8rem 2rem;background:var(--secondary);color:var(--white);text-decoration:none;border-radius:5px;font-weight:500;transition:background .3s ease}.gift-button:hover{background:var(--primary)}.rsvp-form{max-width:600px;margin:0 auto;background:var(--off-white);padding:3rem;border-radius:10px;box-shadow:0 10px 30px #0000001a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dark)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.8rem;border:2px solid var(--accent);border-radius:5px;font-family:Montserrat,sans-serif;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group textarea{resize:vertical;min-height:100px}.radio-group{display:flex;gap:2rem;margin-top:.5rem}.radio-option{display:flex;align-items:center;gap:.5rem}.radio-option input[type=radio]{width:auto}.submit-button{width:100%;padding:1rem;background:var(--primary);color:var(--white);border:none;border-radius:5px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.submit-button:hover{background:var(--secondary)}.submit-button:disabled{background:var(--text-light);cursor:not-allowed}.success-message{background:#4caf50;color:#fff;padding:1rem;border-radius:5px;margin-bottom:1rem;text-align:center}.error-message{background:#f44336;color:#fff;padding:1rem;border-radius:5px;margin-bottom:1rem;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:3rem}.info-card{background:var(--off-white);padding:2.5rem;border-radius:10px;box-shadow:0 5px 20px #00000014}.info-card h3{font-size:1.8rem;margin-bottom:1.5rem;color:var(--primary);display:flex;align-items:center;gap:.8rem}.info-card ul{list-style:none}.info-card li{padding:.8rem 0;border-bottom:1px solid var(--accent);color:var(--text-light)}.info-card li:last-child{border-bottom:none}footer{background:var(--primary);color:var(--white);text-align:center;padding:3rem 0}footer p{margin:.5rem 0}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero-ampersand{font-size:3rem}.hero-date{font-size:1.2rem}.countdown{gap:1.5rem}.countdown-number,.section-title{font-size:2rem}.events-grid,.gifts-grid,.info-grid{grid-template-columns:1fr;gap:2rem}section{padding:4rem 0}.rsvp-form{padding:2rem}}
