.rsvp{max-width:560px;margin:0 auto;padding:32px 28px 80px;text-align:center;color:var(--ink)}
.rsvp h2{font:400 42px/1.2 var(--serif);margin:0 0 14px;color:var(--red)}
.rsvp-intro{font:italic 23px/1.45 var(--serif);margin:0 auto 30px;text-wrap:balance}
.rsvp fieldset{border:0;padding:0;margin:0 0 26px}.rsvp legend{width:100%;font:400 13px/1.5 var(--sans);margin-bottom:16px}
.rsvp-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.rsvp-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid #b9a681;cursor:pointer;font:500 13px/1.5 var(--sans)}
.rsvp-options label:has(input:checked){border-color:var(--red);background:#a4342910}.rsvp input{accent-color:var(--red);width:17px;height:17px;margin:0}
.rsvp-field{display:block;text-align:left;margin:20px 0;font:400 13px/1.5 var(--sans)}.rsvp-field span{display:block;margin-bottom:8px}.rsvp-field small{font:inherit;color:#695a49}
.rsvp textarea,.rsvp select{display:block;width:100%;border:1px solid #b9a681;border-radius:2px;background:#fff8;color:var(--ink);font:400 15px/1.6 var(--sans);padding:12px;box-sizing:border-box}.rsvp textarea{resize:vertical;min-height:85px}
.rsvp button{min-height:48px;padding:12px 28px;border:1px solid var(--red);background:var(--red);color:#fffaf0;font:500 13px/1.5 var(--sans);cursor:pointer}.rsvp button:disabled{opacity:.6;cursor:wait}.rsvp button:hover:not(:disabled){background:#843029}
.rsvp-status{font:400 14px/1.6 var(--sans);margin:20px auto 0;max-width:42ch;min-height:24px}.rsvp-edit-note{font:italic 18px/1.5 var(--serif);margin:12px 0 0}
.handoff .rsvp{visibility:hidden}@media(max-width:640px){.rsvp{padding-top:24px;padding-bottom:48px}.rsvp h2{font-size:36px}.rsvp-intro{font-size:22px}.rsvp-options{flex-direction:column}.rsvp-options label{justify-content:center}}

.rsvp-deadline{font:italic 22px/1.5 var(--serif);margin:34px 0 0;color:var(--ink)}
