/* Ambient curves and extremely subtle particles */
.ambient-effects {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}
.ambient-curve {
  position: absolute;
  width: min(76vw, 980px);
  aspect-ratio: 1;
  border: 1px solid rgba(185, 154, 98, .12);
  border-radius: 48% 52% 61% 39% / 42% 46% 54% 58%;
  transform: rotate(-14deg);
}
.curve-one { top: 20vh; right: -46vw; }
.curve-two { top: 46%; left: -55vw; transform: rotate(24deg); }
.particle {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(185, 154, 98, .32);
  box-shadow: 0 0 12px rgba(185, 154, 98, .28);
  animation: particle-float 9s ease-in-out infinite alternate;
}
.particle-one { top: 13%; left: 8%; }
.particle-two { top: 27%; right: 12%; animation-delay: -2s; }
.particle-three { top: 42%; left: 18%; animation-delay: -5s; }
.particle-four { top: 58%; right: 7%; animation-delay: -3s; }
.particle-five { top: 72%; left: 9%; animation-delay: -6s; }
.particle-six { top: 88%; right: 20%; animation-delay: -4s; }
@keyframes particle-float {
  from { transform: translate3d(0, -4px, 0); opacity: .28; }
  to { transform: translate3d(8px, 10px, 0); opacity: .62; }
}

.tilt-ready {
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform .18s ease-out, box-shadow .3s ease, border-color .3s ease;
  will-change: transform;
}

/* Progressive reveal */
.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .85s cubic-bezier(.2, .65, .25, 1), transform .85s cubic-bezier(.2, .65, .25, 1);
}

.reveal-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.hero-copy[data-reveal] { transition-duration: .7s; }
.reveal-child { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.is-visible .reveal-child { opacity: 1; transform: translateY(0); }
.is-visible .reveal-child:nth-child(1) { transition-delay: .05s; }
.is-visible .reveal-child:nth-child(2) { transition-delay: .14s; }
.is-visible .reveal-child:nth-child(3) { transition-delay: .23s; }
.is-visible .reveal-child:nth-child(4) { transition-delay: .32s; }
.is-visible .reveal-child:nth-child(5) { transition-delay: .41s; }
.stagger-card { opacity: 0; transform: translateY(18px); transition: opacity .62s ease, transform .62s ease, box-shadow .3s ease, border-color .3s ease; }
.is-visible .stagger-card { opacity: 1; transform: translateY(0) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
.is-visible .stagger-card:nth-child(2) { transition-delay: .08s; }
.is-visible .stagger-card:nth-child(3) { transition-delay: .16s; }
.is-visible .stagger-card:nth-child(4) { transition-delay: .24s; }
.is-visible .stagger-card:nth-child(5) { transition-delay: .32s; }
.is-visible .stagger-card:nth-child(6) { transition-delay: .40s; }
.is-visible .stagger-card:nth-child(7) { transition-delay: .48s; }
.is-visible .stagger-card:nth-child(8) { transition-delay: .56s; }
[data-parallax] img { transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.025); transition: transform .2s linear; will-change: transform; }

