.testimonials-section {
  padding: 94px max(20px, calc((100% - 1180px) / 2)) 100px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(217, 164, 67, .11), transparent 25%),
    linear-gradient(180deg, #f8f2e8, var(--cream));
  border-bottom: 1px solid var(--line);
}
.testimonials-section .section-heading { margin-bottom: 42px; }
.testimonials-carousel {
  display: grid;
  grid-template-columns: 56px minmax(0, 900px) 56px;
  gap: 28px;
  align-items: center;
  justify-content: center;
}
.testimonials-viewport {
  min-width: 0;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
  outline: none;
}
.testimonials-viewport:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 5px; }
.testimonials-track { display: flex; align-items: stretch; transition: transform .42s ease; }
.testimonial-slide {
  min-width: 0;
  min-height: 400px;
  padding: 52px 72px 48px;
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  background: var(--paper);
  border: 1px solid var(--line);
  box-shadow: 0 24px 64px rgba(6, 26, 61, .08);
}
.testimonial-slide::before {
  content: "";
  height: 5px;
  position: absolute;
  inset: 0 0 auto;
  background: var(--gold);
}
.testimonial-slide blockquote { max-width: 760px; margin: 0; }
.testimonial-quote-mark {
  display: block;
  height: 48px;
  margin-bottom: 8px;
  color: var(--gold);
  font-family: Georgia, serif;
  font-size: 5.5rem;
  line-height: .85;
}
.testimonial-title {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.4rem, 2.5vw, 2.15rem);
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.testimonial-text {
  margin: 24px auto 0;
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.72;
}
.testimonial-slide cite {
  display: block;
  margin-top: 27px;
  color: var(--gold);
  font-size: 1rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .035em;
}
.testimonial-arrow {
  width: 56px;
  height: 56px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--navy);
  background: transparent;
  border: 1px solid rgba(6, 26, 61, .28);
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.testimonial-arrow svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.testimonial-arrow:hover { color: white; background: var(--navy); border-color: var(--navy); transform: translateY(-2px); }
.testimonials-status {
  margin: 25px 0 0;
  color: var(--gold);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-align: center;
}
.testimonials-section [hidden] { display: none !important; }

@media (max-width: 760px) {
  .testimonials-section { padding: 68px 20px 72px; }
  .testimonials-section .section-heading { margin-bottom: 30px; }
  .testimonials-section .section-heading h2 { font-size: clamp(1.65rem, 7vw, 2.05rem); letter-spacing: .02em; }
  .testimonials-carousel { grid-template-columns: 1fr 1fr; gap: 20px 12px; }
  .testimonials-viewport { grid-column: 1 / -1; grid-row: 1; }
  .testimonial-slide { min-height: 500px; padding: 42px 24px 38px; }
  .testimonial-text { font-size: 1rem; line-height: 1.65; }
  .testimonial-arrow { width: 50px; height: 50px; }
  .testimonial-arrow-prev { justify-self: end; }
  .testimonial-arrow-next { justify-self: start; }
  .testimonials-status { margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .testimonials-track { transition: none; }
}
