:root{color-scheme:light only;--paper:#f5f1e7;--ink:#384332;--muted:#69745e;--line:#cecfc0;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#263221}body{color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02}em{font-family:var(--serif);font-weight:400}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0}img{display:block;max-width:100%}[hidden]{display:none!important}::selection{background:#d5dcc9;color:#263221}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
/* Two faces of a single invitation. Navigation turns the paper instead of scrolling. */
.invitation-stage{height:100vh;height:100svh;height:100dvh;width:100%;overflow:hidden;perspective:2400px}.invitation-card{height:100%;width:100%;position:relative;transform-style:preserve-3d;transition:transform 950ms cubic-bezier(.65,.02,.25,1);will-change:transform}.invitation-stage[data-side=back] .invitation-card{transform:rotateY(-180deg)}.invitation-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.invitation-front{background:#263221;color:#fffaf0;overflow:hidden;isolation:isolate;transition:visibility 0s linear 475ms}.invitation-back{transform:rotateY(180deg);background:var(--paper);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;transition:visibility 0s linear 475ms;scrollbar-color:#a7af9b var(--paper);scrollbar-width:thin}.invitation-stage[data-side=back] .invitation-front{visibility:hidden}.invitation-stage[data-side=back] .invitation-back{visibility:visible}.cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;z-index:-2}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,30,15,.1),rgba(16,30,15,.08) 30%,rgba(16,30,15,.48) 58%,rgba(16,30,15,.62));z-index:-1}.cover-copy{position:absolute;right:6.5%;top:50%;transform:translateY(-50%);width:46%;max-width:700px;text-align:center;padding:25px 0}.cover-copy>.eyebrow{font-size:13px;letter-spacing:.22em}.cover-copy h1{font-size:clamp(90px,8.2vw,155px);letter-spacing:-.035em;margin:24px 0 32px;text-shadow:0 3px 35px #0002;outline:0}.cover-copy h1>span{display:block}.cover-copy h1 em{display:block;font-size:.43em;line-height:.88;margin:5px 0}.cover-dates{display:flex;justify-content:center;align-items:center;gap:28px;margin-bottom:29px}.cover-dates p{font-size:15px;line-height:1.6}.cover-dates strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;font-style:italic}.date-amp{font-size:27px;font-family:var(--serif);font-style:italic}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:53px;padding:14px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:15px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#4e5c43;transform:translateY(-1px)}.cover-button{border-color:#fff9;border-radius:999px;background:rgba(245,241,231,.13);color:#fffaf0;font-weight:600;text-shadow:0 1px 10px #0002;box-shadow:0 6px 24px #00000014;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:15px 25px}.cover-button:hover{background:rgba(245,241,231,.24);border-color:#fffaf0}.cover-button .flip-icon{display:grid;place-items:center;width:32px;height:32px;margin-left:8px;flex-shrink:0}.flip-icon svg{display:block;width:28px;height:22px}.rsvp-word{font-size:13px;margin-left:-7px}.cover-edition{position:absolute;left:30px;bottom:25px;font-family:var(--serif);font-size:21px;font-style:italic;color:#fff7e9}
/* The reverse: event details and a short, two-step response. */
.paper-inner{max-width:1340px;margin:auto;padding:25px 6% 30px;min-height:100%;position:relative}.paper-inner::after{content:'';position:absolute;inset:13px;border:1px solid #c7cbb87a;pointer-events:none}.paper-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 20px;border-bottom:1px solid var(--line);position:relative;z-index:1}.back-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;padding:6px 0}.back-link>span{font-size:23px;line-height:1}.back-link:hover{text-decoration:underline;text-underline-offset:5px}.paper-mark{font-family:var(--serif);font-size:31px;line-height:1;letter-spacing:-.09em}.paper-mark em{font-size:24px;margin:0 4px}.paper-header>p{font-size:11px;letter-spacing:.08em}.paper-content{display:grid;grid-template-columns:.9fr 1.15fr;column-gap:9%;padding-top:30px;align-content:start}.paper-intro{grid-column:1/-1;text-align:center;margin-bottom:30px}.paper-intro>h2{font-size:clamp(40px,3.5vw,50px);letter-spacing:-.025em;margin-bottom:15px;outline:0}.invitation-message{font-family:var(--serif);font-size:26px;line-height:1.3;letter-spacing:-.015em}.venue-list{border-top:1px solid var(--line)}.venue-info{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.venue-info>summary{display:flex;align-items:center;gap:17px;padding:19px 0}.venue-day{font-family:var(--serif);font-size:58px;line-height:1}.venue-summary{display:flex;flex-direction:column;line-height:1.4;flex:1}.venue-city{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.venue-summary strong{font-family:var(--serif);font-size:29px;font-weight:500;margin:3px 0}.venue-summary>span:last-child{font-size:12px;color:var(--muted)}.expand-icon{font-family:var(--serif);font-size:25px;align-self:center;font-weight:400;width:20px;text-align:center;transition:transform .2s}.venue-info[open] .expand-icon{transform:rotate(45deg)}.venue-extra{padding:0 0 20px 77px}.venue-extra p{font-size:13px;line-height:1.7;color:var(--muted)}.venue-extra .time-note{font-style:italic;margin-top:6px;font-size:12px}.venue-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:12px}.venue-actions a,.venue-actions button{display:inline-flex;align-items:center;gap:7px;padding:0;background:none;border:0;border-bottom:1px solid currentColor;font-size:12px;line-height:1.8}.action-icon{width:17px;height:17px;flex-shrink:0}.rsvp-fields{display:flex;flex-direction:column;gap:16px}form label,form legend{font-size:14px;font-weight:500}form legend{margin-bottom:9px}.attendance-options{display:flex;flex-wrap:wrap;gap:12px 22px}.attendance-options label{display:flex;align-items:center;gap:9px;font-size:12px;min-height:28px;cursor:pointer}input[type=radio],input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);margin:0;flex-shrink:0}.field-hint{font-size:12px;color:var(--muted);margin-bottom:13px}.venue-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.venue-option{border:1px solid var(--line);padding:20px 15px;display:flex;align-items:center;gap:12px;cursor:pointer;position:relative;transition:background .2s,border-color .2s}.venue-option:has(input:checked){background:#e3e9d9;border-color:#6f805f}.venue-option>input{position:absolute;opacity:0;width:1px;height:1px}.venue-option:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:4px}.venue-option>span:not(.choice-check){flex:1;min-width:0}.venue-option strong{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.2;display:block}.venue-option small{font-size:11px;line-height:1.6;display:block;margin-top:5px;font-weight:400}.choice-check{width:22px;height:22px;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;flex-shrink:0;color:transparent}.venue-option:has(input:checked) .choice-check{background:var(--ink);border-color:var(--ink);color:var(--paper)}.next-button{margin-top:3px;width:100%;justify-content:space-between;padding-left:22px;padding-right:22px}.next-button>span,.submit-button>span{font-size:23px;line-height:1}.form-error{font-size:13px;color:#a03737;margin-top:-9px}.step-indicator{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--muted);margin-top:-9px}.step-indicator>span:not(.step-label){width:5px;height:5px;border-radius:50%;background:#c8cebd}.step-indicator>.active-dot{background:var(--ink)!important}.step-label{margin-left:6px}.step-two-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.edit-choice{border:0;padding:0;background:none;font-size:12px;text-decoration:underline;text-underline-offset:4px}.step-two-heading>p{font-size:11px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label:not(.venue-option):not(.attendance-options label){display:flex;flex-direction:column;gap:7px}input[type=text],input[type=email],select,textarea{width:100%;min-width:0;background:transparent;border:1px solid var(--line);border-radius:0;padding:12px 13px;min-height:46px;font-size:14px}input::placeholder,textarea::placeholder{color:#818975;opacity:1}.optional{font-size:11px;color:var(--muted);font-weight:400}#guest-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px!important}#guest-field .optional{grid-column:2;grid-row:1}#guest-field select{grid-column:1/-1}.personal-note summary{font-size:13px;display:flex;justify-content:space-between;gap:10px}.personal-note textarea{margin-top:12px;resize:vertical;min-height:75px}.submit-button{width:100%;justify-content:center}.submit-button>.submit-label{font-size:inherit;line-height:inherit}.submit-button:disabled{cursor:default;opacity:.7;transform:none}.privacy-note{font-size:12px;line-height:1.55;color:var(--muted)}.submission-error{margin-top:0;outline:0}.submission-status{font-size:13px;color:var(--ink);text-align:center}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;pointer-events:none}.paper-footer{grid-column:1/-1;text-align:center;padding-top:28px;margin-top:30px;border-top:1px solid var(--line)}.paper-footer .signature{font-family:var(--serif);font-size:51px;letter-spacing:-.035em;line-height:1.1;margin:14px 0 12px}.signature em{font-size:.8em;margin:0 6px}.paper-footer>span{font-size:11px;letter-spacing:.12em}.paper-footer>span i{font-style:normal;margin:0 9px}
/* Confirmation shown only after the RSVP has been saved by the backend. */
dialog{border:0}.response-dialog{background:var(--paper);color:var(--ink);width:min(500px,90vw);padding:46px 36px 30px;max-height:90svh;overflow:auto}.response-dialog::backdrop{background:#10200edb;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:12px;top:12px;background:none;border:0;width:32px;height:32px;font-size:27px;line-height:1}.response-dialog h2{font-size:47px;margin:14px 0 22px}#response-summary p{font-size:15px;margin:10px 0;overflow-wrap:anywhere}.dialog-notice{font-size:12px;color:var(--muted);margin:20px 0}.response-dialog>.button{width:100%;font-size:14px}
@media(min-width:1500px){.cover-copy{right:max(7%,calc((100vw - 1450px)/2));width:48%}.paper-inner{padding-left:70px;padding-right:70px}}
@media(min-width:1000px) and (max-height:850px){.paper-inner{padding-top:18px;padding-bottom:22px}.paper-header{padding-bottom:12px}.paper-content{padding-top:22px;column-gap:8%}.paper-intro{margin-bottom:24px}.paper-intro>h2{font-size:42px;margin-bottom:12px}.invitation-message{font-size:24px}.venue-info>summary{padding:12px 0}.venue-day{font-size:50px}.venue-summary strong{font-size:26px}.venue-extra{padding-bottom:13px}.rsvp-fields{gap:12px}.venue-option{padding-top:15px;padding-bottom:15px}.paper-footer{padding-top:18px;margin-top:22px}.paper-footer .signature{font-size:47px;margin:10px 0 8px}}
@media(max-width:1000px){.cover-copy{right:5%;width:48%}.cover-copy h1{font-size:100px}.cover-dates{gap:18px}.cover-dates p{font-size:13px}.cover-dates strong{font-size:23px}.cover-button{font-size:14px;padding:14px 18px;gap:10px}.cover-copy>.eyebrow{font-size:11px}.paper-inner{padding-left:6%;padding-right:6%}.paper-content{column-gap:6%;grid-template-columns:.9fr 1.1fr}.paper-intro>h2{font-size:42px}.invitation-message{font-size:24px}.venue-day{font-size:49px}.venue-info>summary{gap:12px}.venue-summary strong{font-size:26px}.venue-extra{padding-left:61px}.venue-extra p{font-size:12px}.venue-options{grid-template-columns:1fr;gap:10px}.venue-option{padding:13px 16px}.venue-option strong{font-size:26px}.form-row{grid-template-columns:1fr;gap:16px}.rsvp-fields{gap:16px}.paper-footer{margin-top:25px}.venue-actions{gap:10px}.paper-header>p{font-size:10px}}
@media(max-width:650px){.cover-photo{object-position:35% 30%}.cover-shade{background:linear-gradient(180deg,#1523100a 0%,#15231000 26%,#1523102b 41%,#152310ba 65%,#152310e6 100%)}.cover-copy{top:auto;bottom:5.5%;right:6%;left:6%;width:auto;max-width:none;transform:none;padding:0}.cover-copy>.eyebrow{font-size:10px;letter-spacing:.18em}.cover-copy h1{font-size:clamp(70px,16vw,100px);line-height:.98;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:0;margin:14px 0 20px;letter-spacing:-.04em}.cover-copy h1>span{display:inline}.cover-copy h1 em{display:inline;font-size:.7em;line-height:1;margin:0}.cover-dates{gap:22px;margin-bottom:21px}.cover-dates p{font-size:13px}.cover-dates strong{font-size:22px}.date-amp{font-size:23px}.cover-button{font-size:15px;padding:13px 20px;min-height:52px}.rsvp-word{font-size:12px}.cover-edition{display:none}.paper-inner{padding:17px 7% 25px}.paper-inner::after{inset:8px}.paper-header{padding-bottom:12px;gap:10px}.back-link{font-size:12px;gap:6px}.paper-header .paper-mark{font-size:29px}.paper-header>p{display:none}.paper-content{display:flex;flex-direction:column;padding-top:20px;gap:26px}.paper-intro{margin-bottom:0}.paper-intro>h2{font-size:38px;margin-bottom:14px}.invitation-message{font-size:24px}.venue-list{display:grid;grid-template-columns:1fr 1fr;gap:0 17px;border-top:1px solid var(--line)}.venue-info>summary{gap:10px;padding:14px 0;align-items:start}.venue-day{font-size:37px;line-height:1.05}.venue-city{font-size:9px;letter-spacing:.08em}.venue-summary strong{font-size:23px;margin:2px 0}.venue-summary>span:last-child{font-size:10px}.expand-icon{font-size:19px;width:12px;align-self:start;margin-top:7px}.venue-extra{padding:0 0 14px}.venue-extra p{font-size:11px}.venue-extra .time-note{font-size:10px}.venue-actions{gap:9px;margin-top:9px}.venue-actions a,.venue-actions button{font-size:10px}.rsvp-fields{gap:16px}form legend,form label{font-size:14px}.attendance-options{gap:7px 18px}.attendance-options label{font-size:12px}.field-hint{font-size:11px;margin-bottom:11px}.venue-options{grid-template-columns:1fr 1fr;gap:10px}.venue-option{padding:16px 11px;gap:6px}.venue-option strong{font-size:26px}.venue-option small{font-size:10px;line-height:1.5}.choice-check{width:18px;height:18px;font-size:11px}.next-button,.submit-button{min-height:49px;font-size:14px}.step-label{font-size:10px}.step-indicator{margin-top:-7px}.form-row{grid-template-columns:1fr;gap:16px}input[type=text],input[type=email],select,textarea{font-size:16px;min-height:46px}.step-two-heading>p{font-size:10px}.paper-footer{padding-top:25px;margin-top:0}.paper-footer .signature{font-size:49px;margin:15px 0 12px}.paper-footer>span{font-size:10px}.response-dialog{padding:44px 25px 26px}.response-dialog h2{font-size:42px}}
@media(max-width:370px){.cover-copy{bottom:4%}.cover-copy h1{font-size:65px;column-gap:8px}.cover-dates{gap:16px}.cover-dates p{font-size:12px}.cover-dates strong{font-size:21px}.cover-button{font-size:14px;padding:13px 16px}.cover-copy>.eyebrow{font-size:9px}.venue-list{gap:0 12px}.venue-day{font-size:31px}.venue-info>summary{gap:7px}.venue-summary strong{font-size:20px}.venue-summary>span:last-child{font-size:9px}.venue-option{padding:15px 9px}.venue-option strong{font-size:24px}.venue-option small{font-size:9px}.paper-footer .signature{font-size:45px}}
@media(max-height:650px) and (min-width:651px){.cover-copy{padding:10px 0}.cover-copy h1{font-size:85px;margin:15px 0 22px}.cover-copy>.eyebrow{font-size:11px}.cover-dates{margin-bottom:18px}.cover-edition{font-size:17px}.cover-button{min-height:46px;padding-top:11px;padding-bottom:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.invitation-card{will-change:auto}}
@media print{html,body{height:auto;background:white}.invitation-stage,.invitation-card{height:auto;overflow:visible;transform:none!important}.invitation-front{display:none}.invitation-back{position:relative;transform:none;visibility:visible!important;height:auto;overflow:visible}.rsvp-section,.paper-header,.venue-actions{display:none}.paper-content{display:block}.paper-intro{margin-bottom:25px}}

/* Keep essential event and response text readable on phones. */
@media(max-width:650px){.venue-city{font-size:11px}.venue-summary>span:last-child{font-size:12px}.venue-extra p{font-size:13px}.venue-extra .time-note{font-size:12px}.venue-actions a,.venue-actions button{font-size:12px}.venue-option small{font-size:12px}.paper-footer>span{font-size:12px}}

/* Selected invitations can be added to a calendar after the response is saved. */
#response-calendars{display:grid;gap:10px;margin:22px 0}#response-calendars[hidden]{display:none}#response-calendars .calendar-prompt{font-size:13px;font-weight:600;letter-spacing:.025em;margin:0 0 2px}#response-calendars>button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:999px;background:#e8ebdf70;color:var(--ink);font-size:14px;font-weight:500;line-height:1.4;transition:background .2s,border-color .2s}#response-calendars>button:hover{background:#e8ebdf;border-color:#97a088}#response-calendars .action-icon{width:19px;height:19px;flex-shrink:0}

/* Optional note stays compact until the guest opens it. */
.personal-note summary{align-items:center;padding:5px 0}.personal-note summary .optional{display:inline-flex;align-items:center;gap:8px}.personal-note .note-toggle{font-size:18px;line-height:1;transition:transform .2s}.personal-note[open] .note-toggle{transform:rotate(45deg)}.personal-note textarea{margin-top:9px;min-height:62px}

/* Reduce headroom while preserving full heads on unusually wide screens. */
@media(min-aspect-ratio:2/1) and (min-width:651px){.cover-photo{object-position:50% 26%}}

/* One-step reply and a quiet celebration after confirmed storage. */
.rsvp-fields .note-field{display:grid!important;grid-template-columns:1fr auto;gap:7px}.note-field .optional{grid-column:2;grid-row:1}.note-field textarea{grid-column:1/-1;min-height:62px;resize:vertical}.rsvp-fields .privacy-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.thank-you-message{font-family:var(--serif);font-size:27px;line-height:1.25;margin:0 0 24px}.response-dialog h2{font-size:clamp(36px,7vw,47px)}.celebration-confetti{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.celebration-confetti>span{position:absolute;left:var(--x);top:-20px;width:8px;height:13px;border-radius:2px;background:var(--confetti-color);opacity:0;animation:confetti-fall var(--duration) ease-in var(--delay) both}.celebration-confetti>span:nth-child(3n){width:7px;height:7px;border-radius:50%}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:.9}85%{opacity:.85}100%{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(var(--rotation))}}@media(prefers-reduced-motion:reduce){.celebration-confetti{display:none}}

/* Paint the phone canvas outside the 3D card as well, so the photograph can
   extend into Safari's edge areas. Keep the root transparent for body-to-canvas
   background propagation; the viewport and card use the same crop dimensions. */
@media screen and (max-width:650px){
  html{height:100vh;height:100dvh;background:transparent}
  body{
    height:100%;
    background-color:#152310;
    background-image:linear-gradient(180deg,#1523100a 0%,#15231000 26%,#1523102b 41%,#152310ba 65%,#152310e6 100%),url('/wedding/media/garden-1200.webp');
    background-size:cover;
    background-position:35% 30%;
    background-repeat:no-repeat;
  }
  html[data-invitation-side=back] body{background:var(--paper)}
  .invitation-front{background:transparent}
  .cover-copy{
    left:max(6%,calc(env(safe-area-inset-left,0px) + 12px));
    right:max(6%,calc(env(safe-area-inset-right,0px) + 12px));
    bottom:max(5.5%,calc(env(safe-area-inset-bottom,0px) + 14px));
  }
  .paper-inner{
    padding-top:max(17px,calc(env(safe-area-inset-top,0px) + 12px));
    padding-right:max(7%,calc(env(safe-area-inset-right,0px) + 14px));
    padding-bottom:max(25px,calc(env(safe-area-inset-bottom,0px) + 20px));
    padding-left:max(7%,calc(env(safe-area-inset-left,0px) + 14px));
  }
  .invitation-message{font-size:clamp(15px,4.6vw,21px);line-height:1.3}
  .cover-copy h1{font-size:clamp(52px,16vw,100px);column-gap:8px;flex-wrap:nowrap}
  /* Shared rows keep unequal venue names, addresses and actions aligned. */
  .venue-info>summary{display:grid;grid-template-columns:auto 1fr auto;gap:5px 10px;align-items:center}
  .venue-day{grid-column:1;grid-row:1}
  .venue-summary{display:contents}
  .venue-city{grid-column:2;grid-row:1;align-self:center}
  .venue-summary strong{grid-column:1/-1;grid-row:2;margin:3px 0;white-space:nowrap}
  .venue-summary>span:last-child{grid-column:1/-1;grid-row:3}
  .expand-icon{grid-column:3;grid-row:1;align-self:center;margin-top:0}
  .venue-info[open]{display:flex;flex-direction:column}
  .venue-info[open]::details-content{display:flex;flex-direction:column;flex:1}
  .venue-extra{flex:1;display:flex;flex-direction:column}
  .venue-extra>p:first-child{flex:1}
  .venue-actions{flex-direction:column;align-items:flex-start;gap:7px}
}

/* Preserve the invitation's light paper palette regardless of system appearance.
   A matching root and body also gives Safari a paper-colored edge fallback. */
@media screen{
  html[data-invitation-side=back],
  html[data-invitation-side=back] body{background-color:var(--paper)}
}

/* The Istanbul invitation uses the same paper and photograph with one venue. */
body[data-invitation="istanbul"] .venue-info>.single-venue-heading{display:block;padding:19px 0 15px}
body[data-invitation="istanbul"] .venue-extra{padding:0 0 20px}
.single-venue-date,.single-venue-place{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.single-venue-date time{font-family:var(--serif);font-size:clamp(30px,3vw,36px);line-height:1.15;white-space:nowrap}
.single-venue-date>span{font-size:12px;color:var(--muted)}
.single-venue-place{margin-top:9px}
.single-venue-place h3{margin:0;font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.2}
.single-venue-place>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media screen and (max-width:650px){
  body[data-invitation="istanbul"] .venue-list{grid-template-columns:minmax(0,1fr)}
  body[data-invitation="istanbul"] .venue-actions{flex-direction:row;flex-wrap:wrap;gap:10px 20px}
}
