/* Webflow IX2 replacement: smooth transitions for scroll-animated elements */
[data-w-id] {
  transition: opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
}

/* Nav menu open state */
.w-nav-menu.w--open {
  display: flex !important;
}

/* Dropdown open state */
.w-dropdown-list.w--open {
  display: block !important;
}

/* Tab pane visibility (.w-tab-pane{display:none} already set in main CSS) */
.w-tab-pane.w--tab-active {
  display: block;
}

/* FAQ accordion answer collapsed by default */
.faq_answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.faq_accordion.is-open .faq_answer {
  max-height: 500px;
}

/* FAQ action icon rotation */
.faq_action-line.is-last {
  transition: transform 0.3s ease;
}
.faq_accordion.is-open .faq_action-line.is-last {
  transform: rotate(90deg);
}

/* Background video: fill parent container instead of fixed 500px height */
.w-background-video {
  height: 100%;
}
.w-background-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

/* Marquee scrolling animation */
@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.logos_marquee-group,
.rhighlights_marquee-group {
  animation: marquee-scroll 20s linear infinite;
}

.highlights_marquee:hover .rhighlights_marquee-group,
.logos_marquee:hover .logos_marquee-group {
  animation-play-state: paused;
}

/* CSS Custom Properties (were managed by Webflow runtime) */
:root {
  --radius--default: 1rem;
  --radius--button: 0.5rem;
  --color-base--white: #ffffff;
  --color-base--black: #1C1C1E;
  --section-padding--small: 3rem;
  --section-padding--medium: 6rem;
  --section-padding--large: 8rem;
}

/* Additional marquee variants */
.industries_marquee-group {
  animation: marquee-scroll 25s linear infinite;
}

.industries_marquee:hover .industries_marquee-group {
  animation-play-state: paused;
}

/* Buttons: white text on orange background */
.button {
  color: var(--color-base--white) !important;
}
.button.is-secondary {
  color: var(--color-base--black) !important;
}

/* Icon wraps: white icons inside orange boxes */
.icon-wrap img {
  filter: brightness(0) invert(1);
}

/* White text on every orange-accent background */
.footer_buy,
.footer_buy *,
.case_bottom,
.case_bottom *,
.tabs_link.w--current,
.tabs_link.w--current *,
.home2_hero_quote,
.home2_hero_quote *,
.about_card.is-last,
.about_card.is-last *,
.cas2_result,
.cas2_result *,
.about_values_cta,
.about_values_cta *,
.cases_hero_quote,
.cases_hero_quote *,
.case_descr_info,
.case_descr_info * {
  color: var(--color-base--white) !important;
}

/* Team grid: 3 partners, full-width thirds (override default 4-column template) */
.about_team_wrap {
  grid-template-columns: 1fr 1fr 1fr !important;
}
@media (max-width: 991px) {
  .about_team_wrap {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 767px) {
  .about_team_wrap {
    grid-template-columns: 1fr !important;
  }
}

/* Force muted-text helpers to stay readable on accent surfaces */
.footer_buy .text-style-muted60,
.case_bottom .text-style-muted60,
.about_card.is-last .text-style-muted60,
.case_descr_info .text-style-muted60 {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Hero section fixes */
.section_home1_hero {
  flex-flow: column;
  justify-content: flex-end;
  min-height: calc(100svh - 80px);
  margin-left: 1rem;
  margin-right: 1rem;
  display: flex;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius--default);
}
.section_home1_welcome {
  background-color: var(--color-base--black);
}
.section_home2_hero,
.section_home3_hero {
  border-radius: var(--radius--default);
  overflow: hidden;
}
