*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sage: #7a8c6e;--sage-light: #e8ede4;--sage-dark: #5c6b52;--warm-cream: #faf6f0;--warm-white: #fffcf7;--text: #3a3630;--text-light: #6b645a;--text-muted: #908880;--border: #d4cec4;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}body{background-color:var(--warm-cream);color:var(--text);-webkit-font-smoothing:antialiased}.hero{position:relative;width:100%;height:85vh;min-height:500px;max-height:800px;background:url(/engagement-photo.jpg) center center / cover no-repeat;display:flex;align-items:flex-end;justify-content:center}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 30%,rgba(30,28,24,.55) 100%)}.hero-content{position:relative;text-align:center;padding:0 1.5rem 4rem;color:#fff}.names{font-family:var(--font-display);font-size:4rem;font-weight:300;letter-spacing:.04em;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.3)}.hero-divider{width:60px;height:1px;background:#fff9;margin:1rem auto}.date{font-family:var(--font-body);font-size:1.1rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.3);margin-bottom:.25rem}.location{font-family:var(--font-body);font-size:.95rem;font-weight:300;letter-spacing:.08em;opacity:.85;text-shadow:0 1px 6px rgba(0,0,0,.3)}.form-section{max-width:540px;margin:0 auto;padding:3.5rem 2rem 5rem;text-align:center}.form-section h2{font-family:var(--font-display);font-size:2rem;font-weight:400;font-style:italic;color:var(--text);margin-bottom:.6rem}.form-intro{font-family:var(--font-body);font-size:.95rem;color:var(--text-light);line-height:1.6;margin-bottom:2.5rem}form{text-align:left}.form-row{display:flex;gap:.75rem}.form-field{display:flex;flex-direction:column;margin-bottom:1.25rem;flex:1}.form-field label{font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.03em;color:var(--text-light);margin-bottom:.35rem}.form-field input[type=text],.form-field input[type=email]{padding:.65rem .85rem;border:1px solid var(--border);border-radius:6px;font-family:var(--font-body);font-size:.95rem;background:var(--warm-white);color:var(--text);transition:border-color .2s,box-shadow .2s}.form-field input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px #7a8c6e26}.form-field input::placeholder{color:var(--text-muted);font-weight:300}.radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.9rem;color:var(--text);cursor:pointer}.radio-label input[type=radio]{accent-color:var(--sage)}.error{font-family:var(--font-body);color:#b44;font-size:.85rem;margin-bottom:1rem}button[type=submit]{display:block;width:100%;padding:.85rem;margin-top:1.75rem;background:var(--sage);color:#fff;border:none;border-radius:6px;font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s}button[type=submit]:hover{background:var(--sage-dark)}button[type=submit]:disabled{background:#b0b8a8;cursor:not-allowed}.thank-you{max-width:540px;margin:0 auto;padding:4rem 2rem 5rem;text-align:center}.thank-you h2{font-family:var(--font-display);font-size:2rem;font-weight:400;font-style:italic;color:var(--text);margin-bottom:.6rem}.thank-you p{font-family:var(--font-body);font-size:.95rem;color:var(--text-light);line-height:1.6}@media(max-width:480px){.hero{height:70vh;min-height:400px}.hero-content{padding-bottom:3rem}.names{font-size:2.8rem}.form-section{padding:2.5rem 1.25rem 4rem}.form-row{flex-direction:column;gap:0}}
