[data-residence-only][hidden],[data-residence-locked][hidden],.rsvp [hidden]{display:none!important}.residence-locked{color:var(--muted);font-style:italic}.directions>.residence-locked{text-align:center;max-width:420px;margin:-8px auto 18px}.location-grid:has(#residence-panel[data-locked]){grid-template-columns:minmax(0,560px);justify-content:center}.rsvp{background:#f5e6c4;justify-content:center;min-height:auto;padding-block:70px 80px;display:flex}.rsvp-card{text-align:center;background:var(--ivory);border:1px solid var(--ink);outline-offset:5px;outline:1px solid #342a2344;width:min(100%,520px);margin:auto;padding:30px 26px 32px;position:relative}.rsvp-card:before{content:"";background:var(--yellow);height:5px;position:absolute;top:0;left:0;right:0}.rsvp-card h2{margin-bottom:14px;font-size:clamp(34px,9vw,46px)}.rsvp-card p{font-size:15px}.rsvp-note{color:var(--muted);margin-top:12px;font-size:14px!important}.rsvp-note a{color:var(--indigo);text-underline-offset:4px;padding-block:8px;display:inline-block}.rsvp-card .rsvp-btn{margin-top:20px}.rsvp-btn{border:1px solid var(--red);background:var(--red);width:100%;max-width:320px;min-height:48px;color:var(--ivory);letter-spacing:.08em;margin-inline:auto;padding:10px 26px;font-size:15px;display:block}.rsvp-btn-alt{color:var(--red);background:0 0}.rsvp-btn:disabled{opacity:.6;cursor:default}.rsvp-summary{text-align:left;max-width:320px;margin:0 0 4px;margin-inline:auto}.rsvp-summary div{border-bottom:1px solid #c8393233;justify-content:space-between;gap:16px;padding:9px 0;font-size:15px;display:flex}.rsvp-summary dt{color:var(--muted)}.rsvp-summary dd{margin:0;font-weight:500}.rsvp-dialog{box-sizing:border-box;width:100%;max-width:none;max-height:100dvh;color:var(--ink);background:0 0;border:0;margin:auto 0 0;padding:0;overflow:visible}.rsvp-dialog::backdrop{background:#342a238c}.rsvp-dialog[open]{animation:.22s ease-out rsvp-up}.rsvp-sheet{overscroll-behavior:contain;background:var(--ivory);border-top:4px solid var(--red);max-height:calc(100dvh - 12px);padding:14px 22px calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;position:relative;overflow-y:auto}.rsvp-handle{background:#342a2340;border-radius:2px;width:44px;height:4px;margin:0 auto 10px}.rsvp-x{width:44px;height:44px;color:var(--ink);background:0 0;border:0;font-size:30px;line-height:1;position:absolute;top:10px;right:8px}.rsvp-sheet h3{color:var(--indigo);overflow-wrap:anywhere;margin-bottom:16px;padding-right:40px;font-size:30px}.rsvp-days{border:0;gap:10px;margin:0 0 20px;padding:0;display:grid}.rsvp-days legend,.rsvp-count>span{letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:8px;padding:0;font-size:13px;font-weight:500}.rsvp-day{display:block;position:relative}.rsvp-day input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.rsvp-day>span{border:1px solid var(--indigo);background:#fff9ede6;min-height:56px;padding:10px 14px;display:block}.rsvp-day b{font-family:var(--serif);color:var(--indigo);font-size:22px;font-weight:500;display:block}.rsvp-day small{color:var(--muted);font-size:13px;line-height:1.4;display:block}.rsvp-day input:checked+span{background:var(--indigo);border-color:var(--indigo)}.rsvp-day input:checked+span b,.rsvp-day input:checked+span small{color:var(--ivory)}.rsvp-day input:focus-visible+span{outline:3px solid var(--indigo);outline-offset:3px}.rsvp-count{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-bottom:18px;display:flex}.rsvp-count>span{margin:0}.rsvp-step{align-items:center;display:flex}.rsvp-step button{border:1px solid var(--indigo);background:var(--ivory);width:48px;height:48px;color:var(--indigo);font-size:24px;line-height:1}.rsvp-step button:disabled{opacity:.4;cursor:default}.rsvp-step output{text-align:center;min-width:52px;font-family:var(--sans);font-size:24px;font-weight:500}.rsvp-error{border:1px solid var(--red);color:var(--red);background:#c839320f;margin:0 0 14px;padding:10px 12px;font-size:14px}.rsvp-saved{color:var(--green);margin-bottom:14px;font-size:16px}.rsvp-sheet .rsvp-btn{max-width:none;margin-top:8px}@media (width>=701px){.rsvp-dialog{width:min(480px,100% - 32px);margin:auto}.rsvp-dialog[open]{animation-name:rsvp-fade}.rsvp-sheet{border:1px solid var(--indigo);border-top:4px solid var(--red);border-radius:0;max-height:calc(100dvh - 48px);padding:26px 28px 28px}.rsvp-handle{display:none}.rsvp-x{top:14px;right:14px}}html:has(.rsvp-dialog[open]){scrollbar-gutter:stable;overflow:hidden}@keyframes rsvp-up{0%{opacity:0;transform:translateY(40px)}}@keyframes rsvp-fade{0%{opacity:0}}
