/* Testimonial band: one quote at a time, crossfading. Arrows either side step
   through them; a hairline along the bottom fills over the auto-advance
   interval. Slides share one grid cell so the band is always the height of the
   longest quote and never jumps. */
.tst{position:relative;background:#e3e1dc;border-top:1px solid #d7d5d0;border-bottom:1px solid #d7d5d0;overflow:hidden}
.tst-in{max-width:1320px;margin:0 auto;padding:84px 56px;display:grid;grid-template-columns:44px 1fr 44px;gap:48px;align-items:center}
.tst-slides{display:grid;max-width:900px;width:100%;margin:0 auto}
.tst-slide{grid-area:1/1;align-self:center;margin:0;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1),visibility 0s linear .55s}
.tst-slide.on{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease .12s,transform .55s cubic-bezier(.2,.7,.2,1) .12s,visibility 0s}
.tst-mark{display:block;font-family:var(--sans);font-size:72px;font-weight:700;line-height:.55;color:var(--red,#d1222f);margin:0 0 18px}
.tst-q{font-family:var(--sans);font-size:clamp(22px,2.3vw,31px);font-weight:500;line-height:1.42;letter-spacing:-.012em;color:var(--text);margin:0}
.tst-who{margin:30px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.tst-name{font-family:var(--sans);font-size:16px;font-weight:700;color:var(--text)}
.tst-role{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.tst-nav{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #cfccc6;color:var(--text);cursor:pointer;padding:0;transition:border-color .24s ease,color .2s ease}
/* red outline on hover, like the download buttons (.ig-btn-ghost), without their lift */
.tst-nav:hover{border-color:var(--red,#d1222f)}
.tst-nav:focus-visible{outline:2px solid var(--red,#d1222f);outline-offset:3px}
.tst-nav svg{width:16px;height:16px}
.tst-time{position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--red,#d1222f);opacity:.55;transform:scaleX(0);transform-origin:0 50%}
.tst-time.run{animation:tstTime var(--tst-ms,30000ms) linear forwards}
.tst.paused .tst-time.run{animation-play-state:paused}
@keyframes tstTime{to{transform:scaleX(1)}}
@media (max-width:760px){
  .tst-in{padding:56px 22px 48px;grid-template-columns:44px 1fr 44px;row-gap:28px;column-gap:0}
  .tst-slides{grid-column:1/-1;grid-row:1}
  .tst-prev{grid-column:1;grid-row:2}
  .tst-next{grid-column:3;grid-row:2}
  .tst-q{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
  .tst-slide,.tst-slide.on{transition:none;transform:none}
}
