html[data-scroll-experience="free"] {
  scroll-snap-type: none;
}

html[data-scroll-experience="free"] body .music-toggle:not([hidden]) {
  position: fixed !important;
  z-index: 10000;
  top: max(1rem, env(safe-area-inset-top));
  right: max(1rem, env(safe-area-inset-right));
  bottom: auto;
  left: auto !important;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready {
  overflow-x: clip;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section {
  height: auto;
  min-height: 100svh;
  overflow: visible;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section:not(#hero) {
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 14svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 14svh;
  background: linear-gradient(to bottom, transparent, var(--c-cream));
  pointer-events: none;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#galeria {
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 14svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh),
    radial-gradient(circle at 10% 10%, rgba(201,169,110,.12), transparent 24%),
    radial-gradient(circle at 90% 90%, rgba(138,158,133,.12), transparent 25%);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#evento {
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 14svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh),
    radial-gradient(circle at 8% 12%, rgba(138,158,133,.13), transparent 32%),
    radial-gradient(circle at 92% 88%, rgba(201,169,110,.14), transparent 32%);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode {
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 14svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh),
    radial-gradient(circle at 8% 18%, rgba(232,213,176,.22), transparent 34%),
    radial-gradient(circle at 95% 82%, rgba(138,158,133,.12), transparent 38%);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode::before,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode::after {
  opacity: 0;
  translate: 0 var(--floral-offset, 18px);
  transition:
    opacity 1s cubic-bezier(.4,0,.8,.4),
    translate 1s cubic-bezier(.4,0,.8,.4);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode[data-scroll-direction="up"]::before,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode[data-scroll-direction="up"]::after {
  --floral-offset: -18px;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode.is-in-view::before,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode.is-in-view::after {
  opacity: .82;
  translate: 0 0;
  transition:
    opacity .65s cubic-bezier(.22,.72,.24,1),
    translate .65s cubic-bezier(.22,.72,.24,1);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#countdown #countdown-heading {
  opacity: 0;
  translate: 0 var(--countdown-heading-offset, 18px);
  transition:
    opacity 1s cubic-bezier(.4,0,.8,.4),
    translate 1s cubic-bezier(.4,0,.8,.4);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#countdown[data-scroll-direction="up"] #countdown-heading {
  --countdown-heading-offset: -18px;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#countdown.is-in-view #countdown-heading {
  opacity: 1;
  translate: 0 0;
  transition:
    opacity .65s cubic-bezier(.22,.72,.24,1),
    translate .65s cubic-bezier(.22,.72,.24,1);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#rsvp {
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 14svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh),
    radial-gradient(circle at 12% 18%, rgba(138,158,133,.15), transparent 27%),
    radial-gradient(circle at 88% 82%, rgba(201,169,110,.14), transparent 28%);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#cierre {
  background-color: var(--c-cream);
  background-image:
    linear-gradient(to bottom, var(--c-cream), transparent 20svh),
    linear-gradient(to top, var(--c-cream), transparent 14svh),
    linear-gradient(155deg, var(--c-cream) 40%, var(--c-gold-light) 100%);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section > * {
  opacity: 0;
  visibility: hidden;
  translate: 0 var(--section-offset, 18px);
  transition:
    opacity 1s cubic-bezier(.4,0,.8,.4),
    translate 1s cubic-bezier(.4,0,.8,.4),
    visibility 0s linear 1s;
  pointer-events: none;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#galeria > .gallery-lightbox {
  opacity: 1;
  visibility: hidden;
  translate: none;
  transition: none;
  pointer-events: none;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#galeria > .gallery-lightbox.is-open {
  visibility: visible;
  pointer-events: auto;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section[data-scroll-direction="up"] > * {
  --section-offset: -18px;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section.is-in-view > * {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition:
    opacity .65s cubic-bezier(.22,.72,.24,1),
    translate .65s cubic-bezier(.22,.72,.24,1),
    visibility 0s;
  pointer-events: auto;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#regalos > * {
  transition:
    opacity 1s cubic-bezier(.4,0,.8,.4),
    translate 1s cubic-bezier(.4,0,.8,.4),
    visibility 0s linear 1s,
    pointer-events 0s;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#regalos.is-in-view > * {
  transition:
    opacity 1s cubic-bezier(.22,.72,.24,1),
    translate 1s cubic-bezier(.22,.72,.24,1),
    visibility 0s;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#galeria,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#regalos {
  height: 100svh;
  min-height: 100svh;
  overflow: hidden;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#historia,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#rsvp,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#cierre {
  overflow: visible;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode {
  overflow-x: clip;
  overflow-y: visible;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .reveal {
  opacity: 0;
  transform: none;
  transition: opacity .6s cubic-bezier(.22,.72,.24,1);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .reveal[data-delay] {
  transition-delay: 0s;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .reveal.is-visible {
  opacity: 1;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .scroll-card {
  opacity: 0;
  transform: translate3d(0, var(--card-offset, 24px), 0);
  transition:
    opacity .65s cubic-bezier(.22,.72,.24,1),
    transform .65s cubic-bezier(.22,.72,.24,1);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .scroll-card[data-scroll-direction="up"] {
  --card-offset: -24px;
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .scroll-card.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing > section,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing > section > *,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing > section#dresscode::before,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing > section#dresscode::after,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing .reveal,
html[data-scroll-experience="free"] #invitation-content.scroll-reveal-initializing .scroll-card {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section > *,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode::before,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#dresscode::after,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready > section#countdown #countdown-heading,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .reveal,
  html[data-scroll-experience="free"] #invitation-content.scroll-reveal-ready .scroll-card {
    transition: none;
    transform: none;
    translate: none;
  }
}
