.elementor-22911 .elementor-element.elementor-element-76d2b07e{--display:flex;--min-height:clamp(210px, 46.7vw, 350px);--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-mix-blend-mode:overlay;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-22911 .elementor-element.elementor-element-76d2b07e:not(.elementor-motion-effects-element-type-background), .elementor-22911 .elementor-element.elementor-element-76d2b07e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-22911 .elementor-element.elementor-element-b569b13{text-align:center;}.elementor-22911 .elementor-element.elementor-element-b569b13 .elementor-heading-title{color:#FFFFFF;}.elementor-22911 .elementor-element.elementor-element-fcfd83e{--display:flex;}.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button{font-size:20px;color:#363636;}.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button svg{fill:#363636;}.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial__text{font-size:12px;}/* Start custom CSS for container, class: .elementor-element-76d2b07e *//* Ultrawide & Desktop (1200px+): Maximum vertical surplus, perfect for framing */
@media (min-width: 1200px) {
  .page-hero .elementor-background-video-hosted {
    transform: translate(-50%, -59%) !important;
  }
}

/* Laptops & Tablets (400px - 1199px): Ease it closer to center so edges don't show */
@media (min-width: 400px) and (max-width: 1199px) {
  .page-hero .elementor-background-video-hosted {
    transform: translate(-50%, -54%) !important;
  }
}

/* Mobile (< 400px): Pure center */
@media (max-width: 399px) {
  .page-hero .elementor-background-video-hosted {
    transform: translate(-50%, -50%) !important;
  }
}/* End custom CSS */
/* Start custom CSS for testimonial-carousel, class: .elementor-element-916b09c *//* =========================================================
   CUSTOM VARIABLES (Desktop / Base Values)
   ========================================================= */
.elementor-22911 .elementor-element.elementor-element-916b09c {
  --pg-width: 180px;                                   /* Desktop bar width */
  --pg-height: 6px;                                    /* Bar thickness */
  --pg-bottom-offset: 15px;                            /* Desktop distance from bottom */
  --pg-track-bg: #e6e6e6;                              /* Unfilled track background */
  --pg-fill-bg: linear-gradient(90deg, #a6a6a6, #808080);
  --pg-radius: 10px;                                   /* Pill rounding */
}

/* =========================================================
   WCAG FOCUS VISIBILITY OVERRIDE
   ========================================================= */
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button,
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-prev,
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-next {
  border-radius: 4px !important;                       /* Curvature for focus outline */
}

.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button:focus-visible,
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-prev:focus-visible,
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-next:focus-visible {
  outline: 2px solid var(--ipt-focus-ring, #77c720) !important;
  outline-offset: 3px !important;                      /* Matches global 3px offset */
  border-radius: 4px !important;
}

/* 1. Bauhaus Top Rail Accent & Box Setup */
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial {
  position: relative;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  padding-top: 20px !important;
  padding-bottom: 10px !important;
}

/* Zero out Elementor's internal default content spacing */
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial__content,
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background-color: #4d4d4d;
  z-index: 10;
}

/* 2. HIJACK SWIPER PROGRESS BAR: Move from Top to Bottom & Center */
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-pagination-progressbar,
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-pagination-progressbar {
  top: auto !important;
  bottom: var(--pg-bottom-offset) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: var(--pg-width) !important;
  height: var(--pg-height) !important;
  background: var(--pg-track-bg) !important;
  border-radius: var(--pg-radius) !important;
  overflow: hidden !important;
}

/* 3. Style the Active Progress Fill */
.elementor-22911 .elementor-element.elementor-element-916b09c .swiper-pagination-progressbar .swiper-pagination-progressbar-fill,
.elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--pg-fill-bg) !important;
  border-radius: var(--pg-radius) !important;
  transition-duration: 300ms !important;
}

/* 4. Role Headline
   Floor: 1.02rem at 200px | Ceiling: 1.20rem at 500px+ (Original Baseline) */
.elementor-22911 .elementor-element.elementor-element-916b09c .review-role {
  font-size: clamp(1.02rem, 0.88rem + 1.0vw, 1.2rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  color: #111111;
}

/* 5. Platform Source
   Floor: 0.82rem at 200px | Ceiling: 1.00rem at 500px+ (Original Baseline) */
.elementor-22911 .elementor-element.elementor-element-916b09c .review-source {
  font-size: clamp(0.82rem, 0.70rem + 0.9vw, 1.0rem);
  font-weight: 400;
  opacity: 0.85;
  line-height: 1.1;
  text-align: center;
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
}

/* 6. Star Rating (Inherits 100% fluidly from .review-source font size) */
.elementor-22911 .elementor-element.elementor-element-916b09c .stars-5 {
  display: inline-block;
  font-size: 1.15em;
  width: 5em;
  height: 1em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23FFB800"><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>');
  background-repeat: repeat-x;
  background-size: 1em 1em;
  vertical-align: text-bottom;
  margin-left: 0.2em;
}

/* 7. Main Review Body
   Floor: 0.84rem at 200px | Ceiling: 1.00rem at 500px+ (Original Baseline) */
.elementor-22911 .elementor-element.elementor-element-916b09c .review-body {
  font-size: clamp(0.84rem, 0.72rem + 0.9vw, 1.0rem);
  line-height: 1.45;
  text-align: center;
  margin: 0.4rem 0.4rem 0 0.4rem;
  color: #222222;
}

/* 8. Author Identifier
   Floor: 0.84rem at 200px | Ceiling: 1.00rem at 500px+ (Original Baseline) */
.elementor-22911 .elementor-element.elementor-element-916b09c .review-author {
  display: block;
  font-size: clamp(0.84rem, 0.72rem + 0.9vw, 1.0rem);
  font-weight: bold;
  font-style: normal;
  text-align: center;
  margin-top: 0.35rem;
  color: #555555;
}

/* =========================================================
   TABLET 2-COLUMN RELIEF (501px to 1210px)
   Compensates for cards sharing horizontal space
   ========================================================= */
@media (min-width: 501px) and (max-width: 1210px) {
  .elementor-22911 .elementor-element.elementor-element-916b09c .review-role {
    font-size: 1.08rem !important;
  }
  .elementor-22911 .elementor-element.elementor-element-916b09c .review-source,
  .elementor-22911 .elementor-element.elementor-element-916b09c .review-body,
  .elementor-22911 .elementor-element.elementor-element-916b09c .review-author {
    font-size: 0.90rem !important;
  }
}
/* =========================================================
   RESPONSIVE MOBILE CONTROLS (<= 500px Viewports down to 200px)
   ========================================================= */
@media (max-width: 500px) {
  .elementor-22911 .elementor-element.elementor-element-916b09c {
    --pg-width: min(120px, 45%);                        /* Scales down safely to 200px */
    --pg-height: 5px;                                   /* Slightly lighter line profile */
    --pg-bottom-offset: 4px;                            /* Snaps progress bar close to baseline */
  }
  /* Seamless mobile clamps: Ceiling meets Tablet tier (1.08rem / 0.90rem) at 500px */
  .elementor-22911 .elementor-element.elementor-element-916b09c .review-role {
    font-size: clamp(1.02rem, 0.98rem + 0.32vw, 1.08rem) !important;
  }

  .elementor-22911 .elementor-element.elementor-element-916b09c .review-source {
    font-size: clamp(0.82rem, 0.77rem + 0.43vw, 0.90rem) !important;
  }

  .elementor-22911 .elementor-element.elementor-element-916b09c .review-body {
    font-size: clamp(0.84rem, 0.80rem + 0.32vw, 0.90rem) !important;
  }

  .elementor-22911 .elementor-element.elementor-element-916b09c .review-author {
    font-size: clamp(0.84rem, 0.80rem + 0.32vw, 0.90rem) !important;
  }
  /* Compact 14px bottom padding pulls everything close to the text */
  .elementor-22911 .elementor-element.elementor-element-916b09c .elementor-testimonial {
    padding-bottom: 14px !important;
  }

  /* Left Arrow (<) - Positioned 14px from bottom */
  .elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button-prev,
  .elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-prev {
    top: auto !important;
    bottom: 14px !important;
    left: auto !important;
    right: calc(50% + 10px) !important;                 /* 20px center gap between chevrons */
    transform: none !important;
    font-size: 16px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Right Arrow (>) - Positioned 14px from bottom */
  .elementor-22911 .elementor-element.elementor-element-916b09c .elementor-swiper-button-next,
  .elementor-22911 .elementor-element.elementor-element-916b09c .swiper-button-next {
    top: auto !important;
    bottom: 14px !important;
    right: auto !important;
    left: calc(50% + 10px) !important;                  /* 20px center gap between chevrons */
    transform: none !important;
    font-size: 16px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    text-align: center !important;
    margin: 0 !important;
  }
}/* End custom CSS */