.rsvp{max-width:620px;margin-inline:auto;padding-block:clamp(2rem,6vw,3.5rem) clamp(4rem,12vh,6rem)}.rsvp__title{font-size:clamp(1.875rem,6.4vw,2.875rem);font-style:italic;font-weight:400}.rsvp__intro{color:color-mix(in srgb, var(--text) 72%, transparent);margin:1rem 0 0;font-size:1.0625rem;line-height:1.7}.rsvp__hr{margin-block:clamp(1.75rem,5vw,2.5rem)}.answered{border:1px solid var(--divider);border-left:2px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:.4rem;margin-top:1.5rem;padding:14px 16px;display:flex}.answered__tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;color:var(--accent-700);align-self:start;font-size:.75rem}.answered__line{color:color-mix(in srgb, var(--text) 70%, transparent);margin:0;font-size:.9375rem}.rsvp__form{flex-direction:column;gap:28px;display:flex}.pair{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.trio{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;display:grid}.input--area{resize:vertical;min-height:96px;padding-block:.625rem}.choice{border:0;margin:0;padding:0}.choice__legend{font-family:var(--display);margin-bottom:.875rem;padding:0;font-size:1.3125rem}.choice__options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.choice__pill{min-height:64px;font-family:var(--display);border:1px solid var(--divider);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.75rem;padding:0 1.125rem;font-size:1.125rem;transition:background .14s,border-color .14s;display:flex}.choice__pill:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.choice__pill.is-on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.choice__pill input{accent-color:var(--accent);width:1.125rem;height:1.125rem;margin:0}.toggle{min-height:56px;font-family:var(--display);border:1px solid var(--divider);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.75rem;padding:0 1.125rem;font-size:1.125rem;transition:background .14s,border-color .14s;display:flex}.toggle:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.toggle:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.toggle input{accent-color:var(--accent);width:1.125rem;height:1.125rem;margin:0}.attending{flex-direction:column;gap:20px;animation:.6s cubic-bezier(.2,.7,.2,1) both attending-in;display:flex}@keyframes attending-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}.rsvp__sub{margin:0;font-size:1.375rem}.rsvp__subnote{color:color-mix(in srgb, var(--text) 55%, transparent);margin:-12px 0 0;font-size:.9375rem}.submit{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.submit .button{min-height:56px}.submit__hint{color:color-mix(in srgb, var(--text) 55%, transparent);margin:0;font-size:.9375rem}.failure{border:1px solid var(--accent-600);background:var(--accent-100);border-radius:var(--radius);padding:14px 16px}.failure__title{font-family:var(--display);color:var(--accent-800);margin:0;font-size:1.125rem}.failure__body{color:var(--accent-800);margin:.35rem 0 0;font-size:.9375rem}.rsvp__loading{flex-direction:column;gap:1rem;padding-block:clamp(2rem,8vw,4rem);display:flex}.rsvp__loadingline{color:color-mix(in srgb, var(--text) 60%, transparent);margin:0;font-size:1.0625rem}.track{background:var(--divider);height:1px;position:relative;overflow:hidden}.track span{background:var(--accent);width:38%;animation:1.4s ease-in-out infinite sweep;position:absolute;inset-block:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(363%)}}.skeleton{border-radius:var(--radius);background:color-mix(in srgb, var(--text) 6%, transparent);height:34px}.rsvp__done{text-align:center;flex-direction:column;align-items:center;padding-block:clamp(1rem,4vw,2rem);display:flex}.wreath__merci{font-family:var(--display);margin:0;font-size:clamp(1.75rem,7vw,2.75rem);font-style:italic}.rsvp__donebody{max-width:34ch;margin:1.25rem 0 0;font-size:1.125rem;line-height:1.6}.rsvp__done--no{text-align:left;align-items:flex-start}.rsvp__title--noted{margin-bottom:1rem}.rsvp__noterule{background:var(--accent);width:44px;height:1px;display:block}.rsvp__donenote{color:color-mix(in srgb, var(--text) 65%, transparent);margin:.75rem 0 0;font-size:1.0625rem}.rsvp__done .linkish,.rsvp__invalid .button{margin-top:1.75rem}
