/* Tecture Testimonials: quote cards that match the site's Elementor testimonial design. */
/* Link selectors are scoped on purpose: Elementor resets links inside paragraphs (.e-paragraph-base a). */

.tts-grid { display: grid; gap: 24px; width: 100%; }
.tts-grid--1 { grid-template-columns: minmax(0, 1fr); }
.tts-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tts-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { .tts-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .tts-grid--2, .tts-grid--3 { grid-template-columns: minmax(0, 1fr); } }

.tts-card {
	display: flex; flex-direction: column; box-sizing: border-box; margin: 0; padding: 34px 30px;
	background: #fff; border: 1px solid #e3e7ef; border-radius: 14px;
	font-family: var(--font-body, "Inter"), sans-serif; color: #1e293b;
}
.tts-card .tts-card__logo { display: block; align-self: flex-start; height: 36px !important; width: auto !important; max-width: 180px !important; object-fit: contain; object-position: left center; margin: 0 0 18px; }
.tts-card__title { font-family: var(--font-heading, "Space Grotesk"), sans-serif; font-size: 19.5px; font-weight: 700; line-height: 1.3; color: #0b1220; margin: 0 0 17px; }
.tts-card__quote { flex: 1; margin: 0 0 24px; padding: 0; border: 0; font-size: 17px; font-style: normal; line-height: 1.6; color: #1e293b; quotes: none; }
.tts-card__quote::before, .tts-card__quote::after { content: none; }
.tts-card__caption { display: flex; flex-direction: column; align-items: flex-start; padding: 16px 0 0; border-top: 1px solid #e3e7ef; }
.tts-card__name { font-size: 15.6px; font-weight: 700; line-height: 1.6; color: #0b1220; }
.tts-card__role { font-size: 15.6px; line-height: 1.6; color: #5b6478; }
.tts-card.tts-card .tts-card__case { margin-top: 8px; font-size: 15px; font-weight: 600; line-height: 1.5; color: #2563eb; text-decoration: none; }
.tts-card .tts-card__case::after { content: "\2192"; display: inline-block; margin-left: .3em; transition: transform .2s; }
.tts-card .tts-card__case:hover, .tts-card .tts-card__case:focus-visible { color: #1d4ed8; }
.tts-card .tts-card__case:hover::after { transform: translateX(3px); }

@media (prefers-reduced-motion: reduce) { .tts-card .tts-card__case::after { transition: none; } }
