.rsvp-flow,.rsvp-server-form{width:min(100%,46rem);margin-inline:auto}.step-label,.household-name,.form-guidance{color:var(--color-navy);letter-spacing:.12em;text-transform:uppercase;font-size:.82rem;font-weight:700}.progress-track{background:var(--color-navy);height:.25rem;margin-block:.5rem 1.5rem;overflow:hidden}.progress-track span{background:var(--color-gold);height:100%;transition:width .18s;display:block}.progress-track span[data-step="1"]{width:33.3333%}.progress-track span[data-step="2"]{width:66.6667%}.progress-track span[data-step="3"]{width:100%}.rsvp-flow h1,.rsvp-flow h2{text-transform:uppercase;overflow-wrap:anywhere;margin-block:.25rem 1rem;font-size:clamp(2rem,7vw,3.5rem);line-height:1.05}.form-step{margin-top:2rem}.guest-card,.household-details,.review-section{border:1px solid var(--color-gold);min-width:0;margin:0 0 1.25rem;padding:clamp(1rem,4vw,1.5rem)}.guest-card>legend,.household-details>legend{padding-inline:.5rem;font-size:1.2rem;font-weight:700}.choice-row{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;display:grid}.choice-row label,.dietary-fieldset>label:not(.field-label){border:1px solid var(--color-gold);cursor:pointer;align-items:center;gap:.65rem;min-height:3rem;padding:.65rem .75rem;display:flex}.dietary-fieldset{border:1px solid var(--color-gold);gap:.65rem;margin:1rem 0 0;padding:1rem;display:grid}.dietary-fieldset legend{padding-inline:.4rem;font-weight:600}.field-label{gap:.35rem;margin-block:1rem;font-weight:600;display:grid}.rsvp-flow input[type=text],.rsvp-flow input[type=email],.rsvp-flow input[type=tel],.rsvp-flow select,.rsvp-flow input:not([type]),.rsvp-flow textarea,.rsvp-server-form input[type=text],.rsvp-server-form input[type=email],.rsvp-server-form input[type=tel],.rsvp-server-form select,.rsvp-server-form input:not([type]),.rsvp-server-form textarea{border:2px solid var(--color-navy);width:100%;min-height:3rem;color:var(--color-navy);background:var(--color-ivory);font:inherit;border-radius:0;padding:.7rem .8rem}.rsvp-flow textarea,.rsvp-server-form textarea{resize:vertical;min-height:6rem}.form-actions{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.5rem;display:flex}.form-actions-end{justify-content:flex-end}.button{border:2px solid var(--color-navy);border-radius:var(--radius-button);min-height:3rem;font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;overflow-wrap:anywhere;justify-content:center;align-items:center;max-width:100%;padding:.7rem 1.25rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.button-primary{color:var(--color-ivory);background:var(--color-navy)}.button-secondary{color:var(--color-navy);background:0 0}.button:disabled{cursor:wait;opacity:.65}.text-button{min-height:44px;color:var(--color-navy);font:inherit;text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:.4rem 0;font-weight:700;text-decoration:underline}.rsvp-page-header{border-bottom:1px solid var(--color-gold);min-height:4.5rem;color:var(--color-gold);background:var(--color-navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem max(1rem,50% - 35rem);display:flex}.rsvp-page-header a{text-underline-offset:.25em;align-items:center;min-height:44px;font-weight:600;display:inline-flex}.rsvp-page-header p{margin:0;font-size:.85rem}.rsvp-page-main{width:min(100% - 2rem,50rem);min-height:calc(100vh - 4.5rem);margin-inline:auto;padding-block:clamp(2rem,6vw,4rem)}.rsvp-page-main .section-eyebrow{color:var(--color-navy)}.rsvp-honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.return-help,.household-switch{width:min(100%,46rem);margin:0 auto 1.5rem;font-size:.9rem}.household-switch summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-weight:600}.household-switch form{margin-block:1rem}.attendance-count{border-inline-start:3px solid var(--color-gold);padding:.8rem 1rem;font-weight:600}.rsvp-flow h2{font-size:clamp(1.4rem,4vw,2rem)}.rsvp-flow p,.review-section li{overflow-wrap:anywhere}.rsvp-page-main .saved-return{min-height:44px;padding-block:.75rem;display:block}.privacy-note{font-size:.9rem}.flow-controls{border:0;min-width:0;margin:0;padding:0}.form-error{border:2px solid var(--color-navy);padding:.8rem 1rem;font-weight:700}.review-section h3{margin-top:0}.review-section ul{padding-left:1.25rem}.review-detail{display:block}@media (width>=36rem){.choice-row{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.progress-track span{transition:none}}
