/** Shopify CDN: Minification failed

Line 166:14 Expected identifier but found whitespace
Line 166:16 Unexpected "{"
Line 166:25 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:banner-pro (INDEX:3) */
/* =========================================================
   BANNER
========================================================= */

.banner-pro {
  position: relative;

  display: block;

  width: 100%;

  height: var(--bp-height-mobile);
  min-height: var(--bp-height-mobile);

  background: var(--bp-bg);
  color: var(--bp-text);

  overflow: hidden;

  isolation: isolate;

  opacity: 1;

  box-sizing: border-box;
}


@media screen and (min-width: 750px) {

  .banner-pro {
    height: var(--bp-height-desktop);
    min-height: var(--bp-height-desktop);
  }

}


/* =========================================================
   LINK
========================================================= */

.bp-linkwrap {
  display: block;

  width: 100%;
  height: 100%;

  color: inherit;
  text-decoration: none;
}


/* =========================================================
   INNER
========================================================= */

.bp-inner {
  display: flex;

  align-items: center;

  width: 100%;
  height: 100%;

  overflow: hidden;
}


/* =========================================================
   MARQUEE WINDOW
========================================================= */

.bp-marquee {
  position: relative;

  display: block;

  width: 100%;
  height: 100%;

  overflow: hidden;

  white-space: nowrap;
}


/* =========================================================
   TRACK

   IMPORTANT:
   The track width is determined by its content.

   JavaScript calculates the width of one copy and
   places that value into --bp-move.
========================================================= */

.bp-track {
  display: flex;

  align-items: center;

  width: max-content;

  height: 100%;

  white-space: nowrap;

  will-change: transform;

  transform: translate3d(0, 0, 0);

  animation-name: bp-scroll;
  animation-duration: var(--bp-speed);
  animation-timing-function: linear;
  animation-iteration-count: infinite;

  backface-visibility: hidden;

  contain: layout style;
}


/* Reverse direction */

.banner-pro--reverse .bp-track {
  animation-direction: reverse;
}


/* =========================================================
   TEXT COPY
========================================================= */

.bp-copy {
  display: inline-flex;

  align-items: center;

  flex: 0 0 auto;

  width: max-content;

  margin: 0;

  padding: 0 var(--bp-copy-gap);

  box-sizing: border-box;

  color: var(--bp-text);

  font-family: var(--font-body-family);
  font-style: var(--font-body-style);

  font-weight: {{ section.settings.font_weight }};

  font-size: var(--bp-font-size-mobile);

  line-height: 1;

  letter-spacing: var(--bp-letter-spacing);

  opacity: var(--bp-text-opacity);

  white-space: nowrap;
}


@media screen and (min-width: 750px) {

  .bp-copy {
    font-size: var(--bp-font-size-desktop);
  }

}


/* =========================================================
   RICH TEXT NORMALISATION

   Shopify's richtext editor creates <p> elements.
   We remove their default spacing so they don't affect
   the marquee measurement.
========================================================= */

.bp-copy p,
.bp-copy div,
.bp-copy span,
.bp-copy strong,
.bp-copy em,
.bp-copy a {
  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;

  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;

  line-height: inherit;
  letter-spacing: inherit;
}


.bp-copy a {
  color: inherit !important;

  text-decoration: none;
}


/* =========================================================
   SCROLL

   --bp-move is set by JavaScript to the EXACT width
   of one complete text copy.
========================================================= */

@keyframes bp-scroll {

  0% {
    transform: translate3d(0, 0, 0);
  }

  100% {
    transform: translate3d(
      calc(-1 * var(--bp-move)),
      0,
      0
    );
  }

}


/* =========================================================
   ENTRANCE ANIMATIONS
========================================================= */

.banner-pro--animate-fade {
  opacity: 0;

  animation:
    bp-fade-in 0.8s ease forwards;
}


.banner-pro--animate-slide-top {
  opacity: 0;

  transform: translateY(-20px);

  animation:
    bp-slide-top-in 0.8s ease forwards;
}


.banner-pro--animate-slide-bottom {
  opacity: 0;

  transform: translateY(20px);

  animation:
    bp-slide-bottom-in 0.8s ease forwards;
}


@keyframes bp-fade-in {

  to {
    opacity: 1;
  }

}


@keyframes bp-slide-top-in {

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


@keyframes bp-slide-bottom-in {

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .bp-track {
    animation: none !important;

    transform: none !important;
  }

  .banner-pro--animate-fade,
  .banner-pro--animate-slide-top,
  .banner-pro--animate-slide-bottom {
    animation: none !important;

    opacity: 1;

    transform: none;
  }

}
/* END_SECTION:banner-pro */

/* START_SECTION:testimonials (INDEX:65) */
.testimonials-grid {
  text-align: center;
  padding: var(--tg-pad-top, 60px) 20px var(--tg-pad-bottom, 60px);
}

/* Heading */
.testimonials-grid__heading {
  margin-bottom: 40px;
  font-weight: bold;
}

/* Grid */
.testimonials-grid__wrapper {
  display: grid;
  gap: var(--tg-gap, 20px);
}

/* Card */
.testimonial-item {
  background-color: var(--tg-card-bg, #ffffff);
  padding: 20px;
  border-radius: var(--tg-radius, 12px);
  text-align: var(--tg-align, center);
  box-shadow: var(--tg-shadow, none);
}

/* Image */
.testimonial-item img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 15px;
  object-fit: cover;
}

/* Stars */
.testimonial-stars {
  margin: 10px 0;
  display: flex;
  justify-content: center;
  gap: 4px;
}

/* Quote */
.testimonial-quote {
  margin: 8px 0;
  color: #4b5563;
}

/* Divider */
.testimonial-divider {
  height: 1px;
  width: 60%;
  margin: 10px auto;
  background: rgba(0,0,0,0.08);
}

/* Name & role */
.testimonial-name {
  font-weight: 600;
  color: #111827;
  margin-top: 6px;
}
.testimonial-role {
  font-size: 0.9rem;
  opacity: 0.9;
}

/* CTA area */
.testimonials-grid__cta {
  margin-top: 28px;
}

/* Button base */
.tg-button {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  border: 2px solid transparent;
}

/* Filled style */
.tg-button--filled {
  background: var(--tg-btn-bg);
  color: var(--tg-btn-text);
}
.tg-button--filled:hover {
  background: var(--tg-btn-bg-hover);
  color: var(--tg-btn-text-hover);
}

/* Outline style */
.tg-button--outline {
  background: transparent;
  color: var(--tg-btn-bg);
  border-color: var(--tg-btn-bg);
}
.tg-button--outline:hover {
  color: var(--tg-btn-text-hover);
  background: var(--tg-btn-bg-hover);
  border-color: var(--tg-btn-bg-hover);
}

/* Responsive columns & star sizes */
@media (min-width: 768px) {
  .testimonials-grid__wrapper {
    grid-template-columns: repeat(var(--tg-cols-desktop, 3), 1fr);
  }
  .testimonial-stars svg {
    width: var(--tg-star-d, 20px);
    height: var(--tg-star-d, 20px);
  }
  .testimonial-quote {
    font-size: var(--tg-quote-d, 16px);
  }
  .testimonial-name {
    font-size: var(--tg-name-d, 16px);
  }
}

@media (max-width: 767px) {
  .testimonials-grid__wrapper {
    grid-template-columns: repeat(var(--tg-cols-mobile, 1), 1fr);
  }
  .testimonial-stars svg {
    width: var(--tg-star-m, 16px);
    height: var(--tg-star-m, 16px);
  }
  .testimonial-quote {
    font-size: var(--tg-quote-m, 15px);
  }
  .testimonial-name {
    font-size: var(--tg-name-m, 15px);
  }
}
/* END_SECTION:testimonials */