.testimonial { padding: 44px 0; text-align: center; border-top: 1px solid var(--line-soft); }

.testimonials-rail {
  display: flex; gap: 14px; overflow-x: auto;
  scroll-snap-type: x mandatory; scroll-padding-left: var(--pad-x);
  padding: 4px var(--pad-x) 10px; -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.testimonials-rail::-webkit-scrollbar { display: none; }

.t-card {
  flex: 0 0 85%; scroll-snap-align: start;
  text-align: left; background: var(--surface); border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); padding: var(--space-6) var(--space-5);
}

.t-card blockquote {
  font-family: var(--font-display); font-weight: 400; font-style: italic;
  font-size: clamp(17px, 2.4vw, 20px); line-height: 1.35; letter-spacing: -0.01em; margin: 0;
}

.t-card blockquote em { font-style: normal; color: var(--accent); font-weight: 700; }

.t-card cite { display: block; font-style: normal; font-size: var(--text-xs); color: var(--ink-mute); margin-top: var(--space-3); }

.t-card cite b { color: var(--ink); font-weight: 600; }

/* ─── Tablet+ (≥ 600px) ─────────────────────────────────────────── */
@media (width >= 600px) {
  .testimonial { padding: 56px 0; }

  .testimonials-rail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
    padding: 4px var(--pad-x) 10px;
    overflow: visible;
    scroll-snap-type: none;
  }

  .t-card { flex: initial; }
}

/* ─── Desktop (≥ 1024px) ─────────────────────────────────────────── */
@media (width >= 1024px) {
  .testimonial { padding: 72px 0; }

  .testimonials-rail {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
  }
}
