/* Testimonials (design-direction.md #7). Root class: .mm-quotes / .mm-quote */
.mm-quotes { display: grid; gap: var(--mm-grid-gap); }
@media (min-width: 1000px) { .mm-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.mm-quotes:has(> .mm-quote:only-child) { max-width: 50rem; } /* P7: one quote reads as one column, CSS only */
@media (min-width: 1000px) { .mm-quotes:has(> .mm-quote:only-child) { grid-template-columns: minmax(0, 1fr); } }
.mm-quote { display: grid; gap: var(--mm-space-5); align-content: start; min-width: 0; padding: var(--mm-card-pad); background: var(--mm-bg-card); border: 1px solid var(--mm-border); border-radius: var(--mm-radius-md); }
.mm-quote::before { content: ""; width: 1.75rem; height: 0.3125rem; background: linear-gradient(90deg, var(--mm-rule) 0 76%, var(--mm-rule-tip) 76% 100%); }
.mm-quote__text { font: italic 400 var(--mm-font-size-quote)/1.45 var(--mm-font-body); color: var(--mm-text); }
.mm-quote__by { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mm-space-3) var(--mm-space-4); font-family: var(--mm-font-ui); }
.mm-quote__who { min-width: 0; }
.mm-quote__name { display: block; font-size: var(--mm-font-size-ui); font-weight: var(--mm-weight-semibold); color: var(--mm-text); }
.mm-quote__role { display: block; font-size: var(--mm-font-size-sm); color: var(--mm-text-muted); }
.mm-quote__year { margin-left: auto; padding: 0.375rem 0.5rem; border: 1px solid var(--mm-border); border-radius: var(--mm-radius-xs); font: 500 var(--mm-font-size-xs)/1 var(--mm-font-ui); letter-spacing: var(--mm-tracking-eyebrow); text-transform: uppercase; color: var(--mm-text-muted); }
