:root {
  --acp-saffron: #d99b26;
  --acp-deep-maroon: #580b1a;
  --acp-antique-gold: #e5bd63;
  --acp-ivory: #fff9eb;
}

html {
  scroll-behavior: smooth;
}

body,
.framer-text {
  font-family: "EB Garamond", Georgia, serif;
  text-rendering: optimizeLegibility;
}

[data-framer-name="Names"] .framer-text,
[data-framer-name="BRIDE NAME"] .framer-text,
[data-framer-name="GROOM NAME "] .framer-text,
[data-framer-name="B&G"] .framer-text,
[data-framer-name="COUNTING THE DAYS"] .framer-text {
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: .025em !important;
  text-wrap: balance;
}

[data-framer-name="WEDS"] .framer-text,
[data-framer-name="INVITE"] .framer-text,
[data-framer-name="BLESSING"] .framer-text,
[data-framer-name="TOUCH HERE FOR MAGIC"] .framer-text {
  font-family: "Cinzel", Georgia, serif !important;
}

/* A consistent central axis keeps the tall invitation feeling ceremonial. */
[data-framer-name="WEDS"],
[data-framer-name="Names"],
[data-framer-name="Message"],
[data-framer-name="BRIDE NAME"],
[data-framer-name="GROOM NAME "],
[data-framer-name="PARENTS NAME"],
[data-framer-name="INVITE"],
[data-framer-name="BLESSING"],
[data-framer-name=" MEET THE"],
[data-framer-name="Story Text"],
[data-framer-name="B&G"],
[data-framer-name="RSVP Greeting"],
[data-framer-name="RSVP Greeting Message"],
[data-framer-name="RSVP Note"],
[data-framer-name="INSTAGRAM"],
[data-framer-name="#"],
[data-framer-name="TOUCH HERE FOR MAGIC"],
[data-framer-name="COUNTING THE DAYS"] {
  text-align: center !important;
}

[data-framer-name="WEDS"] .framer-text,
[data-framer-name="Names"] .framer-text,
[data-framer-name="Message"] .framer-text,
[data-framer-name="BRIDE NAME"] .framer-text,
[data-framer-name="GROOM NAME "] .framer-text,
[data-framer-name="PARENTS NAME"] .framer-text,
[data-framer-name="INVITE"] .framer-text,
[data-framer-name="BLESSING"] .framer-text,
[data-framer-name=" MEET THE"] .framer-text,
[data-framer-name="Story Text"] .framer-text,
[data-framer-name="B&G"] .framer-text,
[data-framer-name="RSVP Greeting"] .framer-text,
[data-framer-name="RSVP Greeting Message"] .framer-text,
[data-framer-name="RSVP Note"] .framer-text,
[data-framer-name="INSTAGRAM"] .framer-text,
[data-framer-name="#"] .framer-text,
[data-framer-name="TOUCH HERE FOR MAGIC"] .framer-text,
[data-framer-name="COUNTING THE DAYS"] .framer-text {
  text-align: center !important;
}

[data-framer-name="WEDS"] .framer-text {
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(27px, 6vw, 36px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  font-style: normal;
  text-transform: lowercase;
  color: #fff3d1 !important;
  text-shadow: 0 1px 8px rgba(81, 44, 10, .42);
}

[data-framer-name="Names"] .framer-text {
  font-size: clamp(54px, 12.8vw, 80px) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

[data-framer-name="PAGE 1"] [data-framer-name="Names"] .framer-text {
  color: #681d1b !important;
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(58px, 13vw, 76px) !important;
  line-height: .9 !important;
  text-shadow:
    0 1px 0 rgba(255, 244, 210, .95),
    0 3px 12px rgba(255, 238, 184, .72),
    0 8px 20px rgba(45, 20, 13, .2) !important;
}

[data-framer-name="PAGE 1"] [data-framer-name="WEDS"],
[data-framer-name="PAGE 1"] [data-framer-name="Names"],
[data-framer-name="PAGE 1"] [data-framer-name="Message"] {
  z-index: 6 !important;
}

[data-framer-name="PAGE 1"] [data-framer-name="WEDS"] {
  width: 120px !important;
  height: 38px !important;
}

[data-framer-name="PAGE 1"] [data-framer-name="WEDS"] .framer-text {
  color: #9a6727 !important;
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important;
  line-height: 1 !important;
  text-shadow: 0 1px 6px rgba(255, 247, 220, .96) !important;
}

[data-framer-name="PAGE 1"] [data-framer-name="SKY"] { z-index: 0 !important; }
[data-framer-name="PAGE 1"] [data-framer-name="TEMPLE"] { z-index: 1 !important; }

[data-framer-name="PAGE 1"] [data-framer-name="Message"] .framer-text {
  color: #5b211c !important;
  font-size: clamp(11px, 2.5vw, 14px) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 5px rgba(255, 246, 218, .95) !important;
}

[data-framer-name="Message"] .framer-text {
  font-family: "Cinzel", Georgia, serif !important;
  font-size: clamp(10px, 2.25vw, 13px) !important;
  line-height: 1.45 !important;
  letter-spacing: .16em !important;
  font-weight: 500 !important;
}

[data-framer-name="BRIDE NAME"] .framer-text,
[data-framer-name="GROOM NAME "] .framer-text {
  font-size: clamp(42px, 9.5vw, 62px) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

[data-framer-name="&"] .framer-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 6vw, 42px) !important;
  line-height: 1 !important;
  font-style: italic;
}

[data-framer-name="INVITE"] .framer-text,
[data-framer-name="RSVP Greeting Message"] .framer-text {
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(36px, 8vw, 54px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  text-transform: none;
}

[data-framer-name="PARENTS NAME"] .framer-text,
[data-framer-name="BLESSING"] .framer-text,
[data-framer-name="Story Text"] .framer-text,
[data-framer-name="RSVP Note"] .framer-text {
  font-family: "EB Garamond", Georgia, serif !important;
  font-size: clamp(15px, 3.2vw, 19px) !important;
  line-height: 1.48 !important;
  letter-spacing: .005em !important;
  font-weight: 400 !important;
  text-wrap: pretty;
}

[data-framer-name=" MEET THE"] .framer-text,
[data-framer-name="RSVP Greeting"] .framer-text,
[data-framer-name="INSTAGRAM"] .framer-text,
[data-framer-name="COUNTING THE DAYS"] .framer-text {
  font-family: "Cinzel", Georgia, serif !important;
  font-size: clamp(12px, 2.7vw, 16px) !important;
  line-height: 1.35 !important;
  letter-spacing: .2em !important;
  font-weight: 600 !important;
  text-transform: uppercase;
}

[data-framer-name="B&G"] .framer-text {
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(36px, 8.4vw, 56px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}

[data-framer-name="#"] .framer-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(22px, 5vw, 32px) !important;
  line-height: 1.1 !important;
  font-style: italic;
  letter-spacing: .015em !important;
}

[data-framer-name="TOUCH HERE FOR MAGIC"] .framer-text {
  font-size: clamp(14px, 3vw, 18px) !important;
  line-height: 1.3 !important;
  letter-spacing: .14em !important;
  font-weight: 600 !important;
}

.acp-title-shiv .framer-text,
.acp-title-parvati .framer-text {
  text-shadow: 0 2px 16px rgba(255, 205, 79, .22);
  will-change: opacity, transform, filter;
}

.acp-title-shiv .framer-text {
  animation: acpTitleFromLeft 1.15s cubic-bezier(.2,.8,.2,1) .12s both;
}

.acp-title-parvati .framer-text {
  animation: acpTitleFromRight 1.15s cubic-bezier(.2,.8,.2,1) .26s both;
}

.acp-title-weds .framer-text {
  animation: acpSacredGlow 2.8s ease-in-out .55s both;
}

[data-framer-name="SKY"] img {
  transform: translate3d(0, var(--acp-parallax-y, 0px), 0) scale(1.08);
  transform-origin: 50% 45%;
  transition: transform .12s linear;
  will-change: transform;
}

[data-framer-name="TEMPLE"] img {
  transform: translate3d(0, var(--acp-parallax-y, 0px), 0) scale(1.035);
  transform-origin: 50% 70%;
  transition: transform .12s linear;
  will-change: transform;
}

.acp-reveal-target {
  opacity: 0;
  filter: blur(4px);
  transform: translate3d(0, 24px, 0);
  transition:
    opacity .9s cubic-bezier(.2,.8,.2,1),
    transform .9s cubic-bezier(.2,.8,.2,1),
    filter .9s ease;
  transition-delay: var(--acp-delay, 0ms);
  will-change: opacity, transform, filter;
}

.acp-reveal-target.acp-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0);
}

.wedding-fade .wedding-photo {
  animation: acpKenBurns 7s cubic-bezier(.2,.65,.25,1) both;
}

[data-framer-name="TOUCH HERE FOR MAGIC"] {
  cursor: pointer;
  user-select: none;
}

[data-framer-name="TOUCH HERE FOR MAGIC"] .framer-text {
  transition: color .3s ease, text-shadow .3s ease, transform .3s ease;
}

[data-framer-name="TOUCH HERE FOR MAGIC"]:hover .framer-text,
[data-framer-name="TOUCH HERE FOR MAGIC"]:focus-visible .framer-text {
  color: var(--acp-saffron) !important;
  text-shadow: 0 0 18px rgba(229, 189, 99, .65);
  transform: scale(1.035);
}

.acp-divine-particles,
.acp-magic-burst {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 80;
}

.acp-divine-particles span {
  position: absolute;
  left: var(--x);
  bottom: -18px;
  width: var(--size);
  height: var(--size);
  border-radius: 60% 40% 65% 35%;
  background: radial-gradient(circle at 35% 30%, #ffe9a3, #e0a52f 62%, transparent 68%);
  opacity: 0;
  animation: acpPetalRise var(--duration) linear var(--delay) infinite;
  filter: drop-shadow(0 0 5px rgba(255, 201, 73, .45));
}

.acp-magic-particle {
  position: fixed;
  left: var(--x);
  top: var(--y);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff7ce 0 18%, #f0bf49 38%, #a55b16 72%);
  box-shadow: 0 0 12px rgba(246, 193, 66, .85);
  animation: acpMagicBurst 1.35s cubic-bezier(.15,.7,.25,1) forwards;
}

/* Temple scroll event invitation */
[data-framer-name="Wedding Event Slideshow"] {
  container-type: inline-size;
}

/* Removed at the user's marked location: the ornate story-photo frame. */
[data-framer-name="GOLDEN FRAME PNG"] {
  display: none !important;
}

[data-framer-name="Frame Photo Slider"] {
  display: none !important;
}

.acp-patrika {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 780px;
  overflow: hidden;
  padding: 30px 22px 22px;
  color: #4d2116;
  background:
    radial-gradient(circle at 18% 12%, rgba(190, 121, 31, .12) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 86%, rgba(111, 35, 28, .09) 0 1.5px, transparent 2.5px),
    linear-gradient(90deg, rgba(111, 35, 28, .06), transparent 13%, transparent 87%, rgba(111, 35, 28, .06)),
    #f5e4bd;
  border: 1px solid rgba(104, 43, 26, .6);
  border-radius: 150px 150px 24px 24px;
  box-shadow:
    inset 0 0 0 4px #d29a42,
    inset 0 0 0 7px rgba(91, 31, 21, .78),
    inset 0 0 34px rgba(104, 49, 23, .2),
    0 18px 34px rgba(49, 24, 13, .22);
  isolation: isolate;
}

.acp-patrika::before {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: -1;
  border: 1px solid rgba(211, 150, 54, .8);
  border-radius: 140px 140px 18px 18px;
  background: repeating-linear-gradient(0deg, transparent 0 4px, rgba(120, 68, 23, .018) 5px 6px);
}

.acp-patrika__garland {
  position: absolute;
  z-index: 3;
  top: 13px;
  left: 50%;
  width: 84%;
  height: 46px;
  transform: translateX(-50%);
  border-bottom: 6px dotted #e2a22c;
  border-radius: 0 0 50% 50%;
  filter: drop-shadow(0 2px 2px rgba(72, 29, 13, .25));
}

.acp-patrika__garland::before,
.acp-patrika__garland::after {
  content: "✦";
  position: absolute;
  top: 26px;
  color: #8d251e;
  font-size: 21px;
}

.acp-patrika__garland::before { left: -5px; }
.acp-patrika__garland::after { right: -5px; }

.acp-patrika__kicker {
  margin: 35px 0 3px;
  color: #7b281f;
  font-family: "Cinzel", Georgia, serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .26em;
  text-align: center;
  text-transform: uppercase;
}

.acp-patrika__title {
  margin: 0;
  color: #712117;
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(37px, 10cqw, 48px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-wrap: balance;
}

.acp-patrika__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 6px auto 12px;
  color: #b27624;
  font-size: 14px;
}

.acp-patrika__divider::before,
.acp-patrika__divider::after {
  content: "";
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b27624);
}

.acp-patrika__divider::after { transform: scaleX(-1); }

.acp-patrika__portrait {
  position: relative;
  height: 310px;
  margin: 0 auto 10px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: radial-gradient(ellipse at center, rgba(214, 158, 68, .24), transparent 67%);
  box-shadow: none;
}

.acp-patrika__portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 95%, rgba(96, 41, 20, .16), transparent 58%);
}

.acp-patrika__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 12px 12px rgba(67, 30, 13, .22));
  transform: scale(.96);
}

/* Layered paper-cut reveal: one artwork is masked into independent depth planes. */
.acp-depth-scene {
  isolation: isolate;
  perspective: 900px;
}

.acp-depth-scene__base {
  opacity: 0;
  filter: blur(5px) saturate(.86) drop-shadow(0 9px 10px rgba(67, 30, 13, .15));
}

.acp-depth-scene__layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  transform: translate3d(0, var(--acp-depth-y, 0px), 0);
  will-change: transform;
}

.acp-depth-scene__layer img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  will-change: opacity, transform, filter;
}

.acp-depth-scene__layer--sky {
  z-index: 1;
  clip-path: inset(0 0 61% 0);
}

.acp-depth-scene__layer--temple {
  z-index: 2;
  clip-path: polygon(8% 25%, 92% 25%, 92% 83%, 8% 83%);
}

.acp-depth-scene__layer--family-left {
  z-index: 3;
  clip-path: polygon(0 34%, 31% 34%, 31% 88%, 0 94%);
}

.acp-depth-scene__layer--family-right {
  z-index: 3;
  clip-path: polygon(69% 34%, 100% 34%, 100% 94%, 69% 88%);
}

.acp-depth-scene__layer--couple {
  z-index: 4;
  clip-path: ellipse(29% 43% at 50% 61%);
}

.acp-depth-scene__layer--flowers {
  z-index: 5;
  clip-path: polygon(0 70%, 18% 64%, 31% 79%, 50% 72%, 69% 79%, 82% 64%, 100% 70%, 100% 100%, 0 100%);
  filter: drop-shadow(0 9px 8px rgba(75, 33, 15, .17));
}

.acp-depth-scene.is-active .acp-depth-scene__base {
  animation: acpDepthBase 1.25s cubic-bezier(.2,.78,.2,1) both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--sky img {
  animation: acpDepthSky 1.35s cubic-bezier(.2,.78,.2,1) .08s both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--temple img {
  animation: acpDepthRise 1.35s cubic-bezier(.2,.78,.2,1) .25s both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--couple img {
  animation: acpDepthRise 1.4s cubic-bezier(.16,.82,.2,1) .42s both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--family-left img {
  animation: acpDepthFromLeft 1.25s cubic-bezier(.16,.82,.2,1) .58s both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--family-right img {
  animation: acpDepthFromRight 1.25s cubic-bezier(.16,.82,.2,1) .58s both;
}

.acp-depth-scene.is-active .acp-depth-scene__layer--flowers img {
  animation: acpDepthFlowers 1.25s cubic-bezier(.2,.78,.2,1) .76s both;
}

.acp-patrika__details {
  animation: acpPatrikaUnfold .72s cubic-bezier(.2,.78,.2,1) both;
  will-change: transform;
}

.acp-patrika__details.is-ready {
  animation: none;
  transform: translate3d(0, 0, 0);
}

.acp-patrika__details.is-sliding-out-left {
  animation: acpCeremonyOutLeft .32s cubic-bezier(.55,.02,.72,.34) both;
}

.acp-patrika__details.is-sliding-out-right {
  animation: acpCeremonyOutRight .32s cubic-bezier(.55,.02,.72,.34) both;
}

.acp-patrika__details.is-sliding-in-right {
  animation: acpCeremonyInRight .48s cubic-bezier(.16,.82,.2,1) both;
}

.acp-patrika__details.is-sliding-in-left {
  animation: acpCeremonyInLeft .48s cubic-bezier(.16,.82,.2,1) both;
}

.acp-patrika__meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  margin-bottom: 12px;
  padding: 10px 6px;
  border-top: 1px solid rgba(130, 70, 28, .34);
  border-bottom: 1px solid rgba(130, 70, 28, .34);
}

.acp-patrika__meta-item {
  min-width: 0;
  padding: 0 5px;
  text-align: center;
}

.acp-patrika__meta-item + .acp-patrika__meta-item {
  border-left: 1px solid rgba(130, 70, 28, .25);
}

.acp-patrika__meta-label {
  display: block;
  margin-bottom: 3px;
  color: #9a682a;
  font-family: "Cinzel", Georgia, serif;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.acp-patrika__meta-value {
  display: block;
  overflow-wrap: anywhere;
  color: #542116;
  font-family: "EB Garamond", Georgia, serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
}

.acp-patrika__copy {
  max-width: 325px;
  min-height: 42px;
  margin: 0 auto 12px;
  color: #613526;
  font-family: "EB Garamond", Georgia, serif;
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
}

.acp-patrika__location {
  display: flex;
  width: max-content;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin: 0 auto 13px;
  padding: 9px 18px;
  color: #fff4d4;
  background: #702217;
  border: 1px solid #cb9138;
  border-radius: 4px;
  box-shadow: inset 0 0 0 2px rgba(255, 223, 150, .16), 0 5px 12px rgba(69, 26, 15, .18);
  font-family: "Cinzel", Georgia, serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.acp-patrika__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.acp-patrika__arrow {
  width: 42px;
  height: 42px;
  padding: 0;
  color: #74251b;
  background: #f3d99d;
  border: 1px solid #9e5b26;
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px rgba(190, 129, 42, .24);
  cursor: pointer;
  font-family: Georgia, serif;
  font-size: 22px;
  line-height: 1;
}

.acp-patrika__arrow:focus-visible,
.acp-patrika__location:focus-visible {
  outline: 2px solid #6f1f16;
  outline-offset: 3px;
}

.acp-patrika__count {
  min-width: 64px;
  color: #7e3a21;
  font-family: "Cinzel", Georgia, serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-align: center;
}

.acp-patrika__diya {
  position: absolute;
  bottom: 15px;
  width: 42px;
  height: 18px;
  border-radius: 5px 5px 22px 22px;
  background: linear-gradient(180deg, #d4912b, #7e2e1c);
  box-shadow: 0 5px 8px rgba(80, 32, 13, .22);
}

.acp-patrika__diya::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 14px;
  width: 11px;
  height: 22px;
  transform: translateX(-50%);
  transform-origin: 50% 100%;
  border-radius: 70% 30% 65% 35%;
  background: radial-gradient(circle at 50% 68%, #fff2a6 0 18%, #f6b72e 40%, #d65b19 72%);
  filter: drop-shadow(0 0 7px rgba(244, 170, 41, .78));
  animation: acpDiyas 1.8s ease-in-out infinite alternate;
}

.acp-patrika__diya--left { left: 18px; }
.acp-patrika__diya--right { right: 18px; }

@keyframes acpPatrikaUnfold {
  from { opacity: 0; transform: translateY(16px) scaleY(.96); filter: blur(3px); }
  to { opacity: 1; transform: translateY(0) scaleY(1); filter: blur(0); }
}

@keyframes acpCeremonyOutLeft {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-112%, 0, 0); }
}

@keyframes acpCeremonyOutRight {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(112%, 0, 0); }
}

@keyframes acpCeremonyInRight {
  from { transform: translate3d(112%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes acpCeremonyInLeft {
  from { transform: translate3d(-112%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

@keyframes acpPatrikaImage {
  from { opacity: .25; transform: translateY(18px) scale(.88); filter: blur(4px) drop-shadow(0 8px 8px rgba(67, 30, 13, .12)); }
  to { opacity: 1; transform: translateY(0) scale(.96); filter: blur(0) drop-shadow(0 12px 12px rgba(67, 30, 13, .22)); }
}

@keyframes acpDepthBase {
  from { opacity: 0; transform: scale(.9); filter: blur(6px) saturate(.8) drop-shadow(0 7px 7px rgba(67, 30, 13, .1)); }
  to { opacity: .62; transform: scale(.96); filter: blur(0) saturate(.9) drop-shadow(0 10px 10px rgba(67, 30, 13, .17)); }
}

@keyframes acpDepthSky {
  from { opacity: 0; transform: scale(1.08); filter: blur(5px); }
  to { opacity: 1; transform: scale(.96); filter: blur(0); }
}

@keyframes acpDepthRise {
  from { opacity: 0; transform: translate3d(0, 25px, 20px) scale(.94); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(.96); filter: blur(0); }
}

@keyframes acpDepthFromLeft {
  from { opacity: 0; transform: translate3d(-24px, 8px, 12px) scale(.95); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(.96); filter: blur(0); }
}

@keyframes acpDepthFromRight {
  from { opacity: 0; transform: translate3d(24px, 8px, 12px) scale(.95); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(.96); filter: blur(0); }
}

@keyframes acpDepthFlowers {
  from { opacity: 0; transform: translate3d(0, 16px, 30px) scale(.92); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(.96); filter: blur(0); }
}

/* Premium layered reveal for the marked Kedarnath paper-cut scene. */
[data-framer-name="PAGE 4"].acp-paper-depth {
  overflow: hidden !important;
  isolation: isolate;
  perspective: 1000px;
}

.acp-paper-depth__background,
.acp-paper-depth__side,
.acp-paper-depth__couple {
  will-change: transform, opacity;
}

.acp-paper-depth__background {
  z-index: 1 !important;
  transform: translate(-50%, -50%) translate3d(0, var(--acp-paper-bg-y, 0px), -12px) !important;
}

.acp-paper-depth__side {
  z-index: 3 !important;
  transform: translate(-50%, -50%) translate3d(0, var(--acp-paper-side-y, 0px), 18px) !important;
}

.acp-paper-depth__couple {
  top: 61% !important;
  z-index: 4 !important;
  transform: translate(-50%, -50%) translate3d(0, var(--acp-paper-couple-y, 0px), 34px) !important;
}

.acp-date-scratch {
  position: absolute;
  z-index: 8;
  left: 50%;
  top: clamp(72px, 10vh, 96px);
  width: min(86%, 390px);
  height: 138px;
  overflow: hidden;
  border: 2px solid #d4a64e;
  border-radius: 26px 26px 48px 48px;
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 226, 151, .08) 0 2px, transparent 3px),
    radial-gradient(circle at 83% 76%, rgba(37, 8, 8, .18) 0 2px, transparent 3px),
    linear-gradient(135deg, rgba(255,255,255,.04), transparent 35%),
    #681f1c;
  box-shadow:
    0 12px 28px rgba(47, 18, 12, .34),
    inset 0 0 0 3px #77271f,
    inset 0 0 0 5px rgba(220, 169, 76, .74),
    inset 0 0 26px rgba(30, 5, 5, .42);
  transform: translateX(-50%);
}

.acp-date-scratch::before,
.acp-date-scratch::after {
  content: "❖";
  position: absolute;
  z-index: 1;
  top: 50%;
  color: #d8ad58;
  font-size: 18px;
  transform: translateY(-50%);
  text-shadow: 0 1px 2px #36100d;
}

.acp-date-scratch::before { left: 18px; }
.acp-date-scratch::after { right: 18px; }

.acp-date-scratch__date {
  display: grid;
  height: 100%;
  place-content: center;
  color: #fff5d5;
  text-align: center;
  text-shadow: 0 2px 3px rgba(32, 7, 5, .55);
}

.acp-date-scratch__date small {
  margin-bottom: 10px;
  color: #ebcb83;
  font: 500 18px/1.1 "Shivaraja", "Cormorant Garamond", serif;
  letter-spacing: .075em;
}

.acp-date-scratch__line {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  color: #fff0c4;
}

.acp-date-scratch__line strong {
  font: 400 50px/.9 "Shivaraja", "Cormorant Garamond", serif;
}

.acp-date-scratch__line span {
  position: relative;
  color: #e8bd66;
  font: italic 25px/1 "Cormorant Garamond", Georgia, serif;
}

.acp-date-scratch__line span::before,
.acp-date-scratch__line span::after {
  content: "·";
  margin: 0 5px;
  color: #d5a64e;
}

.acp-date-scratch__cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: grab;
  touch-action: none;
  border-radius: 22px 22px 44px 44px;
  transition: opacity .42s ease, transform .42s ease;
}

.acp-date-scratch__cover:active { cursor: grabbing; }

.acp-date-scratch.is-revealed .acp-date-scratch__cover {
  opacity: 0;
  pointer-events: none;
  transform: scale(1.06);
}

.acp-date-flower-shower {
  position: absolute;
  z-index: 9;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.acp-date-flower-shower span {
  position: absolute;
  top: -24px;
  left: var(--flower-x);
  width: var(--flower-size);
  height: var(--flower-size);
  opacity: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 10%, #f6b337 0 28%, transparent 31%),
    radial-gradient(circle at 90% 50%, #dd4f42 0 28%, transparent 31%),
    radial-gradient(circle at 50% 90%, #f6b337 0 28%, transparent 31%),
    radial-gradient(circle at 10% 50%, #dd4f42 0 28%, transparent 31%),
    radial-gradient(circle, #7d241f 0 22%, transparent 25%);
  filter: drop-shadow(0 3px 2px rgba(80, 32, 18, .18));
}

.acp-paper-depth.has-date-reveal .acp-date-flower-shower span {
  animation: acpDateFlowerFall 2.6s cubic-bezier(.2,.65,.25,1) var(--flower-delay) both;
}

@keyframes acpDateFlowerFall {
  0% { opacity: 0; transform: translate3d(0, -20px, 0) rotate(0deg) scale(.7); }
  10% { opacity: .95; }
  82% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--flower-drift), 96vh, 0) rotate(540deg) scale(1.05); }
}

.acp-paper-depth__background img,
.acp-paper-depth__side img,
.acp-paper-depth__couple img {
  opacity: 0;
  will-change: opacity, transform, filter;
}

.acp-paper-depth.is-depth-visible .acp-paper-depth__background img {
  animation: acpPaperBackground 1.45s cubic-bezier(.2,.78,.2,1) both;
}

.acp-paper-depth.is-depth-visible .acp-paper-depth__couple img {
  animation: acpPaperCouple 1.4s cubic-bezier(.16,.82,.2,1) .34s both;
}

.acp-paper-depth.is-depth-visible .acp-paper-depth__side--left img {
  animation: acpPaperSideLeft 1.3s cubic-bezier(.16,.82,.2,1) .52s both;
}

.acp-paper-depth.is-depth-visible .acp-paper-depth__side--right img {
  animation: acpPaperSideRight 1.3s cubic-bezier(.16,.82,.2,1) .52s both;
}

.acp-paper-depth__petals {
  position: absolute;
  inset: 0;
  z-index: 6;
  overflow: hidden;
  pointer-events: none;
}

.acp-paper-depth__petals span {
  position: absolute;
  left: var(--petal-x);
  top: 73%;
  width: 8px;
  height: 5px;
  opacity: 0;
  border-radius: 80% 20% 75% 25%;
  background: linear-gradient(135deg, #e84c58, #a91735);
  box-shadow: 0 2px 3px rgba(91, 24, 25, .2);
}

.acp-paper-depth.is-depth-visible .acp-paper-depth__petals span {
  animation: acpPaperPetal 2.1s cubic-bezier(.2,.72,.2,1) var(--petal-delay) both;
}

@keyframes acpPaperBackground {
  from { opacity: 0; transform: scale(1.055); filter: blur(5px) saturate(.86); }
  to { opacity: 1; transform: scale(1); filter: blur(0) saturate(1); }
}

@keyframes acpPaperCouple {
  from { opacity: 0; transform: translate3d(0, 25px, 0) scale(.94); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

@keyframes acpPaperSideLeft {
  from { opacity: 0; transform: translate3d(-24px, 8px, 0) scale(.96); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

@keyframes acpPaperSideRight {
  from { opacity: 0; transform: translate3d(24px, 8px, 0) scale(.96); filter: blur(3px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

@keyframes acpPaperPetal {
  0% { opacity: 0; transform: translate3d(0, 14px, 0) rotate(var(--petal-rotate)) scale(.6); }
  24% { opacity: .85; }
  100% { opacity: 0; transform: translate3d(9px, -42px, 0) rotate(calc(var(--petal-rotate) + 100deg)) scale(1); }
}

/* Eight-section invitation flow, with the same clear progress cue as Punjabi. */
.acp-invite-shell {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.acp-page-flow {
  height: auto !important;
  overflow: visible !important;
}

.acp-rebuilt-page {
  box-sizing: border-box !important;
  display: grid !important;
  width: 100% !important;
  height: max(760px, 100svh) !important;
  min-height: 760px !important;
  place-items: center;
  overflow: hidden !important;
  padding: clamp(22px, 5vw, 36px) !important;
  color: #542116;
  background:
    radial-gradient(circle at 14% 12%, rgba(201, 141, 46, .16) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 82%, rgba(116, 37, 26, .1) 0 2px, transparent 3px),
    linear-gradient(180deg, #fffaf0, #f5e3bd 56%, #ead19a);
}

.acp-rebuilt-page::before,
.acp-rebuilt-page::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 18px;
  right: 18px;
  height: 58px;
  pointer-events: none;
  opacity: .8;
  background:
    radial-gradient(circle at 10px 12px, #a8252d 0 3px, transparent 4px) 0 0 / 32px 24px repeat-x,
    linear-gradient(90deg, transparent, #bd812e 22%, #8d271f 50%, #bd812e 78%, transparent) center 33px / 100% 1px no-repeat;
}

.acp-rebuilt-page::before { top: 12px; }
.acp-rebuilt-page::after { bottom: 12px; transform: rotate(180deg); }

.acp-rebuilt-page > section {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  margin: auto;
  text-align: center;
}

.acp-eyebrow {
  margin: 0 0 10px;
  color: #9a5d22;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(11px, 2.7vw, 13px);
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}

.acp-section-title,
.acp-display {
  margin: 0;
  color: #681d1b;
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(42px, 10.5vw, 58px);
  font-weight: 400;
  line-height: .98;
  text-wrap: balance;
}

.acp-display em {
  display: block;
  margin: 5px 0;
  color: #b07828;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .58em;
  font-weight: 400;
}

.acp-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 15px auto;
  color: #b67b2b;
  font-size: 12px;
}

.acp-ornament::before,
.acp-ornament::after {
  content: "";
  width: 64px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b67b2b);
}

.acp-ornament::after { transform: scaleX(-1); }

.acp-sacred-card {
  padding: clamp(36px, 8vw, 54px) clamp(22px, 6vw, 36px);
  background: rgba(255, 251, 239, .84);
  border: 1px solid rgba(139, 61, 30, .5);
  border-radius: 150px 150px 22px 22px;
  box-shadow: inset 0 0 0 4px rgba(211, 151, 54, .55), inset 0 0 30px rgba(128, 58, 24, .09), 0 16px 40px rgba(73, 34, 19, .16);
}

.acp-sacred-card__bells {
  position: absolute;
  top: 13px;
  left: 24px;
  right: 24px;
  display: flex;
  justify-content: space-between;
  color: #9b6122;
  font-size: 22px;
}

.acp-blessing,
.acp-invite-copy,
.acp-story-copy,
.acp-action-copy,
.acp-social-note,
.acp-final-blessing {
  margin: 0 auto;
  color: #60382a;
  font-family: "EB Garamond", Georgia, serif;
  font-size: clamp(16px, 3.8vw, 19px);
  line-height: 1.48;
  text-wrap: pretty;
}

.acp-blessing { max-width: 310px; margin-bottom: 22px; }
.acp-invite-copy { max-width: 330px; }

.acp-family-lines {
  margin: 20px auto;
  color: #642b23;
  font-family: "EB Garamond", Georgia, serif;
  font-size: clamp(15px, 3.4vw, 17px);
  line-height: 1.35;
}

.acp-family-lines p { margin: 0; }
.acp-family-lines span { display: block; margin: 5px 0; color: #b57a29; font-style: italic; }

.acp-date-seal {
  display: inline-flex;
  min-width: 132px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 2px auto 14px;
  padding: 9px 15px;
  color: #fff8df;
  background: #6f1f1c;
  border: 1px solid #d2a24b;
  border-radius: 999px;
}

.acp-date-seal span { font: 400 30px/1 "Shivaraja", Georgia, serif; }
.acp-date-seal small { font: 600 9px/1.35 "Cinzel", Georgia, serif; letter-spacing: .12em; text-align: left; }

.acp-closing-line,
.acp-story-signature,
.acp-microcopy {
  margin: 0;
  color: #8c5d2b;
  font-family: "Cinzel", Georgia, serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.45;
  text-transform: uppercase;
}

.acp-story-layout {
  display: flex;
  min-height: calc(max(760px, 100svh) - 80px);
  flex-direction: column;
  justify-content: center;
}

.acp-story-copy { max-width: 360px; margin-bottom: 11px; }

.acp-story-art {
  width: min(100%, 360px);
  height: clamp(230px, 34vh, 310px);
  margin: 18px auto 14px;
  overflow: hidden;
  background: url("/invites/samples/shiv-parvati/images/ZoSPNyNuCsD6DP7qCMN4LoYCjM.png") center 48% / cover no-repeat;
  border: 1px solid rgba(131, 62, 28, .45);
  border-radius: 160px 160px 18px 18px;
  box-shadow: inset 0 0 0 4px rgba(226, 184, 97, .42), 0 12px 28px rgba(68, 32, 18, .18);
}

.acp-action-layout,
.acp-social-layout,
.acp-countdown-layout {
  display: flex;
  min-height: calc(max(760px, 100svh) - 80px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.acp-action-copy { max-width: 350px; margin-top: 5px; }

.acp-rsvp-seal {
  display: grid;
  width: 116px;
  height: 116px;
  place-items: center;
  margin: 28px auto;
  color: #b97928;
  background: radial-gradient(circle, #fff9e8 54%, #ead098 55% 59%, #6f1f1c 60% 63%, transparent 64%);
  border-radius: 50%;
  filter: drop-shadow(0 10px 18px rgba(76, 34, 19, .18));
}

.acp-rsvp-seal span { font-family: Georgia, serif; font-size: 38px; }

.acp-primary-action {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 25px;
  color: #fff4d2;
  background: #6f1f1c;
  border: 1px solid #d29a42;
  border-radius: 999px;
  box-shadow: 0 9px 20px rgba(71, 26, 20, .2), inset 0 0 0 2px rgba(255, 235, 174, .1);
  font-family: "Cinzel", Georgia, serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
}

.acp-microcopy { margin-top: 14px; }

.acp-social-grid {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 30px auto 24px;
}

.acp-social-card {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  color: #5e271f;
  background: rgba(255, 251, 239, .82);
  border: 1px solid rgba(153, 80, 32, .42);
  border-radius: 100px 100px 18px 18px;
  box-shadow: inset 0 0 0 3px rgba(213, 161, 67, .23), 0 10px 22px rgba(70, 33, 18, .12);
  text-decoration: none;
}

.acp-social-card__icon {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  margin-bottom: 12px;
  color: #f3c86a;
  background: #6f1f1c;
  border-radius: 50%;
  font: 400 29px/1 Georgia, serif;
}

.acp-social-card strong { font: 600 13px/1.3 "Cinzel", Georgia, serif; letter-spacing: .07em; }
.acp-social-card small { margin-top: 6px; color: #815942; font: 400 14px/1.3 "EB Garamond", Georgia, serif; }

.acp-hashtag {
  margin: 0 0 12px;
  color: #7c251f;
  font-family: "Shivaraja", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(31px, 7vw, 42px);
  line-height: 1;
}

.acp-social-note { max-width: 340px; }

.acp-countdown-page {
  color: #fff4d3;
  background:
    linear-gradient(180deg, rgba(31, 17, 18, .22), rgba(72, 21, 23, .91)),
    url("/invites/samples/shiv-parvati/images/gWoFG87en7wHtYWduyLRMEpnH4.webp") center / cover no-repeat;
}

.acp-countdown-page .acp-eyebrow,
.acp-countdown-page .acp-section-title,
.acp-countdown-page .acp-final-blessing { color: #fff1c5; }

.acp-countdown {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin: 34px auto;
}

.acp-countdown div {
  padding: 14px 4px 12px;
  background: rgba(70, 20, 23, .76);
  border: 1px solid rgba(229, 181, 82, .58);
  border-radius: 14px;
  backdrop-filter: blur(7px);
}

.acp-countdown strong { display: block; color: #ffd77a; font: 400 clamp(25px, 6.5vw, 35px)/1 "Shivaraja", Georgia, serif; }
.acp-countdown span { display: block; margin-top: 5px; color: #fff0c8; font: 600 8px/1.2 "Cinzel", Georgia, serif; letter-spacing: .08em; text-transform: uppercase; }

.acp-magic-button {
  min-height: 49px;
  padding: 11px 22px;
  color: #69201d;
  background: linear-gradient(180deg, #ffe29a, #dda642);
  border: 1px solid #fff0bd;
  border-radius: 999px;
  box-shadow: 0 9px 24px rgba(25, 9, 8, .28);
  cursor: pointer;
  font-family: "Cinzel", Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.acp-final-blessing { max-width: 320px; margin-top: 28px; }
.acp-brand-signoff { margin-top: 34px; color: #e4ba62; font: 400 28px/1 "Shivaraja", Georgia, serif; }

.acp-page-flow > .acp-page-transition {
  position: relative;
  scroll-margin-top: 0;
  scroll-snap-align: start;
  opacity: .28;
  filter: blur(5px) saturate(.88);
  transform: translate3d(0, 26px, 0) scale(.988);
  transform-origin: 50% 42%;
  transition:
    opacity 1.05s cubic-bezier(.2,.78,.2,1),
    filter 1.05s ease,
    transform 1.15s cubic-bezier(.16,.82,.2,1);
  will-change: opacity, filter, transform;
}

.acp-page-flow > .acp-page-transition.is-page-visible {
  opacity: 1;
  filter: blur(0) saturate(1);
  transform: translate3d(0, 0, 0) scale(1);
}

.acp-page-flow > .acp-page-transition::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  opacity: .6;
  background: linear-gradient(180deg, rgba(255,249,235,.96), rgba(243,218,165,.9));
  clip-path: inset(0 0 0 0);
  transition: clip-path 1.1s cubic-bezier(.2,.78,.2,1), opacity .9s ease;
}

.acp-page-flow > .acp-page-transition.is-page-visible::after {
  opacity: 0;
  clip-path: inset(0 0 100% 0);
}

.acp-page-nav {
  position: fixed;
  z-index: 9998;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  display: flex;
  min-width: 148px;
  height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 7px;
  transform: translateX(-50%);
  color: #fff5d8;
  background: rgba(83, 20, 24, .92);
  border: 1px solid rgba(221, 165, 61, .75);
  border-radius: 999px;
  box-shadow: 0 9px 26px rgba(45, 17, 13, .28), inset 0 0 0 1px rgba(255, 235, 177, .08);
  backdrop-filter: blur(12px);
}

.acp-page-nav__arrow {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  padding: 0 0 2px;
  color: #efbe53;
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  font-family: Georgia, serif;
  font-size: 25px;
  line-height: 1;
}

.acp-page-nav__arrow:disabled {
  opacity: .28;
  cursor: default;
}

.acp-page-nav__arrow:focus-visible {
  outline: 2px solid #f3c865;
  outline-offset: 1px;
}

.acp-page-nav__count {
  min-width: 42px;
  font-family: "Cinzel", Georgia, serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-align: center;
}

/* Punjabi-style discrete page changes: only one invitation page is active. */
body.acp-discrete-invite {
  height: 100dvh !important;
  overflow: hidden !important;
  overscroll-behavior: none;
}

.acp-discrete-invite .acp-invite-shell,
.acp-discrete-invite .acp-page-flow {
  position: relative !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.acp-discrete-invite .acp-page-flow > .acp-page-transition {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  visibility: hidden;
  opacity: 0;
  filter: none;
  transform: translate3d(0, 28px, 0) scale(.985);
  pointer-events: none;
  scrollbar-width: none;
  overscroll-behavior: contain;
  transition: none !important;
}

.acp-discrete-invite .acp-page-flow > .acp-page-transition::-webkit-scrollbar {
  display: none;
}

.acp-discrete-invite .acp-page-flow > .acp-page-transition.is-current-page,
.acp-discrete-invite .acp-page-flow > .acp-page-transition.is-leaving-page {
  visibility: visible;
  opacity: 1;
  transform: none;
}

.acp-discrete-invite .acp-page-flow > .acp-page-transition.is-current-page {
  z-index: 2;
  pointer-events: auto;
}

.acp-discrete-invite .acp-page-flow > .acp-rebuilt-page.is-current-page {
  display: grid !important;
}

.acp-discrete-invite .acp-page-flow > .acp-page-transition.is-leaving-page {
  z-index: 3;
  pointer-events: none;
}

.acp-discrete-invite .acp-page-flow > .is-entering-next {
  z-index: 4;
  animation: acpPageEnterNext .74s cubic-bezier(.2,.78,.2,1) both;
}

.acp-discrete-invite .acp-page-flow > .is-entering-prev {
  z-index: 4;
  animation: acpPageEnterPrev .74s cubic-bezier(.2,.78,.2,1) both;
}

.acp-discrete-invite .acp-page-flow > .is-leaving-next {
  animation: acpPageLeaveNext .56s cubic-bezier(.4,0,.2,1) both;
}

.acp-discrete-invite .acp-page-flow > .is-leaving-prev {
  animation: acpPageLeavePrev .56s cubic-bezier(.4,0,.2,1) both;
}

@keyframes acpPageEnterNext {
  from { opacity: 0; transform: translate3d(0, 62px, 0) scale(.96); filter: blur(8px); clip-path: inset(100% 0 0 0 round 24px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); clip-path: inset(0 0 0 0 round 0); }
}

@keyframes acpPageEnterPrev {
  from { opacity: 0; transform: translate3d(0, -54px, 0) scale(.97); filter: blur(8px); clip-path: inset(0 0 100% 0 round 24px); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); clip-path: inset(0 0 0 0 round 0); }
}

@keyframes acpPageLeaveNext {
  from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
  to { opacity: 0; transform: translate3d(0, -42px, 0) scale(1.025); filter: blur(6px); }
}

@keyframes acpPageLeavePrev {
  from { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
  to { opacity: 0; transform: translate3d(0, 42px, 0) scale(.98); filter: blur(6px); }
}

@keyframes acpDiyas {
  from { transform: translateX(-50%) rotate(-2deg) scale(.94); opacity: .82; }
  to { transform: translateX(-50%) rotate(2deg) scale(1.05); opacity: 1; }
}

@container (max-width: 390px) {
  .acp-patrika { padding-inline: 17px; }
  .acp-patrika__portrait { height: 290px; }
  .acp-patrika__copy { font-size: 14px; }
  .acp-patrika__meta-value { font-size: 12px; }
}

@keyframes acpTitleFromLeft {
  from { opacity: 0; filter: blur(7px); transform: translate3d(-32px, 8px, 0); letter-spacing: .14em; }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
}

@keyframes acpTitleFromRight {
  from { opacity: 0; filter: blur(7px); transform: translate3d(32px, 8px, 0); letter-spacing: .14em; }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
}

@keyframes acpSacredGlow {
  0% { opacity: 0; transform: scale(.82); filter: blur(4px); }
  45% { opacity: 1; transform: scale(1.08); filter: drop-shadow(0 0 13px rgba(242,188,54,.75)); }
  100% { opacity: 1; transform: scale(1); filter: drop-shadow(0 0 3px rgba(242,188,54,.25)); }
}

@keyframes acpKenBurns {
  from { transform: scale(1.01); }
  to { transform: scale(1.07); }
}

@keyframes acpPetalRise {
  0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(0deg); }
  12% { opacity: .52; }
  72% { opacity: .35; }
  100% { opacity: 0; transform: translate3d(var(--drift), -108vh, 0) rotate(320deg); }
}

@keyframes acpMagicBurst {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.3); }
  18% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.25); }
}

@media (max-width: 600px) {
  .acp-divine-particles span:nth-child(n+7) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .acp-title-shiv .framer-text,
  .acp-title-parvati .framer-text,
  .acp-title-weds .framer-text,
  .wedding-fade .wedding-photo,
  .acp-divine-particles span,
  .acp-magic-particle {
    animation: none !important;
  }
  .acp-paper-depth__background img,
  .acp-paper-depth__side img,
  .acp-paper-depth__couple img,
  .acp-paper-depth__petals span {
    animation: none !important;
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }
  .acp-page-flow > .acp-page-transition,
  .acp-page-flow > .acp-page-transition.is-page-visible {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
  .acp-page-flow > .acp-page-transition::after {
    display: none !important;
  }
  .acp-patrika__image,
  .acp-depth-scene__layer img,
  .acp-patrika__details,
  .acp-patrika__diya::before {
    animation: none !important;
  }
  .acp-depth-scene__base,
  .acp-depth-scene__layer img {
    opacity: 1 !important;
    filter: none !important;
    transform: scale(.96) !important;
  }
  .acp-reveal-target {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
  [data-framer-name="SKY"] img,
  [data-framer-name="TEMPLE"] img {
    transform: none !important;
    transition: none;
  }
}
