/* Reply stationery: a shared accessible form, with a palette for each experience. */
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog {
  --reply-paper:#fffaf7;--reply-ink:#493b47;--reply-muted:#72616e;--reply-accent:#80576b;
  --reply-line:#dfcdd8;--reply-soft:#f7e4e8;--reply-field:#fffdfb;--reply-radius:16px;
  width:calc(100% - 32px);max-width:680px;max-height:calc(100svh - 32px);margin:auto;padding:0;
  overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--reply-line) var(--reply-paper);
  color:var(--reply-ink);background:var(--reply-paper);border:1px solid var(--reply-line);border-radius:28px;
  box-shadow:0 28px 100px #493b4733;font-family:Plex,Arial,sans-serif;
}
.book-demo #rsvp-dialog{--reply-soft:#ece7f5;--reply-line:#ddd0e4}
.editorial-demo #rsvp-dialog{--reply-soft:#faebdf;--reply-line:#e6d1d6;--reply-field:#fffcf8}
.map-demo #rsvp-dialog{--reply-paper:#fcfdf7;--reply-ink:#3f5142;--reply-muted:#5f6b5f;--reply-accent:#51694f;--reply-line:#cfdcc8;--reply-soft:#e6eee5;--reply-field:#fffefa}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog::backdrop{background:#493b4766;backdrop-filter:blur(8px)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .dialog-bar{display:flex;align-items:center;gap:12px;min-height:74px;padding:12px 24px;position:sticky;top:0;z-index:5;background:var(--reply-paper);border-bottom:1px solid var(--reply-line)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .dialog-bar .eyebrow{font-size:11px;line-height:1.6;font-weight:500;letter-spacing:.1em;color:var(--reply-accent)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .close-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0;padding:0;border:1px solid var(--reply-line);border-radius:50%;color:var(--reply-accent);background:var(--reply-field)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .close-button:hover{background:var(--reply-soft)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner{position:relative;padding:32px 32px max(32px,env(safe-area-inset-bottom));isolation:isolate}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner::before{content:'C / D';position:absolute;top:33px;right:32px;width:54px;height:62px;display:grid;place-items:center;background:var(--reply-soft);border:1px solid var(--reply-line);border-radius:22px 22px 12px 12px;color:var(--reply-accent);font:400 14px/1 Space,Arial,sans-serif;letter-spacing:-.03em;pointer-events:none}
.editorial-demo #rsvp-dialog .rsvp-inner::before{border-radius:50%;height:54px;transform:rotate(-8deg);border:3px double var(--reply-line)}
.map-demo #rsvp-dialog .rsvp-inner::before{border-radius:50% 50% 50% 12px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner>h2{font:400 clamp(34px,5vw,44px)/1.1 Space,Arial,sans-serif;letter-spacing:-.055em;color:var(--reply-accent);max-width:13ch;width:calc(100% - 70px);margin:0}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-intro{font-size:15px;line-height:1.75;color:var(--reply-muted);margin:18px 0 0;max-width:44ch}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .privacy-note{font-size:13px;line-height:1.75;color:var(--reply-muted);border:1px solid var(--reply-line);border-radius:16px;background:var(--reply-soft);padding:14px 16px;margin:24px 0}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-card{position:relative;padding:24px;margin:0 0 18px;border:1px solid var(--reply-line);border-radius:22px;background:var(--reply-field);box-shadow:0 3px 15px #493b4703}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-initial{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;background:var(--reply-soft);border:1px solid var(--reply-line);border-radius:16px;color:var(--reply-accent);font:400 25px/1 Space,Arial,sans-serif}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-heading h3{font:400 27px/1.2 Space,Arial,sans-serif;letter-spacing:-.045em;color:var(--reply-ink);overflow-wrap:anywhere}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-heading p{color:var(--reply-muted);font-size:12px;line-height:1.6;margin-top:4px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog :is(legend,.field-label){display:block;font-size:15px;font-weight:500;color:var(--reply-ink);padding:0;margin-bottom:10px;line-height:1.6}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice{min-width:0;min-height:54px;display:flex;align-items:center;gap:10px;padding:13px 14px;background:var(--reply-paper);border:1px solid var(--reply-line);border-radius:14px;color:var(--reply-ink);font-size:14px;line-height:1.5;white-space:normal;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice>span{min-width:0;overflow-wrap:break-word}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice:hover{border-color:var(--reply-accent);background:var(--reply-field)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice:has(input:checked){background:var(--reply-soft);border-color:var(--reply-accent);box-shadow:0 0 0 1px var(--reply-accent)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px;flex:0 0 20px;margin:0;padding:0;border:1.5px solid var(--reply-muted);border-radius:50%;background:var(--reply-field);cursor:pointer}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--reply-accent);transform:scale(0);transition:transform .12s}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]:checked{border-color:var(--reply-accent)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]:checked::before{transform:scale(1)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice:has(input:disabled){opacity:.55;cursor:default}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-details{display:grid;grid-template-columns:1fr;gap:24px;padding-top:24px;margin-top:24px;border-top:1px solid var(--reply-line)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-details :is(select,textarea){width:100%;min-height:52px;padding:13px 14px;color:var(--reply-ink);background:var(--reply-paper);border:1px solid var(--reply-line);border-radius:14px;font:400 16px/1.5 Plex,Arial,sans-serif;box-shadow:none}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-details select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='m2 2 5 5 5-5' stroke='%23756570' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog textarea{resize:vertical;min-height:106px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog textarea::placeholder{color:var(--reply-muted);opacity:1}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .field-hint{font-size:13px;line-height:1.7;margin-top:8px;color:var(--reply-muted)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .declined-note{margin-top:16px;font-size:14px;line-height:1.7;color:var(--reply-muted)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog :is(button,input,select,textarea):focus-visible{outline:3px solid var(--reply-accent);outline-offset:4px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice:focus-within{outline:3px solid var(--reply-accent);outline-offset:3px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input:focus-visible{outline:none}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .form-error{margin:2px 0 18px;padding:14px 16px;background:#fbe8e9;color:#843e50;border:1px solid #d6a5b4;border-radius:16px;font-size:14px;line-height:1.7}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog [aria-invalid=true]{outline:2px solid #9d4c62;outline-offset:3px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice:has([aria-invalid=true]){border-color:#9d4c62}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .submit-button{position:relative;display:flex;justify-content:center;width:100%;min-height:56px;margin:4px 0 0;padding:16px 22px;border:1px solid var(--reply-accent);border-radius:16px;background:var(--reply-accent);color:var(--reply-paper);font:500 15px/1.5 Plex,Arial,sans-serif;letter-spacing:0}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .submit-button:hover{filter:brightness(.94)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog button:disabled{opacity:.5;cursor:default}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt{border:1px solid var(--reply-line);border-radius:22px;padding:26px;background:var(--reply-field);box-shadow:none}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-check{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border:1px solid var(--reply-line);background:var(--reply-soft);color:var(--reply-accent);border-radius:17px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt h3{color:var(--reply-accent);font:400 32px/1.15 Space,Arial,sans-serif;letter-spacing:-.045em;max-width:16ch}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person{border-top:1px solid var(--reply-line);margin-top:24px;padding-top:20px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person h4{color:var(--reply-ink);font:400 24px/1.2 Space,Arial,sans-serif;letter-spacing:-.035em}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person dl>div{display:flex;justify-content:space-between;gap:14px;margin-top:12px;font-size:14px;line-height:1.6}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person dt{color:var(--reply-muted)}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person dd{margin:0;max-width:64%;text-align:right;color:var(--reply-ink);overflow-wrap:anywhere}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-time{color:var(--reply-muted);font-size:12px;line-height:1.8;margin-top:24px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog #edit-response{color:var(--reply-accent);font-size:14px;line-height:1.5;text-align:left;min-height:48px;padding:10px 0;margin-top:8px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;background:transparent}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .storage-feedback{color:#795738;font-size:13px;line-height:1.7;margin-top:17px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .storage-feedback:empty{display:none}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .attendance-choices .choice:last-child{grid-column:1/-1}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-preferences-hint{color:var(--reply-muted);font-size:14px;line-height:1.7;margin:0;padding:14px 16px;background:var(--reply-soft);border-radius:14px}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-completion{font-size:14px;line-height:1.7;color:var(--reply-accent);margin:14px 0 0}
:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-quick-save{margin-left:auto;min-height:44px;padding:10px 15px;border:1px solid var(--reply-accent);border-radius:14px;background:var(--reply-accent);color:var(--reply-paper);font:500 14px/1.4 Plex,Arial,sans-serif;cursor:pointer}

/* The direct route is prominent without competing with the artwork. */
.guest-access{--guest-paper:#fffaf7;--guest-ink:#80576b;--guest-soft:#ece7f5;--guest-line:#dfcdd8;position:relative;z-index:2;margin:14px auto 22px;padding:18px 24px;width:calc(100% - 32px);max-width:1100px;border:1px solid var(--guest-line);border-radius:24px;background:var(--guest-paper);color:var(--guest-ink);font:400 16px/1.6 Plex,Arial,sans-serif;box-sizing:border-box;box-shadow:0 6px 24px #80576b08}
.editorial-demo .guest-access{--guest-paper:#fffaf7;--guest-soft:#faebdf;--guest-line:#e6d1d6}
.map-demo .guest-access{--guest-paper:#fcfdf7;--guest-ink:#51694f;--guest-soft:#e6eee5;--guest-line:#cfdcc8}
.guest-access-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.guest-access :is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 16px;border:1px solid var(--guest-line);border-radius:14px;font:500 15px/1.5 Plex,Arial,sans-serif;color:var(--guest-ink);background:var(--guest-soft);text-decoration:none;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
.guest-access .guest-access-primary{background:var(--guest-ink);color:var(--guest-paper);border-color:var(--guest-ink);gap:12px}
.guest-access :is(button,a,summary):focus-visible{outline:3px solid var(--guest-ink);outline-offset:4px}
.guest-access summary{cursor:pointer;min-height:44px;padding:14px 0 0;font-size:14px}
.guest-practical{display:grid;grid-template-columns:1fr 1fr;gap:24px 34px;padding:22px 0 8px;border-top:1px solid var(--guest-line);margin-top:18px}
.guest-practical :is(h1,h2){font:400 clamp(28px,5vw,42px)/1.2 Space,Arial,sans-serif;letter-spacing:-.045em;margin:6px 0 14px;overflow-wrap:anywhere}.guest-practical :is(h1,h2) em{font-style:normal}
.guest-practical h3{font:500 19px/1.4 Space,Arial,sans-serif;margin:20px 0 8px}.guest-practical p{font-size:16px;margin:6px 0 12px}.guest-practical .guest-practical-note{font-size:14px;line-height:1.7}.guest-practical-label{font-size:11px;letter-spacing:.12em}
.guest-practical dl{margin:0}.guest-practical dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--guest-line);padding:10px 0}.guest-practical dd{margin:0;text-align:right}.guest-practical-family{grid-column:1/-1}.guest-practical ul{padding:0;list-style:none;margin:0 0 18px}.guest-practical li{display:flex;flex-wrap:wrap;gap:5px 15px;padding:11px 0;border-bottom:1px solid var(--guest-line)}
.guest-simple>main{display:none!important}.guest-simple .guest-access{margin-top:24px}.guest-simple .guest-practical{font-size:18px}
@media(min-width:560px){:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-details{grid-template-columns:1fr 1fr;gap:24px 20px}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog :is(.allergies-field,.allergy-note,.menu-field,.transport-field){grid-column:1/-1}}
@media(max-width:559px){
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);border-radius:24px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .dialog-bar{padding:10px 16px;gap:10px;min-height:68px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .dialog-bar .eyebrow{font-size:10px;letter-spacing:.07em;max-width:17ch}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner{padding:26px 18px max(26px,env(safe-area-inset-bottom))}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner>h2{font-size:34px;width:calc(100% - 56px)}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner::before{right:18px;top:29px;width:43px;height:50px;font-size:12px}
  .editorial-demo #rsvp-dialog .rsvp-inner::before{height:43px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-card{padding:21px 16px;border-radius:20px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-heading{gap:12px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-heading h3{font-size:25px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choices{gap:9px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice{padding:12px 10px;font-size:14px;gap:8px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt{padding:23px 18px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt h3{font-size:30px}
  :is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .receipt-person dl>div{font-size:13px}
}
@media(max-width:600px){.guest-access{width:calc(100% - 24px);margin:10px auto 16px;padding:14px;border-radius:20px}.guest-access-actions{gap:8px}.guest-access-actions>button:first-child{width:100%;font-size:16px}.guest-access-actions>:not(:first-child){flex:1;font-size:14px;padding:10px}.guest-practical{grid-template-columns:1fr;gap:8px}.guest-practical-family{grid-column:auto}.guest-practical dl>div{gap:12px}.guest-practical dd{max-width:55%}}
@media(max-width:359px){:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner{padding-inline:14px}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-inner>h2{font-size:31px}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .guest-card{padding-inline:12px}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choices{grid-template-columns:1fr}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .rsvp-quick-save{font-size:13px;padding-inline:10px}}
@media(forced-colors:active){:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]{appearance:auto;-webkit-appearance:radio}:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]::before{display:none}}
@media(prefers-reduced-motion:reduce){:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice,:is(.book-demo,.editorial-demo,.map-demo) #rsvp-dialog .choice input[type=radio]::before{transition:none}}
