:root {
  --fx-ink: #04070d;
  --fx-ink-soft: rgba(4, 7, 13, 0.72);
  --fx-champagne: #d8b980;
  --fx-pearl: #f4efe7;
  --fx-glow: rgba(216, 185, 128, 0.34);
  --fx-glow-strong: rgba(216, 185, 128, 0.56);
  --fx-glow-cool: rgba(187, 214, 255, 0.18);
  --fx-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --fx-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --fx-ease-snap: cubic-bezier(0.2, 0.8, 0.2, 1);
  --fx-fast: 180ms;
  --fx-base: 320ms;
  --fx-slow: 900ms;
  --fx-intro-distance: 28px;
  --fx-intro-stagger: 90ms;
  --fx-intro-duration: 820ms;
}

.luxury-motion-shell {
  --noise-opacity: 0.065;
}

[data-parallax-depth] {
  --parallax-depth: 0.1;
  --parallax-x: calc((var(--nyx-pointer-x, 0.5) - 0.5) * 26px * var(--parallax-depth));
  --parallax-y: calc((((var(--nyx-pointer-y, 0.5) - 0.5) * 14px) - (var(--nyx-scroll-progress, 0) * 64px)) * var(--parallax-depth));
}

.ambient-layer {
  position: fixed;
  pointer-events: none;
  z-index: 0;
  transition: transform var(--fx-slow) var(--fx-ease-soft), opacity var(--fx-base) var(--fx-ease-out);
  will-change: transform, opacity;
}

.ambient-layer--halo {
  top: 10vh;
  left: 6vw;
  width: clamp(12rem, 22vw, 22rem);
  height: clamp(12rem, 22vw, 22rem);
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(216, 185, 128, 0.5) 0%, rgba(216, 185, 128, 0.16) 38%, transparent 70%);
  filter: blur(16px);
  opacity: 0.55;
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * -60px),
      calc((var(--nyx-pointer-y, 0.5) - 0.5) * 34px),
      0
    )
    scale(calc(1 + (var(--nyx-scroll-progress, 0) * 0.08)));
}

.ambient-layer--grid {
  top: 32vh;
  right: 7vw;
  width: min(34vw, 28rem);
  height: min(34vw, 28rem);
  opacity: 0.3;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.4) 0 1px, transparent 1.5px),
    linear-gradient(180deg, rgba(216, 185, 128, 0.12), transparent 75%);
  background-size: 18px 18px, 100% 100%;
  mask: radial-gradient(circle at center, #000 32%, transparent 76%);
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 45px),
      calc((var(--nyx-scroll-progress, 0) * -90px) + ((var(--nyx-pointer-y, 0.5) - 0.5) * 24px)),
      0
    )
    rotate(calc(var(--nyx-scroll-progress, 0) * 4deg));
}

.ambient-layer--beam {
  top: 14vh;
  right: -8vw;
  width: min(38vw, 34rem);
  height: min(66vh, 44rem);
  opacity: 0.2;
  background: linear-gradient(180deg, rgba(244, 239, 231, 0.18), rgba(216, 185, 128, 0.04) 35%, transparent 76%);
  clip-path: polygon(22% 0%, 72% 0%, 100% 100%, 0% 100%);
  filter: blur(18px);
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 30px),
      calc(var(--nyx-scroll-progress, 0) * 40px),
      0
    )
    rotate(8deg);
}

.section-backplate {
  position: absolute;
  inset: 7% 4%;
  z-index: 0;
  pointer-events: none;
  border-radius: 2.4rem;
  opacity: 0.9;
  transition: transform var(--fx-slow) var(--fx-ease-soft), opacity var(--fx-base) var(--fx-ease-out);
  will-change: transform;
}

.section-backplate--hero {
  inset: auto -8% 2% 44%;
  height: 44%;
  border-radius: 3rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(216, 185, 128, 0.2), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 65%);
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * -30px),
      calc((var(--nyx-scroll-progress, 0) * -70px)),
      0
    )
    rotate(-8deg);
}

.section-backplate--about,
.section-backplate--services,
.section-backplate--benefits,
.section-backplate--journey,
.section-backplate--contact {
  background:
    radial-gradient(circle at 15% 12%, rgba(216, 185, 128, 0.08), transparent 18%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.08));
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 18px),
      calc((var(--nyx-scroll-progress, 0) * -30px)),
      0
    );
}

.section-backplate--fleet {
  inset: 5% 3%;
  background:
    radial-gradient(circle at 82% 14%, rgba(216, 185, 128, 0.14), transparent 18%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 40%);
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * -24px),
      calc((var(--nyx-scroll-progress, 0) * -55px)),
      0
    );
}

.hero-ornament,
.fleet-ornament {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  will-change: transform;
}

.hero-ornament--arc {
  top: 16%;
  left: 50%;
  width: min(40vw, 34rem);
  height: min(40vw, 34rem);
  border: 1px solid rgba(244, 239, 231, 0.08);
  border-left-color: transparent;
  border-bottom-color: transparent;
  border-radius: 999px;
  transform: translate3d(calc(-50% + ((var(--nyx-pointer-x, 0.5) - 0.5) * 14px)), calc(var(--nyx-scroll-progress, 0) * -22px), 0)
    rotate(calc(-5deg + (var(--nyx-scroll-progress, 0) * 5deg)));
  opacity: 0.2;
}

.hero-ornament--flare {
  top: auto;
  left: 18%;
  bottom: 12%;
  width: 10rem;
  height: 10rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(216, 185, 128, 0.3), transparent 66%);
  filter: blur(10px);
  transform: translate3d(calc((var(--nyx-pointer-x, 0.5) - 0.5) * 15px), calc((var(--nyx-pointer-y, 0.5) - 0.5) * 8px), 0);
  opacity: 0.3;
}

.fleet-ornament--orbit {
  top: 16%;
  right: 10%;
  width: min(20vw, 14rem);
  aspect-ratio: 1;
  border-radius: 999px;
  border: 1px solid rgba(216, 185, 128, 0.2);
  box-shadow:
    0 0 0 14px rgba(216, 185, 128, 0.04),
    0 0 0 34px rgba(244, 239, 231, 0.02);
  opacity: 0.32;
  animation: fxOrbitDrift 18s linear infinite;
}

[data-sheen="soft"] {
  --lift-y: -5px;
  --lift-scale: 1.008;
}

[data-sheen="luxury"] {
  --lift-y: -7px;
  --lift-scale: 1.012;
}

/* Parallax scaffolding */
.fx-parallax {
  position: relative;
  overflow: clip;
  perspective: 1200px;
  transform-style: preserve-3d;
}

.fx-parallax-layer {
  position: absolute;
  inset: 0;
  will-change: transform;
  transform: translate3d(0, var(--parallax-y, 0), var(--parallax-z, 0)) scale(var(--parallax-scale, 1));
  transition: transform var(--fx-base) var(--fx-ease-out);
  pointer-events: none;
}

.fx-parallax-layer--back {
  --parallax-scale: 1.06;
  opacity: 0.82;
}

.fx-parallax-layer--mid {
  --parallax-scale: 1.02;
  opacity: 0.92;
}

.fx-parallax-layer--front {
  --parallax-scale: 1;
  opacity: 1;
}

/* Section spotlights */
.fx-spotlight {
  position: relative;
  isolation: isolate;
}

.fx-spotlight::before,
.fx-spotlight::after {
  content: "";
  position: absolute;
  inset: -10%;
  pointer-events: none;
  opacity: 0.7;
  transition: opacity var(--fx-base) var(--fx-ease-out), transform var(--fx-slow) var(--fx-ease-soft);
}

.fx-spotlight::before {
  background:
    radial-gradient(circle at 20% 20%, rgba(216, 185, 128, 0.18), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.08), transparent 18%),
    radial-gradient(circle at 50% 110%, rgba(216, 185, 128, 0.12), transparent 28%);
  filter: blur(24px);
  transform: scale(1.04);
  mix-blend-mode: screen;
}

.fx-spotlight::after {
  background:
    linear-gradient(180deg, transparent 0%, rgba(4, 7, 13, 0.04) 50%, transparent 100%);
  opacity: 0.24;
}

.fx-spotlight:hover::before,
.fx-spotlight:focus-within::before {
  opacity: 0.95;
  transform: scale(1.08);
}

/* Halo orbs */
.fx-halo-orb {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  filter: blur(20px);
  mix-blend-mode: screen;
  opacity: 0.55;
  will-change: transform, opacity;
  animation: fxOrbFloat 14s var(--fx-ease-soft) infinite alternate;
}

.fx-halo-orb--gold {
  background: radial-gradient(circle, rgba(240, 213, 162, 0.9) 0%, rgba(216, 185, 128, 0.38) 38%, transparent 72%);
}

.fx-halo-orb--pearl {
  background: radial-gradient(circle, rgba(255, 250, 243, 0.92) 0%, rgba(244, 239, 231, 0.3) 42%, transparent 72%);
}

.fx-halo-orb--cool {
  background: radial-gradient(circle, rgba(182, 213, 255, 0.82) 0%, rgba(182, 213, 255, 0.22) 38%, transparent 72%);
}

.fx-halo-orb--small {
  width: clamp(4rem, 7vw, 7rem);
  height: clamp(4rem, 7vw, 7rem);
}

.fx-halo-orb--medium {
  width: clamp(7rem, 11vw, 11rem);
  height: clamp(7rem, 11vw, 11rem);
}

.fx-halo-orb--large {
  width: clamp(10rem, 16vw, 16rem);
  height: clamp(10rem, 16vw, 16rem);
}

/* Hover lift depth */
.fx-lift-depth {
  position: relative;
  transform: translate3d(0, 0, 0);
  transition:
    transform var(--fx-base) var(--fx-ease-out),
    box-shadow var(--fx-base) var(--fx-ease-out),
    filter var(--fx-base) var(--fx-ease-out);
  will-change: transform, box-shadow;
}

@media (hover: hover) and (pointer: fine) {
  .fx-lift-depth:hover,
  .fx-lift-depth:focus-visible {
    transform: translate3d(0, calc(var(--lift-y, -4px) - 2px), 0) scale(var(--lift-scale, 1.015));
    box-shadow:
      0 26px 50px rgba(4, 7, 13, 0.18),
      0 10px 24px rgba(4, 7, 13, 0.08);
    filter: saturate(1.04);
  }
}

/* Magnetic button affordance */
.fx-magnetic {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  will-change: transform;
  transition:
    transform var(--fx-fast) var(--fx-ease-snap),
    box-shadow var(--fx-fast) var(--fx-ease-out),
    background-color var(--fx-fast) var(--fx-ease-out),
    color var(--fx-fast) var(--fx-ease-out),
    border-color var(--fx-fast) var(--fx-ease-out);
  overflow: hidden;
}

.fx-magnetic::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(
    circle at var(--magnetic-x-pos, 50%) var(--magnetic-y-pos, 50%),
    rgba(255, 255, 255, 0.24),
    transparent 42%
  );
  opacity: 0;
  transition: opacity var(--fx-fast) var(--fx-ease-out);
  pointer-events: none;
}

.fx-magnetic::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
  opacity: 0.7;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .fx-magnetic:hover::before,
  .fx-magnetic:focus-visible::before {
    opacity: 1;
  }
}

/* Shimmer and glint */
.fx-shimmer,
.fx-glint {
  position: relative;
  overflow: hidden;
}

.fx-shimmer::before,
.fx-glint::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.fx-shimmer::before {
  background:
    linear-gradient(110deg, transparent 16%, rgba(255, 255, 255, 0.05) 35%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0.05) 64%, transparent 84%);
  transform: translateX(-130%);
  opacity: 0.85;
  animation: fxShimmerSweep 5.8s var(--fx-ease-soft) infinite;
}

.fx-glint::after {
  background:
    linear-gradient(120deg, transparent 32%, rgba(255, 255, 255, 0.22) 48%, rgba(216, 185, 128, 0.34) 50%, rgba(255, 255, 255, 0.18) 52%, transparent 68%);
  transform: translateX(-140%) skewX(-18deg);
  mix-blend-mode: screen;
  opacity: 0.7;
  animation: fxGlintPass 8.5s linear infinite;
}

/* Scroll indicator */
.fx-scroll-indicator {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 4.8rem;
  border: 1px solid rgba(216, 185, 128, 0.34);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01));
  color: var(--fx-champagne);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.fx-scroll-indicator::before {
  content: "";
  position: absolute;
  inset: 0.8rem auto auto 50%;
  width: 0.18rem;
  height: 1.9rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(216, 185, 128, 0.08), rgba(216, 185, 128, 0.88), rgba(216, 185, 128, 0.08));
  transform: translateX(-50%);
  opacity: 0.85;
}

.fx-scroll-indicator::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0.95rem;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 20px rgba(216, 185, 128, 0.45);
  transform: translateX(-50%);
  animation: fxScrollCue 2.2s var(--fx-ease-soft) infinite;
}

/* Noise overlay */
.fx-noise-overlay {
  position: relative;
  isolation: isolate;
}

.fx-noise-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: var(--noise-opacity, 0.08);
  mix-blend-mode: soft-light;
  background-image:
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.02) 0 1px, transparent 1px 3px);
  background-size: 100% 100%, 100% 100%;
  animation: fxNoiseDrift 7s steps(2) infinite;
}

/* Utility motion helpers */
.fx-fade-up {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

.fx-fade-up.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity var(--fx-slow) var(--fx-ease-soft),
    transform var(--fx-slow) var(--fx-ease-soft);
}

.fx-intro-section,
[data-intro-section] {
  --intro-distance: var(--fx-intro-distance);
  --intro-stagger: var(--fx-intro-stagger);
  --intro-duration: var(--fx-intro-duration);
  --intro-ease: var(--fx-ease-soft);
}

.fx-intro-child,
[data-intro-child] {
  --intro-order: 0;
  --intro-delay: calc(var(--intro-order) * var(--intro-stagger));
  opacity: 0;
  transform: translate3d(0, var(--intro-distance), 0) scale(0.985);
  filter: blur(10px);
  transition:
    opacity var(--intro-duration) var(--intro-ease),
    transform var(--intro-duration) var(--intro-ease),
    filter var(--intro-duration) var(--intro-ease);
  transition-delay: var(--intro-delay);
  will-change: transform, opacity, filter;
}

.fx-intro-section.is-visible .fx-intro-child,
.fx-intro-section.is-visible [data-intro-child],
[data-intro-section].is-visible .fx-intro-child,
[data-intro-section].is-visible [data-intro-child] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.fx-intro-mask,
[data-intro-mask] {
  opacity: 0;
  clip-path: inset(0 0 100% 0 round 1px);
  transform: translate3d(0, calc(var(--fx-intro-distance) * 0.45), 0);
  transform-origin: bottom center;
  transition:
    opacity 620ms var(--fx-ease-out),
    clip-path 860ms var(--fx-ease-out),
    transform 860ms var(--fx-ease-soft);
  will-change: transform, clip-path, opacity;
}

.fx-intro-section.is-visible .fx-intro-mask,
.fx-intro-section.is-visible [data-intro-mask],
[data-intro-section].is-visible .fx-intro-mask,
[data-intro-section].is-visible [data-intro-mask] {
  opacity: 1;
  clip-path: inset(0 0 0 0 round 1px);
  transform: translate3d(0, 0, 0);
}

.fx-intro-lift,
[data-intro-lift] {
  opacity: 0;
  transform: translate3d(0, calc(var(--fx-intro-distance) * 0.6), 0) scale(0.98);
  filter: blur(8px);
  transition:
    opacity 760ms var(--fx-ease-soft),
    transform 760ms var(--fx-ease-soft),
    filter 760ms var(--fx-ease-soft);
  will-change: transform, opacity, filter;
}

.fx-intro-section.is-visible .fx-intro-lift,
.fx-intro-section.is-visible [data-intro-lift],
[data-intro-section].is-visible .fx-intro-lift,
[data-intro-section].is-visible [data-intro-lift] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.fx-intro-fade,
[data-intro-fade] {
  opacity: 0;
  transition: opacity 720ms var(--fx-ease-soft);
}

.fx-intro-section.is-visible .fx-intro-fade,
.fx-intro-section.is-visible [data-intro-fade],
[data-intro-section].is-visible .fx-intro-fade,
[data-intro-section].is-visible [data-intro-fade] {
  opacity: 1;
}

.fx-intro-pop,
[data-intro-pop] {
  opacity: 0;
  transform: translate3d(0, var(--fx-intro-distance), 0) scale(0.96);
  transition:
    opacity 760ms var(--fx-ease-out),
    transform 760ms var(--fx-ease-out);
}

.fx-intro-section.is-visible .fx-intro-pop,
.fx-intro-section.is-visible [data-intro-pop],
[data-intro-section].is-visible .fx-intro-pop,
[data-intro-section].is-visible [data-intro-pop] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.fx-intro-section.is-visible .fx-intro-child,
.fx-intro-section.is-visible .fx-intro-mask,
.fx-intro-section.is-visible .fx-intro-lift,
.fx-intro-section.is-visible .fx-intro-fade,
.fx-intro-section.is-visible .fx-intro-pop {
  animation: fxIntroGlow 900ms var(--fx-ease-soft) both;
}

.fx-intro-section.is-visible [data-intro-child],
.fx-intro-section.is-visible [data-intro-mask],
.fx-intro-section.is-visible [data-intro-lift],
.fx-intro-section.is-visible [data-intro-fade],
.fx-intro-section.is-visible [data-intro-pop],
[data-intro-section].is-visible .fx-intro-child,
[data-intro-section].is-visible .fx-intro-mask,
[data-intro-section].is-visible .fx-intro-lift,
[data-intro-section].is-visible .fx-intro-fade,
[data-intro-section].is-visible .fx-intro-pop {
  animation: fxIntroGlow 900ms var(--fx-ease-soft) both;
}

[data-intro-order="0"] {
  --intro-order: 0;
}

[data-intro-order="1"] {
  --intro-order: 1;
}

[data-intro-order="2"] {
  --intro-order: 2;
}

[data-intro-order="3"] {
  --intro-order: 3;
}

[data-intro-order="4"] {
  --intro-order: 4;
}

[data-intro-order="5"] {
  --intro-order: 5;
}

[data-intro-order="6"] {
  --intro-order: 6;
}

[data-intro-order="7"] {
  --intro-order: 7;
}

[data-intro-order="8"] {
  --intro-order: 8;
}

[data-intro-order="9"] {
  --intro-order: 9;
}

[data-intro-order="10"] {
  --intro-order: 10;
}

[data-intro-order="11"] {
  --intro-order: 11;
}

[data-intro-order="12"] {
  --intro-order: 12;
}

.fx-press {
  transition: transform var(--fx-fast) var(--fx-ease-snap);
}

.fx-press:active {
  --button-lift: 1px;
}

/* Elegant keyframes */
@keyframes fxOrbFloat {
  from {
    transform: translate3d(0, 0, 0) scale(1);
  }

  to {
    transform: translate3d(0, -14px, 0) scale(1.07);
  }
}

@keyframes fxShimmerSweep {
  0% {
    transform: translateX(-130%);
  }

  30% {
    transform: translateX(25%);
  }

  100% {
    transform: translateX(130%);
  }
}

@keyframes fxGlintPass {
  0% {
    transform: translateX(-140%) skewX(-18deg);
    opacity: 0;
  }

  14% {
    opacity: 0.9;
  }

  35% {
    opacity: 0.55;
  }

  100% {
    transform: translateX(140%) skewX(-18deg);
    opacity: 0;
  }
}

@keyframes fxScrollCue {
  0% {
    transform: translate3d(-50%, 0, 0);
    opacity: 0.2;
  }

  20% {
    opacity: 1;
  }

  70% {
    transform: translate3d(-50%, 1.5rem, 0);
    opacity: 0.55;
  }

  100% {
    transform: translate3d(-50%, 1.8rem, 0);
    opacity: 0;
  }
}

@keyframes fxNoiseDrift {
  0% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(-0.5%, 0.4%, 0);
  }

  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fxIntroGlow {
  0% {
    text-shadow: 0 0 0 rgba(216, 185, 128, 0);
    box-shadow: 0 0 0 rgba(216, 185, 128, 0);
  }

  100% {
    text-shadow: 0 0 18px rgba(216, 185, 128, 0.08);
    box-shadow: 0 0 0 rgba(216, 185, 128, 0);
  }
}

@keyframes fxOrbitDrift {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
  }

  50% {
    transform: translate3d(-12px, 14px, 0) rotate(180deg) scale(1.03);
  }

  100% {
    transform: translate3d(0, 0, 0) rotate(360deg) scale(1);
  }
}

@media (max-width: 860px) {
  .ambient-layer--grid,
  .hero-ornament--arc,
  .fleet-ornament--orbit {
    display: none;
  }

  .ambient-layer--beam {
    opacity: 0.2;
    transform: translate3d(0, calc(var(--nyx-scroll-progress, 0) * 44px), 0) rotate(10deg);
  }

  .section-backplate--hero {
    inset: auto -18% 8% 34%;
    height: 32%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ambient-layer,
  .section-backplate,
  .hero-ornament,
  .fleet-ornament,
  .fx-parallax-layer,
  .fx-halo-orb,
  .fx-shimmer::before,
  .fx-glint::after,
  .fx-scroll-indicator::after,
  .fx-noise-overlay::before {
    animation: none !important;
  }

  [data-parallax-depth],
  .ambient-layer,
  .section-backplate,
  .hero-ornament,
  .fleet-ornament,
  .fx-parallax-layer {
    transform: none;
    transition: none;
  }

  .fx-lift-depth,
  .fx-magnetic,
  .fx-fade-up.is-visible,
  .fx-press {
    transition: none;
  }

  .fx-intro-section,
  [data-intro-section] {
    --intro-distance: 0px;
    --intro-stagger: 0ms;
    --intro-duration: 0ms;
  }

  .fx-intro-child,
  .fx-intro-mask,
  .fx-intro-lift,
  .fx-intro-fade,
  .fx-intro-pop,
  [data-intro-child],
  [data-intro-mask],
  [data-intro-lift],
  [data-intro-fade],
  [data-intro-pop] {
    opacity: 1;
    transform: none;
    filter: none;
    clip-path: none;
    transition: none;
    animation: none !important;
  }

  .fx-lift-depth:hover,
  .fx-lift-depth:focus-visible,
  .fx-magnetic:hover,
  .fx-magnetic:focus-visible,
  .fx-press:active {
    transform: none;
  }

  .fx-noise-overlay::before {
    opacity: 0.03;
  }

  .fx-spotlight::before,
  .fx-spotlight::after {
    opacity: 0.3;
    transform: none;
  }
}

/* Three-section motion trim */
:root {
  --fx-intro-distance: 18px;
  --fx-intro-duration: 700ms;
}

.luxury-motion-shell {
  --noise-opacity: 0.028;
}

[data-parallax-depth] {
  --parallax-x: calc((var(--nyx-pointer-x, 0.5) - 0.5) * 18px * var(--parallax-depth));
  --parallax-y: calc((((var(--nyx-pointer-y, 0.5) - 0.5) * 9px) - (var(--nyx-scroll-progress, 0) * 34px)) * var(--parallax-depth));
}

.ambient-layer--beam,
.hero-ornament,
.fleet-ornament {
  display: none;
}

.ambient-layer--halo {
  opacity: 0.34;
  filter: blur(22px);
}

.ambient-layer--grid {
  opacity: 0.12;
}

.fx-spotlight::before {
  opacity: 0.46;
  filter: blur(32px);
}

.fx-spotlight:hover::before,
.fx-spotlight:focus-within::before {
  opacity: 0.56;
  transform: scale(1.04);
}

.fx-shimmer::before {
  opacity: 0.58;
  animation-duration: 8.5s;
}

.fx-glint::after {
  opacity: 0.4;
  animation-duration: 11s;
}

@media (max-width: 860px) {
  .ambient-layer--grid {
    display: none;
  }
}

/* Final motion restraint */
.luxury-motion-shell {
  --noise-opacity: 0.016;
}

.ambient-layer--grid,
.fx-shimmer::before,
.fx-glint::after {
  animation: none !important;
}

.ambient-layer--grid {
  display: none;
}

.fx-shimmer::before,
.fx-glint::after {
  opacity: 0 !important;
}

/* Research-driven parallax refinement:
   keep foreground content stable and let only large background layers carry depth */
.nyx-three-section [data-parallax-depth] {
  --parallax-x: calc((var(--nyx-pointer-x, 0.5) - 0.5) * 12px * var(--parallax-depth));
  --parallax-y: calc((((var(--nyx-pointer-y, 0.5) - 0.5) * 6px) - (var(--nyx-scroll-progress, 0) * 34px)) * var(--parallax-depth));
}

.nyx-three-section .hero-atlas {
  transform: translate3d(
      var(--parallax-x, 0px),
      calc(var(--parallax-y, 0px) + var(--hero-atlas-y, 0px)),
      -120px
    )
    scale(var(--hero-atlas-scale, 1.04));
}

.nyx-three-section .section-backplate--services,
.nyx-three-section .section-backplate--contact {
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 10px),
      calc((var(--nyx-scroll-progress, 0) * -20px)),
      0
    )
    scale(1.01);
  opacity: 0.48;
}

@media (max-width: 720px) {
  .nyx-three-section [data-parallax-depth] {
    --parallax-x: 0px;
    --parallax-y: 0px;
  }

  .nyx-three-section .hero-atlas,
  .nyx-three-section .section-backplate--services,
  .nyx-three-section .section-backplate--contact {
    transform: none;
  }
}

/* World-class hero parallax */
.nyx-three-section [data-parallax-depth] {
  --parallax-x: calc((var(--nyx-pointer-x, 0.5) - 0.5) * 22px * var(--parallax-depth));
  --parallax-y: calc((((var(--nyx-pointer-y, 0.5) - 0.5) * 10px) - (var(--nyx-scroll-progress, 0) * 42px)) * var(--parallax-depth));
}

.nyx-three-section .hero-media {
  transform: translate3d(
      calc((var(--parallax-x, 0px) * 0.9) + var(--hero-media-x, 0px)),
      calc((var(--parallax-y, 0px) * 1.45) + var(--hero-media-y, 0px)),
      -84px
    )
    scale(var(--hero-media-scale, 1.06));
}

.nyx-three-section .hero-atlas {
  transform: translate3d(
      calc(var(--parallax-x, 0px) * 1.18),
      calc((var(--parallax-y, 0px) * 1.65) + var(--hero-atlas-y, 0px)),
      -148px
    )
    scale(var(--hero-atlas-scale, 1.05));
}

.nyx-three-section .hero-overlay {
  transform: translate3d(
      0px,
      calc(var(--hero-overlay-y, 0px) + (var(--parallax-y, 0px) * 0.52)),
      18px
    );
}

.nyx-three-section .section-backplate--services,
.nyx-three-section .section-backplate--contact {
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 12px),
      calc((var(--nyx-scroll-progress, 0) * -22px)),
      0
    )
    scale(1.014);
}

@media (max-width: 720px) {
  .nyx-three-section .hero-media,
  .nyx-three-section .hero-atlas,
  .nyx-three-section .hero-overlay,
  .nyx-three-section .section-backplate--services,
  .nyx-three-section .section-backplate--contact {
    transform: none;
  }
}

/* No-mercy motion polish */
.nyx-three-section [data-parallax-depth] {
  --parallax-x: calc((var(--nyx-pointer-x, 0.5) - 0.5) * 14px * var(--parallax-depth));
  --parallax-y: calc((var(--nyx-scroll-progress, 0) * -16px) * var(--parallax-depth));
}

.nyx-three-section .hero-media,
.nyx-three-section .hero-atlas {
  --parallax-x: 0px;
  --parallax-y: 0px;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: transform;
}

.nyx-three-section .hero-media {
  transform: translate3d(
      var(--hero-media-x, 0px),
      var(--hero-media-y, 0px),
      -86px
    )
    scale(var(--hero-media-scale, 1.05));
}

.nyx-three-section .hero-atlas {
  transform: translate3d(
      var(--hero-atlas-x, 0px),
      var(--hero-atlas-y, 0px),
      -150px
    )
    scale(var(--hero-atlas-scale, 1.05));
}

.nyx-three-section .hero-overlay {
  transform: translate3d(0px, var(--hero-overlay-y, 0px), 18px);
  will-change: transform;
}

.nyx-three-section .section-backplate--services,
.nyx-three-section .section-backplate--contact {
  transform: translate3d(
      calc((var(--nyx-pointer-x, 0.5) - 0.5) * 9px),
      calc((var(--nyx-scroll-progress, 0) * -18px)),
      0
    )
    scale(1.012);
}

@media (max-width: 720px) {
  .nyx-three-section [data-parallax-depth] {
    --parallax-x: 0px;
    --parallax-y: 0px;
  }

  .nyx-three-section .hero-media,
  .nyx-three-section .hero-atlas,
  .nyx-three-section .hero-overlay,
  .nyx-three-section .section-backplate--services,
  .nyx-three-section .section-backplate--contact {
    transform: none;
  }
}
