/* Animations & Keyframes */



/* Scroll reveal (vanilla) */
[data-animate] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
[data-animate].is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
[data-animate="fade"] { transform: none; }

/* Sticky nav enhancement — header is fixed via .navbar.is-fixed */
.nav-component-copy.is-sticky {
  /* visual state only; position handled by fixed navbar */
}

/* FAQ open state */
.faq.is-open .accoradiants-icon { opacity: 0; }
.faq.is-open .accoarding-icon { transform: none; }

/* Chat panel */
.content-chatbot { pointer-events: none; }
.chatbot-wrapper.is-open .content-chatbot { pointer-events: auto; }


/* ---------- Local interaction polish (non-Webflow runtime) ---------- */

.chatbot-wrapper {
  display: flex !important;
  z-index: 99999;
}

.content-chatbot {
  transform-origin: bottom right;
}

.w-slider.slider-2 .w-slider-mask {
  height: 100%;
}

.w-slider.slider-2 .w-slide {
  white-space: normal;
}

.w-slider-dot {
  width: 8px;
  height: 8px;
  margin: 0 3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  display: inline-block;
  cursor: pointer;
}

.w-slider-dot.w-active {
  background: #fff;
}

.w-form-done,
.w-form-fail,
.walsh-form-success,
.walsh-form-error {
  display: none;
  padding: 1rem;
}

html.nav-open {
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  .w-nav .w-nav-menu[data-nav-menu-open] {
    z-index: 998;
    background-color: var(--logo, #154b3e);
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
  }
}


/* Practice areas stacking — surfaces live in design-polish.css */
.practices-section .areas-card-wrapper {
  isolation: isolate;
}

.practices-section .hover-animation {
  z-index: 0 !important;
  inset: 0 !important;
  pointer-events: none;
}

.practices-section .gradiant {
  z-index: 0;
}

.practices-section .area-wrapper,
.practices-section .area-details {
  position: relative;
  z-index: 2;
}
