.testimonials {
  position: relative;
  isolation: isolate;
  padding: 40px 44px 65px;
  scroll-margin-top: 28px;
}
.testimonials::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 -24px;
  background: var(--ivory) url('assets/depoimentos-background-optimized.webp') center / cover no-repeat;
  mask-image: linear-gradient(transparent, #000 12%, #000 86%, transparent);
  pointer-events: none;
}
.testimonials-intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 35px;
  padding: 0 0 28px 40px;
}
.testimonials-intro > div { min-width: 0; }
.testimonials .eyebrow { font-size: 15px; letter-spacing: .4em; margin: 0 0 14px; }
.testimonials h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(44px, 5.25vw, 80px);
  line-height: 1.02;
  letter-spacing: -.06em;
  font-weight: 400;
  margin: 0;
}
.testimonials h2 em { display: block; font-weight: 400; color: var(--gold); font-size: 1.14em; }
.testimonials-source {
  flex: 0 0 auto;
  padding: 12px 30px;
  margin: 22px 6px 0 0;
  border: 1px solid var(--gold);
  border-radius: 99px;
  font-size: 18px;
  line-height: 1.4;
}
.testimonials-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(0, 1fr); gap: 54px; }
.review { min-width: 0; margin: 0; }
.review-stars { display: block; color: #b47d22; font-family: Arial, sans-serif; font-size: 28px; letter-spacing: 1px; line-height: 1.2; margin-bottom: 7px; }
.review-quote { margin: 0; font-size: clamp(20px, 1.75vw, 27px); line-height: 1.32; letter-spacing: -.015em; }
.review-author { display: flex; align-items: center; gap: 16px; margin-top: 10px; }
.review-author img { display: block; width: 60px; height: 60px; flex: 0 0 60px; object-fit: cover; border-radius: 50%; }
.review-name { display: block; font-size: 21px; line-height: 1.35; font-weight: 500; }
.review-origin { display: block; color: #6d6054; font-size: 16px; line-height: 1.5; }
.review-featured { display: flex; flex-direction: column; padding: 32px 40px 42px; background: #efe2d0bb; border-radius: 17px; }
.review-decoration { display: block; height: 110px; color: var(--gold); font-family: Georgia, serif; font-size: 230px; line-height: 1; letter-spacing: -.1em; }
.review-featured .review-stars { font-size: 38px; margin: 6px 0 15px; }
.review-featured .review-quote { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(38px, 3.7vw, 57px); line-height: 1.09; letter-spacing: -.055em; }
.review-featured .review-author { margin-top: auto; padding-top: 28px; }
.review-featured .review-author img { width: 80px; height: 80px; flex-basis: 80px; }
.review-featured .review-name { font-size: 24px; }
.review-featured .review-origin { font-size: 18px; }
.testimonials-list .review + .review { border-top: 1px solid #b89a70; margin-top: 18px; padding-top: 20px; }
.testimonials-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 20px 30px; margin-top: 22px; }
.testimonials-footer p { margin: 0; color: #6d6054; font-size: 15px; line-height: 1.6; }
.testimonials-footer a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 17px; line-height: 1.4; text-decoration-thickness: 1px; text-underline-offset: 5px; transition: color .18s; }
.testimonials-footer a:hover { color: #8d642f; }
.testimonials-footer a > span { font-size: 28px; text-decoration: none; }
@media (max-width: 1190px) {
  .testimonials { padding: 35px 12px 65px; }
  .testimonials-intro { padding-left: 14px; gap: 25px; }
  .testimonials h2 { font-size: clamp(42px, 5.2vw, 62px); }
  .testimonials-source { font-size: 15px; padding: 12px 20px; margin-top: 16px; }
  .testimonials-grid { gap: 32px; }
  .review-featured { padding: 26px 28px 32px; }
  .review-featured .review-quote { font-size: clamp(36px, 3.8vw, 45px); }
  .review-decoration { font-size: 190px; height: 90px; }
  .review-featured .review-stars { font-size: 31px; }
  .review-name { font-size: 19px; }
  .review-featured .review-author img { width: 65px; height: 65px; flex-basis: 65px; }
  .review-featured .review-name { font-size: 22px; }
}
@media (max-width: 900px) {
  .testimonials { padding: 30px 0 60px; }
  .testimonials-intro { flex-direction: column; gap: 20px; padding: 0 0 26px; }
  .testimonials h2 { font-size: clamp(42px, 6.5vw, 58px); }
  .testimonials-source { margin: 0; }
  .testimonials-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .review-featured { padding: 28px 32px 32px; }
  .review-featured .review-quote { font-size: clamp(35px, 5.5vw, 43px); }
  .review-featured .review-author { margin-top: 0; padding-top: 24px; }
  .review-quote { font-size: 21px; line-height: 1.5; }
  .testimonials-list .review + .review { margin-top: 24px; padding-top: 24px; }
  .testimonials-footer { flex-direction: column; gap: 10px; align-items: flex-start; margin-top: 28px; }
}
@media (max-width: 640px) {
  .testimonials::before { inset-inline: -20px; }
  .testimonials .eyebrow { font-size: 11px; margin-bottom: 15px; }
  .testimonials h2 { font-size: clamp(38px, 9.7vw, 54px); line-height: 1.1; }
  .testimonials-source { font-size: 14px; padding: 11px 20px; }
  .review-featured { padding: 22px 24px 28px; border-radius: 13px; }
  .review-decoration { height: 76px; font-size: 170px; }
  .review-featured .review-stars { font-size: 29px; margin: 5px 0 17px; }
  .review-featured .review-quote { font-size: clamp(31px, 8.1vw, 41px); line-height: 1.16; }
  .review-featured .review-author img { width: 60px; height: 60px; flex-basis: 60px; }
  .review-featured .review-name { font-size: 20px; }
  .review-featured .review-origin { font-size: 16px; }
  .review-stars { font-size: 25px; }
  .review-quote { font-size: 19px; line-height: 1.5; }
  .review-author { gap: 13px; margin-top: 14px; }
  .review-author img { width: 54px; height: 54px; flex-basis: 54px; }
  .review-name { font-size: 18px; }
  .review-origin { font-size: 15px; }
  .testimonials-footer p { font-size: 14px; }
  .testimonials-footer a { font-size: 15px; gap: 10px; }
}
