.rsvp-shell{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 12% 10%, #f9b1484d, transparent 26rem), radial-gradient(circle at 90% 95%, #5ea8be38, transparent 28rem), var(--blush);padding:32px}.rsvp-topbar{justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:0 auto 34px;display:flex}.rsvp-wordmark{font-family:var(--script);font-size:38px;line-height:1}.rsvp-wordmark span{color:var(--coral)}.rsvp-back{letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid;font-size:9px}.rsvp-panel{background:#fffaf4f0;border:1px solid #20231f59;width:min(100%,980px);margin:0 auto;box-shadow:0 36px 100px #5c301c24}.rsvp-intro{text-align:center;border-bottom:1px solid #20231f33;padding:clamp(42px,7vw,88px)}.rsvp-kicker{color:var(--coral);text-transform:uppercase;letter-spacing:.24em;margin:0 0 15px;font-size:9px;font-weight:600}.rsvp-intro h1{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(54px,8vw,100px);font-weight:400;line-height:.92}.rsvp-intro>p:last-child{max-width:650px;font-family:var(--display);margin:28px auto 0;font-size:clamp(19px,2.5vw,26px);line-height:1.45}.rsvp-body{padding:clamp(30px,6vw,72px)}.rsvp-section{border-bottom:1px solid #20231f38;margin:0 0 52px;padding:0 0 52px}.rsvp-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.rsvp-section-head{grid-template-columns:48px 1fr;gap:20px;margin-bottom:30px;display:grid}.rsvp-section-number{color:var(--coral);font-family:var(--display);font-size:22px}.rsvp-section h2{font-family:var(--display);margin:0 0 8px;font-size:clamp(34px,5vw,52px);font-weight:400;line-height:1}.rsvp-section-head p{max-width:620px;margin:0}.rsvp-guest-card{border:1px solid var(--ink);background:var(--paper);margin-top:22px}.rsvp-guest-name{background:var(--dark);color:var(--cream);font-family:var(--display);padding:22px 25px;font-size:28px}.rsvp-event{border-bottom:1px solid #20231f33;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:24px 25px;display:grid}.rsvp-event:last-of-type{border-bottom:0}.rsvp-event--private{box-shadow:inset 4px 0 0 var(--yellow);background:#f9eed1}.rsvp-private-label{color:var(--coral);text-transform:uppercase;letter-spacing:.16em;margin:0 0 8px;font-size:8px;font-weight:700}.rsvp-transport-note{color:#20231fb8;max-width:650px;margin:15px 0 0;font-size:12px;line-height:1.55}.rsvp-event strong{font-family:var(--display);font-size:20px;font-weight:500;display:block}.rsvp-event small{color:#20231fa6;text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:8px;display:block}.rsvp-event-agenda{gap:3px;margin:13px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.rsvp-event-agenda li{grid-template-columns:110px 1fr;gap:10px;display:grid}.rsvp-event-agenda span{font-weight:600}.rsvp-choice{border:1px solid var(--ink);display:flex}.rsvp-choice button{border:0;border-right:1px solid var(--ink);text-transform:uppercase;letter-spacing:.13em;min-width:78px;min-height:40px;font:600 8px var(--sans);cursor:pointer;background:0 0}.rsvp-choice button:last-child{border-right:0}.rsvp-choice button.is-selected{color:#fff;background:var(--coral)}.rsvp-choice button:last-child.is-selected{background:var(--dark)}.rsvp-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.rsvp-field{gap:8px;display:grid}.rsvp-field--full{grid-column:1/-1}.rsvp-field label{text-transform:uppercase;letter-spacing:.16em;font-size:8px;font-weight:600}.rsvp-field input,.rsvp-field textarea{width:100%;min-height:49px;font:inherit;color:var(--ink);background:#fff;border:1px solid #20231f73;border-radius:0;outline:none;padding:14px 15px}.rsvp-field textarea{resize:vertical;min-height:98px}.rsvp-field input:focus,.rsvp-field textarea:focus{border-color:var(--coral);box-shadow:0 0 0 2px #dd57371f}.rsvp-guest-details{border-top:1px solid #20231f33;padding:25px}.rsvp-guest-details h3{font-family:var(--display);margin:0 0 17px;font-size:22px;font-weight:400}.rsvp-submit-row{justify-content:space-between;align-items:center;gap:25px;display:flex}.rsvp-submit{color:#fff;background:var(--coral);min-height:54px;font:600 9px var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:0;padding:0 30px}.rsvp-submit:disabled{cursor:wait;opacity:.65}.rsvp-error{color:#a32c1c;margin:0}.rsvp-success{text-align:center;padding:70px clamp(30px,7vw,90px)}.rsvp-success-mark{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 28px;font-size:27px;display:grid}.rsvp-success h1{font-family:var(--display);margin:0;font-size:clamp(52px,8vw,92px);font-weight:400}.rsvp-success p{max-width:580px;font-family:var(--display);margin:24px auto;font-size:22px}.rsvp-loading,.rsvp-missing{text-align:center;padding:90px 40px}.rsvp-loading h1,.rsvp-missing h1{font-family:var(--display);font-size:48px;font-weight:400}.rsvp-missing>p{max-width:620px;margin:20px auto}.rsvp-recovery-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 24px;margin-top:30px;display:flex}.rsvp-recovery-actions .rsvp-submit{align-items:center;text-decoration:none;display:inline-flex}.rsvp-secondary{text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid;font-size:10px;font-weight:600}.rsvp-code-form{max-width:520px;margin:35px auto 0;display:flex}.rsvp-code-form input{border:1px solid var(--ink);min-width:0;min-height:52px;font:inherit;flex:1;padding:0 16px}.rsvp-code-form button{color:#fff;background:var(--dark);text-transform:uppercase;letter-spacing:.15em;font:600 8px var(--sans);border:0;padding:0 24px}.rsvp-help{margin-top:35px;font-size:12px}.rsvp-help a{border-bottom:1px solid}@media (max-width:700px){.rsvp-shell{padding:18px 12px 45px}.rsvp-topbar{margin-bottom:20px}.rsvp-wordmark{font-size:31px}.rsvp-fields{grid-template-columns:1fr}.rsvp-field--full{grid-column:auto}.rsvp-section-head{grid-template-columns:32px 1fr}.rsvp-event{grid-template-columns:1fr;gap:17px}.rsvp-choice{width:100%}.rsvp-choice button{flex:1}.rsvp-event-agenda li{grid-template-columns:100px 1fr}.rsvp-submit-row{flex-direction:column;align-items:stretch}.rsvp-submit{width:100%}.rsvp-code-form{flex-direction:column}.rsvp-code-form input,.rsvp-code-form button{min-height:52px}}
