/* Testimonials block (R3 p1; classic carousel slide R3 p5). Grid uses the style guide's Testimonial Card; carousel = scroll-snap track of classic slides.
   Hand-authored: do NOT regenerate with the theme build. */
.ca-testimonials{position:relative;margin:1.5rem 0}
.ca-testimonials-grid-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.ca-testimonials-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:.5rem .25rem}
.ca-testimonials-track::-webkit-scrollbar{display:none}
/* One slide per view is the snap unit; the card inside it is what gets capped, so a single
   testimonial does not stretch across a wide column. */
.ca-testimonials-slide{flex:0 0 100%;scroll-snap-align:center;min-width:0}
.ca-testimonials-prev,.ca-testimonials-next{position:absolute;top:58%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#009999;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;z-index:2;display:none;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.ca-testimonials-prev{left:0}
.ca-testimonials-next{right:0}
.ca-testimonials-prev:focus-visible,.ca-testimonials-next:focus-visible,.ca-testimonials-dot:focus-visible,.ca-testimonials-track:focus-visible{outline:2px solid #009999;outline-offset:2px}
/* Arrows and dots only do something once the script is wired, so they stay out of the
   no-JS view, where the carousel falls back to a plain readable stack of the same slides. */
.ca-testimonials-carousel.ca-testimonials-js .ca-testimonials-prev,.ca-testimonials-carousel.ca-testimonials-js .ca-testimonials-next{display:block}
.ca-testimonials-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.5rem}
.ca-testimonials-dot{width:9px;height:9px;border-radius:50%;border:none;background:#cbd5e1;padding:0;cursor:pointer}
.ca-testimonials-dot-on{background:#009999}
.ca-testimonials-carousel:not(.ca-testimonials-js) .ca-testimonials-track{flex-wrap:wrap;overflow:visible}
.ca-testimonials-carousel:not(.ca-testimonials-js) .ca-testimonials-slide{flex:1 1 100%}
.ca-testimonials-carousel:not(.ca-testimonials-js) .ca-testimonials-classic{padding:0}
.ca-testimonials-carousel:not(.ca-testimonials-js) .ca-testimonials-dots{display:none}
@media(prefers-reduced-motion:no-preference){.ca-testimonials-track{scroll-behavior:smooth}}
/* Classic slide (R3 p5, variant C): the old /stripe/ page look. Sizes from its CSS: 136px photo
   with the soft shadow, quote in a grey rounded box, name 1.55rem, title in teal. */
.ca-testimonials-slide>.ca-testimonials-classic{max-width:820px;margin:0 auto;padding:0 3.5rem;text-align:center;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif}
.ca-testimonials-photo,.ca-testimonials-initials{display:block;width:136px;height:136px;border-radius:50%;margin:0 auto 1.2rem;box-shadow:-6px 6px 8px rgba(0,0,0,.2)}
.ca-testimonials-photo{object-fit:cover}
.ca-testimonials-initials{background:#009999;color:#fff;font-weight:700;font-size:2.6rem;line-height:136px;text-align:center}
.ca-testimonials-classic blockquote{margin:0 0 1.8rem;padding:0}
.ca-testimonials-classic blockquote p{background:#f4f4f4;border-radius:12px;color:#3d3d3d;font-size:1.05rem;line-height:1.55;padding:1.1rem 1.4rem;margin:0}
.ca-testimonials-classic figcaption{display:block}
.ca-testimonials-name{display:block;font-weight:600;font-size:1.55rem;color:#2b2b2b;margin:0 0 .2rem}
.ca-testimonials-title{display:block;font-weight:600;font-size:1.1rem;color:#009999}
.ca-testimonials-swipe{display:none;text-align:center;font-family:'Outfit','Plus Jakarta Sans',system-ui,sans-serif;font-size:.78rem;color:#94a3b8;margin:.5rem 0 0}
@media(max-width:640px){
  .ca-testimonials-slide>.ca-testimonials-classic{padding:0}
  .ca-testimonials-photo,.ca-testimonials-initials{width:110px;height:110px}
  .ca-testimonials-initials{line-height:110px;font-size:2.1rem}
  .ca-testimonials-classic blockquote p{font-size:.98rem;line-height:1.5;padding:.9rem 1rem;text-align:left}
  .ca-testimonials-name{font-size:1.3rem}
  .ca-testimonials-title{font-size:1rem}
  /* Arrows go, swiping takes over; the hint only makes sense once the script has wired the track. */
  .ca-testimonials-carousel.ca-testimonials-js .ca-testimonials-prev,.ca-testimonials-carousel.ca-testimonials-js .ca-testimonials-next{display:none}
  .ca-testimonials-carousel.ca-testimonials-js .ca-testimonials-swipe{display:block}
}
