*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:#faf9f6;font-family:Georgia,serif;color:#2c2c2c;-webkit-font-smoothing:antialiased}.page{max-width:600px;margin:0 auto;padding:3rem 1.5rem 4rem}.hero{text-align:center;margin-bottom:3rem}.hero-photo{width:100%;max-width:480px;border-radius:8px;margin-bottom:2rem;box-shadow:0 4px 20px #00000014}.names{font-size:2.8rem;font-weight:300;letter-spacing:.02em;margin-bottom:.3rem}.date{font-size:1.2rem;color:#555;margin-bottom:.15rem}.location{font-size:1.1rem;color:#777}.form-section{text-align:center}.form-section h2{font-size:1.6rem;font-weight:400;margin-bottom:.5rem}.form-intro{color:#666;margin-bottom:2rem;line-height:1.5}form{text-align:left}.form-row{display:flex;gap:1rem}.form-field{display:flex;flex-direction:column;margin-bottom:1.25rem;flex:1}.form-field label{font-size:.85rem;color:#555;margin-bottom:.3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.form-field input[type=text],.form-field input[type=email]{padding:.6rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;transition:border-color .2s}.form-field input:focus{outline:none;border-color:#888}.address-group{border:none;padding:0;margin-bottom:.25rem}.address-group legend{font-size:.85rem;color:#555;margin-bottom:.75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.radio-group{display:flex;gap:1.5rem;margin-top:.4rem}.radio-label{display:flex;align-items:center;gap:.4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.95rem;cursor:pointer}.radio-label input[type=radio]{accent-color:#2c2c2c}.error{color:#c44;font-size:.9rem;margin-bottom:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button[type=submit]{display:block;width:100%;padding:.8rem;margin-top:1.5rem;background:#2c2c2c;color:#fff;border:none;border-radius:4px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:background .2s}button[type=submit]:hover{background:#444}button[type=submit]:disabled{background:#999;cursor:not-allowed}.thank-you{text-align:center}.thank-you h2{font-size:1.6rem;font-weight:400;margin-bottom:.5rem}.thank-you p{color:#666;line-height:1.5}@media(max-width:480px){.page{padding:2rem 1rem 3rem}.names{font-size:2.2rem}.form-row{flex-direction:column;gap:0}}
