/* TAS scroll + marquee animations (Framer static export fallback) */

@media (prefers-reduced-motion: no-preference) {
  /* Feature pills marquee track */
  .framer-32FMb .framer-fj3b4m-container section.tas-marquee-track {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: max-content !important;
    animation: tas-marquee-scroll var(--tas-marquee-duration, 38s) linear infinite !important;
    will-change: transform;
  }

  .framer-32FMb .framer-fj3b4m-container:hover section.tas-marquee-track {
    animation-play-state: paused;
  }
}

@keyframes tas-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* --- Scroll reveal for homepage sections --- */
html.tas-animations-ready #main .tas-scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 56px, 0);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--tas-reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.tas-animations-ready #main .tas-scroll-reveal.tas-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* --- Homepage services preview switching --- */
#main .tas-service-preview-frame {
  overflow: hidden;
}

#main .tas-service-preview-image {
  transition:
    opacity 0.28s ease,
    transform 0.4s ease,
    filter 0.4s ease;
  will-change: opacity, transform, filter;
}

#main .tas-service-preview-image.tas-preview-loading {
  opacity: 0.24;
  transform: scale(0.985);
  filter: saturate(0.88);
}

#main .tas-service-item {
  cursor: pointer;
  border-radius: 28px;
  transition:
    transform 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease;
}

#main .tas-service-item:focus-visible {
  outline: 2px solid rgba(243, 178, 12, 0.8);
  outline-offset: 6px;
}

#main .tas-service-item [data-framer-name="Line"] {
  opacity: 0.35 !important;
  transform: scaleX(0.35);
  transform-origin: left center;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

#main .tas-service-item h3 {
  transition: color 0.25s ease;
}

#main .tas-service-item.tas-service-active,
#main .tas-service-item:hover,
#main .tas-service-item:focus-visible {
  background-color: rgba(255, 255, 255, 0.03);
  box-shadow: inset 0 0 0 1px rgba(243, 178, 12, 0.16);
  transform: translateX(8px);
}

#main .tas-service-item.tas-service-active [data-framer-name="Line"],
#main .tas-service-item:hover [data-framer-name="Line"],
#main .tas-service-item:focus-visible [data-framer-name="Line"] {
  opacity: 1 !important;
  transform: scaleX(1);
}

#main .tas-service-item.tas-service-active h3,
#main .tas-service-item:hover h3,
#main .tas-service-item:focus-visible h3 {
  color: rgb(243, 178, 12) !important;
}

@media (prefers-reduced-motion: reduce) {
  #main .tas-scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  #main .tas-service-preview-image,
  #main .tas-service-item,
  #main .tas-service-item [data-framer-name="Line"],
  #main .tas-service-item h3 {
    transition: none;
  }
}
