/* Single testimonial post (single-testimonial.php). Loads after testimonials.css. Scoped to .ts. */

/* hero: the boat photo boxed right, fading into navy behind the quote */
.w54.ts .hero{background:#141a3c;min-height:min(640px,80vh)}
.w54.ts .hero::before{display:none}
.ts .ts-hero-photo{position:absolute;top:0;bottom:0;right:0;width:60%;background-size:cover;background-position:50% 50%;z-index:-2;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%);mask-image:linear-gradient(90deg,transparent 0,#000 40%)}
.w54.ts .hero::after{background:linear-gradient(90deg,rgba(20,26,60,.9) 0%,rgba(20,26,60,.55) 45%,rgba(20,26,60,0) 70%),linear-gradient(0deg,rgba(14,18,46,.45) 0%,rgba(14,18,46,0) 30%)}
.w54.ts .hero h1.ts-h1{font-size:clamp(32px,3.9vw,56px);font-weight:750;font-stretch:115%;line-height:1.08;letter-spacing:-.015em;max-width:20ch;margin-top:24px}
.w54.ts .hero h1.ts-h1::before{content:"\201C";color:var(--accent)}
.w54.ts .hero h1.ts-h1::after{content:"\201D";color:var(--accent)}
.w54.ts .ts-by{font-family:var(--f-mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85)}
@media (max-width:760px){.ts .ts-hero-photo{width:100%;-webkit-mask-image:none;mask-image:none}.w54.ts .hero::after{background:linear-gradient(0deg,rgba(18,20,56,.94) 0%,rgba(18,20,56,.78) 55%,rgba(18,20,56,.5) 100%)}.w54.ts .hero .wrap{padding-top:120px}.w54.ts .hero h1.ts-h1{font-size:clamp(28px,8vw,40px)}}

/* story + team card */
.ts .ts-story{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:900px){.ts .ts-story{grid-template-columns:1fr}}
.ts .ts-text{display:flex;flex-direction:column;gap:22px}
.ts .ts-quote{margin:0;padding:6px 0 6px 26px;border-left:4px solid var(--accent);display:flex;flex-direction:column;gap:18px}
.ts .ts-quote p{font-size:clamp(17px,1.5vw,19px);line-height:1.7;color:var(--ink)}
.ts .ts-quote p:first-child{font-family:var(--f-display);font-stretch:110%;font-weight:600;font-size:clamp(20px,2vw,24px);line-height:1.4}
.ts .ts-sign{display:flex;flex-direction:column;gap:4px;padding-left:30px}
.ts .ts-sign b{font-family:var(--f-display);font-stretch:112%;font-size:20px;font-weight:700}
.ts .ts-sign span{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ts .ts-people{position:sticky;top:120px;display:flex;flex-direction:column;gap:14px}
@media (max-width:900px){.ts .ts-people{position:static}}
.ts .ts-person{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:20px}
.ts .ts-person img{width:96px;height:96px;border-radius:6px;object-fit:cover;object-position:50% 20%;flex:none;background:var(--line)}
.ts .ts-person-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.ts .ts-person h3{font-size:21px}
.ts .ts-role{font-size:14px;color:var(--muted);line-height:1.4}
.ts .ts-lines{display:flex;flex-direction:column;gap:2px;margin-top:4px}
.ts .ts-lines a{font-family:var(--f-mono);font-size:13px;color:var(--ink);text-decoration:none}
.ts .ts-lines a:hover{color:var(--accent-ink);text-decoration:underline}
.ts .ts-btns{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px}
.ts .ts-btns .btn{padding:11px 16px;font-size:14px}
.ts .ts-bio{font:600 14px/1.3 var(--f-body);color:var(--accent-ink);text-decoration:none;border-bottom:2px solid var(--accent)}

/* extra photos + video */
.ts .ts-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.ts .ts-photos a{display:block;border-radius:4px;overflow:hidden;cursor:zoom-in;background:var(--line)}
.ts .ts-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s ease}
.ts .ts-photos a:hover img{transform:scale(1.03)}
.ts .ts-video{max-width:960px;margin:0 auto 24px}
.ts .alt .tm-card{background:var(--bg)}
.ts .ts-photos a:only-child{max-width:860px;width:100%;margin:0 auto}
.ts .ts-photos:has(a:only-child){grid-template-columns:1fr}
