/* ============================================================
   Proof elements: client logo bar + testimonial card.
   Same visual language as the logo bar and founder quote on
   fill-your-classes.html. Loaded only by pages that show proof.
   ============================================================ */

/* ---------- Client logo bar ---------- */
.proof-clients { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--card); padding: 28px 0; }
.proof-clients-row { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.proof-clients-label { font: 500 var(--fs-label)/1.6 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.proof-clients-logos { display: flex; align-items: center; justify-content: space-between; gap: 36px; flex: 1; flex-wrap: wrap; }
.proof-clients-logos img { display: block; width: auto; max-width: 100%; filter: grayscale(1) brightness(0.25); opacity: 0.78; }

/* wide roster: label on its own line, logos in one row on desktop */
.proof-clients--wide .proof-clients-row { flex-direction: column; align-items: flex-start; gap: 18px; }
.proof-clients--wide .proof-clients-logos { width: 100%; gap: 24px; flex-wrap: nowrap; }
.proof-clients--wide .proof-clients-logos img { flex: 0 1 auto; min-width: 0; object-fit: contain; }

/* per-logo optical sizing (desktop) */
.proof-clients-logos .l-ssm { height: 46px; }
.proof-clients-logos .l-louder { height: 20px; }
.proof-clients-logos .l-auburn { height: 28px; }
.proof-clients-logos .l-peridot { height: 30px; }
.proof-clients-logos .l-shelskys { height: 26px; }
.proof-clients-logos .l-4topps { height: 36px; }
.proof-clients-logos .l-miracle { height: 48px; }
.proof-clients-logos .l-cobi { height: 26px; }
.proof-clients-logos .l-change { height: 22px; }
.proof-clients-logos .l-smbl { height: 26px; }

@media (max-width: 720px) {
  .proof-clients--wide .proof-clients-logos { flex-wrap: wrap; }
  .proof-clients-row { flex-direction: column; align-items: flex-start; gap: 18px; }
  .proof-clients-logos { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); justify-content: space-between; align-items: center; gap: 22px 24px; width: 100%; }
  .proof-clients-logos .l-ssm { height: 38px; }
  .proof-clients-logos .l-louder { height: 16px; }
  .proof-clients-logos .l-auburn { height: 22px; }
  .proof-clients-logos .l-peridot { height: 24px; }
  .proof-clients-logos .l-shelskys { height: 20px; }
  .proof-clients-logos .l-4topps { height: 30px; }
  .proof-clients-logos .l-miracle { height: 40px; }
  .proof-clients-logos .l-cobi { height: 20px; }
  .proof-clients-logos .l-change { height: 17px; }
  .proof-clients-logos .l-smbl { height: 20px; }
}

/* ---------- Testimonial card ---------- */
.proof-quote { margin: 0; border-left: 3px solid var(--electric); padding: 4px 0 4px 18px; max-width: var(--measure); }
.proof-quote p { font-size: 17.5px; line-height: 1.55; margin: var(--sp-2) 0 var(--sp-3); color: var(--ink); }
.proof-quote .proof-label { font: 500 var(--fs-label)/1.6 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.proof-quote .proof-cite { font: 500 var(--fs-label)/1.6 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.proof-quote .proof-cite b { color: var(--ink); }

.proof-quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-6); }
@media (max-width: 720px) {
  .proof-quotes { grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); }
}

.proof-block { margin-top: var(--sp-7); }
