.invitation-experience{position:relative;width:100%;max-width:480px;margin:auto}
.invitation-sheet{padding:48px 52px 46px;min-height:700px;border-radius:110px 110px 6px 6px;box-shadow:0 18px 38px #49382a17,0 4px 0 #e2d5bd,0 5px 0 #fffaf0;background:radial-gradient(ellipse at 25% 10%,#fffef8,transparent 75%),#f6efdf;gap:0}
.invitation-sheet:before,.invitation-sheet:after{display:none}
.invitation-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.invitation-overline{font-size:8px;letter-spacing:2.4px;line-height:1.8;max-width:100%;margin:8px 0 0}
.invitation-crest{position:relative;display:flex;align-items:center;justify-content:center;width:75px;height:79px;border:1px solid #b19a63;border-radius:48% 48% 46% 46%;margin:24px 0 22px;font:25px var(--serif);color:#96763a;box-shadow:inset 0 0 0 4px #f6efdf,inset 0 0 0 5px #c6b17c55}
.invitation-crest:before,.invitation-crest:after{content:'';position:absolute;width:9px;height:18px;border:1px solid #bca36b;border-radius:100% 0;top:30px;left:-9px;transform:rotate(-32deg)}
.invitation-crest:after{left:auto;right:-9px;transform:rotate(122deg)}
.invitation-crest em{font:22px 'Parisienne',cursive;margin:12px -1px 0}
.invitation-names{font-size:55px;line-height:.98;letter-spacing:-1.3px;gap:5px}
.invitation-names em{font-size:30px;line-height:1;margin:3px 0;color:#a18448}
.invitation-message{font-size:18px;line-height:1.45;margin:24px 0 22px;max-width:280px;color:inherit}
.invitation-date{border:0;padding:0;min-width:0;width:100%;max-width:270px}
.invitation-calendar{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;column-gap:12px;row-gap:1px}
.invitation-calendar strong{font:51px/.95 var(--serif);font-weight:400;grid-column:2;grid-row:1}
.calendar-month,.calendar-year{font:9px var(--sans);letter-spacing:1.5px;text-transform:uppercase;border-block:1px solid #b4a17b70;padding:9px 0}
.calendar-month{grid-column:1;grid-row:1}.calendar-year{grid-column:3;grid-row:1}
.calendar-weekday{grid-column:1/-1;font:italic 16px var(--serif);margin-top:7px}
.invitation-date>.ceremony-time{font:9px var(--sans);letter-spacing:1.7px;margin-top:10px}
.invitation-place{font-size:25px;line-height:1.15;margin:25px 0 8px;max-width:100%}
.invitation-place>span{font-size:10px;line-height:1.7;max-width:255px;margin:10px auto 0}
.invitation-dress{font:10px/1.7 var(--sans);color:inherit;opacity:.82;margin:8px 0 10px;max-width:250px;overflow-wrap:anywhere}
.invitation-rsvp-date{font:italic 15px var(--serif);margin-top:5px}
.invitation-signoff{font:24px 'Parisienne',cursive;margin-top:auto;padding-top:24px}
.invite-formal{border-radius:3px;background:radial-gradient(ellipse at 60% 0%,#333744,transparent 75%),#212631;color:#f6ecd6;border-color:#393b44;padding-top:48px;box-shadow:0 18px 38px #20233028,0 4px 0 #b29a70,0 5px 0 #242b36}
.invite-formal .invitation-overline{color:#d2ba87;font-size:7px;letter-spacing:2.8px}
.formal-heading{font:11px/1.8 var(--sans);text-transform:uppercase;letter-spacing:3px;margin:28px 0 25px}
.formal-heading em{font:italic 19px var(--serif);text-transform:none;letter-spacing:0;color:#d2ba87}
.invite-formal .invitation-names{font-size:52px;letter-spacing:-.5px}
.invite-formal .invitation-names em{font:italic 28px var(--serif);color:#cdb179}
.invite-formal .invitation-message{font:15px/1.65 var(--serif);max-width:230px;margin:24px 0;color:#e3d8c3}
.invite-formal .invitation-signoff{font:8px var(--sans);letter-spacing:2px;text-transform:uppercase;padding-top:27px;color:#d2ba87}
.invite-romantic{border-radius:85px 85px 6px 6px;background:radial-gradient(ellipse at 50% 15%,#faf9ef,transparent 75%),#e7ebdb;border-color:#c7d0b6;color:#4a6048;padding-inline:64px;box-shadow:0 18px 38px #4c613b17,0 4px 0 #c4ceb5,0 5px 0 #eff1e6}
.invite-romantic .invitation-overline{font-size:7px;letter-spacing:2.6px}
.garden-heading{font:26px 'Parisienne',cursive;color:#75836a;margin:30px 0 24px}
.invite-romantic .invitation-names{font:54px/1.07 var(--serif);letter-spacing:-1px}
.invite-romantic .invitation-names em{font:31px 'Parisienne',cursive;color:#8b9a74}
.invite-romantic .invitation-message{font:italic 18px/1.5 var(--serif);margin:25px 0;max-width:220px}
.invite-romantic .invitation-calendar{column-gap:8px;grid-template-columns:1fr 57px 1fr}
.invite-romantic .calendar-month,.invite-romantic .calendar-year{font-size:8px;letter-spacing:1px;border-color:#8e9b7d66}
.invite-romantic .invitation-signoff{font-size:22px;line-height:1.25}
.invite-playful{border-radius:8px;background:radial-gradient(ellipse at 20% 0%,#ffe7d2,transparent 80%),#f3d3be;color:#7a3f41;border:1px solid #d6ac8f;transform:none;padding-top:45px;box-shadow:0 18px 38px #673e291a,0 4px 0 #d4a58c,0 5px 0 #ffead8}
.invite-playful .invitation-overline{font:8px var(--sans);letter-spacing:2px;transform:none}
.invitation-sheet .playful-title{font:italic 34px/.95 var(--serif);letter-spacing:-1px;margin:35px 0 24px;transform:rotate(-4deg);color:#873f42}
.playful-title strong{display:block;font:600 76px/.9 var(--serif);letter-spacing:-3px;text-shadow:1px 2px #fff3df}
.invite-playful .invitation-names{display:flex;flex-flow:row wrap;justify-content:center;gap:0 9px;font:31px var(--serif);letter-spacing:-.5px}
.invite-playful .invitation-names em{font:30px 'Parisienne',cursive;padding:0;color:inherit}
.invite-playful .invitation-message{font:17px/1.4 var(--serif);max-width:240px;margin:22px 0 26px}
.invite-playful .invitation-date{border-block:1px dashed #ac756377;padding:22px 0 20px;max-width:100%}
.invite-playful .invitation-calendar{max-width:260px;margin:auto}.invite-playful .calendar-month,.invite-playful .calendar-year{border:0}
.invite-playful .invitation-signoff{font:italic 22px var(--serif);transform:rotate(-3deg)}
.invitation-response{margin-top:38px;border-top:1px solid #d9cbb5;padding-top:26px}
.invitation-response .eyebrow{color:#6b574b}.playful-actions{min-height:65px;margin:16px 0 12px;flex-wrap:nowrap}
.runaway-seat{display:inline-block;width:70px;min-width:70px;height:48px}
.runaway-no{width:70px!important;min-height:48px;padding:10px!important;touch-action:none;user-select:none}
.runaway-no.is-escaping{position:absolute;z-index:4;margin:0;transition:none!important;transform:none!important;box-shadow:0 5px 18px #49383f20;background:#fff9ed;border:1px solid #c6a88c}
.invitation-response .playful-aside{font:italic 18px var(--serif);color:#876e61;margin:8px 0 17px}
.honest-decline{min-height:44px;padding:8px 12px;text-decoration:underline;text-underline-offset:5px}
.invitation-styles .invite-swatch{height:155px}
.swatch-elegant{background:radial-gradient(ellipse at top,#fffcf2,#ece0c7);box-shadow:0 3px 0 #d5c39f,0 12px 25px #49383f0d}
.swatch-formal{background:radial-gradient(ellipse at top,#3d4250,#212631)}
.swatch-formal i{font-size:26px;letter-spacing:2px}.swatch-formal:after{width:7px;height:7px;border:1px solid #c2a773;transform:rotate(45deg);left:calc(50% - 4px);bottom:25px}
.swatch-romantic{border-radius:65px 65px 6px 6px;background:linear-gradient(135deg,#f3f4e6,#d8e0c9)}.swatch-romantic:before{border-radius:55px 55px 2px 2px}
.swatch-playful{transform:rotate(1deg);border-radius:6px;background:#f4d3bc}.swatch-playful:before{border-radius:2px}.swatch-playful i{font:600 42px var(--serif)}
.invitation-style.selected:after{content:'Your design';font:italic 15px var(--serif);position:absolute;bottom:13px;right:0;color:#7a6147;background:var(--paper);padding-left:5px}
.invitation-style.selected{padding-bottom:36px}.invitation-style>strong{max-width:190px}
@media(max-width:1150px) and (min-width:701px){.invitation-workbench{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:26px}.invitation-sheet{padding-inline:40px}.invite-romantic{padding-inline:48px}.invitation-names{font-size:48px}.invite-formal .invitation-names,.invite-romantic .invitation-names{font-size:46px}.playful-title strong{font-size:64px}}
@media(max-width:700px){.invitation-styles .invite-swatch{height:145px}.invitation-sheet{padding:43px 40px 40px;min-height:670px;max-width:480px}.invite-romantic{padding-inline:51px}.invitation-names{font-size:52px}.invite-formal .invitation-names,.invite-romantic .invitation-names{font-size:49px}.invitation-style.selected:after{font-size:14px}.playful-title strong{font-size:68px}}
@media(max-width:420px){.invitation-sheet{padding:42px 34px 39px;min-height:660px}.invitation-overline{font-size:7px;letter-spacing:1.8px}.invitation-names{font-size:48px}.invite-formal .invitation-names{font-size:46px}.invite-romantic{padding-inline:43px}.invite-romantic .invitation-names{font-size:45px}.invitation-message{font-size:17px}.invitation-calendar{column-gap:8px;grid-template-columns:1fr 57px 1fr}.calendar-month,.calendar-year{font-size:8px;letter-spacing:1px}.invitation-sheet .playful-title{font-size:29px}.playful-title strong{font-size:62px}.invite-playful .invitation-names{font-size:28px}.invitation-signoff{font-size:22px}.invitation-place{font-size:23px}.invitation-response .btn{font-size:16px}.runaway-seat{min-width:62px;width:62px}.runaway-no{width:62px!important}}

/* Reply details belong to the invitation, with a clear route back. */
.invitation-back{display:block;position:relative;z-index:5;min-height:44px;background:transparent;padding:6px 0 16px;font:italic 19px var(--serif);color:#796754;text-align:left;text-decoration:underline;text-underline-offset:5px;margin-bottom:8px;max-width:calc(100% - 30px)}
.rsvp-deadline-editor{min-width:0;border:1px solid #d9cbb5;border-radius:24px 5px 24px 5px;padding:19px 18px 8px;margin:0 0 25px;background:#f6f0e4}
.rsvp-deadline-editor legend{font:italic 23px var(--serif);padding:0 7px;color:#6d5845}
.invitation-editor .rsvp-deadline-editor .small{font-size:11px;margin-bottom:18px}
.deadline-editor-note{font:italic 16px/1.35 var(--serif);color:#816f5b;margin:0 0 12px}
.rsvp-countdown{margin:30px auto 0;padding:24px 12px 20px;text-align:center;border-block:1px solid #d9cbb5;max-width:370px}
.rsvp-countdown .script-caption{font-size:25px;color:#826d50;line-height:1.3}
.countdown-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0 15px}
.countdown-digits>span{display:flex;flex-direction:column;border-right:1px solid #d9cbb5}.countdown-digits>span:last-child{border:0}
.countdown-digits strong{font:37px/1 var(--serif);font-variant-numeric:tabular-nums;color:#605344}
.countdown-digits small{font:8px var(--sans);letter-spacing:1px;text-transform:uppercase;margin-top:7px;color:#8a7964}
.rsvp-countdown p{font:10px/1.6 var(--sans);color:#7f705f;max-width:280px;margin:auto}
.rsvp-countdown.is-closed .countdown-digits{opacity:.4}.rsvp-countdown+.invitation-response{border:0;margin-top:12px;padding-top:13px}
.rsvp-closed-note{font:italic 19px/1.4 var(--serif)!important;padding:15px;background:#e9e4d6;color:#6d5944!important;border-radius:20px 3px;margin:16px 0!important}
.rsvp-closed-note[hidden],.runaway-seat[hidden]{display:none}
.field-hint{font-size:11px!important;line-height:1.5;margin:7px 0 0;color:#827568}
.decline-reason{margin:14px 0 0!important;padding:12px 17px;border-left:2px solid #b7a582;background:#eee9df;max-width:550px;font:italic 19px/1.5 var(--serif);overflow-wrap:anywhere;white-space:pre-wrap}
.decline-reason>span{display:block;font:8px var(--sans);text-transform:uppercase;letter-spacing:1.5px;color:#8b775e;margin-bottom:6px}
/* Something blue: fine stationery, tied with a ribbon. */
.invite-playful{border-radius:86px 86px 6px 6px;background:radial-gradient(ellipse at 20% 0%,#fffdf6,transparent 80%),#f5eddb;color:#33566c;border-color:#bcc9cb;box-shadow:0 18px 38px #334e6817,0 3px 0 #d4dcda,0 5px 0 #fff8e8;padding-top:62px;padding-bottom:58px}
.invitation-sheet.invite-playful .playful-title{color:#365f7a;transform:none;font-size:30px;margin:29px 0 24px;line-height:1.12}
.invite-playful .playful-title strong{font-weight:400;letter-spacing:-2px;text-shadow:none;font-size:68px;line-height:1.05}
.invite-playful .invitation-overline{color:#607d8b;letter-spacing:2.1px}
.invite-playful .invitation-date{border-block:1px solid #688b9b44;padding:20px 0 18px;max-width:240px}
.invite-playful .invitation-signoff{color:#4a6f83;transform:none;font:25px 'Parisienne',cursive;padding-top:25px}
.swatch-playful{isolation:isolate;transform:none;border-radius:50px 50px 5px 5px;background:linear-gradient(130deg,#fffaf0,#f0e6cf);border-color:#b6c5c9}
.swatch-playful:before,.swatch-playful:after{display:none}.swatch-playful .wedding-ribbon{z-index:0}.swatch-playful i{color:#365f7a;font:italic 35px var(--serif);transform:none}
.swatch-formal:before{border-radius:13px}.swatch-formal:after{width:22px;height:9px;border-radius:50%;transform:none;left:calc(50% - 11px)}
@media(max-width:420px){.invitation-back{font-size:17px}.rsvp-deadline-editor{padding:17px 14px 7px}.countdown-digits strong{font-size:32px}.countdown-digits{gap:6px}.countdown-digits small{font-size:7px}.rsvp-countdown .script-caption{font-size:23px}}
@media(max-width:420px){.invite-playful{padding:58px 33px 56px;border-radius:66px 66px 6px 6px}.invitation-sheet.invite-playful .playful-title{font-size:25px}.invite-playful .playful-title strong{font-size:55px}.invite-playful .invitation-signoff{font-size:22px}.swatch-playful i{font-size:31px}}
