:root {
  --paper: #f7f2ea;
  --ink: #393536;
  --mauve: #81758e;
  --page-width: 100vw;
  --safe-top: max(10px, env(safe-area-inset-top));
  --safe-bottom: max(18px, env(safe-area-inset-bottom));
  --loader-inline-sprite: url("data:image/png;base64,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");
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  width: 100%;
  overflow-x: hidden;
  background: #e9e5e1;
  scroll-behavior: auto;
}

body {
  min-width: 320px;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: #e9e5e1;
  font-family: "PingFang SC", "Songti SC", serif;
  -webkit-font-smoothing: antialiased;
}

body.cover-locked {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.opening-loader {
  position: fixed;
  inset: 0;
  z-index: 400;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  color: #8b7fa8;
  background: #faf9f7;
  opacity: 1;
  visibility: visible;
  transition: opacity 560ms cubic-bezier(.32, 0, .18, 1), visibility 560ms ease;
}

.opening-loader__content {
  position: relative;
  width: 100%;
  height: 100%;
}

.opening-loader__proposal {
  position: absolute;
  top: 29%;
  left: 50%;
  width: min(52vw, 210px);
  aspect-ratio: 710 / 627;
  /*
   * The tiny inline sprite is the same artwork at preview resolution. It is
   * painted with the HTML/CSS response, while the high-resolution WebP above
   * it is still being fetched on a cold or congested mobile connection.
   */
  background-image: url("./assets/loading/proposal-sprite-v5-blue-box.png?v=83"), var(--loader-inline-sprite);
  background-image: -webkit-image-set(url("./assets/loading/proposal-sprite-v5-blue-box-q92.webp?v=83") 1x, url("./assets/loading/proposal-sprite-v5-blue-box.png?v=83") 1x), var(--loader-inline-sprite);
  background-image: image-set(url("./assets/loading/proposal-sprite-v5-blue-box-q92.webp?v=83") type("image/webp") 1x, url("./assets/loading/proposal-sprite-v5-blue-box.png?v=83") type("image/png") 1x), var(--loader-inline-sprite);
  background-position: 50% 0;
  background-size: 100% 200%;
  background-repeat: no-repeat;
  transform: translate3d(-50%, 0, 0);
  animation: proposalFrames 1400ms steps(1, end) infinite;
  will-change: background-position;
}

.opening-loader__status {
  position: absolute;
  top: 54%;
  left: 50%;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #8b7fa8;
  transform: translateX(-50%);
  white-space: nowrap;
}

.opening-loader__status p {
  display: inline-flex;
  align-items: baseline;
  margin: 0;
  font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(12px, 3.35vw, 14px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .12em;
}

.opening-loader__copy {
  display: block;
  width: auto;
  height: 1.08em;
  flex: 0 0 auto;
  object-fit: contain;
}

.opening-loader__heart {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.opening-loader__heart svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.opening-loader__heart-outline {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linejoin: round;
  opacity: .66;
}

.opening-loader__heart-fill {
  fill: currentColor;
  clip-path: inset(100% 0 0 0);
  animation: loadingHeartFill 1800ms cubic-bezier(.32, 0, .2, 1) infinite;
}

.opening-loader__dots {
  display: inline-flex;
  gap: .02em;
  margin-left: .08em;
  font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
}

.opening-loader__dots i {
  display: inline-block;
  font-style: normal;
  opacity: .16;
  animation: loadingDot 1440ms ease-in-out infinite;
}

.opening-loader__dots i:nth-child(2) { animation-delay: 120ms; }
.opening-loader__dots i:nth-child(3) { animation-delay: 240ms; }
.opening-loader__dots i:nth-child(4) { animation-delay: 360ms; }
.opening-loader__dots i:nth-child(5) { animation-delay: 480ms; }
.opening-loader__dots i:nth-child(6) { animation-delay: 600ms; }

.opening-loader.is-complete .opening-loader__heart-fill {
  clip-path: inset(0 0 0 0);
  animation: none;
}

.opening-loader.is-complete .opening-loader__dots i {
  opacity: 1;
  animation: none;
}

.opening-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.opening-loader[hidden] { display: none; }

.opening-loader__asset-probe {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.opening-loader__asset-probe img { display: block; width: 1px; height: 1px; }

button, a { -webkit-tap-highlight-color: transparent; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.cover {
  position: fixed;
  z-index: 200;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #dcd6d1;
  opacity: 1;
  transition: opacity 640ms ease, visibility 640ms step-end;
}

.cover[hidden] { display: none !important; }

.cover__stage {
  position: relative;
  width: min(100%, var(--page-width));
  height: 100%;
  overflow: hidden;
  background: var(--paper) url("./assets/cover/cover-v86-h5-poster.png") center / cover no-repeat;
  box-shadow: none;
}

.cover__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 320ms ease;
}

/* Same-source 1-based frame 246 (8.1667s): hold the last stable fully-open
   cover pixels until Transition B takes over at 8.53s. */
.cover__handoff-freeze {
  position: absolute;
  z-index: 4;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  pointer-events: none;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.cover__handoff-freeze.is-visible { opacity: 1; }

/* The same freeze temporarily gates two hidden paints of the z5 scene. */
.cover__handoff-freeze.is-gating { z-index: 6; }

.video-failed .cover__video,
.reduced-cover .cover__video { opacity: 0; }

.cover__status {
  position: absolute;
  z-index: 3;
  right: 16px;
  bottom: calc(var(--safe-bottom) + 6px);
  margin: 0;
  color: transparent;
  font-size: 1px;
}

body.cover-opening .cover {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Fade the cover without scaling it. Scaling a full-viewport layer around its
   centre reads as a vertical jump when P1 is revealed underneath. */
body.cover-opening .cover__stage { animation: none; }

.reading-progress {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 50%;
  width: min(100%, var(--page-width));
  height: 2px;
  pointer-events: none;
  transform: translateX(-50%);
}

.reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #afa4c8, #d6b5ab);
  transform: scaleX(0);
  transform-origin: left;
}

.invitation {
  position: relative;
  width: min(100%, var(--page-width));
  min-height: 100dvh;
  margin: 0 auto;
  overflow: clip;
  background: var(--paper);
  box-shadow: none;
}

.visual-slice {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: var(--paper);
  isolation: isolate;
}

.section-couple-divider {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  height: min(16vw, 69px);
  padding-bottom: min(1.5vw, 6px);
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  background-color: var(--paper);
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.section-couple-divider--p2-p3 { background-image: url("./assets/inner/continuity/p2-p3-paper-v44.webp"); }
.section-couple-divider--p3-p4 { background-image: url("./assets/inner/continuity/p3-p4-paper-v44.webp"); }
.section-couple-divider--p4-p5 { background-image: url("./assets/inner/continuity/p4-p5-paper-v44.webp"); }

/* V50: give the denser V52 calendar grid more breathing room before the
   wedding-location running couple, without changing the couple-to-title gap. */
.section-couple-divider--p3-p4 {
  height: min(20vw, 82px);
}

.section-couple-divider img {
  display: block;
  width: 11%;
  max-height: calc(100% - 4px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

.mini-couple {
  transform-origin: 50% 100%;
  will-change: transform;
}

.mini-couple--time {
  animation: miniCoupleTime 3.2s steps(1, end) infinite;
}

.mini-couple--running {
  animation: miniCoupleRunning .78s steps(1, end) infinite;
}

.mini-couple-frames {
  position: relative;
  display: block;
  width: 11%;
  max-height: calc(100% - 4px);
  aspect-ratio: 320 / 303;
  flex: 0 0 11%;
  pointer-events: none;
  user-select: none;
}

.section-couple-divider .mini-couple-frames__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  max-height: none;
  height: 100%;
  object-fit: contain;
  object-position: 50% 100%;
  transform-origin: 50% 100%;
  will-change: transform, opacity;
}

.mini-couple-frames__frame--rings {
  animation: miniCoupleRings 4.8s steps(1, end) infinite;
}

.mini-couple-frames__frame--hug {
  opacity: 0;
  animation: miniCoupleHug 4.8s steps(1, end) infinite;
}

.slice-art {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}

/* P5 V48: locked 13-person group, separated from the V45 paper at y=1340. */
.p5-group-motion {
  --p5-person-duration: 330ms;
  --p5-person-easing: cubic-bezier(.33, 1, .68, 1);
  position: absolute;
  z-index: 2;
  top: 80.4804805%;
  left: 0;
  width: 100%;
  aspect-ratio: 1080 / 350;
  pointer-events: none;
  user-select: none;
}

.p5-group-motion__stage {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p5-group-motion__person {
  position: absolute;
  z-index: 2;
  left: var(--p5-left);
  bottom: var(--p5-bottom);
  display: block;
  width: auto;
  max-width: none;
  height: var(--p5-height);
  opacity: 1;
  transform: translateX(-50%) scale(1);
  transform-origin: 50% 86%;
  backface-visibility: hidden;
}

.p5-group-motion.is-ready:not(.is-playing):not(.is-complete) .p5-group-motion__person {
  opacity: 0;
  transform: translateX(-50%) scale(.992);
}

.p5-group-motion.is-playing .p5-group-motion__person {
  animation: p5PersonAppear var(--p5-person-duration) var(--p5-person-easing) var(--p5-delay, 0ms) both;
  will-change: opacity, transform;
}

.p5-group-motion.is-complete .p5-group-motion__person {
  opacity: 1;
  transform: translateX(-50%) scale(1);
  animation: none;
  will-change: auto;
}

.p5-group-motion__person[data-step="0"] { --p5-delay: 0ms; }
.p5-group-motion__person[data-step="1"] { --p5-delay: 245ms; }
.p5-group-motion__person[data-step="2"] { --p5-delay: 490ms; }
.p5-group-motion__person[data-step="3"] { --p5-delay: 735ms; }
.p5-group-motion__person[data-step="4"] { --p5-delay: 980ms; }
.p5-group-motion__person[data-step="5"] { --p5-delay: 1225ms; }
.p5-group-motion__person[data-step="6"] { --p5-delay: 1470ms; }

.p5-bride-friend-01 { --p5-left: 11.9444%; --p5-height: 64%; --p5-bottom: 13.4286%; }
.p5-bride-friend-02 { --p5-left: 17.8704%; --p5-height: 64%; --p5-bottom: 14%; }
.p5-bride-friend-03 { --p5-left: 23.7963%; --p5-height: 64%; --p5-bottom: 13.4286%; }
.p5-bride-friend-04 { --p5-left: 29.7222%; --p5-height: 64%; --p5-bottom: 14%; }
.p5-bride-friend-05 { --p5-left: 35.6481%; --p5-height: 64%; --p5-bottom: 13.4286%; }
.p5-groom-friend-01 { --p5-left: 59.8148%; --p5-height: 63.1429%; --p5-bottom: 14%; }
.p5-groom-friend-02 { --p5-left: 66.2963%; --p5-height: 62.2857%; --p5-bottom: 13.4286%; }
.p5-groom-friend-03 { --p5-left: 72.7778%; --p5-height: 63.4286%; --p5-bottom: 14%; }
.p5-groom-friend-04 { --p5-left: 79.2593%; --p5-height: 62.8571%; --p5-bottom: 13.4286%; }
.p5-groom-friend-05 { --p5-left: 85.7407%; --p5-height: 64%; --p5-bottom: 14%; }
.p5-groom-friend-06 { --p5-left: 92.2222%; --p5-height: 63.1429%; --p5-bottom: 13.4286%; }
.p5-wedding-couple { --p5-left: 48.4259%; --p5-height: 71.4286%; --p5-bottom: 13.1429%; }

.p5-group-motion__foreground {
  position: absolute;
  z-index: 20;
  top: 80.8571429%;
  left: 0;
  display: block;
  width: 100%;
  height: 8.5714286%;
  object-fit: fill;
}

.player {
  position: absolute;
  z-index: 8;
  top: 84.878%;
  left: 0;
  width: 100%;
  height: 13.6486%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
}

.player::before {
  display: none;
  content: "";
}

.player__motion {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: translateY(-8.5714%);
  transform-origin: 50% 0;
}

.player__path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.player__path--base { stroke: #8b79b4; stroke-width: 3; opacity: .13; }
.player__path--glow { stroke: #aa8be7; stroke-width: 15; stroke-dasharray: .48 .52; opacity: .09; filter: url(#p1-player-glow); }
.player__path--trail { stroke: #8b79b4; stroke-width: 3; stroke-dasharray: .4 .6; opacity: .46; }
.player__path--head { stroke: #aa8be7; stroke-width: 3.2; stroke-dasharray: .11 .89; opacity: .92; }
.player__moving { opacity: 0; transition: opacity 350ms cubic-bezier(.22, 1, .36, 1); }
.player[aria-pressed="true"] .player__moving { opacity: 1; }
.player__couple {
  pointer-events: none;
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: miniCouplePlayer 3.4s steps(1, end) infinite;
  will-change: transform;
}
.player__control { fill: #674d91; opacity: .78; }
.player__control--pause { display: none; }
.player[aria-pressed="true"] .player__control--play { display: none; }
.player[aria-pressed="true"] .player__control--pause { display: block; }
.player:focus-visible { outline: 2px solid var(--mauve); outline-offset: -8px; }

.venue-map-link {
  position: absolute;
  z-index: 11;
  top: 29.2%;
  left: 2.3%;
  width: 95.4%;
  height: 58.4%;
  border-radius: 10px;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.venue-link {
  position: absolute;
  z-index: 12;
  left: 27.5%;
  bottom: 1.9%;
  display: grid;
  place-items: center;
  width: 45%;
  height: 9%;
  color: transparent;
  border-radius: 8px;
  text-decoration: none;
}

.venue-map-link:focus-visible,
.venue-link:focus-visible { outline: 2px solid var(--mauve); outline-offset: -6px; }

@keyframes proposalFrames {
  0%, 49.999% { background-position: 50% 0; }
  50%, 100% { background-position: 50% 100%; }
}
@keyframes loadingHeartFill {
  0% { clip-path: inset(100% 0 0 0); }
  68%, 86% { clip-path: inset(0 0 0 0); }
  100% { clip-path: inset(100% 0 0 0); }
}
@keyframes loadingDot {
  0%, 58%, 100% { opacity: .16; transform: translateY(0); }
  28%, 42% { opacity: .9; transform: translateY(-1px); }
}
@keyframes miniCouplePlayer {
  0%, 31%, 100% { transform: translate(0, 0) rotate(0) scale(1); }
  32%, 63% { transform: translate(0, -2px) rotate(-.8deg) scale(1.01); }
  64%, 82% { transform: translate(1px, -1px) rotate(.6deg) scale(1.012); }
  83%, 99% { transform: translate(0, 0) rotate(0) scale(1); }
}
@keyframes miniCoupleTime {
  0%, 23%, 100% { transform: translate(0, 0) rotate(0) scale(1); }
  24%, 46% { transform: translate(0, -1px) rotate(-1.8deg) scale(1.01); }
  47%, 69% { transform: translate(1px, 0) rotate(1.2deg) scale(1.018); }
  70%, 84% { transform: translate(0, -1px) rotate(-.7deg) scale(1.01); }
  85%, 99% { transform: translate(0, 0) rotate(0) scale(1); }
}
@keyframes miniCoupleRunning {
  0%, 100% { transform: translate(-1px, 0) rotate(-2.4deg); }
  25% { transform: translate(1px, -2px) rotate(1.8deg); }
  50% { transform: translate(2px, 0) rotate(2.6deg); }
  75% { transform: translate(0, -1px) rotate(-1.4deg); }
}
@keyframes miniCoupleRings {
  0%, 20% { opacity: 1; transform: translate(0, 0) scale(1); }
  21%, 39% { opacity: 1; transform: translate(0, -1px) scale(1.012); }
  40%, 49% { opacity: 1; transform: translate(0, 0) scale(1); }
  50%, 82% { opacity: 0; transform: translate(0, 0) scale(1); }
  83%, 100% { opacity: 1; transform: translate(0, 0) scale(1); }
}
@keyframes miniCoupleHug {
  0%, 49% { opacity: 0; transform: translate(0, 0) scale(1); }
  50%, 66% { opacity: 1; transform: translate(0, 0) scale(1); }
  67%, 82% { opacity: 1; transform: translate(0, -1px) scale(1.01); }
  83%, 100% { opacity: 0; transform: translate(0, 0) scale(1); }
}
@keyframes p5PersonAppear {
  from { opacity: 0; transform: translateX(-50%) scale(.992); }
  to { opacity: 1; transform: translateX(-50%) scale(1); }
}
@keyframes cover-settle { to { transform: scale(1.012); filter: none; } }
@media (hover: hover) and (pointer: fine) and (min-width: 720px) {
  :root { --page-width: 480px; }
  .cover__stage { box-shadow: 0 0 70px rgba(51, 45, 44, 0.2); }
  .invitation { box-shadow: 0 0 80px rgba(70, 60, 52, 0.14); }
}

@media (max-height: 720px) {
  .opening-loader__proposal {
    top: 25%;
    width: min(48vw, 190px);
  }

  .opening-loader__status { top: 52%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .player__moving { display: none; }
  .opening-loader__proposal { background-position: 50% 100%; }
  .opening-loader__heart-fill { clip-path: inset(0 0 0 0) !important; }
  .opening-loader__dots i { opacity: 1; }
  .p5-group-motion .p5-group-motion__person { opacity: 1; transform: translateX(-50%) scale(1); animation: none; }
}

.motion-reduced { scroll-behavior: auto; }
.motion-reduced *,
.motion-reduced *::before,
.motion-reduced *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
.motion-reduced .player__moving { display: none; }
.motion-reduced .opening-loader__proposal { background-position: 50% 100%; }
.motion-reduced .opening-loader__heart-fill { clip-path: inset(0 0 0 0) !important; }
.motion-reduced .opening-loader__dots i { opacity: 1; }
.motion-reduced .p5-group-motion .p5-group-motion__person { opacity: 1; transform: translateX(-50%) scale(1); animation: none; }
