/* Overrides on top of Webflow — do NOT fight homepage.js choreography */

.page-load {
  display: none !important;
  pointer-events: none !important;
}

/* Safety: Lenis left stopped used to clip the whole page */
html.lenis.lenis-stopped {
  overflow: auto;
}

/*
 * Light pages only: white→grey gradient text is unreadable on white backgrounds.
 * Dark pages (.page-wrapper.u-bg-black or dark hero sections) keep Webflow gradients.
 */
.page-wrapper:not(.u-bg-black) .u-bg-white .u-text-gradient02,
.page-wrapper:not(.u-bg-black) .section.u-bg-white .u-text-gradient02,
.page-wrapper:not(.u-bg-black) .section.cc-grey-bg .u-text-gradient02 {
  -webkit-text-fill-color: #1a1a1a;
  color: #1a1a1a;
  background-image: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.field-validation-error,
.validation-summary-errors {
  color: #b42318;
  font-size: 1.4rem;
}
.alert-success {
  background: #e8f7f1;
  border: 1px solid #9ed9c3;
  color: #0b5c50;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  margin-bottom: 1.6rem;
}
.alert-error {
  background: #fdecec;
  border: 1px solid #f0b4b4;
  color: #8a1f1f;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  margin-bottom: 1.6rem;
}
.blog-md-body.w-richtext img {
  max-width: 100%;
  height: auto;
}

/* Testimonials: swipe only. Beat Swiper backface-hidden (blanks slides after translate3d). */
.hp-testimonials_slider-box .swiper-arrows {
  display: none;
}
.hp-testimonials_wrap {
  width: 100%;
}
.hp-testimonials_slider-box {
  width: 100%;
  container-type: inline-size;
}
.hp-testimonials_slider {
  overflow: hidden;
  width: 100%;
  transition: height 0.4s ease;
}
.hp-testimonials_slider .swiper-wrapper {
  display: flex;
  align-items: flex-start;
  height: auto;
}
.hp-testimonials_slider .swiper-slide {
  flex: 0 0 100cqw;
  width: 100cqw;
  height: auto;
  box-sizing: border-box;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  transform: none !important;
}
.hp-testimonials_content {
  max-width: none;
  width: 100%;
}
.hp-testimonials_content .u-text-gradient02 {
  -webkit-text-fill-color: #fff;
  color: #fff;
  background-image: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.fs-cc-root {
  /* Cookie banner host — must not be display:none like Webflow symbol source */
  display: block;
}
.fs-cc-prefs_content {
  -webkit-overflow-scrolling: touch;
}

/* Non-home sticky is already in Webflow .nav_wrapper; keep absolute→sticky fix for wrappers without .top */
.nav_wrapper:not(.top) {
  position: sticky !important;
  top: 0 !important;
  inset: auto 0 auto 0 !important;
  height: auto;
  z-index: 999;
}

/* Light pages: white chrome when .fixed — dark-menu pages use _Global [data-menu=dark] rules */
.nav_wrapper:not([data-menu="dark"]) .nav.fixed {
  background-color: white;
  color: black;
}
.nav_wrapper:not([data-menu="dark"]) .nav.fixed .nav_bg {
  display: block;
}
.nav_wrapper[data-menu="dark"] .nav.fixed .nav_bg {
  display: block;
  background-image: linear-gradient(#000 0%, rgba(0, 0, 0, 0)) !important;
}

/* Server-handled Webflow forms: show success/error states */
.w-form.aspnet-form-success form {
  display: none !important;
}
.w-form.aspnet-form-success .w-form-done,
.w-form.aspnet-form-success .form-success,
.w-form.aspnet-form-success .hp_modal-form-success {
  display: block !important;
}
.w-form.aspnet-form-error .w-form-fail,
.w-form.aspnet-form-error .form-error {
  display: block !important;
}
