/* TestimonialStill — full-bleed quote w/ rotating photos */
.ts-still{position:relative;height:100vh;min-height:640px;overflow:hidden;color:#fff}
.ts-still .ts-imgs{position:absolute;inset:0}
.ts-still .ts-imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.ts-still .ts-imgs img.is-on{opacity:1}
.ts-still .ts-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.1) 100%)}
.ts-still[data-align="right"] .ts-overlay{background:linear-gradient(270deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,.1) 100%)}
.ts-still .ts-copy{position:absolute;left:64px;top:50%;transform:translateY(-50%);max-width:600px;z-index:2}
.ts-still[data-align="right"] .ts-copy{left:auto;right:64px;text-align:right}
.ts-still .ts-hand{font-family:var(--hand-font);font-size:38px;color:#fff;opacity:.9;transform:rotate(-3deg);display:inline-block;margin-bottom:18px;line-height:1}
.ts-still .ts-quote{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.2vw,60px);line-height:1.08;margin:0;letter-spacing:-.005em;text-wrap:pretty}
.ts-still .ts-by{margin-top:32px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.ts-still .ts-dots{margin-top:28px;display:flex;gap:10px}
.ts-still[data-align="right"] .ts-dots{justify-content:flex-end}
.ts-still .ts-dots button{width:28px;height:2px;background:rgba(255,255,255,.3);border:0;padding:0;cursor:pointer;transition:background .25s}
.ts-still .ts-dots button.on{background:#fff}
.ts-still .ts-control{position:absolute;bottom:48px;right:64px;display:flex;align-items:center;gap:16px;z-index:3;color:#fff}
.ts-still .ts-arrows{display:flex;gap:6px}
.ts-still .ts-arrows button{width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:14px;transition:background .2s,border-color .2s}
.ts-still .ts-arrows button:hover{background:rgba(255,255,255,.12);border-color:#fff}
.ts-still .ts-counter{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:14px}
.ts-still .ts-counter b{font-weight:600;color:#fff}
.ts-still .ts-counter .sep{width:18px;height:1px;background:rgba(255,255,255,.4)}
.ts-still .ts-counter .total{color:rgba(255,255,255,.7)}
@media (max-width:820px){
  .ts-still{height:90vh;min-height:520px}
  .ts-still .ts-copy,.ts-still[data-align="right"] .ts-copy{left:24px;right:24px;max-width:none;text-align:left}
  .ts-still[data-align="right"] .ts-dots{justify-content:flex-start}
  .ts-still .ts-control{right:24px;bottom:24px}
}
