/* Testimonials — prefix ts- */
.ts-hero { position: relative; padding: clamp(48px, 8vh, 96px) 0 var(--hl-space-6); overflow: hidden; }
.ts-hero::before { content: ""; position: absolute; right: -140px; top: -170px; width: 440px; height: 440px; border: 42px solid rgba(227,30,47,.14); border-radius: 50%; }
.ts-hero-inner { position: relative; }
.ts-hero .hl-breadcrumb, .ts-hero .eyebrow { color: var(--hl-white); }
.ts-hero-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(32px, 6vw, 96px); align-items: end; }
.ts-hero h1 { color: var(--hl-white); }
.ts-rating { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; padding: 20px 22px; border: 1px solid var(--hl-border-dark); border-radius: var(--hl-radius-lg); }
.ts-rating .stars { color: var(--hl-google-star); font-size: 22px; letter-spacing: 2px; white-space: nowrap; }
.ts-rating p { color: var(--hl-text-on-dark-muted); font-size: var(--hl-fs-sm); }
.ts-rating strong { display: block; color: var(--hl-white); font-family: var(--hl-font-display); font-size: var(--hl-fs-h4); letter-spacing: -.02em; }

.ts-grid { columns: 3 320px; column-gap: 24px; }
.ts-card { break-inside: avoid; margin: 0 0 24px; padding: 30px 28px; background: var(--hl-white); border: 1px solid var(--hl-border); border-radius: var(--hl-radius-lg); }
.ts-card .stars { color: var(--hl-google-star); font-size: 17px; letter-spacing: 2px; }
.ts-card h3 { margin: 10px 0 12px; font-size: var(--hl-fs-h4); }
.ts-card blockquote { margin: 0; }
.ts-card blockquote p { color: var(--hl-text-muted); font-size: var(--hl-fs-sm); line-height: 1.7; }
.ts-card blockquote p + p { margin-top: .9em; }
.ts-card figcaption { display: flex; align-items: center; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--hl-border); color: var(--hl-navy); font-weight: 700; }
.ts-initials { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; background: var(--hl-navy); color: var(--hl-white); font-size: 13px; letter-spacing: .04em; }
.ts-card:nth-child(3n+2) .ts-initials { background: var(--hl-red); }

.ts-videos-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 14px clamp(32px, 6vw, 96px); align-items: end; margin-bottom: var(--hl-space-5); }
.ts-videos-head .lede { font-size: var(--hl-fs-body); }
.ts-videos-head .text-link { display: flex; width: max-content; }
@media (max-width: 860px) { .ts-hero-grid, .ts-videos-head { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .ts-rating { flex-direction: column; align-items: flex-start; gap: 8px; } }
