@font-face{font-family:InvitationSerif;src:url('/assets/serif.woff2')} .guest-banner{position:relative;z-index:5;background:#fff;color:#181818;display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 24px;text-align:center;font-family:Arial,sans-serif;border-bottom:1px solid #bbb}.guest-banner span{font-size:12px;letter-spacing:.12em}.guest-banner strong{font:32px InvitationSerif,Georgia,serif}.countdown-section{background:#f4f3ef;padding:45px 20px;text-align:center;color:#171717;font:12px/1.7 Arial,sans-serif;letter-spacing:.12em}.countdown-caption{font-size:13px}.countdown-grid{display:flex;justify-content:center;gap:35px;margin:25px 0}.countdown-grid strong{display:block;font:52px/1.1 InvitationSerif,Georgia,serif;letter-spacing:0}.countdown-grid span{font-size:11px}.rsvp-float{position:fixed;bottom:22px;right:22px;z-index:100;background:#191919;color:white;border:1px solid white;padding:15px 23px;border-radius:4px;font:14px Arial,sans-serif;box-shadow:0 5px 24px #0003;cursor:pointer}#rsvp-dialog{position:fixed;inset:0;margin:auto;padding:44px 24px 30px;border:1px solid #bbb;width:min(540px,calc(100vw - 30px));max-height:90dvh;overflow:auto;background:#fff;color:#161616;font:16px/1.6 Arial,sans-serif;box-sizing:border-box}#rsvp-dialog::backdrop{background:#0009}.close-dialog{position:absolute;right:12px;top:5px;background:none;border:0;font-size:32px;cursor:pointer}.rsvp-section{text-align:center}.rsvp-section h2{font:42px/1.1 InvitationSerif,Georgia,serif;margin:20px 0}.rsvp-section p{margin:15px 0}.eyebrow{font-size:11px;letter-spacing:.15em}.rsvp-for strong{display:block;font-size:20px}.rsvp-section fieldset{border:0;padding:0;margin-top:25px;text-align:left}.rsvp-section legend{margin-bottom:12px}.rsvp-choice{display:flex;align-items:center;gap:14px;border:1px solid #ddd;padding:15px;margin:10px 0;cursor:pointer}.rsvp-choice input{accent-color:#171717;width:18px;height:18px}.rsvp-choice strong,.rsvp-choice small{display:block}.rsvp-choice small{font-size:13px;color:#666}.rsvp-count{margin:20px 0}.rsvp-count label,.rsvp-count small{display:block}.rsvp-count select{padding:12px;width:100%;font:16px Arial;margin:10px 0;border:1px solid #bbb;background:#fff}.button{display:inline-block;background:#191919;color:white;text-decoration:none;padding:14px 22px;border:0;font:16px Arial;cursor:pointer}.rsvp-error{color:#9b2525}.rsvp-saved{padding:15px;background:#edf4ec}.rsvp-submit:disabled{opacity:.6}.rsvp-section [hidden]{display:none}.rsvp-section input:focus-visible,.button:focus-visible,.rsvp-float:focus-visible{outline:3px solid #997b4e;outline-offset:4px}@media(max-width:600px){.guest-banner{flex-direction:column;gap:6px}.countdown-grid{gap:20px}.countdown-grid strong{font-size:42px}.countdown-section{padding-bottom:90px}.rsvp-float{bottom:12px;right:12px}.rsvp-section h2{font-size:36px}}

.guest-banner,.countdown-section{background:#d5f3e7;color:#183d31}.rsvp-float,.button{background:#285f4c}.rsvp-choice input{accent-color:#285f4c}#rsvp-dialog{background:#f5fffb}.rsvp-choice{border-color:#b8dece}.countdown-grid strong{color:#285f4c}

/* Compact personal greeting, kept above the invitation. */
.guest-banner{padding:14px 20px;gap:18px}.guest-banner strong{font-size:25px;line-height:1.3;overflow-wrap:anywhere}@media(max-width:600px){.guest-banner{padding:14px 18px;gap:6px}.guest-banner strong{font-size:25px}}
