/* Homepage interaction polish — preserves template design language */

/* Hero: single clean headline, no overlapping rotating layers */
.section-hero .sect-title .s-title {
  display: block;
  max-width: min(920px, 100%);
  margin-left: auto;
  margin-right: auto;
  line-height: 1.12;
  text-wrap: balance;
}

@media (max-width: 575.98px) {
  .section-hero .sect-title .s-title {
    max-width: 100%;
    font-size: clamp(1.85rem, 8.2vw, 2.6rem);
  }
}

.section-hero .sect-title .s-sub_title {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

/* Brand marquees (home TRUSTED BY + about reviews row) — 2x prior speed */
.brand-marquee {
  position: relative;
  overflow: hidden !important;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 44px 0;
}

.tf-brand {
  overflow: hidden !important;
  max-width: 100%;
}

.tf-brand .brand-marquee,
.tf-brand .infiniteslide_wrap {
  margin: 0 !important;
  overflow: hidden !important;
}

.section-hero-about .brand-marquee {
  padding: 18px 0 6px;
  margin: 0;
}

@media (max-width: 1199px) {
  .brand-marquee {
    padding: 32px 0;
  }

  .section-hero-about .brand-marquee {
    padding: 14px 0 4px;
  }
}

@media (max-width: 767px) {
  .brand-marquee {
    padding: 24px 0;
  }

  .section-hero-about .brand-marquee {
    padding: 12px 0 2px;
  }
}

.brand-marquee_track {
  display: flex;
  width: max-content;
  align-items: center;
  animation: turga-brand-marquee 27.5s linear infinite;
  will-change: transform;
}

.brand-marquee_group {
  display: flex;
  align-items: center;
  gap: 80px;
  flex-shrink: 0;
  padding-right: 80px;
}

@media (max-width: 1199px) {
  .brand-marquee_group {
    gap: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 767px) {
  .brand-marquee_group {
    gap: 28px;
    padding-right: 28px;
  }

  .brand-marquee_track {
    animation-duration: 20s;
  }
}

.brand-marquee:hover .brand-marquee_track {
  animation-play-state: paused;
}

.brand-marquee .image-brand {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  height: 56px;
  overflow: hidden;
}

.section-hero-about .brand-marquee .image-brand {
  height: 36px;
}

.brand-marquee .image-brand img {
  max-height: 52px !important;
  height: 52px !important;
  width: auto !important;
  object-fit: contain;
  display: block;
  opacity: 1;
}

.section-hero-about .brand-marquee .image-brand img {
  max-height: 32px !important;
  height: 32px !important;
}

@keyframes turga-brand-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-marquee_track {
    animation: none;
    transform: none;
  }
}

/* Services tabs — smoother fade + slight slide */
.section-feature .flat-animate-tab .tab-pane {
  transition-property: opacity, visibility, transform;
  transition-duration: 0.28s;
  transform: translateY(16px);
}

.section-feature .flat-animate-tab .tab-pane.active {
  transition-duration: 0.38s;
  transition-delay: 0.05s;
  transform: translateY(0);
}

.section-feature .tab-can_do .btn_tab {
  cursor: pointer;
}

.section-feature .tab-can_do .nav-tab-item.active .btn_tab,
.section-feature .tab-can_do .btn_tab.active {
  color: var(--text-2, #f4f7f5);
}

/* How-to steps scroll highlight */
.section-how-to .tab-how_to .btn_tab {
  transition: opacity 0.35s ease;
  opacity: 0.45;
}

.section-how-to .tab-how_to .btn_tab.active {
  opacity: 1;
}

.section-how-to .tab-how_to .btn_tab .desc {
  transition: opacity 0.35s ease, color 0.35s ease;
}

.section-how-to .flat-animate-tab .tab-pane {
  transition-property: opacity, visibility, transform;
  transition-duration: 0.3s;
  transform: translateY(12px);
}

.section-how-to .flat-animate-tab .tab-pane.active {
  transform: translateY(0);
}
