/* Native premium motion system — designed to stay subtle and GPU-friendly. */
html.motion-enabled { scroll-behavior: smooth; }
[data-motion-hero] { isolation: isolate; }
[data-motion-hero]::before { content: ''; position: absolute; inset: -10%; z-index: 0; pointer-events: none; background: radial-gradient(circle at 18% 28%, rgba(255,214,0,.48), transparent 25%), radial-gradient(circle at 82% 72%, rgba(17,17,17,.16), transparent 30%), linear-gradient(135deg, #fff 0%, #f1f1ee 100%); transform: translate3d(0, var(--hero-parallax-y, 0px), 0) scale(var(--hero-parallax-scale, 1.04)); will-change: transform; }
[data-parallax-layer] { transform: translate3d(0, var(--parallax-shift, 0px), 0); will-change: transform; }
[data-parallax-layer="background"] { --parallax-speed: .3; }
[data-parallax-layer="midground"] { --parallax-speed: .6; }
[data-parallax-layer="foreground"] { --parallax-speed: 1; }
[data-motion-float] { animation: premiumFloat 7s cubic-bezier(.45, .05, .55, .95) infinite alternate; will-change: transform; }
[data-motion-float="slow"] { animation-duration: 10s; }
@keyframes premiumFloat { from { transform: translate3d(0, -5px, 0); } to { transform: translate3d(0, 8px, 0); } }

.motion-reveal-target { opacity: 0; --motion-reveal-y: 34px; transform: translate3d(0, var(--motion-reveal-y), 0); transition: opacity .68s ease, transform .8s cubic-bezier(.16, 1, .3, 1); will-change: opacity, transform; }
.motion-reveal-target[data-motion-direction="right"] { --motion-reveal-y: 0px; transform: translate3d(38px, 0, 0); }
.motion-reveal-target.motion-is-visible { opacity: 1; --motion-reveal-y: 0px; transform: translate3d(0, 0, 0); }
.motion-reveal-target[data-parallax-layer] { transform: translate3d(0, calc(var(--parallax-shift, 0px) + var(--motion-reveal-y)), 0); }
.motion-reveal-target[data-parallax-layer].motion-is-visible { transform: translate3d(0, var(--parallax-shift, 0px), 0); }
.motion-reveal-target[data-motion-delay="1"] { transition-delay: .1s; }
.motion-reveal-target[data-motion-delay="2"] { transition-delay: .2s; }
.motion-reveal-target[data-motion-delay="3"] { transition-delay: .3s; }

@media (max-width: 768px) {
  [data-motion-hero]::before { transform: none; }
  [data-parallax-layer] { transform: none !important; }
  [data-motion-float] { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  html.motion-enabled { scroll-behavior: auto; }
  [data-motion-hero]::before, [data-parallax-layer] { transform: none !important; will-change: auto; }
  [data-motion-float] { animation: none; }
  .motion-reveal-target { opacity: 1; transform: none; transition: none; }
}
