.rsvp-page{flex:1;display:flex;flex-direction:column;justify-content:center;padding-inline:var(--grid-gutter)}#rsvp-start{max-width:37.5rem;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding-block:var(--space-xl)}.rsvp-start__intro{font-size:var(--step-0);color:var(--color-text-muted);max-width:38ch;margin-inline:auto;margin-bottom:var(--space-l);font-style:italic}.rsvp-error{display:flex;align-items:flex-start;gap:var(--space-xs);max-width:37.5rem;margin-inline:auto;margin-bottom:var(--space-m);padding:var(--space-s) var(--space-m);background-color:oklch(from var(--color-error) l c h / .07);border-left:3px solid var(--color-error);border-radius:var(--radius-s);color:var(--color-error);font-size:var(--step--1);text-align:left}.rsvp-error__icon{flex-shrink:0;font-weight:700;width:1.25rem;height:1.25rem;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1;margin-top:1px}.rsvp-form{max-width:37.5rem;margin-inline:auto;text-align:left}.rsvp-form{view-transition-name:rsvp-step;contain:layout}::view-transition-old(rsvp-step){animation:.22s var(--ease-in-out-quart) both vtStepOut}::view-transition-new(rsvp-step){animation:.28s var(--ease-out-expo) both vtStepIn}@keyframes vtStepOut{to{opacity:0;transform:translate(calc(var(--vt-direction, 1) * -30px))}}@keyframes vtStepIn{0%{opacity:0;transform:translate(calc(var(--vt-direction, 1) * 30px))}}.step-progress{margin-bottom:var(--space-l)}.progress-track{height:4px;background-color:var(--color-accent);border-radius:2px;overflow:hidden;margin-bottom:var(--space-xs)}.progress-fill{height:100%;width:0%;background-color:var(--color-primary);border-radius:2px;transition:width .4s var(--ease-out-expo)}.progress-counter{display:block;font-size:var(--step--1);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:right}.form-title{margin-bottom:var(--space-m)}.form-group{margin-bottom:var(--space-l)}fieldset.form-group{border:none;padding:0;margin:0 0 var(--space-l)}.form-hint{font-size:var(--step--1);color:var(--color-text-muted);margin-bottom:var(--space-3xs);font-style:italic}.form-hint--standalone{margin-bottom:var(--space-m);font-size:var(--step-0)}label,legend{display:block;margin-bottom:var(--space-3xs);font-weight:700;font-size:var(--step-0)}input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;padding:var(--space-xs) var(--space-s);border:1.5px solid var(--color-accent);border-radius:var(--radius-s);background-color:var(--white);font-family:inherit;font-size:var(--step-0);transition:border-color .2s,box-shadow .2s;color:var(--color-text)}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px oklch(from var(--color-primary) l c h / .1)}.attendance-fieldset{border:none;padding:0;margin:0}.attendance-options{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xs)}.attendance-option{display:flex;align-items:center;gap:var(--space-s);cursor:pointer;font-size:var(--step-0);color:var(--color-text);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-accent);transition:color .2s}.attendance-option:last-child{border-bottom:none}.attendance-option input[type=radio]{width:1.125rem;height:1.125rem;margin:0;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.attendance-option:has(input:checked){color:var(--color-primary);font-weight:700}.button-group{margin-top:var(--space-xl);display:flex;gap:var(--space-s)}.button{background-color:var(--color-primary);color:var(--white);padding:var(--space-s) var(--space-l);border:none;border-radius:var(--radius-s);cursor:pointer;font-size:var(--step-0);font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:background-color .2s,transform .1s;display:inline-block;text-decoration:none}.button:hover{background-color:oklch(from var(--color-primary) calc(l + .06) c h)}.button:active{transform:translateY(1px)}.button--secondary{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary);font-size:var(--step--1);padding:var(--space-2xs) var(--space-xs);margin-bottom:var(--space-m)}.button--secondary:hover{background-color:oklch(from var(--color-primary) l c h / .06)}.button--ghost{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-accent);font-size:var(--step--1)}.button--ghost:hover{background-color:oklch(from var(--color-primary) l c h / .05);border-color:var(--color-primary)}.plus-icon{margin-right:var(--space-3xs);font-weight:700}.button--start{font-size:var(--step-1);padding:var(--space-m) var(--space-2xl)}.button-back{background:none;border:none;color:var(--color-text-muted);padding:var(--space-2xs) 0;margin-bottom:var(--space-m);cursor:pointer;font-size:var(--step--1);display:inline-flex;align-items:center;gap:var(--space-3xs);min-height:44px;min-width:44px;text-transform:uppercase;letter-spacing:.08em;transition:color .2s}.button-back:hover{color:var(--color-primary)}.button-back__arrow{font-style:normal;transition:transform .2s var(--ease-out-expo)}.button-back:hover .button-back__arrow{transform:translate(-3px)}.radio-label,.checkbox-label{display:flex;align-items:center;gap:var(--space-xs);font-weight:400;cursor:pointer}.checkbox-label--none{margin-top:var(--space-xs);margin-bottom:0}.dietary-divider{height:1px;background-color:var(--color-accent);margin-block:var(--space-xs);opacity:.6}.dietary-grid,.checkbox-group{display:flex;flex-direction:column;gap:var(--space-xs)}.conditional-field{display:flex;flex-direction:column;gap:var(--space-2xs)}.specify-wrapper{padding-left:var(--space-l);margin-bottom:var(--space-xs);animation:fadeInSlideUp .3s ease-out}.specify-wrapper label{display:block;font-size:var(--step--1);margin-bottom:var(--space-3xs);font-weight:500}.radio-label input[type=radio],.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;margin:0;cursor:pointer;accent-color:var(--color-primary);flex-shrink:0}.access-group{margin-top:var(--space-m);padding:var(--space-m);background-color:var(--color-surface-sunken);border-radius:var(--radius-m)}.access-group label{margin-bottom:var(--space-3xs)}.song-row{margin-bottom:var(--space-m)}.song-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-s)}.song-field label{font-size:var(--step--1);font-weight:600;margin-bottom:var(--space-3xs);display:block}.remove-song{display:inline-block;background:none;border:none;font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--color-error);cursor:pointer;padding:var(--space-3xs) 0;margin-top:var(--space-2xs);text-decoration:underline;text-underline-offset:2px}@media(max-width:40rem){.song-fields{grid-template-columns:1fr}}.name-card{background-color:var(--white);border:none;padding:var(--space-xl);margin-block:var(--space-l);box-shadow:var(--shadow-m);border-radius:var(--radius-m);width:100%;max-width:27.5rem;margin-inline:auto;text-align:center}.cards-container{display:flex;flex-direction:column;gap:var(--space-m);width:100%;margin-bottom:var(--space-l)}.name-card__label{font-size:var(--step--1);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin:0!important}.name-card__name{font-family:var(--font-header);font-size:var(--step-3);color:var(--color-primary);margin:var(--space-2xs) 0!important;line-height:1.1}.name-card__status{font-size:var(--step--1);color:var(--color-info);font-weight:700;margin:0!important}.name-card__date{font-size:var(--step--1);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0!important}#rsvp-success{max-width:37.5rem;margin-inline:auto;text-align:center;flex-direction:column;align-items:center;padding-block:var(--space-2xl);opacity:0;transform:translateY(var(--space-s));transition:opacity .7s var(--ease-out-expo),transform .7s var(--ease-out-expo)}#rsvp-success.is-visible{opacity:1;transform:translateY(0)}.success-eyebrow{font-size:var(--step-3);color:var(--color-text-muted);margin:0 0 var(--space-2xs)!important;line-height:1}.success-heading{font-size:var(--step-5);line-height:1.05}.success-body{color:var(--color-text-muted);font-style:italic;margin-top:0;margin-bottom:var(--space-l)!important;max-width:36ch;margin-inline:auto}#confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9999}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){::view-transition-old(rsvp-step),::view-transition-new(rsvp-step){animation:none}#rsvp-success{transition:opacity .3s ease}}
