/* ============================================================
   BIM Forum Chile v14.3 — "Voces del ecosistema" (rediseño)
   Problema resuelto: tarjetas desalineadas (la central caía por
   tener cita más larga y no fijar el autor abajo).
   Ahora: alturas iguales, autor anclado al pie, y sello de marca
   (hexágono azul, filete superior, comilla tipográfica grande).
   Capa cargada al final = máxima prioridad.
   ============================================================ */

.voices{ background:var(--ink-25); position:relative; overflow:hidden; }
/* Marca de agua hexagonal muy sutil (quita sensación de vacío) */
.voices::before{
  content:""; position:absolute; right:-90px; top:40px; width:340px; height:378px;
  clip-path:var(--hex-pointy); border:1.5px solid rgba(1,117,201,.06);
  transform:rotate(8deg); pointer-events:none;
}
.voices::after{
  content:""; position:absolute; left:-70px; bottom:-60px; width:220px; height:245px;
  clip-path:var(--hex-pointy); background:rgba(1,117,201,.035); pointer-events:none;
}
.voices .shell{ position:relative; z-index:1; }

/* Grid: alturas iguales garantizadas */
.voices__grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1.5rem; align-items:stretch !important;
}

/* Tarjeta = columna flex con autor al pie */
.voice{
  display:flex !important; flex-direction:column;
  background:#fff; border:1px solid var(--ink-100); border-radius:20px;
  padding:2.5rem 2rem 2rem !important; position:relative; overflow:hidden;
  box-shadow:0 1px 2px rgba(11,27,44,.03);
  transition:transform .34s var(--ease-out,cubic-bezier(.2,.7,.3,1)), box-shadow .34s, border-color .34s;
}
/* Filete superior con degradado de marca (aparece en hover) */
.voice::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--cta),var(--p1) 60%,var(--c1));
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease-out,ease);
}
.voice:hover{ transform:translateY(-6px); box-shadow:0 22px 48px -26px rgba(11,27,44,.32); border-color:transparent; }
.voice:hover::before{ transform:scaleX(1); }

/* Comilla: hexágono con glifo, sello de marca */
.quote-mark{
  width:46px; height:51px; flex-shrink:0;
  display:grid; place-items:center; margin:0 0 1.35rem !important;
  clip-path:var(--hex-pointy);
  background:linear-gradient(155deg,rgba(85,187,235,.16),rgba(1,117,201,.14));
  color:var(--cta); font-family:var(--f-d); font-weight:900; font-size:2.4rem;
  line-height:0; padding-top:.7rem;
}

/* Cita: ocupa el espacio flexible → empuja el autor abajo */
.voice blockquote{
  flex:1 1 auto;
  font-family:var(--f-b); font-style:normal !important;
  font-size:1.02rem; line-height:1.7; color:var(--ink-700);
  margin:0 0 1.75rem !important; text-wrap:pretty;
}

/* Autor anclado al pie, separado por filete */
.voice__author{
  margin-top:auto; display:flex; align-items:center; gap:.85rem;
  padding-top:1.25rem; border-top:1px solid var(--ink-100);
}
.voice__avatar{
  width:46px; height:46px; flex-shrink:0; border-radius:50%;
  background:linear-gradient(160deg,var(--p1),var(--cta)); color:#fff;
  display:grid; place-items:center; font-family:var(--f-d); font-weight:700; font-size:.9rem;
  box-shadow:0 6px 16px -6px rgba(1,117,201,.55);
}
.voice__name strong{ display:block; font-family:var(--f-d); font-weight:700; font-size:.92rem; color:var(--ink-900); line-height:1.2; }
.voice__name span{ font-size:.78rem; color:var(--ink-400); }

/* Reveal escalonado suave (sin dejar huecos raros) */
.voices__grid .voice:nth-child(2){ transition-delay:.08s; transform:none !important; }
.voices__grid .voice:nth-child(3){ transition-delay:.16s; transform:none !important; }
.voices__grid .voice:hover{ transform:translateY(-6px) !important; }

@media(max-width:820px){
  .voices__grid{ grid-template-columns:1fr; gap:1.15rem; }
  .voices::before,.voices::after{ display:none; }
}
