/* One compact, shared testimonial. The surrounding page supplies its container. */
.coach-review {
  --review-ink: var(--tv-ink, #101e26);
  --review-muted: var(--tv-muted, #53636e);
  --review-line: var(--tv-line, #d5dfe5);
  --review-accent: var(--tv-ink, #075bbb);
  padding-bottom: 48px;
  background: var(--tv-paper, #fff);
  color: var(--review-ink);
}
.coach-review__inner { padding-top: 28px; border-top: 1px solid var(--review-line); }
.coach-review__quote { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px 56px; margin: 0; }
.coach-review__excerpt { max-width: 820px; margin: 0; padding-left: 24px; border-left: 3px solid var(--review-accent); }
.coach-review__excerpt p { font-size: clamp(1.25rem, 2vw, 1.625rem); line-height: 1.45; font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
.coach-review figcaption { font-size: .875rem; line-height: 1.6; }
.coach-review figcaption strong { display: block; font-weight: 700; }
.coach-review figcaption span { display: block; color: var(--review-muted); }
.coach-review__details { margin-top: 12px; }
.coach-review__details summary { display: flex; align-items: center; gap: 12px; width: fit-content; max-width: 100%; min-height: 44px; padding: 8px 4px; list-style: none; cursor: pointer; color: var(--review-accent); font-size: .875rem; font-weight: 600; }
.coach-review__details summary::-webkit-details-marker { display: none; }
.coach-review__details summary:hover { text-decoration: underline; text-underline-offset: 4px; }
.coach-review__details summary:focus-visible { outline: 3px solid var(--review-accent); outline-offset: 4px; }
.coach-review__toggle { width: 8px; height: 8px; flex-shrink: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.coach-review__close, .coach-review__details[open] .coach-review__read { display: none; }
.coach-review__details[open] .coach-review__close { display: inline; }
.coach-review__details[open] .coach-review__toggle { transform: translateY(2px) rotate(225deg); }
.coach-review__full { max-width: 78ch; margin: 12px 0 0; color: var(--review-muted); font-size: 1rem; line-height: 1.7; }
.coach-review__full p + p { margin-top: 16px; }
.coach-review blockquote, .coach-review figcaption, .coach-review summary { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 699px) {
  .coach-review { padding-bottom: 32px; }
  .coach-review__inner { padding-top: 24px; }
  .coach-review__quote { grid-template-columns: 1fr; gap: 16px; }
  .coach-review__excerpt { padding-left: 18px; }
  .coach-review figcaption { padding-left: 21px; }
  .coach-review__details { margin-top: 8px; }
}
