/* One editorial quotation at a time, using the site's existing palette and fonts. */
.testimonials { padding-block:clamp(3.5rem,6vw,6rem); border-top:1px solid var(--rule); scroll-margin-top:6rem; }
.testimonials .head__note { margin-bottom:2rem; }
.testimonials__heading { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:2rem; margin-bottom:2.5rem; }
.testimonials__heading h2 { max-width:13ch; font-size:clamp(2.4rem,4.7vw,4.5rem); letter-spacing:-.045em; line-height:1.02; }
.testimonials__heading > p { max-width:29ch; justify-self:end; padding-bottom:.2rem; font-size:clamp(1rem,1.4vw,1.2rem); color:var(--ink-2); line-height:1.55; }
.testimonials__viewport { display:flex; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--rule) transparent; border:1px solid var(--rule); background:var(--stone-hi); }
.testimonials[data-enhanced] .testimonials__viewport { scrollbar-width:none; }
.testimonials[data-enhanced] .testimonials__viewport::-webkit-scrollbar { display:none; }
.testimonial { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:minmax(180px, .85fr) minmax(0, 2.65fr); scroll-snap-align:start; scroll-snap-stop:always; margin:0; }
.testimonial__context { display:flex; flex-direction:column; padding:2.25rem 1.8rem; border-right:1px solid var(--rule); background:color-mix(in srgb,var(--stone) 60%,var(--stone-hi)); }
.testimonial__type { font-size:.9rem; line-height:1.5; color:var(--ink-2); }
.testimonial__focus { margin-block:auto; padding-block:2rem; }
.testimonial__focus > span { display:block; font-size:.75rem; color:var(--ink-3); margin-bottom:.8rem; }
.testimonial__focus p { max-width:12ch; font-family:var(--display); font-size:clamp(1.6rem,2.2vw,2.1rem); line-height:1.12; letter-spacing:-.035em; }
.testimonial__edition { font-family:var(--mono); font-size:.65rem; color:var(--ink-3); }
.testimonial__body { min-width:0; display:flex; flex-direction:column; padding:1.8rem clamp(1.5rem,3.8vw,3.6rem) 2.4rem; }
.testimonial__topline { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:4.5rem; margin-bottom:.8rem; }
.testimonial__mark { height:4.5rem; font-family:Georgia,serif; font-size:7.5rem; line-height:1; color:var(--mark); }
.testimonial__sample { max-width:28ch; font-size:.7rem; line-height:1.45; color:var(--ink-3); text-align:right; }
.testimonial blockquote { margin:0 0 2.5rem; }
.testimonial blockquote p { font-family:var(--display); font-size:clamp(1.45rem,2.5vw,2.3rem); font-weight:500; font-variation-settings:"opsz" 36,"wdth" 95; line-height:1.32; letter-spacing:-.025em; text-wrap:pretty; overflow-wrap:anywhere; }
.testimonial__credit { display:flex; align-items:center; gap:1rem; margin-top:auto; }
.testimonial__credit-rule { flex:0 0 24px; height:2px; background:var(--mark); }
.testimonial__name,.testimonial__role { display:block; }
.testimonial__name { font-weight:600; font-size:.9rem; line-height:1.5; }
.testimonial__role { color:var(--ink-3); font-size:.8rem; margin-top:.2rem; }
.testimonials__controls { display:flex; align-items:center; gap:2rem; padding-top:1.25rem; }
.testimonials__count { display:flex; align-items:baseline; gap:.65rem; font-family:var(--mono); font-size:.7rem; white-space:nowrap; }
.testimonials__count b { font-size:1.15rem; font-weight:500; }
.testimonials__count > span { color:var(--ink-3); }
.testimonials__positions { display:flex; flex:1; gap:6px; max-width:420px; }
.testimonials__position { flex:1; height:44px; padding:0; border:0; background:none; cursor:pointer; }
.testimonials__position span { display:block; height:3px; background:var(--rule); transition:background .2s,transform .2s; }
.testimonials__position[aria-current="true"] span { background:var(--mark); transform:scaleY(1.7); }
.testimonials__position:hover span { background:var(--ink-2); }
.testimonials__actions { display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.testimonials__play { display:flex; gap:.5rem; align-items:center; justify-content:center; min-width:90px; min-height:46px; padding:.5rem; margin-right:.75rem; border:0; background:none; font-size:.8rem; color:var(--ink-2); cursor:pointer; }
.testimonials__play [data-testimonial-play-icon] { width:1rem; }
.testimonials__arrow { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--rule); background:transparent; border-radius:50%; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.testimonials__arrow--next { background:var(--ink); border-color:var(--ink); color:var(--stone-hi); }
.testimonials__arrow:hover { background:var(--mark); border-color:var(--mark); color:var(--ink); }
.testimonials button:focus-visible,.testimonials__viewport:focus-visible { outline:3px solid var(--mark-ink); outline-offset:5px; }
.testimonials__status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:760px) {
 .testimonials__heading { grid-template-columns:1fr; gap:1.2rem; margin-bottom:1.75rem; }
 .testimonials__heading > p { justify-self:start; max-width:34ch; }
 .testimonial { grid-template-columns:1fr; grid-template-rows:auto 1fr; }
 .testimonial__context { flex-direction:row; align-items:center; gap:1.25rem; padding:1.1rem 1.4rem; border-right:0; border-bottom:1px solid var(--rule); }
 .testimonial__type { flex:1; max-width:16ch; font-size:.75rem; }
 .testimonial__focus { flex:1; margin:0; padding:0 0 0 1.25rem; border-left:1px solid var(--rule); }
 .testimonial__focus > span { display:none; }
 .testimonial__focus p { font-size:1.1rem; max-width:16ch; }
 .testimonial__edition { display:none; }
 .testimonial__body { padding:1rem 1.4rem 1.75rem; }
 .testimonial__topline { margin-bottom:.6rem; }
 .testimonial blockquote { margin-bottom:1.75rem; }
 .testimonial blockquote p { font-size:clamp(1.35rem,4.5vw,1.9rem); line-height:1.4; }
 .testimonials__controls { flex-wrap:wrap; column-gap:1rem; row-gap:.2rem; padding-top:.7rem; }
 .testimonials__positions { order:3; flex-basis:100%; max-width:none; }
 .testimonials__actions { gap:.5rem; }
 .testimonials__play { min-width:74px; margin-right:0; }
}
@media(prefers-reduced-motion:reduce) {
 .testimonials *, .testimonials *::before, .testimonials *::after { transition:none!important; scroll-behavior:auto!important; }
}
