/* A quiet, swipeable card carousel using the portfolio's existing tokens. */
html .testimonials{background:var(--paper)}
html .testimonials .testimonials-carousel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:36px}
.testimonials-carousel-heading h2{margin-bottom:14px}
.testimonials-intro{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.testimonials-controls{display:flex;flex:0 0 auto;gap:10px;padding-bottom:4px}
.testimonials-controls[hidden]{display:none}
.testimonial-nav{display:grid;place-items:center;width:48px;height:48px;padding:11px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s}
.testimonial-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.testimonial-nav:hover:enabled{background:var(--acid);border-color:var(--acid)}
.testimonial-nav:disabled{opacity:.28;cursor:default}
.testimonial-nav:focus-visible,.testimonials-track:focus-visible{outline:2px solid #748b2a;outline-offset:5px}
.testimonials-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/2);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:stretch;border-radius:16px}
.testimonials-track::-webkit-scrollbar{display:none}
.testimonial-quote-card{display:flex;flex-direction:column;scroll-snap-align:start;min-width:0;min-height:410px;margin:0;padding:clamp(26px,3.2vw,48px);background:#eeeee5;border:1px solid #e1e3d7;border-radius:16px}
.testimonial-quote-card .testimonial-quote-mark{display:block;align-self:flex-start;color:#849744;opacity:.55;font-size:88px;line-height:.8;margin:7px 0 23px}
.testimonial-quote-card blockquote{margin:0 0 32px;color:var(--ink);font:400 clamp(17px,1.4vw,21px)/1.8 var(--sans);letter-spacing:-.025em}
.testimonial-quote-card blockquote p{margin:0}
.testimonial-quote-card .testimonial-author{margin-top:auto;padding-top:22px;border-top:1px solid #d9ddcc;gap:13px}
.testimonial-quote-card .testimonial-initials{background:#e0e5cf;color:#586a2c;flex-basis:45px;width:45px;height:45px}
.testimonial-quote-card .testimonial-author strong{font-size:14px}
.testimonial-quote-card .testimonial-role{font-size:12px;overflow-wrap:anywhere}
.testimonials-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){
  .testimonials-track{grid-auto-columns:100%;gap:18px}
  .testimonial-quote-card{padding:28px;min-height:410px}
  .testimonial-quote-card blockquote{font-size:18px;line-height:1.8}
  .testimonial-quote-card .testimonial-quote-mark{font-size:76px;margin-bottom:20px}
}
@media(max-width:650px){
  html .testimonials .testimonials-carousel-heading{align-items:flex-start;gap:22px;flex-direction:column;margin-bottom:28px}
  .testimonials-controls{align-self:flex-end;padding:0}
  .testimonial-nav{width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.testimonial-nav{transition:none}}
