.westmid-testimonials{
  --wm-blue:#2F5496;
  --wm-light-blue:#8EAADB;
  --wm-yellow:#FCD326;
  --wm-grey:#5F6B7A;
  --wm-accent:5px;
  --wm-gap:clamp(.85rem,1.4vw,1.15rem);
  --wm-nav-height:30px;
  --wm-nav-gap:.15rem;
  font-family:"Manrope",sans-serif;
  position:relative;
  width:calc(100% - clamp(3rem, 8vw, 7rem));
  max-width:1000px;
  margin-inline:auto;
  padding:0;
  color:var(--wm-blue);
  box-sizing:border-box;
}
.westmid-testimonials.alignwide{
  width:calc(100% - clamp(3rem, 8vw, 7rem));
  max-width:1000px;
  margin-inline:auto;
}
.westmid-testimonials__viewport{
  overflow:hidden;
  touch-action:pan-y;
  margin-left:calc(var(--wm-accent) + var(--wm-gap));
}
.westmid-testimonials__track{
  display:flex;
  align-items:stretch;
  will-change:transform;
  transform:translate3d(0,0,0);
  transition:transform 420ms cubic-bezier(.22,.61,.36,1);
}
.westmid-testimonials__slide{
  flex:0 0 100%;
  min-width:0;
  min-height:126px;
  display:flex;
  flex-direction:column;
  padding:.2rem .1rem calc(var(--wm-nav-height) + var(--wm-nav-gap)) 0;
  box-sizing:border-box;
}
.westmid-testimonials__accent{
  position:absolute;
  left:0;
  top:.2rem;
  bottom:.15rem;
  width:var(--wm-accent);
  background:var(--wm-yellow);
  border-radius:1px;
  z-index:2;
}
/* ==========================================================================
   Trainee Testimonials – Vertical Content Alignment
   Gives the quote/attribution area a real reserved height above the fixed
   navigation controls. This allows flex centring to work consistently while
   the yellow accent and controls remain fixed.
   ========================================================================== */
.westmid-testimonials__content{
  min-width:0;
  min-height:0;
  flex:1 1 auto;
  box-sizing:border-box;
  padding:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.westmid-testimonials__quote{margin:0;padding:0;border:0;}
.westmid-testimonials__quote p{
  margin:0;
  max-width:none;
  color:var(--wm-blue);
  font-size:clamp(1.02rem,.94rem + .22vw,1.18rem);
  font-weight:500;
  line-height:1.32;
  letter-spacing:-.006em;
}
.westmid-testimonials__attribution{
  margin-top:.55rem;
  display:flex;
  align-items:baseline;
  gap:.45rem;
  flex-wrap:wrap;
  line-height:1.25;
}
.westmid-testimonials__attribution strong{color:var(--wm-blue);font-size:.9rem;font-weight:650;}
.westmid-testimonials__attribution span{color:var(--wm-grey);font-size:.86rem;}
.westmid-testimonials__attribution span::before{content:"·";margin-right:.45rem;color:var(--wm-light-blue);font-weight:700;}

/* ==========================================================================
   Trainee Testimonials – Fixed Accent and Compact Navigation
   Keeps the yellow vertical accent and navigation controls fixed in place.
   Only the testimonial text and attribution slide when browsing. Each slide
   reserves the same navigation zone, while the quote and attribution remain
   vertically centred in the space above it.
   ========================================================================== */
.westmid-testimonials__controls{
  position:absolute;
  left:calc(var(--wm-accent) + var(--wm-gap));
  bottom:.15rem;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.1rem;
  height:var(--wm-nav-height);
  margin:0;
  padding:0;
}
.westmid-testimonials__arrow{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--wm-blue);
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:4px;
  cursor:pointer;
  font:inherit;
  font-size:.9rem;
  line-height:1;
}
@media(hover:hover) and (pointer:fine){
  .westmid-testimonials__arrow:hover{background:rgba(142,170,219,.12);}
}
.westmid-testimonials__arrow:focus{outline:none;}
.westmid-testimonials__arrow:focus-visible{
  outline:2px solid var(--wm-yellow);
  outline-offset:2px;
  background:rgba(142,170,219,.10);
}
.westmid-testimonials__status{
  min-width:2.2rem;
  text-align:center;
  color:var(--wm-grey);
  font-size:.74rem;
  line-height:28px;
  font-variant-numeric:tabular-nums;
}
.westmid-testimonials-editor-placeholder{
  font-family:"Manrope",sans-serif;
  border:1px solid #d9e2ef;
  border-left:5px solid #FCD326;
  padding:18px 20px;
  background:#fff;
  color:#2F5496;
}
.westmid-testimonials-editor-placeholder p{color:#5F6B7A;margin-bottom:0;}

/* ==========================================================================
   Trainee Testimonials – Responsive Height / Navigation Safety
   Each slide reserves a real navigation zone beneath the quote. The flex
   track is allowed to grow to the tallest testimonial at the current width,
   so longer stacked/mobile quotes increase the component height instead of
   running underneath the fixed navigation. Shorter testimonials then stretch
   to the same height and remain vertically centred above the controls.
   ========================================================================== */
@media(max-width:700px){
  .westmid-testimonials,
  .westmid-testimonials.alignwide{
    width:100%;
    max-width:100%;
  }
  .westmid-testimonials{
    --wm-accent:4px;
    --wm-gap:.8rem;
    --wm-nav-height:34px;
    --wm-nav-gap:.2rem;
  }
  .westmid-testimonials__slide{
    min-height:148px;
    padding:.15rem 0 calc(var(--wm-nav-height) + var(--wm-nav-gap));
  }
  .westmid-testimonials__accent{
    top:.15rem;
    bottom:.1rem;
  }
  .westmid-testimonials__content{
    min-height:0;
    flex:1 1 auto;
    padding:.1rem 0;
  }
  .westmid-testimonials__quote p{
    font-size:clamp(1rem,4.25vw,1.12rem);
    line-height:1.32;
  }
  .westmid-testimonials__attribution{
    display:block;
    margin-top:.5rem;
  }
  .westmid-testimonials__attribution strong,
  .westmid-testimonials__attribution span{display:block;}
  .westmid-testimonials__attribution span{margin-top:.14rem;}
  .westmid-testimonials__attribution span::before{content:"";margin:0;}
  .westmid-testimonials__controls{
    left:calc(var(--wm-accent) + var(--wm-gap));
    bottom:.1rem;
  }
  .westmid-testimonials__arrow{
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
  }
  .westmid-testimonials__status{line-height:32px;}
}
@media(prefers-reduced-motion:reduce){
  .westmid-testimonials__track{transition:none!important;}
}
