.rsvp-stage{--rs-paper: #fffcf5;--rs-faint: color-mix(in srgb, var(--sage) 62%, var(--cream));--rs-line: color-mix(in srgb, var(--sage) 36%, var(--cream));--rs-line-soft: color-mix(in srgb, var(--sage) 22%, var(--cream));--rs-accent-soft: color-mix(in srgb, var(--sage) 15%, var(--cream));--rs-shadow-card: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 60px -28px rgba(62, 42, 34, .45), 0 4px 14px -8px rgba(62, 42, 34, .3);--rs-shadow-soft: 0 10px 30px -18px rgba(62, 42, 34, .45);position:relative;z-index:2;min-height:78vh;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,4vw,56px) var(--space-sm) var(--space-xl);background:radial-gradient(120% 80% at 12% -8%,color-mix(in srgb,var(--sage) 16%,transparent),transparent 55%),radial-gradient(120% 80% at 100% 110%,color-mix(in srgb,var(--terracotta) 15%,transparent),transparent 52%)}.rsvp-app{width:100%;max-width:560px}.rsvp-stage .card{position:relative;background:var(--rs-paper);border:1px solid var(--rs-line-soft);border-radius:22px;box-shadow:var(--rs-shadow-card);padding:clamp(26px,4.5vw,44px);overflow:hidden}.rsvp-stage .card:before{content:"";position:absolute;inset:12px;border:1px solid var(--rs-line);border-radius:14px;pointer-events:none;opacity:.5}.rsvp-stage .card>*{position:relative}.rsvp-stage .centered{text-align:center}.rsvp-stage .eyebrow{font-family:var(--font-body);font-style:italic;font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin:0}.rsvp-stage .display{font-family:var(--font-display);font-weight:400;color:var(--wine);font-size:clamp(2rem,6vw,2.7rem);line-height:1.08;letter-spacing:.02em;margin:8px 0 0;text-wrap:balance}.rsvp-stage .display:focus{outline:none}.rsvp-stage .display--event{font-size:clamp(1.8rem,5.4vw,2.4rem)}.rsvp-stage .lede{font-family:var(--font-body);font-size:1.08rem;line-height:1.55;color:var(--sage);margin:12px 0 0;max-width:44ch}.rsvp-stage .lede.center{margin-left:auto;margin-right:auto}.rsvp-stage .hint{font-family:var(--font-body);font-size:.98rem;color:var(--rs-faint);margin:12px 0 0;line-height:1.5}.rsvp-stage .hint.center,.rsvp-stage .center{text-align:center}.rsvp-stage .hint strong{color:var(--wine);font-weight:600}.rsvp-stage .link,.rsvp-stage .linklike{border:none;background:none;padding:0;font:inherit;color:var(--wine);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--terracotta);cursor:pointer}.rsvp-stage .link:hover,.rsvp-stage .linklike:hover{color:var(--terracotta)}.rsvp-stage .link:focus-visible,.rsvp-stage .linklike:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.rsvp-stage .stepbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.rsvp-stage .stepnum{font-family:var(--font-body);font-style:italic;font-size:1.05rem;color:var(--rs-faint)}.rsvp-stage .stepnum__dim{opacity:.55}.rsvp-stage .stepnum__caps{font-style:normal;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-family:var(--font-display)}.rsvp-stage .dots{display:flex;gap:7px;align-items:center}.rsvp-stage .dots i{width:7px;height:7px;border-radius:50%;border:1px solid var(--sage);display:block;transition:.25s}.rsvp-stage .dots i.on{background:var(--sage);transform:scale(1.25)}.rsvp-stage .dots i.done{background:var(--sage);opacity:.45;border-color:transparent}.rsvp-stage .field-group{margin-top:18px;text-align:left;display:block}.rsvp-stage .lbl{display:block;font-family:var(--font-display);font-weight:400;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--wine);margin-bottom:7px}.rsvp-stage .input,.rsvp-stage .textarea{width:100%;font-family:var(--font-body);font-size:1.05rem;color:var(--wine);background:#fff;border:1px solid var(--rs-line);border-radius:11px;padding:12px 15px;transition:border-color .15s,box-shadow .15s}.rsvp-stage .input::placeholder,.rsvp-stage .textarea::placeholder{color:var(--rs-faint);font-style:italic;opacity:1}.rsvp-stage .input:focus,.rsvp-stage .textarea:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px color-mix(in srgb,var(--sage) 18%,transparent)}.rsvp-stage .input[aria-invalid=true]{border-color:var(--terracotta)}.rsvp-stage .textarea{resize:none;min-height:74px;line-height:1.5}.rsvp-stage .songs{display:grid;gap:10px}.rsvp-stage .btn{font-family:var(--font-body);font-weight:600;font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:13px 26px;border:1px solid color-mix(in srgb,var(--sage) 78%,var(--wine));cursor:pointer;transition:transform .12s ease,background .2s,color .2s,box-shadow .2s,opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:9px}.rsvp-stage .btn-primary{background:var(--sage);color:var(--cream);box-shadow:var(--rs-shadow-soft)}.rsvp-stage .btn-primary:hover{background:var(--wine);border-color:var(--wine);transform:translateY(-1px)}.rsvp-stage .btn-primary:disabled{background:var(--rs-line);border-color:var(--rs-line);color:color-mix(in srgb,var(--wine) 45%,var(--cream));cursor:not-allowed;box-shadow:none;transform:none}.rsvp-stage .btn-ghost{background:transparent;color:var(--sage);border-color:transparent;padding-left:6px;padding-right:6px;letter-spacing:.12em;box-shadow:none}.rsvp-stage .btn-ghost:hover{color:var(--wine)}.rsvp-stage .btn-block{width:100%}.rsvp-stage .btn:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.rsvp-stage .nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}.rsvp-stage .nav.end{justify-content:flex-end}.rsvp-stage .nav.center{justify-content:center}.rsvp-stage .party-list{margin-top:22px}.rsvp-stage .guest{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid var(--rs-line-soft)}.rsvp-stage .guest:last-child{border-bottom:none}.rsvp-stage .gname{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--wine);line-height:1.1}.rsvp-stage .gname small{display:block;font-family:var(--font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rs-faint);margin-top:2px}.rsvp-stage .toggle{display:inline-flex;flex:0 0 auto;border:1px solid var(--rs-line);border-radius:999px;padding:3px;background:#fff;gap:2px}.rsvp-stage .toggle button{font-family:var(--font-body);font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;border:none;background:transparent;color:var(--sage);padding:7px 15px;border-radius:999px;cursor:pointer;transition:background .18s,color .18s;display:inline-flex;align-items:center;gap:6px}.rsvp-stage .toggle button .tick{width:13px;height:13px;display:inline-grid;place-items:center}.rsvp-stage .toggle button[aria-pressed=true].yes{background:var(--sage);color:var(--cream)}.rsvp-stage .toggle button[aria-pressed=true].no{background:var(--wine);color:var(--cream)}.rsvp-stage .toggle button:not([aria-pressed=true]):hover{color:var(--wine)}.rsvp-stage .toggle button:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.rsvp-stage .event-when{font-family:var(--font-body);font-style:italic;font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin:0 0 2px}.rsvp-stage .event-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px}.rsvp-stage .event-meta span{font-family:var(--font-body);font-size:.98rem;color:var(--sage);display:inline-flex;align-items:center;gap:7px}.rsvp-stage .event-meta span b{color:var(--wine);font-weight:600}.rsvp-stage .event-meta .sep{width:4px;height:4px;border-radius:50%;background:var(--sage);display:inline-block}.rsvp-stage .event-note{font-family:var(--font-body);font-style:italic;font-size:.98rem;color:var(--rs-faint);margin:14px 0 0}.rsvp-stage .who-coming{font-family:var(--font-display);font-weight:400;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin:22px 0 2px}.rsvp-stage .summary{border:1px solid var(--rs-line);border-radius:14px;overflow:hidden;margin-top:18px;background:#fff;text-align:left}.rsvp-stage .sum-row{padding:14px 16px;border-bottom:1px solid var(--rs-line-soft)}.rsvp-stage .sum-row:last-child{border-bottom:none}.rsvp-stage .sum-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rsvp-stage .sum-event{font-family:var(--font-display);font-size:1.1rem;color:var(--wine);flex:0 1 auto}.rsvp-stage .sum-when{font-family:var(--font-body);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-faint);white-space:nowrap;flex:0 0 auto}.rsvp-stage .sum-guests{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.rsvp-stage .chip{font-family:var(--font-body);font-size:.9rem;font-weight:500;padding:4px 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;border:1px solid}.rsvp-stage .chip.yes{color:var(--wine);border-color:color-mix(in srgb,var(--sage) 55%,var(--rs-line));background:var(--rs-accent-soft)}.rsvp-stage .chip.no{color:var(--sage);border-color:var(--rs-line);background:var(--cream)}.rsvp-stage .chip .d{width:5px;height:5px;border-radius:50%}.rsvp-stage .chip.yes .d{background:var(--sage)}.rsvp-stage .chip.no .d{background:var(--rs-faint)}.rsvp-stage .sum-notes{background:color-mix(in srgb,var(--cream) 55%,#fff)}.rsvp-stage .sum-note{padding:10px 0;border-top:1px dashed var(--rs-line);display:flex;gap:12px;font-size:.95rem}.rsvp-stage .sum-note:first-child{border-top:none;padding-top:0}.rsvp-stage .sum-note .k{font-family:var(--font-display);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rs-faint);flex:0 0 92px;padding-top:3px}.rsvp-stage .sum-note .v{font-family:var(--font-body);color:var(--wine);line-height:1.45}.rsvp-stage .sum-edit{display:flex;justify-content:center;gap:10px;margin:12px 0 0;font-size:.98rem;color:var(--rs-faint)}.rsvp-stage .deadline{font-family:var(--font-body);font-style:italic;font-size:1.02rem;color:var(--sage);margin-top:18px;text-align:center}.rsvp-stage .decline-note{font-family:var(--font-body);font-style:italic;font-size:1.02rem;color:var(--wine);background:var(--rs-accent-soft);border:1px solid var(--rs-line-soft);border-radius:11px;padding:12px 16px;margin:16px 0 0;text-align:center}.rsvp-stage .found{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--wine);background:var(--rs-accent-soft);border:1px solid color-mix(in srgb,var(--sage) 40%,var(--rs-line));padding:6px 13px;border-radius:999px}.rsvp-stage .lookup-result{margin-top:18px}.rsvp-stage .lookup-panel{display:grid;gap:14px;margin-top:4px;animation:rsvpStepIn .42s cubic-bezier(.22,.61,.36,1) both}.rsvp-stage .lookup-panel__msg{font-family:var(--font-body);font-size:1.02rem;line-height:1.5;color:var(--wine);text-align:center;margin:0}.rsvp-stage .match{border:1px solid var(--rs-line);border-radius:14px;background:#fff;padding:16px;text-align:center}.rsvp-stage .match__name{font-family:var(--font-display);font-size:1.25rem;color:var(--wine);margin:0}.rsvp-stage .match__people{font-family:var(--font-body);font-style:italic;color:var(--sage);margin:4px 0 14px}.rsvp-stage .step-anim{animation:rsvpStepIn .42s cubic-bezier(.22,.61,.36,1) both}@keyframes rsvpStepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.rsvp-stage .step-anim,.rsvp-stage .lookup-panel{animation:none}}.rsvp-stage .ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em}@media(max-width:480px){.rsvp-stage .card:before{inset:9px}.rsvp-stage .gname{font-size:1.1rem}.rsvp-stage .toggle button{padding:7px 12px}.rsvp-stage .nav:not(.center):not(.end){flex-direction:column-reverse}.rsvp-stage .nav:not(.center):not(.end) .btn{width:100%}.rsvp-stage .sum-note{flex-direction:column;gap:2px}.rsvp-stage .sum-note .k{flex:none}}
