.elementor-4240 .elementor-element.elementor-element-4a29f00{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:10;}.elementor-4240 .elementor-element.elementor-element-62bc25d{margin:125px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}/* Start custom CSS for html, class: .elementor-element-6b5346a *//* ================== VARIABLES / BASE ================== */
.team{
  --card-bg: #ECECEF;
  --radius: 16px;
  --pad: 14px;
  --t: .75s cubic-bezier(.2,.6,.2,1);

  /* Cabeza afuera */
  --head-pop: 25%;
  --head-lift: 20%;
  --head-pop-hover-add: 18%;
  --clip-delay-leave: .18s;
  --extra-air-on-container: 6%;

  /* Escalas */
  --zoom: 1.2;
  --shrink-scale: .94;

  /* Sombra (mismo look en reposo y hover; hover solo sube) */
  --shadow-height: 80%;
  --shadow-fade-stop: 88%;
  --shadow-opacity: .9;     /* intensidad del gradiente */
  --shadow-base-shift: 35%; /* posición baja en reposo (30–42%) */
}

/* ================== GRID ================== */
.team-grid{
  list-style:none; margin:0; padding:0;
  display:grid; gap:18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px){ .team-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .team-grid{ grid-template-columns: 1fr; } }

/* ================== CARD ================== */
.member-card{
  position:relative;
  border-radius: var(--radius);
  isolation:isolate;
  aspect-ratio: 16 / 15;
  overflow: visible;
  transform: translateZ(0);
  transition: transform var(--t), filter var(--t);
  z-index: 0;
}
.member-card::before{
  content:""; position:absolute; inset:0;
  background: var(--card-bg);
  border-radius: var(--radius);
  z-index: 0;
}

/* ================== IMAGEN ================== */
.member-card .photo{
  position:absolute; inset:0;
  clip-path: inset(calc(-1 * var(--head-pop)) 0 0 0 round var(--radius));
  transition: clip-path var(--t) ease var(--clip-delay-leave);
  z-index: 1;
}
.member-card .photo img{
  width:100%; height:135%;
  object-fit:cover;
  object-position: 50% 22%;
  transform: translateY(calc(-1 * var(--head-lift)));
  transform-origin: 50% 30%;
  transition: transform var(--t), filter var(--t);
  z-index: 1;
}

/* ================== SOMBRA (INTENSA SIEMPRE + HOVER SOLO SUBE) ================== */
.team .member-card .photo::after{
  content:""; position:absolute; left:0; right:0; bottom:0;
  height: var(--shadow-height);
  background: linear-gradient(
    to top,
    rgba(10,10,25, var(--shadow-opacity)) 0%,
    rgba(10,10,25, 0) var(--shadow-fade-stop)
  );
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
  pointer-events:none;
  z-index: 2; /* sobre imagen, bajo texto */

  /* Reposo: misma intensidad que hover; solo más abajo */
  opacity: 1;
  transform: translateY(var(--shadow-base-shift));
  transition: transform var(--t);
}

/* ================== TEXTO ================== */
.member-card .info{
  position:absolute; left:var(--pad); right:var(--pad); bottom:var(--pad);
  color:#fff; display:flex; flex-direction:column; gap:6px;
  z-index: 3; /* sobre la sombra */
}
.member-card .role{
  font-weight:800; letter-spacing:.01em;
  font-size: clamp(18px, 2.2vw, 30px);
  line-height:1.1; text-transform:uppercase;
}
.member-card .name{
  font-weight:600; font-size: clamp(16px, 1.8vw, 25px);
  opacity:0; transform: translateY(6px);
  max-height:0; overflow:hidden;
  transition: all var(--t);
}

/* ================== INTERACCIONES (.is-hover / .leaving vía JS) ================== */
/* Encoge solo no-hover */
.team:hover .member-card{
  transform: scale(var(--shrink-scale));
  filter: saturate(.9) contrast(.95);
}
.team:hover .member-card.is-hover{
  transform: scale(1);
  filter:none;
  z-index: 4;
}

/* Aire intermedio en el contenedor (evita microcortes arriba) */
.team:hover .member-card .photo{
  clip-path: inset(
    calc(-1 * (var(--head-pop) + var(--extra-air-on-container)))
    0 0 0 round var(--radius)
  );
}

/* Card activa: más aire + zoom; clip sin delay */
.member-card.is-hover .photo{
  clip-path: inset(
    calc(-1 * (var(--head-pop) + var(--head-pop-hover-add)))
    0 0 0 round var(--radius)
  );
  transition: clip-path var(--t) ease 0s;
}
.member-card.is-hover .photo img{
  transform: translateY(calc(-1 * var(--head-lift))) scale(var(--zoom));
  will-change: transform;
}

/* HOVER: la sombra SOLO sube (misma intensidad) */
.team .member-card.is-hover .photo::after{
  transform: translateY(0);
}

/* >>> REVELA EL NOMBRE EN HOVER (faltaba esta regla) <<< */
.member-card.is-hover .name{
  max-height: 52px;
  opacity: 1;
  transform: translateY(0);
}

/* Leaving: mantener aire grande hasta terminar transición */
.member-card.leaving .photo{
  clip-path: inset(
    calc(-1 * (var(--head-pop) + var(--head-pop-hover-add)))
    0 0 0 round var(--radius)
  );
}

/* ================== ACCESIBILIDAD ================== */
@media (prefers-reduced-motion: reduce){
  .member-card,
  .member-card .photo,
  .member-card .photo img,
  .member-card .photo::after,
  .member-card .name{
    transition:none;
  }
}/* End custom CSS */