/* Shared client-testimonial rail for the Home and About pages. */
.testimonials{
  padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,8rem);
  background:#141414;
  color:#f8f6f1;
  text-align:center;
}
.testimonial-heading{max-width:43rem;margin:0 auto clamp(2.25rem,4vw,3.5rem)}
.testimonial-heading h2{margin:.45rem 0 .75rem;color:#f8f6f1}
.testimonial-heading>p:last-child{margin:0 auto;color:#cfcac3;max-width:34rem}
.testimonial-rail{
  display:grid;
  overflow:visible;
  padding:0;
}
.testimonial-card{
  display:block;
  grid-area:1 / 1;
  min-height:0;
  width:100%;
  max-width:none;
  margin:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  opacity:0;
  pointer-events:none;
  visibility:hidden;
}
.testimonial-card.is-active{opacity:1;pointer-events:auto;visibility:visible;animation:testimonial-slide-in .48s cubic-bezier(.22,.8,.3,1) both}
@keyframes testimonial-slide-in{from{opacity:0;transform:translateX(3.25rem)}to{opacity:1;transform:translateX(0)}}
.testimonial-card blockquote{max-width:72rem;margin:0 auto;padding:0}
.testimonial-card blockquote p{margin:0;color:#f8f6f1;font-family:"Playfair Display",serif;font-size:clamp(1.6rem,2.65vw,2.65rem);font-weight:500;line-height:1.2}
.testimonial-card blockquote p::before{content:"";display:block;width:2.75rem;height:.28rem;margin:0 auto 1.8rem;background:#e71922;border-radius:99px}
.testimonial-card footer{display:flex!important;align-items:center!important;justify-content:center!important;min-height:0;margin-top:1.3rem;padding:0!important;border:0!important;background:transparent!important;color:#cfcac3;font-size:.9rem;font-style:italic;line-height:1.35;text-align:center}
.testimonial-avatar{flex:0 0 auto;width:3.25rem;height:3.25rem;margin-right:.85rem;border:2px solid #e71922;border-radius:50%;object-fit:cover;object-position:center}
.testimonial-card footer strong{color:#fff;font-family:"DM Sans",sans-serif;font-size:.84rem;font-style:normal;letter-spacing:.05em;text-transform:uppercase}
.testimonial-card footer strong::before{content:"- ";color:#e71922}
.testimonial-card footer strong::after{content:", ";color:#cfcac3}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.9rem}
.carousel-button{border:1px solid #555;background:transparent;border-radius:999px;color:#f8f6f1;cursor:pointer;font:700 .75rem/1 "DM Sans",sans-serif;letter-spacing:.08em;padding:.85rem 1.15rem;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s}
.carousel-button:hover,.carousel-button:focus-visible{background:#e71922;border-color:#e71922;color:#fff}
.carousel-progress{color:#cfcac3;font:700 .75rem/1 "DM Sans",sans-serif;letter-spacing:.1em;min-width:3.75rem;text-align:center}
.testimonials-compact{padding-top:clamp(3.5rem,6vw,5.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem)}
.testimonials-compact .testimonial-heading{max-width:39rem}
@media (min-width:1050px){
  .testimonial-card{min-height:0}
}
@media (max-width:640px){
  .testimonial-card{grid-template-rows:1fr auto;min-height:0}
  .testimonial-heading{margin-bottom:2.75rem}
  .testimonial-card{min-height:0}
  .testimonial-card blockquote p{font-size:1.6rem}
  .testimonial-card footer{align-items:flex-start!important;text-align:left}
}
@media (prefers-reduced-motion:reduce){.testimonial-card.is-active{animation:none}}
