/* The cover opens over the existing first photo: no empty intermediate screen. */
[data-dialog="invitation"] {
  isolation:isolate;background:transparent!important;
}
[data-dialog="invitation"]::before {
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,#2c2825 0%,#1c1917 60%,#0e0d0b 100%);
  opacity:1;transition:opacity .95s .08s cubic-bezier(.22,1,.36,1);
}
[data-dialog="invitation"][data-opening-state="exiting"]::before {opacity:0;}
[data-opening-state="exiting"] [data-opening-card],
[data-opening-state="exiting"] [data-opening-card] * {visibility:hidden!important;}
[data-opening-state="exiting"] [data-opening-card] {opacity:0!important;}
[data-dialog="invitation"]>.opening-stage {
  flex-shrink:0;max-width:100%;margin-block:auto;padding:20px 0!important;
}
[data-opening-state="exiting"]>div:not(.opening-split) {pointer-events:none;}
[data-dialog="invitation"] .opening-split {
  position:fixed;z-index:3;perspective:1100px;perspective-origin:center;
  pointer-events:none;overflow:visible;padding:0!important;margin:0!important;
  max-width:none!important;display:block!important;
}
.opening-leaf {
  position:absolute;top:0;width:50%;height:100%;overflow:hidden;
  backface-visibility:hidden;will-change:transform,opacity;
  animation:invitation-open-left 1.15s cubic-bezier(.22,.7,.2,1) both;
}
.opening-leaf--left {left:0;transform-origin:0 50%;}
.opening-leaf--right {right:0;transform-origin:100% 50%;animation-name:invitation-open-right;}
.opening-card-face {position:absolute!important;left:0;top:0;pointer-events:none;}
.opening-leaf--right .opening-card-face {left:-100%;}
.opening-leaf::after {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,transparent 65%,#7d633a33);
  animation:invitation-fold-shade 1.15s ease both;
}
.opening-leaf--right::after {background:linear-gradient(270deg,transparent 65%,#7d633a33);}
.opening-split::after {
  content:'';position:absolute;left:50%;top:6%;height:88%;width:1px;
  background:linear-gradient(transparent,#e7d4a0,transparent);box-shadow:0 0 16px 2px #d0b57b44;
  pointer-events:none;animation:invitation-seam .7s ease both;
}
@keyframes invitation-open-left {
  0%{transform:rotateY(0);opacity:1}
  18%{opacity:1}
  70%{opacity:.7}
  100%{transform:translateX(-14%) rotateY(-110deg);opacity:0}
}
@keyframes invitation-open-right {
  0%{transform:rotateY(0);opacity:1}
  18%{opacity:1}
  70%{opacity:.7}
  100%{transform:translateX(14%) rotateY(110deg);opacity:0}
}
@keyframes invitation-fold-shade {0%{opacity:0}35%{opacity:.9}100%{opacity:0}}
@keyframes invitation-seam {0%{opacity:0;transform:scaleY(.4)}25%{opacity:.8}100%{opacity:0;transform:scaleY(1.1)}}
@media(prefers-reduced-motion:reduce){
  [data-dialog="invitation"]::before {transition:opacity .12s linear;}
  .opening-leaf,.opening-leaf::after,.opening-split::after {animation:none!important;}
}
