    /* ── TESTIMONIAL LIST (card grid) ──────────── */
    .testimonial-list {
      margin-bottom: 64px;
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
    .t-row {
      display: flex;
      gap: 48px;
      padding: 40px 44px;
      background: var(--color-linen);
      border: 1px solid rgba(201, 168, 76, 0.18);
      border-radius: var(--radius-xl);
      box-shadow: 0 2px 16px 0 rgba(44, 24, 16, 0.05);
    }
    .t-row-person {
      flex: 0 0 200px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .t-row-avatar {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--color-ivory);
      border: 1px solid rgba(201, 168, 76, 0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-display);
      font-size: 1.15rem;
      font-weight: var(--fw-display-regular);
      color: var(--color-oud);
      margin-bottom: 14px;
    }
    .t-row-name {
      font-size: 0.95rem;
      font-weight: 500;
      color: var(--color-oud);
    }
    .t-row-content { flex: 1; min-width: 0; position: relative; }
    .t-row-stars { display: flex; gap: 4px; margin-bottom: 16px; }
    .star {
      width: 12px;
      height: 12px;
      background: var(--color-gold);
      clip-path: polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
    }
    .t-row-quote-wrap {
      position: relative;
      max-height: 165px;
      overflow: hidden;
      transition: max-height 0.4s ease;
      max-width: 700px;
    }
    .t-row-quote-wrap::after {
      content: '';
      position: absolute;
      left: 0; right: 0; bottom: 0;
      height: 56px;
      background: linear-gradient(to bottom, rgba(234,224,206,0), var(--color-linen));
      pointer-events: none;
    }
    .t-row-quote-wrap.expanded {
      max-height: 3000px;
    }
    .t-row-quote-wrap.expanded::after { display: none; }
    .t-row-quote {
      font-family: var(--font-body);
      font-size: 1.05rem;
      font-style: normal;
      font-weight: var(--fw-body-regular);
      color: var(--color-oud);
      line-height: 1.75;
      position: relative;
      z-index: 1;
      margin-bottom: 14px;
    }
    .t-row-quote:last-child { margin-bottom: 0; }
    .t-row-toggle {
      display: none;
      margin-top: 16px;
      background: none;
      border: none;
      padding: 0;
      align-items: center;
      gap: 4px;
      font-family: var(--font-body);
      font-size: 0.85rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      color: var(--color-clay);
      cursor: pointer;
    }
    .t-row-toggle.visible { display: inline-flex; }
    .t-row-toggle:hover { text-decoration: underline; }
    .t-row-content::before {
      content: '\201C';
      position: absolute;
      top: -36px;
      left: -8px;
      font-family: var(--font-display);
      font-size: 6rem;
      color: rgba(201,168,76,0.15);
      line-height: 1;
      pointer-events: none;
      z-index: 0;
    }

    @media (max-width: 700px) {
      .t-row { flex-direction: column; gap: 20px; padding: 28px 24px; }
      .t-row-person { flex-direction: row; align-items: center; gap: 14px; }
      .t-row-avatar { margin-bottom: 0; }
    }
