.rsvp-page{background:#faf9f6}
.rsvp-banner{position:relative;height:340px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#fffdf7,#e5decc);overflow:hidden;isolation:isolate}
.rsvp-back{position:absolute;top:25px;left:5%;z-index:3;font:12px Arial,sans-serif;letter-spacing:.03em}
.rsvp-floral{position:absolute;width:600px;height:640px;object-fit:contain;opacity:.65;z-index:-1;filter:saturate(.25)}
.floral-left{left:calc(50% - 710px);top:-135px;transform:rotate(68deg)}
.floral-right{right:calc(50% - 710px);top:-135px;transform:rotate(-68deg) scaleX(-1)}
.rsvp-monogram{width:205px;height:235px;object-fit:contain;mix-blend-mode:multiply}
.rsvp-main{max-width:700px;margin:auto;padding:35px 28px 70px;overflow:visible}
.rsvp-intro{text-align:center;margin-bottom:52px}
.rsvp-intro h1{font:110px/1.5 var(--script);margin:5px 0 30px;padding-right:25px}
.rsvp-intro h2{font:30px/1.3 var(--serif);letter-spacing:.05em;text-transform:uppercase}
.rsvp-intro p{font:21px/1.5 var(--serif);margin-top:27px;color:var(--muted)}
.rsvp-form{background:white;border-radius:20px;padding:40px;display:grid;gap:30px}
.form-field{display:grid;gap:12px}
.form-field label,fieldset legend{font:25px/1.3 var(--serif)}
.form-field label span{color:var(--muted)}
.rsvp-form input:not([type=radio]),.rsvp-form textarea{width:100%;min-width:0;border:1px solid #a29d92;border-radius:7px;padding:14px 15px;font:18px/1.5 Georgia,serif;background:#fff;color:var(--ink)}
.rsvp-form textarea{resize:vertical;min-height:120px}
.rsvp-form input:focus-visible,.rsvp-form textarea:focus-visible{outline:2px solid #847a60;outline-offset:3px}
.rsvp-form fieldset{padding:0;border:0;margin:0;min-width:0}
.rsvp-form legend{margin-bottom:15px}
.attendance-choice{display:flex;align-items:center;gap:14px;background:#f1efea;border:1px solid transparent;border-radius:7px;padding:16px;margin:0 0 10px;cursor:pointer;font:23px/1.2 var(--serif)}
.attendance-choice:last-child{margin-bottom:0}
.attendance-choice input{width:17px;height:17px;margin:0;accent-color:#7c735c;flex-shrink:0}
.attendance-choice:has(input:checked){background:#e9e4d6;border-color:#a79b7e}
.rsvp-submit{border:0;border-radius:28px;padding:16px 24px;background:var(--champagne);font:26px var(--serif);display:flex;justify-content:center;gap:28px;align-items:center}
.rsvp-submit:hover{background:#ada184}
.rsvp-help{font:13px/1.6 Arial,sans-serif;color:var(--muted);text-align:center;margin-top:-14px}
#reply-ready{padding:18px;background:var(--paper);font:17px/1.5 var(--serif)}
#reply-ready a,.rsvp-contact a{text-decoration:underline;text-underline-offset:4px}
#reply-ready a{display:inline-block;margin-top:12px}
.rsvp-contact{font:17px/1.7 var(--serif);text-align:center;margin-top:30px;overflow-wrap:anywhere}
@media(max-width:700px){.rsvp-banner{height:255px}.rsvp-back{top:20px;font-size:10px}.rsvp-monogram{width:145px;height:175px}.rsvp-floral{width:390px;height:420px;top:-65px}.floral-left{left:-180px}.floral-right{right:-180px}.rsvp-main{padding:24px 20px 45px}.rsvp-intro h1{font-size:86px;margin-bottom:20px}.rsvp-intro h2{font-size:27px}.rsvp-intro p{font-size:18px}.rsvp-form{padding:27px 21px;gap:27px}.form-field label,fieldset legend{font-size:23px}.attendance-choice{font-size:20px;padding:15px 12px}.rsvp-submit{font-size:23px}.rsvp-contact{font-size:16px}}
