.i18n-pending body{visibility:hidden}
.language-switcher{display:flex;align-items:center;gap:.35rem;margin-left:auto;color:var(--cream);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.language-switcher button{padding:.25rem .1rem;color:inherit;background:none;border:0;cursor:pointer;opacity:.55;text-transform:inherit;letter-spacing:inherit}
.language-switcher button[aria-pressed="true"]{opacity:1;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.32rem}
.language-switcher button:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.rsvp-app{width:min(100%,58rem);margin-inline:auto;text-align:left}
.rsvp-loading{text-align:center}
.rsvp-note,.rsvp-intro{max-width:46rem;margin-inline:auto;text-align:center}
.rsvp-note h3,.rsvp-intro h3{margin:.35rem 0 1rem;color:var(--red-dark);font:clamp(1.8rem,4vw,3.5rem)/1 'DM Serif Display',serif}
.rsvp-kicker{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.rsvp-help,.rsvp-deadline{font-weight:700}
.rsvp-form{display:grid;gap:clamp(2rem,4vw,3.5rem)}
.guest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.guest-response{min-width:0;margin:0;padding:clamp(1.35rem,3vw,2.25rem);border:2px solid var(--red-dark);box-shadow:5px 6px 0 var(--sage);background:color-mix(in srgb,var(--ivory) 88%,white)}
.guest-response legend,.rsvp-name input{color:var(--red-dark);font:clamp(1.45rem,2.8vw,2.3rem)/1.05 'DM Serif Display',serif}
.guest-response legend{max-width:100%;padding:0 .45rem}
.rsvp-name{display:grid;gap:.45rem}
.rsvp-name input{width:100%;padding:.45rem .1rem;background:transparent;border:0;border-bottom:2px solid var(--red-dark)}
.attendance-options{display:grid;gap:.7rem;margin-top:1.25rem}
.attendance-options label{display:grid;grid-template-columns:1rem 1fr;align-items:start;gap:.7rem;cursor:pointer;line-height:1.35}
.attendance-options input{width:1rem;height:1rem;margin:.15rem 0 0;accent-color:var(--red-dark)}
.pending-label{margin:1rem 0 0;color:color-mix(in srgb,var(--ink) 65%,transparent);font-style:italic}
.attending-details{display:grid;gap:1rem;margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid color-mix(in srgb,var(--sage) 70%,transparent)}
.attending-details label,.group-message{display:grid;gap:.45rem;font-weight:700}
.attending-details small,.group-message small{font-size:.7em;font-weight:400;text-transform:uppercase;letter-spacing:.08em}
.rsvp-form textarea{width:100%;min-height:5.5rem;padding:.75rem;color:var(--ink);background:color-mix(in srgb,var(--ivory) 65%,white);border:1px solid var(--red-dark);border-radius:0;font:inherit;resize:vertical}
.group-message{width:min(100%,46rem);margin-inline:auto}
.form-status{min-height:1.6rem;margin:0;text-align:center;font-weight:700}
.rsvp-card .rsvp-submit{display:block;margin:0 auto;padding:1rem 1.6rem;cursor:pointer;box-shadow:4px 5px 0 var(--sage)}
.rsvp-card .rsvp-submit:hover:not(:disabled){color:var(--red-dark);background:var(--sage)}
.rsvp-card .rsvp-submit:focus-visible{outline:3px solid var(--sage);outline-offset:4px}
.rsvp-card .rsvp-submit:disabled{cursor:wait;opacity:.65}
@media(max-width:700px){.ribbon{justify-content:flex-start}.language-switcher{margin-left:auto}.guest-list{grid-template-columns:1fr}.guest-response{padding:1.25rem}.rsvp-card{padding-inline:0}}
