#testimonials {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 36px 0 40px;
  background: #fafafa;
  color: #15181c;
}
#testimonials::before, #testimonials::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 1100px;
  height: 750px;
  border-radius: 50%;
  background: linear-gradient(145deg, #eeeeef90, #ffffff20);
  pointer-events: none;
}
#testimonials::before { left: -740px; top: 190px; transform: rotate(24deg); }
#testimonials::after { right: -720px; top: 110px; transform: rotate(-28deg); }
#testimonials > .container { max-width: none; padding: 0; }
#testimonials .section-head { max-width: 900px; padding: 0 24px; margin: 0 auto 32px; text-align: center; }
#testimonials .eyebrow { display: inline-flex; gap: 12px; border-radius: 30px; background: #f0f0f1; padding: 8px 20px; color: #44464e; font: 500 14px var(--font-body); letter-spacing: 0; text-transform: none; margin-bottom: 20px; }
#testimonials .eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #85858b; }
#testimonials .section-head h2 { color: #171a1d; font: 500 clamp(34px, 4vw, 60px)/1.04 var(--font-body); letter-spacing: -2px; margin: 0 0 24px; }
#testimonials .section-head h2 span { color: #d6643c; }
#testimonials .section-head p { color: #6c717d; font: 400 18px/1.5 var(--font-body); max-width: 660px; margin: auto; }
#testimonials .t-track-wrap { overflow: visible; touch-action: pan-y; }
#testimonials .t-track { display: block; position: relative; height: 390px; transform: none !important; }
#testimonials .t-card {
  --accent: #24217d; --tint: #e6e3ff;
  position: absolute; left: 50%; top: 0; width: min(560px, 38vw); height: 380px;
  padding: 24px 30px; border: 1px solid #fff; border-radius: 24px;
  background: linear-gradient(145deg, #fff, #fcfcfc);
  box-shadow: 0 26px 48px #18203312;
  opacity: 0; transform: translateX(-50%) translateX(170%) perspective(1200px) rotateY(-48deg) scale(.86);
  transition: transform 1100ms cubic-bezier(.25,.65,.25,1), opacity 900ms ease;
  pointer-events: none; backface-visibility: hidden;
}
#testimonials .t-card:nth-child(3n+2) { --accent: #be552e; --tint: #ffebe3; }
#testimonials .t-card:nth-child(3n) { --accent: #27875a; --tint: #e2f3e8; }
#testimonials .t-card.is-current { opacity: 1; z-index: 3; transform: translateX(-50%) translateX(0%) perspective(1200px) rotateY(0deg) scale(1); pointer-events: auto; }
#testimonials .t-card.is-before { opacity: .82; z-index: 2; transform: translateX(-50%) translateX(-85%) perspective(1200px) rotateY(48deg) scale(.86); }
#testimonials .t-card.is-after { opacity: .82; z-index: 2; transform: translateX(-50%) translateX(85%) perspective(1200px) rotateY(-48deg) scale(.86); }
#testimonials .t-card.is-far-before { transform: translateX(-50%) translateX(-170%) perspective(1200px) rotateY(48deg) scale(.86); }
#testimonials .t-card::before { content: "“"; display: grid; place-items: center; width: 54px; height: 54px; flex-shrink: 0; border-radius: 50%; background: var(--tint); color: var(--accent); font: 700 46px Georgia, serif; padding-top: 12px; margin-bottom: 16px; }
#testimonials .t-count { position: absolute; right: 40px; top: 38px; color: #999da7; font-size: 13px; }
#testimonials .t-card p.quote { font: 400 clamp(16px, 1.2vw, 18px)/1.5 var(--font-body); color: #171a1d; text-align: left; margin: 0 0 16px; overflow-y: auto; scrollbar-width: thin; flex: 1; min-height: 0; }
#testimonials .t-person { min-height: 64px; flex-shrink: 0; padding-top: 12px; border-top: 1px solid #ededf0; gap: 16px; }
#testimonials .t-avatar { width: 52px; height: 52px; font: 500 24px var(--font-body); color: var(--accent); background: var(--tint); }
#testimonials .t-person .name { color: #171a1d; font-size: 17px; font-weight: 600; }
#testimonials .t-person .role { color: #818691; font-size: 14px; margin-top: 4px; }
#testimonials .t-controls { display: flex; align-items: center; justify-content: center; gap: 36px; margin-top: 16px; }
#testimonials .t-arrow { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: #fff; border: 0; color: #171a1d; box-shadow: 0 6px 20px #18203308; font-size: 26px; cursor: pointer; transition: transform .2s; }
#testimonials .t-arrow:hover { transform: scale(1.07); }
#testimonials .t-dots { display: flex; justify-content: center; gap: 11px; width: 142px; }
#testimonials .t-dot[hidden] { display: none; }
#testimonials .t-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #cfd0d4; cursor: pointer; transition: background .3s, transform .3s; }
#testimonials .t-dot[aria-current="true"] { background: #191d22; transform: scale(1.2); }
#testimonials button:focus-visible { outline: 2px solid #5246b8; outline-offset: 5px; }
#testimonials .t-summary { display: flex; justify-content: center; margin: 44px auto 0; max-width: 1050px; }
#testimonials .t-summary > div { display: flex; align-items: center; gap: 24px; padding: 0 44px; border-right: 1px solid #dedfe3; }
#testimonials .t-summary > div:last-child { border: 0; }
#testimonials .t-summary i { font-size: 28px; color: #737985; }
#testimonials .t-summary strong { display: block; font-size: 28px; line-height: 1.3; font-weight: 600; }
#testimonials .t-summary small { color: #7a7f8b; font-size: 14px; }
@media (max-width: 900px) {
  #testimonials .t-card { width: 60vw; padding: 24px; }
  #testimonials .t-summary > div { padding: 0 22px; gap: 14px; }
}
@media (max-width: 600px) {
  #testimonials { padding: 36px 0 44px; }
  #testimonials .section-head { margin-bottom: 28px; }
  #testimonials .section-head h2 { letter-spacing: -1px; }
  #testimonials .section-head p { font-size: 15px; }
  #testimonials .t-card { width: 82vw; height: 400px; padding: 22px; border-radius: 22px; }
  #testimonials .t-track { height: 410px; }
  #testimonials .t-card::before { width: 54px; height: 54px; font-size: 46px; margin-bottom: 18px; }
  #testimonials .t-count { top: 30px; right: 24px; }
  #testimonials .t-card p.quote { font-size: 17px; }
  #testimonials .t-avatar { width: 48px; height: 48px; font-size: 22px; }
  #testimonials .t-person { gap: 12px; }
  #testimonials .t-person .name { font-size: 14px; }
  #testimonials .t-person .role { font-size: 12px; }
  #testimonials .t-controls { gap: 18px; }
  #testimonials .t-arrow { width: 44px; height: 44px; flex-shrink: 0; }
  #testimonials .t-dots { max-width: 190px; }
  #testimonials .t-summary { gap: 16px; padding: 0 14px; }
  #testimonials .t-summary > div { flex-direction: column; text-align: center; padding: 0; gap: 10px; flex: 1; border: 0; }
  #testimonials .t-summary strong { font-size: 23px; }
  #testimonials .t-summary small { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  #testimonials .t-card, #testimonials button { transition: none; }
}
