/* Testimonial cards: real text (not screenshots) so the quotes stay sharp at
   any zoom and are readable by search and AI crawlers. Shared markup lives in
   src/_includes/testimonials-tshots.njk, which links this file. */
.tshots { display: flex; gap: 22px; align-items: stretch; }
.tshots__col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.tshot {
  display: flex; flex-direction: column; gap: 16px; padding: 24px;
  border-radius: 16px; border: 1px solid #E7EBF3; background: #fff;
  box-shadow: 0 2px 8px rgba(5,24,79,0.04); text-align: left;
  transition: transform 0.25s cubic-bezier(0.22,1,0.36,1), box-shadow 0.25s cubic-bezier(0.22,1,0.36,1), border-color 0.25s ease;
}
.tshots__col > .tshot { flex: 1 1 auto; }
.tshot:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(5,24,79,0.1); border-color: #D7DEF2; }
.tshot__head { display: flex; align-items: center; gap: 12px; }
.tshot__avatar {
  flex: none; width: 48px; height: 48px; border-radius: 50%; object-fit: cover;
  background: #E8EDFD;
}
.tshot__who { flex: 1; min-width: 0; }
.tshot .tshot__name { margin: 0; font: 600 16px/1.3 Inter, sans-serif; color: #05184F; }
.tshot .tshot__role { margin: 2px 0 0; font: 400 14px/1.4 Inter, sans-serif; color: #5A6480; }
.tshot__li { flex: none; align-self: flex-start; color: #6B7488; }
.tshot__quote { margin: 0; padding: 0; border: 0; font: 400 16px/1.6 Inter, sans-serif; color: #1F2A44; }
.tshot .tshot__quote p { margin: 0 0 12px; }
.tshot__quote p:last-child, .tshot__quote ol:last-child { margin-bottom: 0; }
.tshot__quote ol { margin: 0 0 12px; padding-left: 22px; }
.tshot__quote li { margin: 0 0 4px; }
.tshot__foot { margin-top: auto; padding-top: 14px; border-top: 1px solid #E7EBF3; }
.tshot__link {
  display: inline-flex; align-items: center; gap: 6px;
  font: 600 14px/1.4 Inter, sans-serif; color: #2F4FC4; text-decoration: none;
}
.tshot__link:hover { text-decoration: underline; }
.tshot__link:focus:not(:focus-visible) { outline: none; }
.tshot__link:focus-visible { outline: 2px solid #4068EB; outline-offset: 3px; border-radius: 4px; }
.tshot__sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
@media (max-width: 767px) {
  .tshots { flex-direction: column; }
  .tshots__col { flex: unset; width: 100%; }
  .tshot { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .tshot { transition: none; }
  .tshot:hover { transform: none; }
}
