/* =========================================================
   TESTIMONIALS PAGE
   White About-page style layout with m69 carousel structure
   ========================================================= */

body.testimonials-page{
  background: #ffffff;
  color: #111827;
  font-family: "Red Hat Text", "Red Hat Display", system-ui, sans-serif;
}

body.testimonials-page .testimonials-main{
  width: 100%;
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: #111827;
  overflow: hidden;
}

body.testimonials-page .testimonials-main *,
body.testimonials-page .testimonials-main *::before,
body.testimonials-page .testimonials-main *::after{
  box-sizing: border-box;
}

body.testimonials-page .container{
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px){
  body.testimonials-page .container{
    max-width: 540px;
  }
}

@media (min-width: 768px){
  body.testimonials-page .container{
    max-width: 720px;
  }
}

@media (min-width: 992px){
  body.testimonials-page .container{
    max-width: 960px;
  }
}

@media (min-width: 1200px){
  body.testimonials-page .container{
    max-width: 1170px;
  }

  body.testimonials-page .testimonials-main > .testimonials-section > .container{
    zoom: 0.9;
  }
}

body.testimonials-page .testimonials-section{
  padding: 52px 0 82px;
  background: #ffffff;
}

body.testimonials-page .testimonials-title{
  margin: 0;
  color: #1b2430;
  font-family: "Red Hat Display", "Red Hat Text", system-ui, sans-serif;
  font-size: clamp(2.6rem, 3.4vw, 4.05rem);
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -0.045em;
}

body.testimonials-page .testimonials-rule{
  width: 100%;
  height: 3px;
  margin: 22px 0 28px;
  background: #d4dae0;
}

body.testimonials-page .svg-icon--icon-button-arrow{
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: currentColor;
}

body.testimonials-page .button.button--simple{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  color: #007033;
  font-family: "Red Hat Text", "Red Hat Display", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.01em;
  text-decoration: none;
  transition: none;
}

body.testimonials-page .button.button--simple:hover,
body.testimonials-page .button.button--simple:focus-visible{
  color: #005426;
  text-decoration: none;
  outline: none;
}

/* m69 testimonials carousel */

body.testimonials-page .m69{
  width: 100%;
  padding: 0;
  background: #ffffff;
}

body.testimonials-page .m69__track{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 44px) / 3);
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

body.testimonials-page .m69__track::-webkit-scrollbar{
  display: none;
}

body.testimonials-page .m69__card{
  min-width: 0;
  scroll-snap-align: start;
  background: #ffffff;
  border: 1px solid #d7dce1;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

body.testimonials-page .m69__card-image{
  width: 100%;
  background: #000000;
  border-bottom: 1px solid #d7dce1;
}

body.testimonials-page .m69__card-img{
  margin: 0;
}

body.testimonials-page .m69__card-img__image{
  display: block;
  width: 100%;
  aspect-ratio: 1.5 / 1;
  height: auto;
  object-fit: cover;
  object-position: center center;
  padding: 0;
}

body.testimonials-page .m69__card-body{
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: start;
  flex: 1 1 auto;
  padding: clamp(19px, 2.05vw, 28px);
}

body.testimonials-page .testimonial-rating{
  --testimonial-rating: 5;
  position: relative;
  display: inline-block;
  grid-column: 1 / -1;
  width: fit-content;
  margin: 0 0 14px;
  color: #adb2b9;
  font-family: "Red Hat Display", "Red Hat Text", system-ui, sans-serif;
  font-size: clamp(1.24rem, 1.43vw, 1.58rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.035em;
}

body.testimonials-page .testimonial-rating__empty{
  display: block;
  color: #adb2b9;
}

body.testimonials-page .testimonial-rating__filled{
  position: absolute;
  top: 0;
  left: 0;
  width: calc((var(--testimonial-rating) / 5) * 100%);
  overflow: hidden;
  color: #007033;
  white-space: nowrap;
}

body.testimonials-page .m69__card-text{
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  height: 11.84em; /* Exactly eight lines at a 1.48 line-height */
  min-height: 11.84em;
  max-height: 11.84em;
  margin: 0;
  overflow: hidden;
  color: #152232;
  font-family: "Red Hat Text", "Red Hat Display", system-ui, sans-serif;
  font-size: 0.91rem;
  font-weight: 520;
  line-height: 1.48;
  letter-spacing: -0.012em;
}

body.testimonials-page .m69__card-text::after{
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 20%;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(13, 13, 13, 0) 0%,
    rgba(13, 13, 13, 0.62) 52%,
    #0D0D0D 100%
  );
}

/* The first review already fits the intended eight-line baseline. */
body.testimonials-page .m69__card:first-child .m69__card-text::after{
  display: none;
}

body.testimonials-page .testimonial-author{
  display: contents;
}

body.testimonials-page .testimonial-author__name{
  grid-column: 1 / -1;
  margin: 22px 0 0;
  color: #111827;
  font-family: "Red Hat Display", "Red Hat Text", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 850;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

body.testimonials-page .testimonial-author__title{
  grid-column: 1;
  margin: 5px 0 0;
  color: #5f5e5e;
  font-family: "Red Hat Text", "Red Hat Display", system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.012em;
}

body.testimonials-page .m69__card-link{
  grid-column: 2;
  align-self: end;
  justify-self: end;
  margin: 5px 0 0 0;
  padding-top: 0;
  font-size: 0.78rem;
}

body.testimonials-page .m69__arrows{
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 28px;
}

body.testimonials-page .m69__arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid #cfd6dc;
  border-radius: 50%;
  background: #ffffff;
  color: #111827;
  cursor: pointer;
  transition: none;
}

body.testimonials-page .m69__arrow:hover,
body.testimonials-page .m69__arrow:focus-visible{
  background: #f2f2f2;
  outline: none;
}

body.testimonials-page .m69__arrow svg{
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.testimonials-page .m69__arrow--prev svg{
  transform: rotate(180deg);
}

body.testimonials-page .m69__arrow:disabled{
  opacity: 0.38;
  cursor: default;
}

body.testimonials-page .m69__arrow:disabled:hover{
  background: #ffffff;
}

@media (max-width: 980px){
  body.testimonials-page .m69__track{
    grid-auto-columns: calc((100% - 22px) / 2);
  }
}

@media (max-width: 760px){
  body.testimonials-page .m69__track{
    grid-auto-columns: 88%;
  }
}

@media (max-width: 700px){
  body.testimonials-page .testimonials-section{
    padding: 38px 0 64px;
  }

  body.testimonials-page .testimonials-rule{
    margin: 18px 0 24px;
  }
}

@media (max-width: 520px){
  body.testimonials-page .m69__track{
    grid-auto-columns: 100%;
  }
}

/* =========================================================
   TESTIMONIALS PAGE - DARK COLOR INVERSION
   ========================================================= */

body.testimonials-page,
body.testimonials-page .testimonials-main,
body.testimonials-page .testimonials-section,
body.testimonials-page .m69{
  background: #000000;
  color: #F2F2F2;
}

body.testimonials-page .testimonials-title{
  color: #F2F2F2;
}

body.testimonials-page .testimonials-rule{
  background: #7a7c80;
}

body.testimonials-page .button.button--simple{
  color: #FFFFFF;
}

body.testimonials-page .button.button--simple:hover,
body.testimonials-page .button.button--simple:focus-visible{
  color: #FFFFFF;
}

body.testimonials-page .m69__card{
  background: #0D0D0D;
  border-color: #343A40;
}

body.testimonials-page .m69__card-image{
  background: #000000;
  border-bottom-color: #343A40;
}

body.testimonials-page .testimonial-rating{
  color: #4B5158;
}

body.testimonials-page .testimonial-rating__empty{
  color: #4B5158;
}

body.testimonials-page .testimonial-rating__filled{
  color: #e5ff00;
}

body.testimonials-page .m69__card-text{
  color: #D0D5DA;
}

body.testimonials-page .testimonial-author__name{
  color: #2cb965;
}

body.testimonials-page .testimonial-author__title{
  color: #AEB4BA;
}

body.testimonials-page .m69__arrow{
  border-color: #3A4148;
  background: #0D0D0D;
  color: #F2F2F2;
}

body.testimonials-page .m69__arrow:hover,
body.testimonials-page .m69__arrow:focus-visible{
  background: #191919;
}

body.testimonials-page .m69__arrow:disabled:hover{
  background: #0D0D0D;
}

/* =========================================================
   TESTIMONIALS PAGE - SMALL PHONE RESPONSIVE (320-480px)
   ========================================================= */

@media (max-width: 480px){
  body.testimonials-page .testimonials-section{
    padding: 28px 0 48px;
  }

  body.testimonials-page .testimonials-title{
    font-size: clamp(2rem, 9vw, 2.6rem);
  }

  body.testimonials-page .testimonials-rule{
    margin: 14px 0 20px;
  }

  body.testimonials-page .m69__card-body{
    padding: 16px 14px;
  }

  body.testimonials-page .m69__card-text{
    font-size: 0.86rem;
    height: auto;
    min-height: auto;
    max-height: none;
  }

  body.testimonials-page .m69__card-text::after{
    display: none;
  }

  body.testimonials-page .testimonial-author__name{
    margin-top: 16px;
    font-size: 0.92rem;
  }

  body.testimonials-page .m69__arrows{
    justify-content: center;
    margin-top: 22px;
  }
}