.hero__silk--one {
  animation: hero-silk-drift 13s ease-in-out infinite;
}

.hero__silk--two {
  animation: hero-silk-drift-alt 16s ease-in-out 1.4s infinite;
}

.hero__horizon {
  animation: gold-soft-pulse 6.4s ease-in-out infinite;
}

body::after {
  animation: cinematic-veil-drift 18s ease-in-out infinite;
}

.hero__brand {
  animation: hero-brand-reveal 1100ms ease-out both;
}

.hero__signature {
  animation: hero-signature-reveal 900ms ease-out 520ms both;
}

.hero__brand::before {
  animation: hero-brand-aura 7s ease-in-out infinite;
}

.hero__rose-fragment--one {
  animation: rose-fall-near-a 19s cubic-bezier(0.42, 0, 0.2, 1) 0.4s infinite;
}

.hero__rose-fragment--two {
  animation: rose-fall-far-a 24s cubic-bezier(0.42, 0, 0.24, 1) 3.2s infinite;
}

.hero__rose-fragment--three {
  animation: rose-fall-near-b 22s cubic-bezier(0.42, 0, 0.22, 1) 1.7s infinite;
}

.hero__rose-fragment--four {
  animation: rose-fall-far-b 27s cubic-bezier(0.42, 0, 0.24, 1) 5.6s infinite;
}

.hero__rose-fragment--five {
  animation: rose-fall-far-a 21s cubic-bezier(0.42, 0, 0.24, 1) 8.4s infinite reverse;
}

.hero__rose-fragment--six {
  animation: rose-fall-near-b 23s cubic-bezier(0.42, 0, 0.22, 1) 4.8s infinite reverse;
}

.hero__rose-fragment--seven {
  animation: rose-fall-far-b 25s cubic-bezier(0.42, 0, 0.24, 1) 7.2s infinite;
}

.hero__rose-fragment--eight {
  animation: rose-fall-near-a 20s cubic-bezier(0.42, 0, 0.2, 1) 9.6s infinite reverse;
}

.hero__rose-fragment--nine {
  animation: rose-fall-far-a 26s cubic-bezier(0.42, 0, 0.24, 1) 11.2s infinite;
}

.hero__rose-fragment--ten {
  animation: rose-fall-near-b 21s cubic-bezier(0.42, 0, 0.22, 1) 6.4s infinite;
}

.hero__rose-fragment--eleven {
  animation: rose-fall-far-b 29s cubic-bezier(0.42, 0, 0.24, 1) 12.8s infinite reverse;
}

.hero__rose-fragment--twelve {
  animation: rose-fall-near-a 23s cubic-bezier(0.42, 0, 0.2, 1) 3.8s infinite reverse;
}

.about::before {
  animation: about-cosmos-drift 18s ease-in-out infinite;
}

.about::after {
  animation: about-petal-breathe 12s ease-in-out infinite;
}

.about .script-line {
  animation: atmosphere-script-glint 8.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
}

.companions .section-heading--wide .script-line {
  animation: atmosphere-script-glint 8.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
}

.atmosphere .script-line {
  animation: atmosphere-script-glint 8.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
}

.wet-petal,
.wet-drop {
  animation: rose-rain-fall var(--rain-speed, 6.4s) linear var(--rain-delay, 0s) infinite;
}

.wet-petal--one { --rain-delay: -1.2s; --rain-speed: 7.2s; }
.wet-petal--two { --rain-delay: -3.6s; --rain-speed: 6.4s; }
.wet-petal--three { --rain-delay: -5.1s; --rain-speed: 7.8s; }
.wet-petal--four { --rain-delay: -2.4s; --rain-speed: 6.9s; }
.wet-drop--one { --rain-delay: -0.8s; --rain-speed: 5.8s; }
.wet-drop--two { --rain-delay: -4.2s; --rain-speed: 6.2s; }
.wet-drop--three { --rain-delay: -2.8s; --rain-speed: 5.6s; }
.wet-drop--four { --rain-delay: -1.8s; --rain-speed: 6.8s; }
.wet-drop--five { --rain-delay: -5.4s; --rain-speed: 6.1s; }
.wet-drop--six { --rain-delay: -3.1s; --rain-speed: 5.7s; }
.wet-drop--seven { --rain-delay: -6.1s; --rain-speed: 7s; }
.wet-drop--eight { --rain-delay: -2.1s; --rain-speed: 6.5s; }
.wet-drop--nine { --rain-delay: -4.8s; --rain-speed: 5.9s; }
.wet-drop--ten { --rain-delay: -0.4s; --rain-speed: 7.4s; }
.wet-drop--eleven { --rain-delay: -3.7s; --rain-speed: 6.6s; }
.wet-drop--twelve { --rain-delay: -5.9s; --rain-speed: 6s; }

.about-services li::after {
  animation: about-service-gold-sweep 14.4s cubic-bezier(0.42, 0, 0.18, 1) infinite;
}

.companions::before {
  animation: section-rouge-drift 20s ease-in-out infinite;
}

.companion-editorial::before {
  animation: editorial-rouge-breathe 13s ease-in-out infinite;
}

.companion-editorial::after {
  animation: editorial-gold-line 7.4s ease-in-out infinite;
}

.companion-band::before {
  animation: companion-cta-breathe 14s ease-in-out infinite;
}

.companion-band::after {
  animation: companion-cta-line 6.8s ease-in-out infinite;
}

.companion-cta::before {
  animation: companion-cta-breathe 14s ease-in-out infinite;
}

.companion-cta::after {
  animation: companion-cta-line 6.8s ease-in-out infinite;
}

.contact-transition {
  animation: contact-transition-veil 24s ease-in-out infinite alternate;
}

.contact-transition::before {
  animation: contact-transition-dust 18s ease-in-out infinite alternate;
}

.contact-transition::after {
  animation: contact-transition-line 7.8s ease-in-out infinite;
}

.contact-transition__content::after {
  animation: contact-transition-aura 10.5s ease-in-out infinite alternate;
}

.contact-transition .text-link {
  animation: atmosphere-script-glint 8.8s cubic-bezier(0.42, 0, 0.2, 1) infinite;
}

.contact-transition .text-link::before {
  animation: contact-transition-signature 5.8s ease-in-out infinite;
}

.escape-drift::before {
  animation: escape-water-ripple 16s ease-in-out infinite alternate;
}

.escape-drift__clouds::before {
  animation: escape-scanline-sweep 9.5s ease-in-out infinite;
}

.escape-cloud--one {
  animation: escape-cloud-drift-a 24s ease-in-out infinite alternate;
}

.escape-cloud--two {
  animation: escape-cloud-drift-b 28s ease-in-out infinite alternate;
}

.escape-cloud--three {
  animation: escape-cloud-drift-c 22s ease-in-out infinite alternate;
}

.escape-star {
  animation: escape-star-breathe 5.8s ease-in-out infinite;
}

.escape-star--two {
  animation-delay: 1.4s;
}

.escape-star--three {
  animation-delay: 2.8s;
}

.petal--one {
  animation: transition-petal-drift-a 16s ease-in-out 0.2s infinite;
}

.petal--two {
  animation: transition-petal-drift-b 18s ease-in-out 2.4s infinite;
}

.petal--three {
  animation: transition-petal-drift-a 20s ease-in-out 4.2s infinite reverse;
}

.petal--four {
  animation: transition-petal-drift-c 17s ease-in-out 1.6s infinite;
}

.petal--five {
  animation: transition-petal-drift-b 19s ease-in-out 5.2s infinite reverse;
}

.petal--six {
  animation: transition-petal-drift-c 21s ease-in-out 3s infinite;
}

.kiss--one {
  animation: transition-kiss-appear 12s ease-in-out 1s infinite;
}

.kiss--two {
  animation: transition-kiss-appear 14s ease-in-out 5s infinite;
}

.kiss--three {
  animation: transition-kiss-appear 15s ease-in-out 8s infinite;
}

.motion-petal--one {
  animation: companion-motion-petal-a 17s ease-in-out 0.4s infinite;
}

.motion-petal--two {
  animation: companion-motion-petal-b 19s ease-in-out 2.2s infinite;
}

.motion-petal--three {
  animation: companion-motion-petal-c 21s ease-in-out 4.4s infinite;
}

.motion-petal--four {
  animation: companion-motion-petal-a 18s ease-in-out 6.2s infinite reverse;
}

.motion-glow--one {
  animation: companion-motion-glow 11s ease-in-out infinite alternate;
}

.motion-glow--two {
  animation: companion-motion-glow 13s ease-in-out 1.8s infinite alternate-reverse;
}

.companions::after,
.contact::after {
  animation: section-petal-float 14s ease-in-out infinite;
}

.experiences::after {
  animation: section-rose-pulse 12s ease-in-out infinite;
}

.contact::before {
  animation: section-veil-drift 18s ease-in-out infinite;
}

.difference::before {
  animation: difference-velvet-drift 16s ease-in-out infinite;
}

.difference__image img {
  animation: difference-hourglass-breathe 12s ease-in-out infinite;
}

.experience-grid::before {
  animation: experience-single-beam 8.8s ease-in-out infinite;
}

.difference-grid::before {
  animation: difference-single-beam 9.4s ease-in-out 1.8s infinite;
}

@keyframes experience-single-beam {
  0%,
  22% {
    opacity: 0;
    transform: translateX(0) rotate(-11deg);
  }

  38% {
    opacity: 0.42;
  }

  58% {
    opacity: 0.16;
    transform: translateX(880%) rotate(-11deg);
  }

  100% {
    opacity: 0;
    transform: translateX(880%) rotate(-11deg);
  }
}

@keyframes difference-single-beam {
  0%,
  24% {
    opacity: 0;
    transform: translateX(0) rotate(-9deg);
  }

  42% {
    opacity: 0.34;
  }

  60% {
    opacity: 0.12;
    transform: translateX(760%) rotate(-9deg);
  }

  100% {
    opacity: 0;
    transform: translateX(760%) rotate(-9deg);
  }
}

@keyframes gold-card-glimmer {
  0%,
  18% {
    opacity: 0;
    transform: translateX(-78%) skewX(-10deg);
  }

  34% {
    opacity: 0.68;
  }

  52% {
    opacity: 0.24;
    transform: translateX(78%) skewX(-10deg);
  }

  100% {
    opacity: 0;
    transform: translateX(78%) skewX(-10deg);
  }
}

@keyframes hero-brand-reveal {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.96);
    filter: blur(6px);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes hero-brand-aura {
  0%,
  100% {
    opacity: 0.34;
    transform: translate(-50%, -50%) scale(0.96);
  }

  48% {
    opacity: 0.58;
    transform: translate(-50%, -50%) scale(1.04);
  }
}

@keyframes hero-signature-reveal {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes site-background-drift {
  from {
    background-position:
      0 0,
      0 0,
      0 0;
    transform: translate3d(-2%, 0, 0) rotate(-2deg);
  }

  to {
    background-position:
      6% 3%,
      -4% 5%,
      9% 0;
    transform: translate3d(2%, -1%, 0) rotate(1deg);
  }
}

@keyframes atmosphere-dust-drift {
  from {
    background-position:
      0 0,
      0 0,
      0 0;
    opacity: 0.13;
  }

  to {
    background-position:
      0 0,
      4% -2%,
      36px 58px;
    opacity: 0.22;
  }
}

@keyframes rose-rain-fall {
  0% {
    opacity: 0;
    transform: translate3d(-1.8vw, -18vh, 0) rotate(11deg);
  }

  12% {
    opacity: 0.34;
  }

  74% {
    opacity: 0.28;
  }

  100% {
    opacity: 0;
    transform: translate3d(1.4vw, 34vh, 0) rotate(11deg);
  }
}

@keyframes wet-petal-drift-a {
  0% {
    opacity: 0;
    transform: translate3d(-4vw, 4vh, 0) rotate(-18deg) scale(0.74);
  }

  18%,
  66% {
    opacity: 0.46;
  }

  100% {
    opacity: 0;
    transform: translate3d(7vw, -6vh, 0) rotate(34deg) scale(1.04);
  }
}

@keyframes wet-petal-drift-b {
  0% {
    opacity: 0;
    transform: translate3d(3vw, -2vh, 0) rotate(16deg) scale(0.7);
  }

  20%,
  70% {
    opacity: 0.38;
  }

  100% {
    opacity: 0;
    transform: translate3d(-8vw, 6vh, 0) rotate(-32deg) scale(1);
  }
}

@keyframes wet-petal-drift-c {
  0% {
    opacity: 0;
    transform: translate3d(-1vw, -1vh, 0) rotate(32deg) scale(0.68);
  }

  24%,
  72% {
    opacity: 0.32;
  }

  100% {
    opacity: 0;
    transform: translate3d(5vw, 7vh, 0) rotate(-22deg) scale(0.96);
  }
}

@keyframes wet-drop-slide {
  0% {
    opacity: 0;
    transform: translate3d(0, -5vh, 0) scaleY(0.7);
  }

  18% {
    opacity: 0.40;
  }

  58% {
    opacity: 0.30;
    transform: translate3d(0.8vw, 5vh, 0) scaleY(1);
  }

  100% {
    opacity: 0;
    transform: translate3d(1.4vw, 13vh, 0) scaleY(0.78);
  }
}

@keyframes hero-signature-glint {
  0%,
  34% {
    left: -62%;
    opacity: 0;
  }

  46% {
    opacity: 0.78;
  }

  64%,
  100% {
    left: 122%;
    opacity: 0;
  }
}

@keyframes hero-photo-petals-fall {
  0% {
    background-position:
      center top,
      center -120%;
    opacity: 0.36;
    transform: translate3d(0, -3%, 0) scale(1.01);
  }

  50% {
    opacity: 0.46;
    transform: translate3d(-1.2vw, 1%, 0) scale(1.035);
  }

  100% {
    background-position:
      center top,
      center 120%;
    opacity: 0.36;
    transform: translate3d(0.8vw, 4%, 0) scale(1.01);
  }
}

@keyframes rose-fall-near-a {
  0% {
    opacity: 0;
    transform: translate3d(-4vw, -16vh, 0) rotate(-24deg) rotateX(12deg) rotateY(-14deg) scale(0.94);
  }

  12% {
    opacity: 0.56;
  }

  34% {
    opacity: 0.78;
    transform: translate3d(2vw, 5vh, 0) rotate(14deg) rotateX(28deg) rotateY(14deg) scale(1.06);
  }

  62% {
    opacity: 0.68;
    transform: translate3d(-2vw, 30vh, 0) rotate(48deg) rotateX(-12deg) rotateY(26deg) scale(0.98);
  }

  100% {
    opacity: 0;
    transform: translate3d(7vw, 72vh, 0) rotate(86deg) rotateX(18deg) rotateY(-24deg) scale(0.86);
  }
}

@keyframes rose-fall-near-b {
  0% {
    opacity: 0;
    transform: translate3d(8vw, -10vh, 0) rotate(18deg) rotateX(-10deg) rotateY(16deg) scale(1);
  }

  14% {
    opacity: 0.44;
  }

  42% {
    opacity: 0.68;
    transform: translate3d(-5vw, 14vh, 0) rotate(-18deg) rotateX(26deg) rotateY(-20deg) scale(1.12);
  }

  72% {
    opacity: 0.54;
    transform: translate3d(1vw, 44vh, 0) rotate(42deg) rotateX(-18deg) rotateY(22deg) scale(1);
  }

  100% {
    opacity: 0;
    transform: translate3d(-8vw, 76vh, 0) rotate(76deg) rotateX(10deg) rotateY(-24deg) scale(0.9);
  }
}

@keyframes rose-fall-far-a {
  0% {
    opacity: 0;
    transform: translate3d(2vw, -18vh, 0) rotate(16deg) rotateX(14deg) rotateY(-14deg) scale(0.72);
  }

  16% {
    opacity: 0.34;
  }

  46% {
    opacity: 0.52;
    transform: translate3d(-4vw, 18vh, 0) rotate(-24deg) rotateX(30deg) rotateY(20deg) scale(0.84);
  }

  78% {
    opacity: 0.34;
    transform: translate3d(4vw, 52vh, 0) rotate(30deg) rotateX(-14deg) rotateY(-22deg) scale(0.76);
  }

  100% {
    opacity: 0;
    transform: translate3d(-2vw, 84vh, 0) rotate(62deg) rotateX(16deg) rotateY(24deg) scale(0.66);
  }
}

@keyframes rose-fall-far-b {
  0% {
    opacity: 0;
    transform: translate3d(-1vw, -16vh, 0) rotate(-8deg) rotateX(-12deg) rotateY(18deg) scale(0.62);
  }

  20% {
    opacity: 0.28;
  }

  52% {
    opacity: 0.46;
    transform: translate3d(5vw, 20vh, 0) rotate(24deg) rotateX(24deg) rotateY(-20deg) scale(0.76);
  }

  84% {
    opacity: 0.22;
  }

  100% {
    opacity: 0;
    transform: translate3d(-5vw, 86vh, 0) rotate(-48deg) rotateX(-16deg) rotateY(24deg) scale(0.58);
  }
}

@keyframes about-cosmos-drift {
  0%,
  100% {
    opacity: 0.78;
    transform: translate3d(-1%, 0, 0);
  }

  50% {
    opacity: 0.94;
    transform: translate3d(1.5%, -1%, 0);
  }
}

@keyframes about-petal-breathe {
  0%,
  100% {
    opacity: 0.24;
    transform: rotate(-4deg) scale(1);
  }

  48% {
    opacity: 0.36;
    transform: rotate(-2deg) scale(1.035);
  }
}

@keyframes section-rouge-drift {
  0%,
  100% {
    opacity: 0.34;
    transform: translate3d(-1%, 0, 0) scale(1);
  }

  50% {
    opacity: 0.50;
    transform: translate3d(1.4%, -1%, 0) scale(1.025);
  }
}

@keyframes editorial-rouge-breathe {
  0%,
  100% {
    opacity: 0.72;
    transform: scale(1);
  }

  48% {
    opacity: 0.94;
    transform: scale(1.025);
  }
}

@keyframes editorial-gold-line {
  0%,
  100% {
    opacity: 0.24;
    transform: translateX(calc(-50% - 18px)) scaleX(0.72);
  }

  48% {
    opacity: 0.86;
    transform: translateX(calc(-50% + 16px)) scaleX(1);
  }
}

@keyframes companion-cta-breathe {
  0%,
  100% {
    opacity: 0.78;
    transform: scale(1);
  }

  50% {
    opacity: 0.96;
    transform: scale(1.025);
  }
}

@keyframes companion-cta-line {
  0%,
  100% {
    opacity: 0.18;
    transform: translateX(-50%) scaleX(0.72);
  }

  48% {
    opacity: 0.86;
    transform: translateX(-50%) scaleX(1);
  }
}

@keyframes about-service-gold-sweep {
  0%,
  36%,
  100% {
    opacity: 0;
    transform: translateX(0) rotate(8deg);
  }

  10% {
    opacity: 0.16;
  }

  18% {
    opacity: 0.32;
  }

  28% {
    opacity: 0.10;
    transform: translateX(640%) rotate(8deg);
  }
}

@keyframes about-script-shimmer {
  0%,
  18% {
    color: var(--ade-gold-soft);
    filter:
      drop-shadow(0 0 0 rgba(210, 188, 138, 0))
      drop-shadow(0 0 0 rgba(255, 246, 218, 0));
  }

  42% {
    color: var(--ade-gold-lit);
    filter:
      drop-shadow(0 0 8px rgba(210, 188, 138, 0.28))
      drop-shadow(0 0 18px rgba(255, 246, 218, 0.12));
  }

  68%,
  100% {
    color: var(--ade-gold-soft);
    filter:
      drop-shadow(0 0 0 rgba(210, 188, 138, 0))
      drop-shadow(0 0 0 rgba(255, 246, 218, 0));
  }
}

@keyframes enquiryLegendShimmer {
  0%,
  100% {
    background-position: 0% 50%;
    filter:
      drop-shadow(0 0 0 rgba(210, 188, 138, 0))
      drop-shadow(0 0 0 rgba(255, 246, 218, 0));
  }

  46% {
    background-position: 100% 50%;
    filter:
      drop-shadow(0 0 8px rgba(210, 188, 138, 0.20))
      drop-shadow(0 0 18px rgba(255, 246, 218, 0.10));
  }
}

@keyframes atmosphere-script-glint {
  0%,
  22%,
  100% {
    background-position: 0% 50%;
    filter:
      drop-shadow(0 0 0 rgba(210, 188, 138, 0))
      drop-shadow(0 0 0 rgba(255, 246, 218, 0));
  }

  46% {
    background-position: 92% 50%;
    filter:
      drop-shadow(0 0 8px rgba(210, 188, 138, 0.24))
      drop-shadow(0 0 20px rgba(255, 246, 218, 0.10));
  }

  70% {
    background-position: 100% 50%;
    filter:
      drop-shadow(0 0 4px rgba(210, 188, 138, 0.12))
      drop-shadow(0 0 12px rgba(255, 246, 218, 0.06));
  }
}

@keyframes contact-transition-veil {
  0% {
    background-position:
      center,
      center,
      64% 54%,
      center,
      center;
    background-size:
      auto,
      auto,
      auto,
      102% auto,
      cover;
  }

  100% {
    background-position:
      center,
      center,
      58% 50%,
      52% 48%,
      48% 52%;
    background-size:
      auto,
      auto,
      auto,
      112% auto,
      cover;
  }
}

@keyframes contact-transition-dust {
  0% {
    opacity: 0.18;
    transform: translate3d(-1.2vw, 0, 0) scale(1.02);
  }

  100% {
    opacity: 0.34;
    transform: translate3d(1.5vw, -0.8vh, 0) scale(1.05);
  }
}

@keyframes contact-transition-line {
  0%,
  100% {
    opacity: 0.42;
    transform: translateX(-50%) scaleX(0.82);
  }

  48% {
    opacity: 0.88;
    transform: translateX(-50%) scaleX(1);
  }
}

@keyframes contact-transition-aura {
  0% {
    opacity: 0.48;
    transform: translate3d(-1vw, 0, 0) scale(0.92);
  }

  100% {
    opacity: 0.86;
    transform: translate3d(1.4vw, -0.6vh, 0) scale(1.06);
  }
}

@keyframes contact-transition-signature {
  0%,
  100% {
    opacity: 0.36;
    transform: scaleX(0.58);
  }

  45% {
    opacity: 0.94;
    transform: scaleX(1);
  }
}

@keyframes escape-drift-mist {
  0% {
    opacity: 0.48;
    transform: translate3d(-1.8vw, 0, 0) scale(1);
  }

  100% {
    opacity: 0.74;
    transform: translate3d(1.8vw, -0.8vh, 0) scale(1.05);
  }
}

@keyframes escape-water-ripple {
  0% {
    opacity: 0.42;
    transform: translate3d(-1.4vw, 0, 0) scaleY(0.96);
  }

  100% {
    opacity: 0.66;
    transform: translate3d(1.6vw, -0.8vh, 0) scaleY(1.04);
  }
}

@keyframes escape-scanline-sweep {
  0%,
  100% {
    opacity: 0.16;
    transform: translate3d(-16%, 0, 0);
  }

  42% {
    opacity: 0.42;
  }

  58% {
    opacity: 0.24;
    transform: translate3d(16%, 0, 0);
  }
}

@keyframes escape-cloud-drift-a {
  0% {
    transform: translate3d(-2vw, 0, 0) scale(0.98);
  }

  100% {
    transform: translate3d(8vw, -1.4vh, 0) scale(1.08);
  }
}

@keyframes escape-cloud-drift-b {
  0% {
    transform: translate3d(3vw, 1vh, 0) scale(1.04);
  }

  100% {
    transform: translate3d(-8vw, -1vh, 0) scale(0.96);
  }
}

@keyframes escape-cloud-drift-c {
  0% {
    transform: translate3d(-1vw, 1vh, 0) scale(0.94);
  }

  100% {
    transform: translate3d(3vw, -1.4vh, 0) scale(1.06);
  }
}

@keyframes escape-star-breathe {
  0%,
  100% {
    opacity: 0.16;
    transform: scale(0.82);
  }

  46% {
    opacity: 0.64;
    transform: scale(1.24);
  }
}

@keyframes transition-petal-drift-a {
  0% {
    opacity: 0;
    transform: translate3d(-2vw, 2vh, 0) rotate(-18deg) scale(0.78);
  }

  18%,
  72% {
    opacity: 0.58;
  }

  100% {
    opacity: 0;
    transform: translate3d(7vw, -5vh, 0) rotate(42deg) scale(1.05);
  }
}

@keyframes transition-petal-drift-b {
  0% {
    opacity: 0;
    transform: translate3d(3vw, -1vh, 0) rotate(24deg) scale(0.72);
  }

  20%,
  68% {
    opacity: 0.46;
  }

  100% {
    opacity: 0;
    transform: translate3d(-6vw, 4vh, 0) rotate(-38deg) scale(1);
  }
}

@keyframes transition-petal-drift-c {
  0% {
    opacity: 0;
    transform: translate3d(-1vw, -2vh, 0) rotate(8deg) scale(0.82);
  }

  24%,
  70% {
    opacity: 0.50;
  }

  100% {
    opacity: 0;
    transform: translate3d(5vw, 3vh, 0) rotate(54deg) scale(1.08);
  }
}

@keyframes transition-kiss-appear {
  0%,
  18%,
  100% {
    opacity: 0;
  }

  34% {
    opacity: 0.20;
    transform: translate3d(0, 0, 0) rotate(var(--kiss-rotate, -8deg)) scale(var(--kiss-scale, 0.92));
  }

  58% {
    opacity: 0.10;
    transform: translate3d(0.8vw, -0.4vh, 0) rotate(var(--kiss-rotate, -8deg)) scale(calc(var(--kiss-scale, 0.92) + 0.08));
  }
}

@keyframes companion-motion-petal-a {
  0% {
    opacity: 0;
    transform: translate3d(-3vw, 2vh, 0) rotate(-18deg) scale(0.78);
  }

  18%,
  72% {
    opacity: 0.52;
  }

  100% {
    opacity: 0;
    transform: translate3d(8vw, -5vh, 0) rotate(42deg) scale(1.08);
  }
}

@keyframes companion-motion-petal-b {
  0% {
    opacity: 0;
    transform: translate3d(3vw, -1vh, 0) rotate(24deg) scale(0.72);
  }

  22%,
  68% {
    opacity: 0.42;
  }

  100% {
    opacity: 0;
    transform: translate3d(-7vw, 5vh, 0) rotate(-38deg) scale(1);
  }
}

@keyframes companion-motion-petal-c {
  0% {
    opacity: 0;
    transform: translate3d(-1vw, -2vh, 0) rotate(8deg) scale(0.82);
  }

  24%,
  70% {
    opacity: 0.46;
  }

  100% {
    opacity: 0;
    transform: translate3d(5vw, 3vh, 0) rotate(54deg) scale(1.08);
  }
}

@keyframes companion-motion-glow {
  0% {
    opacity: 0.42;
    transform: translate3d(-1vw, 0, 0) scale(0.92);
  }

  100% {
    opacity: 0.76;
    transform: translate3d(1.5vw, -0.7vh, 0) scale(1.08);
  }
}

@keyframes section-petal-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(-6deg) scale(1);
  }

  50% {
    transform: translate3d(-1.6vw, -1vh, 0) rotate(-3deg) scale(1.035);
  }
}

@keyframes section-rose-pulse {
  0%,
  100% {
    opacity: 0.22;
    transform: scale(1);
  }

  48% {
    opacity: 0.36;
    transform: scale(1.045);
  }
}

@keyframes section-veil-drift {
  0%,
  100% {
    opacity: 0.70;
    transform: translate3d(-1%, 0, 0);
  }

  50% {
    opacity: 0.88;
    transform: translate3d(1%, -1%, 0);
  }
}

@keyframes hero-silk-drift {
  0%,
  100% {
    opacity: 0.28;
    transform: translate3d(0, 0, 0) rotate(-18deg);
  }

  50% {
    opacity: 0.42;
    transform: translate3d(-3vw, -1.4vh, 0) rotate(-14deg);
  }
}

@keyframes cinematic-veil-drift {
  0%,
  100% {
    opacity: 0.58;
    transform: translate3d(-3%, 0, 0) rotate(-2deg);
  }

  50% {
    opacity: 0.82;
    transform: translate3d(3%, -1.5%, 0) rotate(1deg);
  }
}

@keyframes difference-velvet-drift {
  0%,
  100% {
    opacity: 0.68;
    transform: translate3d(-2%, 0, 0) scale(1.02);
  }

  50% {
    opacity: 0.92;
    transform: translate3d(2%, -1%, 0) scale(1.05);
  }
}

@keyframes difference-hourglass-breathe {
  0%,
  100% {
    filter: saturate(0.88) contrast(1.14) brightness(0.74);
    transform: scale(1.03);
  }

  48% {
    filter: saturate(1.02) contrast(1.2) brightness(0.86);
    transform: scale(1.065);
  }
}

@keyframes hero-silk-drift-alt {
  0%,
  100% {
    opacity: 0.16;
    transform: translate3d(0, 0, 0) rotate(24deg) scale(0.82);
  }

  50% {
    opacity: 0.27;
    transform: translate3d(2.4vw, 1.2vh, 0) rotate(18deg) scale(0.86);
  }
}

@keyframes gold-soft-pulse {
  0%,
  100% {
    opacity: 0.56;
    filter: saturate(0.92);
  }

  48% {
    opacity: 1;
    filter: saturate(1.08);
  }
}

@keyframes gold-column-sweep {
  0%,
  18% {
    opacity: 0;
    transform: translateX(0) rotate(18deg);
  }

  32% {
    opacity: 0.9;
  }

  58% {
    opacity: 0.72;
  }

  82%,
  100% {
    opacity: 0;
    transform: translateX(640%) rotate(18deg);
  }
}

@keyframes gold-edge-pulse {
  0%,
  22%,
  100% {
    opacity: 0;
    transform: scaleX(0.18);
  }

  34% {
    opacity: 0.72;
    transform: scaleX(0.88);
  }

  48% {
    opacity: 0.18;
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__brand,
  .hero__signature,
  .hero__brand::before,
  .hero__brand::after,
  .hero__rose-fragment,
  .companion-editorial::before,
  .companion-editorial::after,
  .about::before,
  .about::after,
  .companions::before,
  .companions::after,
  .contact-transition,
  .contact-transition::before,
  .contact-transition::after,
  .contact-transition .text-link,
  .escape-drift::before,
  .escape-drift__clouds::before,
  .escape-cloud,
  .escape-star,
  .companions .section-heading--wide .script-line,
  .experiences::after,
  .contact::before,
  .contact::after,
  .hero__silk,
  .hero__horizon,
  body::after,
  .atmosphere::before,
  .wet-petal,
  .wet-drop,
  .difference::before,
  .difference__image img,
  .experience-grid::before,
  .difference-grid::before,
  .experience-card::before,
  .experience-card::after,
  .difference-grid article::after {
    animation: none;
  }
}
