/* =========================================================
   Voices Section
========================================================= */
.voices-section{
  position:relative;
  max-width:var(--container);
  margin: var(--section-gap) auto;
  padding: var(--section-gap) 1.5rem;
  border-radius:var(--radius-xl);
  background: var(--lp-section-gradient);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
}
.voices-section::before,
.voices-section::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(0);
  opacity:.42;
  pointer-events:none;
}
.voices-section::before{
  width: clamp(280px, 42vw, 460px);
  height: clamp(280px, 42vw, 460px);
  background: radial-gradient(circle at 28% 28%, rgba(15,78,231,0.26), transparent 70%);
  top:-35%;
  left:-18%;
}
.voices-section::after{
  width: clamp(320px, 46vw, 520px);
  height: clamp(320px, 46vw, 520px);
  background: radial-gradient(circle at 70% 80%, rgba(47,183,166,0.3), transparent 68%);
  bottom:-40%;
  right:-22%;
}
.voices-section__head{
  position:relative;
  text-align:center;
  margin-bottom: clamp(2.4rem, 4.6vw, 3.4rem);
  z-index:1;
}
.voices-section__eyebrow{
  font-family:var(--font-display);
  font-size:.85rem;
  font-weight:700;
  letter-spacing:.38em;
  text-transform:uppercase;
  color:var(--eyebrow);
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.voices-section__eyebrow::before{
  content:"";
  width:38px;
  height:1px;
  background:linear-gradient(90deg, rgba(15,78,231,0), rgba(15,78,231,0.65));
}
.voices-section__title{
  font-size: clamp(1.9rem, 2.5vw + 1rem, 3rem);
  font-weight:800;
  color:#0c2540;
  margin:.7rem 0;
  position:relative;
  display:inline-block;
  letter-spacing:-.01em;
}
.voices-section__title::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-.75rem;
  width: clamp(160px, 32vw, 210px);
  height:5px;
  border-radius:999px;
  background:linear-gradient(120deg, var(--brand-teal), var(--brand-blue));
}
.voices-section__lead{
  color:#4a586f;
  margin: clamp(1.4rem, 2.4vw, 2rem) auto 0;
  max-width:680px;
  line-height:1.8;
  font-size:1.05rem;
  backdrop-filter: blur(6px);
  background:rgba(255,255,255,0.55);
  border-radius:999px;
  padding:.85rem 1.8rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:.6rem;
  text-align:center;
}
.voices-grid{
  position:relative;
  z-index:1;
  display:grid;
  gap: clamp(1.4rem, 2.8vw, 2.2rem);
  margin-top:2.4rem;
  grid-template-columns:1fr;
}
@media(max-width:767px){
  .voices-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:1rem;
    padding:0 1.2rem 1rem;
    scrollbar-width:none;
  }
  .voices-grid::-webkit-scrollbar{ display:none; }
  .voices-grid > *{
    flex:0 0 calc(100% - 2.4rem);
    scroll-snap-align:start;
    min-width:0;
  }
  .voices-grid > .voice-card{ flex-basis:100%; }
  .voice-card{ padding:1.5rem; }
  .voice-card__profile{ flex-direction:column; align-items:center; text-align:center; gap:.75rem; }
  .voice-card__info{ align-items:center; width:100%; }
  .voice-card__meta{ white-space:nowrap; }
  .voice-card__role{ max-width:100%; line-height:1.6; }
}
@media(min-width:768px){
  .voices-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.voices-dots{ display:none; }
@media(max-width:767px){
  .voices-dots{
    display:flex;
    justify-content:center;
    gap:.5rem;
    margin-top:.8rem;
  }
  .voices-dots__dot{
    width:6px; height:6px;
    border-radius:50%;
    background:var(--ink, #0c2440);
    opacity:.25;
    transition:opacity .2s;
  }
  .voices-dots__dot.is-active{ opacity:1; }
}
.voice-card{
  position:relative;
  background:var(--gradient-card);
  border:var(--border-card);
  border-radius:var(--radius-lg);
  padding: clamp(1.8rem, 2.8vw, 2.2rem);
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:1rem;
  overflow:hidden;
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.voice-card:hover,
.voice-card:focus-within{
  transform:translateY(-5px);
  box-shadow:var(--shadow-lg);
}
.voice-card__profile{
  display:flex;
  align-items:center;
  gap:1.1rem;
  margin-bottom:.5rem;
  position:relative;
}
.voice-card__photo{
  width:88px;
  height:88px;
  border-radius:50%;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  flex-shrink:0;
  position:relative;
}
.voice-card__photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.voice-card__info{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.voice-card__meta{
  font-weight:700;
  color:#0b2344;
  letter-spacing:.05em;
  font-size:.92rem;
  text-transform:uppercase;
}
.voice-card__role{
  margin:0;
  font-size:.9rem;
  color:#4f5d74;
}
.voice-card__text{
  margin:0;
  color:#4b5d70;
  line-height:1.85;
  font-size:1.02rem;
  position:relative;
  padding-left:1.4rem;
}
.voice-card__text::before{
  content:"";
  position:absolute;
  left:0;
  top:.45rem;
  bottom:.45rem;
  width:4px;
  border-radius:999px;
  background:linear-gradient(140deg, rgba(47,183,166,0.18), rgba(15,78,231,0.1));
}
.voices-section__cta{
  position:relative;
  z-index:1;
  text-align:center;
  margin-top: clamp(2.4rem, 4vw, 3rem);
}
.voices-section__cta .c-button{
  position:relative;
  overflow:hidden;
  border-radius:999px;
  padding:1.2rem 3.2rem;
  font-weight:800;
  letter-spacing:.08em;
  background:linear-gradient(120deg, var(--brand-teal) 0%, var(--brand-blue) 100%);
  box-shadow:0 22px 45px rgba(15,78,231,0.26);
  transition:transform .3s ease, box-shadow .3s ease;
}
.voices-section__cta .c-button::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 70%);
  transform:translateX(-60%);
  transition:transform .45s ease;
}
.voices-section__cta .c-button:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 55px rgba(15,78,231,0.3);
}
.voices-section__cta .c-button:hover::after{
  transform:translateX(60%);
}
/* =========================================================
