/* Small, static accents; reveal motion stays owned by the existing sections. */
#siteFrame .botanical-divider {
  --divider-opacity: .7;
  width: 160px;
  margin: 20px auto 0;
  pointer-events: none;
}
#siteFrame .botanical-divider img {
  display: block;
  width: 100%;
  height: auto;
  opacity: var(--divider-opacity);
}
#siteFrame .yurt-interlude { margin-bottom: 0; }
#siteFrame .yurt-interlude + #date { margin-top: 24px; }
#siteFrame .botanical-divider--date {
  align-self: center;
  margin-inline: 0;
}
#siteFrame .botanical-divider--rsvp {
  width: min(360px, calc(100% - 96px));
  margin: 8px auto -28px;
  --divider-opacity: .58;
}
#siteFrame .botanical-divider + .yurt-interlude { margin-top: 28px; }
@media (min-width: 681px) {
  #siteFrame .botanical-divider {
    /* Use the sheet width, including for dividers inside narrower sections. */
    width: min(calc(100vw - 120px), 760px);
    max-width: none;
  }
  #siteFrame .botanical-divider--rsvp { margin-top: 0; }
}
body #musicToggle {
  position: fixed;
  top: auto;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  right: calc(12px + env(safe-area-inset-right, 0px));
  transition: width 240ms ease, min-height 240ms ease, padding 240ms ease, background 240ms ease;
}
body.is-scrolled .music-toggle {
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  gap: 0;
  justify-content: center;
  border-radius: 50%;
}
body.is-scrolled .music-toggle__label { display: none; }
@media (max-width: 680px) {
  #siteFrame .botanical-divider {
    width: calc(100% - 56px);
    max-width: none;
  }
  #siteFrame .botanical-divider--rsvp {
    width: calc(100% - 56px);
  }
  #siteFrame .botanical-divider--date {
    width: calc(100vw - 68px);
  }
  #siteFrame #interludeTitle {
    position: relative;
    top: -2lh;
  }
}
#siteFrame main > footer:has(.signature-landscape) {
  width: 100%;
  padding-inline: 0;
}
#invitation .body-copy {
  font-size: 18px !important;
  line-height: 1.7;
}
.yurt-interlude__text h2::before,
.yurt-interlude__text h2::after {
  content: "";
  display: block;
  width: min(140px, 60%);
  height: 1px;
  margin: 20px auto;
  background: linear-gradient(90deg, transparent, #b39870 35%, #b39870 65%, transparent);
  opacity: .65;
}
/* Repeat the interlude's quiet two-line rhythm at the remaining chapters. */
#date .calendar__heading::before,
#date .calendar__heading::after,
#date .countdown-section h2::before,
#date .countdown-section h2::after,
#venue .venue__kicker::before,
#venue .venue__kicker::after,
#rsvp h2::before,
#rsvp h2::after {
  content: "";
  display: block;
  width: min(140px, 60%);
  height: 1px;
  margin: 16px auto;
  background: linear-gradient(90deg, transparent, #b39870 35%, #b39870 65%, transparent);
  opacity: .65;
}
#date .countdown-section h2::before,
#date .countdown-section h2::after {
  background: linear-gradient(90deg, transparent, rgb(250 246 239 / 72%) 35%, rgb(250 246 239 / 72%) 65%, transparent);
}
#siteFrame .yurt-interlude__text h2 { font-weight: 400 !important; }
#date .event-date-summary__times dt,
#date .event-date-summary__times dd {
  font-size: clamp(22px, 3.8vw, 34px) !important;
  line-height: 1.35 !important;
}
#date .calendar {
  width: min(100%, 400px);
  padding: 28px 12px 32px;
  border: 1px solid rgb(119 72 82 / 28%);
  background: rgb(255 252 246 / 35%) !important;
  box-shadow: 0 3px 14px rgb(83 63 43 / 4%);
}
#date .event-date-summary { margin: 0 auto; }
#date .event-date-summary__times { margin-top: 0; padding-top: 8px; }
#date .event-date-summary__times::before { content: none; }
/* The botanical divider replaces the old, invisible swallow spacer. */
#siteFrame #venue + .swallow-transition { display: none; }
#siteFrame #venue > .section-inner { padding-bottom: 8px; }
#siteFrame #venue { position: relative; }
#siteFrame #venue .venue__flower {
  display: none;
  background: none;
  box-shadow: none;
  -webkit-mask-image: none;
  mask-image: none;
}
.hero-clouds { position: absolute; z-index: 2; inset: 0; overflow: hidden; pointer-events: none; }
.hero-cloud { position: absolute; top: -2%; width: 58%; height: auto; opacity: 0; }
.hero-cloud--left { left: -16%; transform: translateX(-72%); }
.hero-cloud--right { right: -16%; transform: translateX(72%); }
body.clouds-ready .hero-cloud { opacity: 1; animation: 1800ms cubic-bezier(.2,.75,.25,1) forwards; }
body.clouds-ready .hero-cloud--left { animation-name: cloudEnterLeft; }
body.clouds-ready .hero-cloud--right { animation-name: cloudEnterRight; }
@keyframes cloudEnterLeft { to { transform: translateX(0); } }
@keyframes cloudEnterRight { to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .hero-cloud { opacity: 1; transform: none; } }
@media (max-width: 680px) {
  .hero-cloud { top: -4%; width: 70%; }
  #siteFrame #venue .venue__flower {
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    pointer-events: none;
    opacity: 1;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    overflow: visible;
    -webkit-mask-image: none;
    mask-image: none;
  }
  #siteFrame #venue .venue__flower img {
    display: block;
    width: 50%;
    height: auto;
    align-self: flex-start;
    object-fit: contain;
  }
  #siteFrame #venue .venue__flower img:first-child,
  #siteFrame #venue .venue__flower img:last-child { margin-inline: 0; }
  #siteFrame #venue .venue__flower img:first-child { transform: translateX(-8%); }
  #siteFrame #venue .venue__flower img:last-child { transform: translateX(8%); }
  #siteFrame #venue { margin-top: 48px; }
  #siteFrame #venue > .section-inner { position: relative; z-index: 1; }
}
#date .section-inner { display: flex; flex-direction: column; align-items: center; }
#date .countdown-section {
  width: min(calc(100% - 56px), 620px);
  margin: 10px auto 12px;
}
#date .countdown-section__content { padding: 6px 10px 8px; }
#date .countdown-section h2 { margin-bottom: 2px; }
#date .countdown { margin-top: 5px; gap: clamp(5px, 2vw, 12px); }
#siteFrame #date .countdown strong { font-size: clamp(18px, 5.5vw, 25px); }
#siteFrame footer #replayIntro { opacity: 1; transform: none; }
#siteFrame footer #replayIntro {
  color: var(--muted) !important;
  border-bottom-color: color-mix(in srgb, var(--gold) 55%, transparent) !important;
  opacity: .72;
}
#siteFrame .envelope-back,
#siteFrame .envelope-pocket__left,
#siteFrame .envelope-pocket__right,
#siteFrame .envelope-pocket__bottom { background: var(--study-envelope) !important; }
#siteFrame .envelope-flap,
#siteFrame .envelope-flap__inner { background: var(--study-flap) !important; }
#date .calendar-download { margin-top: 28px; }
@media (min-width: 681px) {
  #siteFrame .hero__content { top: clamp(32px, 4vw, 52px); }
  #invitation .body-copy { font-size: 20px !important; }
}
