.rsvp-flow{max-width:560px;margin:0 auto;padding:0 16px}.rsvp-card-frame{box-shadow:0 4px 32px #2b4c7e14}.rsvp-card{position:relative;overflow:hidden;padding:56px;scroll-margin-top:100px;background:radial-gradient(ellipse at 50% 40%,rgba(247,232,194,.18) 0%,transparent 70%),url("data:image/svg+xml,%3Csvg width='400' height='400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23p)' opacity='0.09'/%3E%3C/svg%3E"),#fefcf8}@media(max-width:640px){.rsvp-flow{padding:0 4px}.rsvp-card{padding:44px 36px}}.rsvp-card-border{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s ease;filter:blur(.7px)}.rsvp-card-border--active{opacity:1;z-index:4}.watercolor-canvas{position:absolute;inset:0;pointer-events:none;z-index:0;transition:opacity .3s ease}.rsvp-card>*:not(.watercolor-canvas):not(.rsvp-card-border){position:relative;z-index:1}.rsvp-dots{display:flex;justify-content:center;gap:12px;padding:8px 0 24px}.rsvp-dot{width:8px;height:8px;border-radius:50%;background:var(--divider);transition:background .15s ease}.rsvp-dot--current{background:var(--accent-pink)}.rsvp-dot--done{background:var(--text)}.rsvp-step{opacity:0;transition:opacity .2s ease-out}.rsvp-step--visible{opacity:1}.rsvp-question{font-family:var(--font-display);font-size:clamp(24px,5vw,28px);font-weight:500;color:var(--text);margin:0 0 8px}.rsvp-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text-muted);margin:0 0 24px}.rsvp-hint{font-family:var(--font-body);font-size:.875rem;color:var(--text-muted);margin:0 0 16px}.rsvp-returning{font-family:var(--font-body);font-weight:500;color:var(--accent-green);text-align:center;padding:8px;margin-bottom:8px;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.rsvp-field{margin-bottom:24px}.rsvp-label{display:block;font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.8125rem;color:var(--text-muted);margin-bottom:8px}.rsvp-field input[type=text],.rsvp-field input[type=email],.rsvp-field textarea{width:100%;background:var(--surface);border:1px solid var(--divider);padding:12px 16px;font-family:var(--font-body);font-size:1rem;color:var(--text);transition:border-color .15s ease;border-radius:0;-webkit-appearance:none}.rsvp-field input:focus,.rsvp-field textarea:focus{border-color:var(--text);outline:2px solid var(--text);outline-offset:-2px}.rsvp-field input::placeholder,.rsvp-field textarea::placeholder{color:var(--text-muted);opacity:.6}.rsvp-error{color:var(--accent-pink);font-family:var(--font-body);font-size:.875rem;margin:8px 0 16px}.rsvp-person-label{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--accent-warm);letter-spacing:.08em;margin-bottom:8px;animation:fade-in .2s ease-out}.rsvp-add-person{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px 16px;background:none;border:1px dashed rgba(43,76,126,.3);color:var(--text-muted);font-family:var(--font-body);font-size:.9375rem;cursor:pointer;margin-top:8px;margin-bottom:16px;transition:border-color .15s ease,color .15s ease;min-height:48px}.rsvp-add-person:hover{border-color:var(--text);color:var(--text)}.rsvp-person-2{margin-top:16px;padding-top:16px;border-top:1px solid var(--divider);position:relative;animation:person2-enter .3s ease-out both}@keyframes person2-enter{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:200px}}.rsvp-person-remove{position:absolute;top:16px;right:0;background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:4px 8px;line-height:1}.rsvp-person-remove:hover{color:var(--accent-pink)}.rsvp-chips{display:flex;flex-direction:column;gap:12px;margin-top:24px;margin-bottom:16px}.rsvp-chip{display:block;width:100%;padding:14px 16px;background:var(--surface);border:1px solid var(--divider);font-family:var(--font-body);font-size:1rem;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease;min-height:48px}.rsvp-chip--selected{border-color:#7bae7f;border-width:2px;padding:13px 15px;background:#4caf501a;font-weight:500}.rsvp-chip:hover{border-color:#7bae7f}.rsvp-day-card{display:flex;align-items:center;width:100%;padding:10px 16px;background:var(--surface);border:1.5px solid var(--divider);border-radius:6px;font-family:var(--font-body);color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;min-height:48px}.rsvp-day-card__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rsvp-day-card__title{font-size:1.05rem;font-weight:600;color:var(--text);line-height:1.3}.rsvp-day-card__subtitle{font-size:.9rem;color:var(--text-muted);line-height:1.3}.rsvp-day-card__check{flex-shrink:0;margin-left:16px;display:flex;align-items:center}.rsvp-day-card--selected{border-color:var(--text);border-width:2px;padding:9.5px 15.5px;background:#f0f4f9}.rsvp-day-card:hover{border-color:var(--text);box-shadow:0 2px 8px #2b4c7e1f}.rsvp-stepper{display:flex;align-items:center;justify-content:center;gap:24px;margin:32px 0}.rsvp-stepper-btn{width:48px;height:48px;background:var(--surface);border:1px solid var(--divider);font-size:1.5rem;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease}.rsvp-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.rsvp-stepper-value{font-family:var(--font-body);font-weight:300;font-size:48px;color:var(--accent-warm);min-width:60px;text-align:center}.rsvp-song-field{position:relative}.rsvp-song-selected{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--accent-pink);padding:12px 16px;font-family:var(--font-body);color:var(--text)}.rsvp-song-clear{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:4px 8px}.rsvp-spotify-results{background:var(--surface);border:1px solid var(--divider);border-top:none;max-height:340px;overflow-y:auto}.rsvp-spotify-row{display:flex;align-items:center;gap:12px;width:100%;padding:8px 12px;background:none;border:none;border-bottom:1px solid var(--divider);cursor:pointer;text-align:left;min-height:56px;transition:background .15s ease}.rsvp-spotify-row:hover{background:var(--highlight)}.rsvp-spotify-row:last-child{border-bottom:none}.rsvp-spotify-row img{width:40px;height:40px;object-fit:cover;flex-shrink:0}.rsvp-spotify-track{display:block;font-family:var(--font-body);font-weight:600;font-size:.9375rem;color:var(--text)}.rsvp-spotify-artist{display:block;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.rsvp-spotify-status{font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted);margin:8px 0 0}.rsvp-skip-link{display:block;background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.875rem;cursor:pointer;padding:0;margin:8px 0 16px;text-decoration:underline}.rsvp-hotel-field{position:relative}.rsvp-hotel-selected{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--accent-green);padding:12px 16px;font-family:var(--font-body);color:var(--text)}.rsvp-hotel-clear{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:4px 8px}.rsvp-places-results{background:var(--surface);border:1px solid var(--divider);border-top:none;max-height:280px;overflow-y:auto}.rsvp-places-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--divider);cursor:pointer;text-align:left;min-height:52px;transition:background .15s ease}.rsvp-places-row:hover{background:var(--highlight)}.rsvp-places-row:last-child{border-bottom:none}.rsvp-places-icon{font-size:1.125rem;flex-shrink:0}.rsvp-places-name{display:block;font-family:var(--font-body);font-weight:600;font-size:.9375rem;color:var(--text)}.rsvp-places-addr{display:block;font-family:var(--font-body);font-size:.8125rem;color:var(--text-muted)}.rsvp-decline-link{display:block;background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.875rem;cursor:pointer;padding:12px 0;margin:0 0 8px;text-decoration:underline;min-height:44px}.rsvp-decline-recovery{color:var(--accent-pink);margin-top:24px}.rsvp-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-bottom:32px}.btn{font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;padding:12px 24px;cursor:pointer;border:none;transition:opacity .15s ease;min-height:48px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-pink);color:#fff}.btn-primary:hover{background:#c04e68;color:#fff}.btn-accent{background:var(--accent-pink);color:#fff}.btn-ghost{background:none;color:var(--text-muted);padding:12px 8px}.rsvp-celebration{text-align:center;padding:16px 0 4px}.rsvp-couple-photo{display:block;max-width:220px;width:100%;height:auto;margin:24px auto}.rsvp-signoff{font-family:var(--font-body);font-weight:300;color:var(--text-muted);margin-top:32px}.rsvp-page[data-astro-cid-sgluuv34]{padding-top:64px;padding-bottom:48px;min-height:60vh}
