.cy-testimonials {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at 4% 73%, #eaf7ff 0 170px, transparent 171px),
    radial-gradient(circle at 98% 50%, #eef4ff 0 200px, transparent 201px),
    linear-gradient(#fff, #f8fcff);
}
.cy-testimonials::before, .cy-testimonials::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 70px;
  background: radial-gradient(circle, #d8eaff 2px, transparent 2.5px) 0 0 / 20px 20px;
  pointer-events: none;
}
.cy-testimonials::before { top: 65px; left: 0; }
.cy-testimonials::after { bottom: 20px; right: 0; }
.cy-testimonials > .container { position: relative; z-index: 1; max-width: 1920px; padding: 0 36px; }
.cy-testimonials h2 { font-size: clamp(28px, 2.7vw, 46px); font-weight: 800; }
.cy-testimonials .cy-eyebrow { font-size: 14px; letter-spacing: 3px; margin-bottom: 18px; }
.cy-testimonials-highlight { position: relative; display: inline-block; color: #007bff; }
.cy-testimonials-highlight::after {
  content: ""; position: absolute; bottom: -7px; right: 0; width: 34%; height: 7px;
  border-top: 5px solid #ffc32c; border-radius: 50%; transform: rotate(-1deg);
}
.cy-testimonials-spark { position: absolute; width: 46px; height: 46px; right: -42px; top: -25px; fill: none; stroke: #ffc32c; stroke-width: 6; stroke-linecap: round; }
.cy-testimonials h2 + p { font-size: clamp(16px, 1.3vw, 22px); margin-top: 20px; }
.cy-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 34px; text-align: left; }
.cy-quote-card {
  display: grid; grid-template-columns: 45% minmax(0, 1fr); grid-template-rows: 1fr auto; align-items: center; column-gap: 24px;
  margin: 0; padding: 18px; border: 1px solid #dfedff; border-radius: 16px;
  background: #fff; box-shadow: 0 10px 30px #007bff05;
}
/* Show the original portraits and logos from the supplied reference as a CSS sprite.
   Coordinates use the 2048 x 730 reference ratio; the source image is unchanged. */
.cy-quote-photo, .cy-quote-logo { background-image: url('testimonials-reference.png'); background-repeat: no-repeat; }
.cy-quote-photo { grid-row: 1 / 3; width: 100%; aspect-ratio: 267 / 338; border-radius: 14px; background-size: 767.0412% 215.9763%; }
.cy-quote-photo-koquetas { background-position: 3.0882% 66.3265%; }
.cy-quote-photo-passos { background-position: 40.9882% 66.3265%; }
.cy-quote-photo-memory { background-position: 77.653% 66.8367%; }
.cy-quote-content { min-width: 0; display: flex; flex-direction: column; height: 100%; justify-content: center; }
.cy-quote-mark { display: block; height: 42px; font: 800 76px/1 Georgia, serif; color: #d7e8ff; }
.cy-quotes blockquote { margin: 12px 0 20px; color: #7182a5; font-size: clamp(15px, 1.08vw, 21px); line-height: 1.45; }
.cy-quotes figcaption { grid-column: 2; display: flex; align-items: center; gap: 12px; padding-top: 12px; border-top: 1px solid #e6edf7; color: #10194f; font-size: clamp(14px, 1.05vw, 20px); line-height: 1.35; }
.cy-quotes figcaption strong { display: block; font-weight: 800; }
.cy-quote-business { display: block; margin-top: 4px; color: #8798b8; font-weight: 400; }
.cy-quote-logo { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%; background-size: 2844.4444% 1013.8889%; }
.cy-quote-logo-koquetas { background-position: 17.8138% 79.3313%; }
.cy-quote-logo-passos { background-position: 52.0243% 79.7872%; }
.cy-quote-logo-memory { background-position: 85.4251% 79.3313%; }
.cy-testimonials .cy-link { margin-top: 24px; color: #007bff; font-size: 18px; font-weight: 600; }
.cy-testimonials .cy-link span { display: inline-block; margin-left: 6px; }
@media (max-width: 1399px) and (min-width: 1200px) {
  .cy-quote-card { column-gap: 16px; padding: 14px; grid-template-columns: 40% minmax(0, 1fr); }
  .cy-quote-logo { flex-basis: 42px; width: 42px; height: 42px; }
  .cy-quotes figcaption { gap: 8px; }
}
@media (max-width: 1199px) {
  .cy-quotes { grid-template-columns: 1fr; max-width: 720px; margin: 30px auto 0; }
  .cy-quote-card { grid-template-columns: 36% minmax(0, 1fr); }
  .cy-quotes blockquote { font-size: 18px; }
  .cy-quotes figcaption { font-size: 17px; }
}
@media (max-width: 575px) {
  .cy-testimonials > .container { padding: 0 20px; }
  .cy-testimonials .cy-eyebrow { font-size: 11px; letter-spacing: 2px; }
  .cy-testimonials-spark { width: 26px; height: 26px; right: -18px; top: -18px; }
  .cy-quote-card { grid-template-columns: 1fr; gap: 20px; padding: 18px; }
  .cy-quote-photo { grid-row: auto; max-width: 240px; margin: auto; }
  .cy-quotes figcaption { grid-column: 1; }
  .cy-quotes blockquote { font-size: 16px; }
  .cy-quotes figcaption { font-size: 16px; }
  .cy-testimonials .cy-link { font-size: 16px; }
}
