/**
 * CYPROS POWER — SITE MOTION SYSTEM V1
 * Global progressive-enhancement layer.
 * Internal pages keep natural scrolling. Home fullscreen orchestration is separate.
 */

:root {
  --cy-motion-v1-fast: 260ms;
  --cy-motion-v1-base: 560ms;
  --cy-motion-v1-slow: 760ms;
  --cy-motion-v1-ease: cubic-bezier(.22, 1, .36, 1);
  --cy-motion-v1-gutter: clamp(1.25rem, 4vw, 4.5rem);
}

html.cy-site-motion-v1 {
  scroll-behavior: smooth;
}

/* Section scene state — no scroll hijacking on internal pages. */
.cy-site-motion-v1 main > section,
.cy-site-motion-v1 .site-main > section {
  position: relative;
  isolation: isolate;
}

.cy-site-motion-v1 main > section::after,
.cy-site-motion-v1 .site-main > section::after {
  content: "";
  position: absolute;
  left: var(--cy-motion-v1-gutter);
  right: var(--cy-motion-v1-gutter);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--cypros-yellow, #ffc600), rgba(0,0,0,.08) 18%, rgba(0,0,0,.08));
  transform: scaleX(.08);
  transform-origin: left;
  opacity: .5;
  transition: transform 900ms var(--cy-motion-v1-ease), opacity 500ms ease;
  pointer-events: none;
}

.cy-site-motion-v1 main > section.is-cy-scene-active::after,
.cy-site-motion-v1 .site-main > section.is-cy-scene-active::after {
  transform: scaleX(1);
  opacity: 1;
}

/* Editorial reveal */
.cy-site-motion-v1 .cy-v1-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity var(--cy-motion-v1-base) var(--cy-motion-v1-ease),
    transform var(--cy-motion-v1-slow) var(--cy-motion-v1-ease);
  transition-delay: calc(var(--cy-v1-order, 0) * 70ms);
  will-change: opacity, transform;
}

.cy-site-motion-v1 .cy-v1-reveal[data-cy-v1-direction="left"] {
  transform: translate3d(-34px, 0, 0);
}

.cy-site-motion-v1 .cy-v1-reveal[data-cy-v1-direction="right"] {
  transform: translate3d(34px, 0, 0);
}

.cy-site-motion-v1 .cy-v1-reveal.is-cy-v1-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Heavy-product / industrial media mask reveal */
.cy-site-motion-v1 .cy-v1-media {
  --cy-v1-media-x: 34px;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translate3d(var(--cy-v1-media-x), 0, 0);
  transition:
    clip-path 820ms var(--cy-motion-v1-ease),
    transform 820ms var(--cy-motion-v1-ease),
    opacity 280ms ease;
  will-change: clip-path, transform, opacity;
}

.cy-site-motion-v1 .cy-v1-media[data-cy-v1-direction="left"] {
  --cy-v1-media-x: -34px;
  clip-path: inset(0 0 0 100%);
}

.cy-site-motion-v1 .cy-v1-media.is-cy-v1-visible {
  opacity: 1;
  clip-path: inset(0 0 0 0);
  transform: translate3d(0, 0, 0);
}

/* Product depth only on accurate pointers. */
@media (hover: hover) and (pointer: fine) {
  .cy-site-motion-v1 .cy-equipment-card,
  .cy-site-motion-v1 .cy-services-page-services__list > *,
  .cy-site-motion-v1 .cy-industries-page-sectors__grid > * {
    transition:
      transform var(--cy-motion-v1-fast) var(--cy-motion-v1-ease),
      box-shadow var(--cy-motion-v1-fast) ease,
      border-color var(--cy-motion-v1-fast) ease;
  }

  .cy-site-motion-v1 .cy-equipment-card:hover,
  .cy-site-motion-v1 .cy-services-page-services__list > *:hover,
  .cy-site-motion-v1 .cy-industries-page-sectors__grid > *:hover {
    transform: translate3d(0, -4px, 0);
  }

  .cy-site-motion-v1 .cy-equipment-card img,
  .cy-site-motion-v1 .cy-product-hero img,
  .cy-site-motion-v1 .cy-product-gallery img {
    transition: transform 720ms var(--cy-motion-v1-ease);
  }

  .cy-site-motion-v1 .cy-equipment-card:hover img {
    transform: scale(1.025) translate3d(0, -2px, 0);
  }
}

/* Catalog / tab-like controls communicate state through a moving yellow signal. */
.cy-site-motion-v1 .cy-equipment-brands__tab,
.cy-site-motion-v1 .cy-equipment-selector__item,
.cy-site-motion-v1 [role="tab"] {
  position: relative;
}

.cy-site-motion-v1 .cy-equipment-brands__tab::after,
.cy-site-motion-v1 .cy-equipment-selector__item::after,
.cy-site-motion-v1 [role="tab"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--cypros-yellow, #ffc600);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 420ms var(--cy-motion-v1-ease);
  pointer-events: none;
}

.cy-site-motion-v1 .cy-equipment-brands__tab:hover::after,
.cy-site-motion-v1 .cy-equipment-brands__tab.is-active::after,
.cy-site-motion-v1 .cy-equipment-selector__item:hover::after,
.cy-site-motion-v1 .cy-equipment-selector__item.is-active::after,
.cy-site-motion-v1 [role="tab"]:hover::after,
.cy-site-motion-v1 [role="tab"][aria-selected="true"]::after {
  transform: scaleX(1);
}

/* Buttons/arrows: short mechanical response, not gaming motion. */
.cy-site-motion-v1 a > span[aria-hidden="true"],
.cy-site-motion-v1 button > span[aria-hidden="true"] {
  display: inline-block;
  transition: transform 260ms var(--cy-motion-v1-ease);
}

@media (hover: hover) and (pointer: fine) {
  .cy-site-motion-v1 a:hover > span[aria-hidden="true"],
  .cy-site-motion-v1 button:hover > span[aria-hidden="true"] {
    transform: translate3d(4px, 0, 0);
  }
}

/* Horizontal interaction surfaces are swipeable on mobile without moving the page. */
@media (max-width: 48rem) {
  html.cy-site-motion-v1 {
    scroll-behavior: auto;
  }

  .cy-site-motion-v1 .cy-v1-reveal {
    transform: translate3d(0, 14px, 0) !important;
    transition-duration: 420ms, 520ms;
    transition-delay: calc(var(--cy-v1-order, 0) * 35ms);
  }

  .cy-site-motion-v1 .cy-v1-media,
  .cy-site-motion-v1 .cy-v1-media[data-cy-v1-direction="left"] {
    --cy-v1-media-x: 0px;
    clip-path: inset(0 0 12% 0);
    transform: translate3d(0, 14px, 0);
    transition-duration: 520ms, 520ms, 260ms;
  }

  .cy-site-motion-v1 .cy-v1-media.is-cy-v1-visible {
    clip-path: inset(0 0 0 0);
    transform: none;
  }

  .cy-site-motion-v1 .cy-equipment-brands__nav,
  .cy-site-motion-v1 .cy-equipment-selector,
  .cy-site-motion-v1 [data-cy-horizontal-scroll] {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .cy-site-motion-v1 .cy-equipment-brands__nav::-webkit-scrollbar,
  .cy-site-motion-v1 .cy-equipment-selector::-webkit-scrollbar,
  .cy-site-motion-v1 [data-cy-horizontal-scroll]::-webkit-scrollbar {
    display: none;
  }

  .cy-site-motion-v1 .cy-equipment-brands__nav > *,
  .cy-site-motion-v1 .cy-equipment-selector > *,
  .cy-site-motion-v1 [data-cy-horizontal-scroll] > * {
    scroll-snap-align: start;
  }
}

/* Accessible fallback. */
@media (prefers-reduced-motion: reduce) {
  html.cy-site-motion-v1 { scroll-behavior: auto !important; }

  .cy-site-motion-v1 .cy-v1-reveal,
  .cy-site-motion-v1 .cy-v1-media,
  .cy-site-motion-v1 main > section::after,
  .cy-site-motion-v1 .site-main > section::after,
  .cy-site-motion-v1 .cy-equipment-brands__tab::after,
  .cy-site-motion-v1 .cy-equipment-selector__item::after,
  .cy-site-motion-v1 [role="tab"]::after,
  .cy-site-motion-v1 a > span[aria-hidden="true"],
  .cy-site-motion-v1 button > span[aria-hidden="true"] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    clip-path: none !important;
  }
}
