/*
  FreedomCEO Motion System
  Canonical motion preparation/state layer only.
  Visual ownership stays in funnel-ui.css or the workshop design system.
*/

:root {
  --fce-motion-distance-sm: 12px;
  --fce-motion-distance-md: 18px;
  --fce-motion-distance-lg: 28px;
  --fce-motion-scale-soft: 0.985;
  --fce-motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --fce-motion-ease-snap: cubic-bezier(0.32, 0.72, 0, 1);
  --fce-motion-duration-fast: 420ms;
  --fce-motion-duration-base: 680ms;
  --fce-motion-duration-slow: 920ms;
}

[data-fce-motion] {
  transform-origin: center;
}

.fce-motion-boot:not(.fce-motion-ready):not(.fce-motion-disabled):not(.fce-motion-boot-timeout) [data-fce-motion],
.fce-motion-boot:not(.fce-motion-ready):not(.fce-motion-disabled):not(.fce-motion-boot-timeout) [data-fce-motion-item] {
  opacity: 0;
  transform: translate3d(0, var(--fce-motion-distance-md), 0);
}

.fce-motion-ready [data-fce-motion-bound] {
  backface-visibility: hidden;
}

.fce-motion-ready [data-fce-motion-prepared] {
  will-change: transform, opacity;
}

.fce-motion-ready [data-fce-motion-parallax] {
  will-change: transform;
}

.fce-motion-disabled [data-fce-motion],
.fce-motion-disabled [data-fce-motion-item] {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-fce-motion],
  [data-fce-motion-item] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
    will-change: auto !important;
  }
}
