.customer-invitation [hidden]{display:none!important}.customer-invitation .review-toolbar{justify-content:flex-end;min-height:44px}.customer-invitation .entry-caption{font-size:14px}.customer-invitation .entry-footer{max-width:100%;padding:0 16px;overflow-wrap:anywhere}.customer-invitation .preserve-lines{white-space:pre-line}.customer-invitation h1,.customer-invitation h2,.customer-invitation .banquet-rail>span{overflow-wrap:anywhere}.customer-invitation .section-intro h2{font:500 clamp(30px,4vw,52px)/1.1 'Cormorant Garamond',serif}.customer-invitation .customer-day{border-top:1px solid var(--line);padding:16px 0}.customer-day summary{cursor:pointer;font-weight:600;min-height:44px}.customer-day summary small{display:block;font-weight:400;margin:6px 0}.customer-invitation .schedule-list{list-style:none;padding:0;margin:0}.customer-invitation .schedule-list li{display:grid;grid-template-columns:60px 1fr;gap:16px;padding:16px 0}.customer-invitation .schedule-list h3{margin:0 0 7px;font-size:22px}.customer-invitation .schedule-list p{margin:0}.customer-palette{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0}.customer-palette figure{margin:0;max-width:90px;text-align:center}.customer-palette span{display:block;width:50px;height:50px;background:var(--swatch);border-radius:50%;margin:0 auto 8px;box-shadow:0 0 0 1px #0002}.customer-palette figcaption{font:12px/1.5 'DM Sans',sans-serif;overflow-wrap:anywhere}.customer-reply{max-width:620px;margin:auto;text-align:left}.customer-reply h2{font:500 clamp(38px,5vw,64px)/1.1 var(--display,var(--serif,Georgia,serif));margin:18px 0}.customer-reply p{line-height:1.7}.customer-reply form{display:grid;gap:20px}.customer-reply label{display:grid;gap:9px;font:500 14px/1.5 'DM Sans',sans-serif}.customer-reply input,.customer-reply select,.customer-reply textarea{box-sizing:border-box;width:100%;min-width:0;min-height:48px;font:400 16px/1.5 'DM Sans',sans-serif;padding:12px;border:1px solid var(--reply-border,#8c8a7b);border-radius:3px;background:var(--reply-field,#fffdf7);color:var(--reply-ink,#283329)}.customer-reply .customer-guest{min-width:0;margin:0;padding:20px;display:grid;gap:20px;border:1px solid var(--reply-border,#aaa493)}.customer-reply legend{padding:0 8px;font-size:14px}.customer-reply [data-attending]{display:grid;gap:20px}.customer-reply [role=alert]{padding:12px;border:1px solid #a03b39;color:#7b2422;background:#fff1ee}.customer-reply button{min-height:44px;cursor:pointer}.customer-reply :disabled{opacity:.6;cursor:wait}.customer-reply-note{font:12px/1.6 'DM Sans',sans-serif;opacity:.8}.customer-confirmation{text-align:center}.customer-confirmation .reply-animation{max-width:220px;width:70%;height:auto;display:block;margin:auto}.customer-confirmation button{margin:10px 5px}.customer-invitation .photo-reel{display:block;overflow:visible;padding:10px 0}.customer-invitation .photo-reel .gallery-track{max-width:100%}.customer-invitation .customer-reply{color:var(--reply-ink)}.customer-invitation .reply-study{background:var(--reply-paper)!important;color:var(--reply-ink)!important}body.customer-invitation[data-theme] .reply-study .customer-reply .action{background:var(--reply-ink);color:var(--reply-paper);border-color:var(--reply-ink)}.customer-invitation .classic-letter h1 span{display:inline}.customer-invitation .menu-courses h3{font-size:25px;line-height:1.4}.customer-invitation .banquet-rail>span:first-child{font-size:20px}.customer-invitation .banquet-rail p{font-size:14px}.customer-invitation .invitation-music{z-index:25}.customer-invitation .guest-footer{padding-bottom:90px}.customer-invitation .photo-lightbox{z-index:100}
@media(max-width:600px){.customer-reply .customer-guest{padding:15px}.customer-reply h2{font-size:38px}.customer-invitation .cinema-cover-type h1{font-size:clamp(40px,12vw,72px)}.customer-invitation .editorial-hero h1{font-size:clamp(50px,14vw,85px)}.customer-invitation .classic-letter h1{font-size:clamp(34px,10vw,60px)}}
.customer-invitation .entry-screen{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(110px,1fr) auto auto auto;gap:12px;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))}.customer-invitation .entry-caption{grid-column:1;grid-row:1}.customer-invitation .entry-object.tactile-opening{grid-column:1;grid-row:2;height:100%;width:min(100%,680px);max-height:540px;min-height:110px}.customer-invitation .entry-action{grid-column:1;grid-row:3}.customer-invitation .entry-skip{grid-column:1;grid-row:4}.customer-invitation .entry-footer{grid-column:1;grid-row:5}
@media(max-height:500px) and (min-width:550px){.customer-invitation .entry-screen{grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);grid-template-rows:1fr auto auto 1fr;gap:12px}.customer-invitation .entry-object.tactile-opening{grid-column:1;grid-row:1/5}.customer-invitation .entry-caption{grid-column:2;grid-row:1;align-self:end}.customer-invitation .entry-action{grid-column:2;grid-row:2}.customer-invitation .entry-skip{grid-column:2;grid-row:3}.customer-invitation .entry-footer{display:none}}

.customer-invitation .classic-letter h1 .names-and{display:inline-block;margin-inline:.15em;font-size:.65em;vertical-align:.08em}

/* RSVP colours come from the invitation, independently of chapter-paper overrides. */
body.customer-invitation{--reply-ink:var(--theme-ink,#2b342c);--reply-paper:var(--theme-paper,#fbf6e9);--reply-field:color-mix(in srgb,var(--reply-paper) 95%,var(--reply-ink));--reply-border:color-mix(in srgb,var(--reply-ink) 58%,var(--reply-paper));--reply-wash:color-mix(in srgb,var(--reply-paper) 96%,var(--reply-ink))}
body.customer-invitation .reply-study{border-top:3px double var(--foil,var(--reply-border));color-scheme:light}
body.customer-invitation[data-dark=true] .reply-study{color-scheme:dark}
body.customer-invitation .reply-study .customer-reply :is(input,select,textarea){background:var(--reply-field);color:var(--reply-ink);border-color:var(--reply-border);font-family:var(--sans,'DM Sans',sans-serif)}
body.customer-invitation .reply-study select option{color:var(--reply-ink);background:var(--reply-paper)}
body.customer-invitation .customer-reply :is(input,textarea)::placeholder{color:var(--reply-ink);opacity:.7}
body.customer-invitation .customer-reply .customer-guest{background:var(--reply-wash);border-color:var(--reply-border)}
body.customer-invitation .customer-reply :is(label,legend){color:var(--reply-ink);font-family:var(--sans,'DM Sans',sans-serif)}
body.customer-invitation .customer-reply .text-link{color:var(--reply-ink)}
body.customer-invitation .customer-reply :is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--reply-ink);outline-offset:4px}
body.customer-invitation .customer-confirmation{padding:24px 0;border-block:1px solid var(--foil,var(--reply-border));background:var(--reply-paper);color:var(--reply-ink)}
body.customer-invitation .customer-confirmation .gift-receipt{color:var(--reply-ink);border-color:var(--reply-border)}
body.customer-invitation .customer-confirmation .gift-receipt a{border-color:var(--reply-ink);color:var(--reply-ink);background:transparent}
body.customer-invitation[data-treatment=embroidered] :is(.customer-guest,.customer-confirmation){border-style:dashed}
body.customer-invitation:is([data-treatment=palazzo],[data-treatment=celestial],[data-treatment=gilded],[data-theme=midnight-pearl]) .customer-confirmation{border-block:4px double var(--foil)}
body.customer-invitation[data-treatment=mono] .customer-reply h2{font-family:'Space Grotesk',sans-serif;letter-spacing:-.04em}
body.customer-invitation[data-treatment=silk] .customer-reply h2{font-style:italic}
