.cover > img { object-position: center; }
.red-note { max-width: 570px; margin: 45px auto 0; }
.red-note img { display: block; width: 100%; }
.red-note figcaption { margin-top: 10px; color: #d9c4ae; font-size: 11px; letter-spacing: .08em; text-align: center; }
.grand-detail figure:first-child img { object-position: right center; }

@media (max-width: 759px) {
  .cover-copy { inset: 17svh 0 auto; padding: 0 25px; }
  .scroll-cue { position: absolute; top: 66svh; left: 0; width: 100%; text-align: center; }
}
:root {
  --serif: "Songti SC", STSong, SimSun, serif;
  --display: "Songti SC", STSong, SimSun, serif;
  --mono: ui-monospace, "SFMono-Regular", Consolas, monospace;
}

.font-ready {
  --serif: "Wedding Serif", "Songti SC", STSong, SimSun, serif;
  --display: "Wedding Serif", "Songti SC", STSong, SimSun, serif;
}

.section:not(.cover):not(.invite) img { cursor: zoom-in; }
.image-lightbox {
  position: fixed;
  z-index: 30;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgb(18 11 8 / 92%);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
  cursor: zoom-out;
}
.image-lightbox.is-open { opacity: 1; visibility: visible; }
.image-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 18px 60px rgb(0 0 0 / 45%);
}

@media (min-width: 760px) {
  .image-lightbox { padding: 0; }
  .image-lightbox__image { max-width: 100vw; max-height: 100vh; }

  .daily-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 34px 22px; }
  .daily-grid .p-one { grid-column: 1 / span 6; grid-row: 1; width: 100%; margin: 0; align-self: center; }
  .daily-grid .p-two { grid-column: 7 / span 3; grid-row: 1; margin: 0; }
  .daily-grid .p-four { grid-column: 10 / span 3; grid-row: 1; width: 100%; margin: 36px 0 0; justify-self: auto; }
}
