/* Original Botanical Fold artwork. Opening state and dismissal belong to the shared controller. */
.iv-opening[data-opening="botanical-fold"] {
  --bf-ivory: #f5f1e6;
  --bf-sage: #66775e;
  --bf-ink: #4c5d47;
  --bf-gold: #b39456;
}
.iv-opening[data-opening="botanical-fold"] .bf-scene {
  position: relative;
  display: block;
  width: min(76vw, 380px);
  max-width: 100%;
  aspect-ratio: 4 / 5;
  margin: 0 auto;
  isolation: isolate;
  perspective: 1300px;
  color: var(--bf-ink);
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.iv-opening[data-opening="botanical-fold"] .bf-scene *,
.iv-opening[data-opening="botanical-fold"] .bf-scene *::before,
.iv-opening[data-opening="botanical-fold"] .bf-scene *::after { box-sizing: border-box; }
.iv-opening[data-opening="botanical-fold"] .bf-backing {
  position: absolute;
  display: block;
  inset: -1.7%;
  border: 1px solid rgba(43, 63, 40, .18);
  border-radius: 3px;
  background: linear-gradient(135deg, #809074, #697b60 52%, #53684c);
  box-shadow: 0 26px 55px -20px rgba(36, 46, 31, .34), 0 7px 15px -6px rgba(36, 46, 31, .19);
}
.iv-opening[data-opening="botanical-fold"] .bf-inner {
  position: absolute;
  display: grid;
  place-items: center;
  inset: 1.3%;
  padding: 11% 9%;
  border: 1px solid rgba(144, 123, 76, .23);
  background: radial-gradient(ellipse at 34% 16%, #fffdf7, #f7f3e9 62%, #f0eadd);
  box-shadow: inset 0 0 24px rgba(137, 112, 64, .035), 0 1px 3px rgba(41, 50, 34, .1);
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-rule {
  position: absolute;
  display: block;
  inset: 4.7%;
  border: 1px solid rgba(167, 143, 91, .42);
  pointer-events: none;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-rule::before,
.iv-opening[data-opening="botanical-fold"] .bf-inner-rule::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  left: calc(50% - 2.5px);
  background: var(--bf-ivory);
  border: 1px solid rgba(167, 143, 91, .58);
  transform: rotate(45deg);
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-rule::before { top: -3px; }
.iv-opening[data-opening="botanical-fold"] .bf-inner-rule::after { bottom: -3px; }
.iv-opening[data-opening="botanical-fold"] .bf-inner-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  opacity: 0;
  transform: scale(.94) translateY(5px);
  transition: opacity 1250ms ease 1250ms, transform 1250ms cubic-bezier(.2, .65, .22, 1) 1250ms;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-sprig {
  display: block;
  flex: 0 0 auto;
  width: 40%;
  max-width: 120px;
  height: auto;
  margin: 0 auto 6%;
  color: #78876a;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-names {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .08em;
  width: 100%;
  min-width: 0;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 5.7vw, 33px);
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -.025em;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-names > span {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-names > .bf-inner-amp {
  margin: .12em 0;
  color: #a99059;
  font-size: .65em;
  font-style: italic;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-divider {
  display: block;
  width: 30px;
  height: 1px;
  margin: 8% auto 6%;
  background: #b4a076;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-date {
  display: block;
  max-width: 100%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(10px, 2.6vw, 13px);
  line-height: 1.5;
  letter-spacing: .08em;
  color: #74806a;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-bottom-mark {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: 8%;
  color: #b4a076;
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-bottom-mark > span {
  display: block;
  width: 3px;
  height: 3px;
  background: currentColor;
  transform: rotate(45deg);
}
.iv-opening[data-opening="botanical-fold"] .bf-inner-bottom-mark > span:nth-child(2) { width: 4px; height: 4px; margin-top: -.5px; }
.iv-opening[data-opening="botanical-fold"] .bf-leaf {
  position: absolute;
  display: block;
  z-index: 2;
  top: 0;
  width: 50.12%;
  height: 100%;
  border: 1px solid rgba(172, 155, 115, .31);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transition: transform 1500ms cubic-bezier(.32, .03, .2, 1) 550ms, box-shadow 1500ms ease 550ms;
}
.iv-opening[data-opening="botanical-fold"] .bf-leaf-left {
  left: 0;
  border-radius: 2px 0 0 2px;
  background: linear-gradient(100deg, #fdfaf2, var(--bf-ivory) 60%, #eee9dd 98%, #d7cebb);
  box-shadow: inset 2px 0 3px rgba(255, 255, 255, .7), 3px 0 5px -3px rgba(89, 80, 54, .24);
  transform-origin: 0 50%;
  transform: rotateY(0deg);
}
.iv-opening[data-opening="botanical-fold"] .bf-leaf-right {
  right: 0;
  transition-delay: 700ms;
  border-radius: 0 2px 2px 0;
  background: linear-gradient(260deg, #fcf9f1, var(--bf-ivory) 60%, #f0ebe0 98%, #ddd4c2);
  box-shadow: inset -2px 0 3px rgba(255, 255, 255, .8), -2px 0 4px -2px rgba(89, 80, 54, .24);
  transform-origin: 100% 50%;
  transform: rotateY(0deg);
}
.iv-opening[data-opening="botanical-fold"] .bf-leaf-frame {
  position: absolute;
  display: block;
  inset: 4.8% 9.6%;
  border: 1px solid rgba(147, 157, 125, .46);
}
.iv-opening[data-opening="botanical-fold"] .bf-leaf-left .bf-leaf-frame { right: 0; border-right: 0; }
.iv-opening[data-opening="botanical-fold"] .bf-leaf-right .bf-leaf-frame { left: 0; border-left: 0; }
.iv-opening[data-opening="botanical-fold"] .bf-botany {
  position: absolute;
  display: block;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #74826a;
  opacity: .8;
}
.iv-opening[data-opening="botanical-fold"] .bf-ribbon {
  position: absolute;
  display: block;
  top: 47.5%;
  width: 100%;
  height: 5%;
  border-top: 1px solid rgba(209, 221, 188, .74);
  border-bottom: 1px solid rgba(97, 115, 82, .23);
  background: linear-gradient(180deg, #bac5a8, #a5b292 42%, #b1bf9f 72%, #a4b391);
  box-shadow: 0 2px 3px rgba(72, 79, 58, .08), inset 0 1px rgba(255, 255, 255, .2);
}
.iv-opening[data-opening="botanical-fold"] .bf-ribbon-left { left: 0; }
.iv-opening[data-opening="botanical-fold"] .bf-ribbon-right { right: 0; }
.iv-opening[data-opening="botanical-fold"] .bf-seal {
  position: absolute;
  display: block;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: clamp(66px, 18.5vw, 90px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  filter: drop-shadow(0 4px 4px rgba(76, 66, 37, .24));
}
.iv-opening[data-opening="botanical-fold"] .bf-seal-half {
  position: absolute;
  display: block;
  top: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
  opacity: 1;
  transition: transform 600ms cubic-bezier(.35, 0, .4, 1), opacity 300ms ease 300ms;
}
.iv-opening[data-opening="botanical-fold"] .bf-seal-half-left { left: 0; transform: translate(0, 0) rotate(0); transform-origin: 100% 50%; }
.iv-opening[data-opening="botanical-fold"] .bf-seal-half-right { left: 50%; transform: translate(0, 0) rotate(0); transform-origin: 0 50%; }
.iv-opening[data-opening="botanical-fold"] .bf-seal-disc {
  position: absolute;
  display: grid;
  place-items: center;
  top: 0;
  width: 200%;
  height: 100%;
  border: 1px solid #ae9156;
  border-radius: 50%;
  background: radial-gradient(ellipse at 29% 20%, #f0deac 0, #d3b879 32%, #c3a263 64%, #b48d49 100%);
  box-shadow: inset 0 0 0 3px rgba(228, 204, 149, .74), inset 0 0 0 4px rgba(123, 90, 37, .38), inset 0 2px 3px rgba(255, 249, 214, .58);
}
.iv-opening[data-opening="botanical-fold"] .bf-seal-half-left .bf-seal-disc { left: 0; }
.iv-opening[data-opening="botanical-fold"] .bf-seal-half-right .bf-seal-disc { left: -100%; }
.iv-opening[data-opening="botanical-fold"] .bf-seal-disc::before {
  content: "";
  position: absolute;
  inset: 10%;
  border: 1px solid rgba(131, 94, 36, .5);
  border-radius: 50%;
  box-shadow: 0 1px 0 rgba(255, 239, 190, .53);
}
.iv-opening[data-opening="botanical-fold"] .bf-monogram {
  position: relative;
  display: block;
  width: 74%;
  color: #846630;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(16px, 4.5vw, 23px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 0 rgba(255, 241, 197, .75);
}
.iv-opening[data-opening="botanical-fold"] .bf-seal-bead,
.iv-opening[data-opening="botanical-fold"] .bf-seal-petal {
  position: absolute;
  display: block;
  left: 47.5%;
  width: 5%;
  height: 5%;
  border: 1px solid rgba(132, 99, 44, .64);
  background: rgba(225, 199, 145, .65);
  transform: rotate(45deg);
}
.iv-opening[data-opening="botanical-fold"] .bf-seal-bead { top: 18%; }
.iv-opening[data-opening="botanical-fold"] .bf-seal-petal { bottom: 18%; }
.iv-opening[data-opening="botanical-fold"]:is([data-state="opening"], [data-state="leaving"], [data-state="open"]) .bf-seal-half-left { opacity: 0; transform: translate(-23%, 4%) rotate(-8deg); }
.iv-opening[data-opening="botanical-fold"]:is([data-state="opening"], [data-state="leaving"], [data-state="open"]) .bf-seal-half-right { opacity: 0; transform: translate(23%, -4%) rotate(8deg); }
.iv-opening[data-opening="botanical-fold"]:is([data-state="opening"], [data-state="leaving"], [data-state="open"]) .bf-leaf-left { transform: rotateY(-148deg); box-shadow: none; }
.iv-opening[data-opening="botanical-fold"]:is([data-state="opening"], [data-state="leaving"], [data-state="open"]) .bf-leaf-right { transform: rotateY(148deg); box-shadow: none; }
.iv-opening[data-opening="botanical-fold"]:is([data-state="opening"], [data-state="leaving"], [data-state="open"]) .bf-inner-content { opacity: 1; transform: scale(1) translateY(0); }
@media (max-width: 360px) {
  .iv-opening[data-opening="botanical-fold"] .bf-inner { padding: 10% 8%; }
  .iv-opening[data-opening="botanical-fold"] .bf-inner-names { font-size: 20px; }
  .iv-opening[data-opening="botanical-fold"] .bf-inner-sprig { width: 30%; margin-bottom: 4%; }
  .iv-opening[data-opening="botanical-fold"] .bf-inner-divider { margin-top: 6%; margin-bottom: 5%; }
  .iv-opening[data-opening="botanical-fold"] .bf-inner-bottom-mark { margin-top: 6%; }
}
@media (prefers-reduced-motion: reduce) {
  .iv-opening[data-opening="botanical-fold"] .bf-scene *,
  .iv-opening[data-opening="botanical-fold"] .bf-scene *::before,
  .iv-opening[data-opening="botanical-fold"] .bf-scene *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}