.testimonial-marquee-layout {
  grid-column-gap: 2.25rem;
  grid-row-gap: 2.25rem;
  background: linear-gradient(180deg, #fdfefe 0%, #f5fbfa 100%);
  border: none;
  text-align: left;
  flex-flow: column;
  align-items: center;
  padding: 0;
  display: flex;
  position: relative;
  overflow: visible;
  box-shadow: none;
}

.testimonial-marquee-layout::after {
  pointer-events: none;
  content: "";
  background:
    radial-gradient(circle at bottom left, rgba(0, 82, 94, 0.08), transparent 38%);
  position: absolute;
  inset: 0;
  z-index: 0;
}

.testimonial-marquee-summary {
  grid-column-gap: 1.4rem;
  grid-row-gap: 1.4rem;
  text-align: center;
  flex-flow: column;
  align-items: center;
  width: min(100%, 980px);
  margin-left: auto;
  margin-right: auto;
  padding: 2.8rem 3rem;
  display: flex;
  position: relative;
  z-index: 5;
  overflow: hidden;
}

.testimonial-marquee-summary::before,
.testimonial-marquee-summary::after {
  pointer-events: none;
  content: "";
  background-image: radial-gradient(rgba(15, 183, 162, 0.22) 1.4px, transparent 1.4px);
  background-size: 13px 13px;
  width: 124px;
  height: 124px;
  position: absolute;
  opacity: 0.6;
}

.testimonial-marquee-summary::before {
  top: 1.1rem;
  left: 1.2rem;
}

.testimonial-marquee-summary::after {
  right: 1.2rem;
  bottom: 1.1rem;
}

.testimonial-marquee-kicker {
  color: var(--color-primary);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 600;
}

.testimonial-marquee-scoreline {
  grid-column-gap: 1.35rem;
  grid-row-gap: 1rem;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  display: flex;
}

.testimonial-marquee-scoreline .div-block-2 {
  grid-column-gap: 1rem;
  grid-row-gap: 0.6rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.testimonial-marquee-live-score {
  grid-column-gap: 0.35rem;
  grid-row-gap: 0.35rem;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.testimonial-marquee-live-score__top {
  grid-column-gap: 0.9rem;
  grid-row-gap: 0.35rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.testimonial-marquee-live-score__value {
  color: #00525e;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1;
}

.testimonial-marquee-live-score__stars {
  color: #0fb7a2;
  letter-spacing: 0.18em;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
}

.testimonial-marquee-live-score__count {
  color: #4d666b;
  font-size: 0.9rem;
  line-height: 1.35;
}

.testimonial-marquee-copy {
  color: #4d666b;
  max-width: 38ch;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.55;
}

.testimonial-marquee-stage {
  width: 100%;
  min-width: 0;
  margin-top: -6rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.testimonial-marquee-columns {
  grid-column-gap: 1rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.testimonial-marquee-column {
  --testimonial-track-offset: 0rem;
  --testimonial-top-glow: 7rem;
  --testimonial-bottom-glow: 8rem;
  height: 36rem;
  position: relative;
  overflow: hidden;
}

.testimonial-marquee-column::before,
.testimonial-marquee-column::after {
  pointer-events: none;
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  z-index: 2;
}

.testimonial-marquee-column::before {
  background: linear-gradient(
    180deg,
    #f8fcfb 0%,
    rgba(248, 252, 251, 0.97) 25%,
    rgba(248, 252, 251, 0.75) 58%,
    rgba(248, 252, 251, 0) 100%
  );
  height: var(--testimonial-top-glow);
  top: 0;
}

.testimonial-marquee-column::after {
  background: linear-gradient(
    180deg,
    rgba(245, 251, 250, 0) 0%,
    rgba(245, 251, 250, 0.75) 42%,
    rgba(245, 251, 250, 0.97) 74%,
    #f5fbfa 100%
  );
  height: var(--testimonial-bottom-glow);
  bottom: 0;
}

.testimonial-marquee-column.is-side {
  --testimonial-track-offset: -14rem;
  --testimonial-top-glow: 13rem;
  --testimonial-bottom-glow: 10rem;
  height: 56rem;
}

.testimonial-marquee-column.is-side::before {
  background:
    radial-gradient(circle at center top, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 34%, rgba(248, 252, 251, 0.58) 62%, rgba(248, 252, 251, 0) 100%),
    linear-gradient(
      180deg,
      rgba(248, 252, 251, 1) 0%,
      rgba(248, 252, 251, 0.98) 24%,
      rgba(248, 252, 251, 0.82) 58%,
      rgba(248, 252, 251, 0) 100%
    );
}

.testimonial-marquee-column.is-side::after {
  background:
    radial-gradient(circle at center bottom, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 30%, rgba(245, 251, 250, 0.56) 60%, rgba(245, 251, 250, 0) 100%),
    linear-gradient(
      180deg,
      rgba(245, 251, 250, 0) 0%,
      rgba(245, 251, 250, 0.78) 40%,
      rgba(245, 251, 250, 0.97) 72%,
      rgba(245, 251, 250, 1) 100%
    );
}

.testimonial-marquee-column.is-down {
  --testimonial-top-glow: 8.5rem;
  --testimonial-bottom-glow: 10rem;
  height: 56rem;
}

.testimonial-marquee-track {
  flex-flow: column;
  display: flex;
  position: relative;
  top: var(--testimonial-track-offset);
  transform: translate3d(0, 0, 0);
  z-index: 1;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.testimonial-marquee-column:hover .testimonial-marquee-track {
  animation-play-state: paused;
}

.testimonial-marquee-column.is-up .testimonial-marquee-track {
  animation: testimonial-marquee-up 30s linear infinite;
}

.testimonial-marquee-column.is-down .testimonial-marquee-track {
  animation: testimonial-marquee-down 28s linear infinite;
}

.testimonial-marquee-list {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-flow: column;
  padding-bottom: 1rem;
  display: flex;
}

.testimonial-review-card {
  grid-column-gap: 0.95rem;
  grid-row-gap: 0.95rem;
  background-color: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 82, 94, 0.12);
  border-radius: 24px;
  box-shadow: none;
  flex-flow: column;
  padding: 1.35rem;
  display: flex;
  -webkit-user-select: none;
  user-select: none;
}

.testimonial-review-card__stars {
  color: #0fb7a2;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.82rem;
  font-weight: 700;
}

.testimonial-review-card__quote {
  color: #10333b;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.7;
}

.testimonial-review-card__footer {
  grid-column-gap: 0.85rem;
  align-items: center;
  display: flex;
}

.testimonial-review-card__avatar {
  color: var(--color-primary);
  background: linear-gradient(135deg, rgba(15, 183, 162, 0.18), rgba(0, 82, 94, 0.08));
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  font-size: 0.9rem;
  font-weight: 700;
  display: flex;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.testimonial-review-card__avatar.is-photo {
  color: transparent;
  font-size: 0;
}

.testimonial-review-card__name {
  color: #10333b;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.3;
}

.testimonial-review-card__meta {
  color: #5f7478;
  font-size: 0.84rem;
  line-height: 1.5;
}

@keyframes testimonial-marquee-up {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(0, calc(-1 * var(--testimonial-loop-height, 0px)), 0);
  }
}

@keyframes testimonial-marquee-down {
  from {
    transform: translate3d(0, calc(-1 * var(--testimonial-loop-height, 0px)), 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-marquee-column.is-up .testimonial-marquee-track,
  .testimonial-marquee-column.is-down .testimonial-marquee-track {
    animation: none;
  }

  [data-review-marquee-clone] {
    display: none;
  }
}

@media screen and (max-width: 991px) {
  .testimonial-marquee-layout {
    flex-flow: column;
  }

  .testimonial-marquee-summary {
    width: 100%;
    padding: 2.4rem 2rem;
  }

  .testimonial-marquee-stage {
    margin-top: -3rem;
  }

  .testimonial-marquee-copy {
    max-width: 46ch;
  }
}

@media screen and (max-width: 767px) {
  .testimonial-marquee-layout {
    padding: 0;
  }

  .testimonial-marquee-summary {
    padding: 2rem 1.2rem;
  }

  .testimonial-marquee-copy {
    max-width: 30ch;
  }

  .testimonial-marquee-summary::before,
  .testimonial-marquee-summary::after {
    width: 84px;
    height: 84px;
  }

  .testimonial-marquee-live-score {
    align-items: center;
  }

  .testimonial-marquee-live-score__top {
    justify-content: center;
  }

  .testimonial-marquee-live-score__value {
    font-size: 1.6rem;
  }

  .testimonial-marquee-live-score__stars {
    font-size: 1rem;
  }

  .testimonial-marquee-stage {
    margin-top: -10rem !important;
    overflow: hidden !important;
  }

  .testimonial-marquee-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .testimonial-marquee-column {
    --testimonial-track-offset: 0rem;
    --testimonial-top-glow: 0.35rem;
    --testimonial-bottom-glow: 5.5rem;
    height: 46rem !important;
    overflow: hidden !important;
  }

  .testimonial-marquee-column::before,
  .testimonial-marquee-column::after {
    display: block !important;
  }

  .testimonial-marquee-column:nth-child(n+2) {
    display: none !important;
  }

  .testimonial-marquee-track {
    display: flex !important;
    flex-direction: column !important;
    top: 0 !important;
    transform: translate3d(0, 0, 0);
    will-change: transform !important;
  }

  .testimonial-marquee-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding-bottom: 1rem !important;
  }

  .testimonial-marquee-column.is-up .testimonial-marquee-track {
    animation: testimonial-marquee-up 24s linear infinite !important;
  }

  .testimonial-marquee-column.is-down .testimonial-marquee-track {
    animation: testimonial-marquee-down 24s linear infinite !important;
  }

  .testimonial-review-card {
    padding: 1.15rem;
  }

  .testimonial-review-card__quote {
    font-size: 0.9rem;
    line-height: 1.6;
  }
}
