/* Testimonials: one huge quote, then editorial rows on the bone field */
.testi .sec-head.quiet{margin-bottom:16px}

.testi-big{text-align:center}
.testi-big blockquote{margin:0}
.testi-big blockquote p{max-width:18ch;margin-inline:auto;font-family:var(--font-display);font-weight:700;font-size:clamp(34px,3.9vw,54px);line-height:1.04;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}
.testi-big figcaption{margin-top:14px;font-size:15px;line-height:1.45;color:var(--mute)}
.testi-big figcaption b{font-size:16px;font-weight:600;color:var(--ink)}
.testi-big .testi-full{max-width:68ch;margin:8px auto 0;text-align:left}

/* "Full testimonial": a quiet text link */
.testi-more summary{display:inline-flex;align-items:center;min-height:44px;margin-block:-8px;border-radius:var(--r-sm);font-size:15px;font-weight:600;line-height:1;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,currentColor 30%,transparent);cursor:pointer;list-style:none;transition:color .18s var(--ease-state),text-decoration-color .18s var(--ease-state)}
.testi-more summary::-webkit-details-marker{display:none}
.testi-more summary:hover{text-decoration-color:currentColor}
.testi-more summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.testi-more summary:active{color:var(--mute)}
.testi-full{padding-top:16px}
.testi-full p{max-width:68ch;font-size:17px;line-height:1.65;color:var(--ink)}
.testi-full p+p{margin-top:14px}

/* rows: thumb cols 1-2, words cols 3-10, link cols 11-12; hairlines between */
.testi-rows{margin-top:24px}
.testi-row{display:grid;align-items:start;padding-block:24px;border-top:1px solid var(--line)}
.testi-row:last-child{border-bottom:1px solid var(--line)}
.testi-txt{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:24px;row-gap:8px}
.testi-txt blockquote{flex:1 0 100%;margin:0}
.testi-txt blockquote p{font-size:20px;line-height:1.42;color:var(--ink)}
.testi-txt .who{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;margin-top:4px}
.testi-txt .who b{font-size:16px;font-weight:600;line-height:1.35;color:var(--ink)}
.testi-txt .who span{font-size:15px;line-height:1.4;color:var(--mute)}
.testi-txt .testi-more[open]{flex-basis:100%}

@media (max-width:900px){
  .testi-row{grid-template-columns:1fr;row-gap:16px}
  .testi-row .ph.r169{aspect-ratio:16/9;width:100%;height:auto}
  .testi-txt blockquote p{font-size:19px}
}

@media (min-width:901px){
  .testi.pad-s{padding-block:80px}
  .testi-row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,24px);row-gap:8px;padding-block:20px}
  .testi-row .ph.r169{grid-column:1/3;grid-row:1/3;aspect-ratio:auto;width:128px;height:96px}
  .testi-txt{display:contents}
  .testi-txt blockquote{grid-column:3/11;grid-row:1}
  .testi-txt .who{grid-column:3/11;grid-row:2;align-self:baseline;position:relative;z-index:1}
  /* spans 3-12 so the open text sits under the row; summary stays right on the name baseline */
  .testi-txt .testi-more{grid-column:3/-1;grid-row:2;align-self:baseline}
  .testi-txt .testi-more summary{display:flex;width:fit-content;margin:-8px 0 -8px auto}
}
