/* CreatixNova · Equipo "Nosotros" (paquete "equipo"). Idea del bloque "Team Member" de xriver, hecho con widgets nativos:
   palabra gigante de fondo + tarjetas del CPT Equipo (foto sin fondo, nombre y rol, sin redes). En computadora la sección
   se fija y las tarjetas giran en órbita alrededor de la palabra hasta acomodarse en fila; en celular aparecen en cascada. */
.cnx-team-sec{position:relative;overflow:hidden}
/* Computadora: la sección se alarga (equipo.js) y su contenido queda pegado arriba mientras dura la órbita.
   overflow:clip (no hidden) para que "sticky" funcione. */
.cnx-team-sec.is-sticky{overflow:clip;justify-content:flex-start!important}
.cnx-team-sec.is-sticky>.e-con-inner{position:sticky;top:0;flex:0 0 auto!important;height:auto!important;align-self:stretch}
.cnx-team-stage{position:relative;isolation:isolate}
.cnx-team-word{position:absolute!important;left:0!important;right:0!important;top:50%;z-index:0;width:auto!important;margin:-.62em 0 0!important;transform:none!important;pointer-events:none;text-align:center;font-size:clamp(64px,13vw,230px)}
/* Contorno nítido: sin transform ni medios píxeles; el navegador dibuja el trazo como vector */
.cnx-team-word .elementor-heading-title{transform:none!important;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;paint-order:stroke fill}
.cnx-team-word .elementor-heading-title{display:block;white-space:nowrap;font-family:"Quicksand",sans-serif!important;font-size:clamp(64px,13vw,230px)!important;font-weight:700!important;
	line-height:.9!important;letter-spacing:-.02em;color:transparent!important;-webkit-text-stroke:1.5px rgba(138,153,255,.42);
	background:linear-gradient(100deg,rgba(35,7,242,.0) 20%,rgba(92,100,255,.55) 45%,rgba(59,54,255,.0) 70%) 0 0/250% 100% no-repeat;-webkit-background-clip:text;background-clip:text;
	animation:cnxTeamShine 7s ease-in-out infinite}
@keyframes cnxTeamShine{0%{background-position:120% 0}60%,100%{background-position:-120% 0}}
.cnx-team-grid{position:relative;z-index:1}
/* Máximo 5 por fila; las filas incompletas quedan centradas (5 arriba y 2 o 3 abajo, en escalera). Crece sola al agregar personas al CPT. */
.cnx-team-grid .elementor-loop-container{display:flex!important;flex-wrap:wrap;justify-content:center;gap:28px 24px!important}
.cnx-team-grid .elementor-loop-container>.e-loop-item{flex:0 0 calc((100% - 96px)/5);max-width:calc((100% - 96px)/5);min-width:0}
.cnx-team-grid .e-loop-item{will-change:transform}
/* Tarjeta */
.cnx-tm-card{position:relative;height:400px;overflow:hidden;border-radius:24px!important;border:1px solid rgba(255,255,255,.08);isolation:isolate;
	background:radial-gradient(circle at 50% 78%,rgba(59,54,255,.42),transparent 62%),linear-gradient(180deg,#151730,#0D0E1A)!important;
	transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s ease,box-shadow .5s ease}
.cnx-tm-card::before{content:"";position:absolute;left:50%;top:44%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;z-index:-1;
	background:conic-gradient(from 0deg,transparent 0 55%,rgba(138,153,255,.55) 75%,transparent 92%);opacity:0;transition:opacity .5s ease;animation:cnxTeamSpin 5s linear infinite}
@keyframes cnxTeamSpin{to{transform:rotate(360deg)}}
.cnx-tm-card:hover{transform:translateY(-8px);border-color:rgba(138,153,255,.55);box-shadow:0 30px 60px -28px rgba(59,54,255,.9)}
.cnx-tm-card:hover::before{opacity:1}
.cnx-tm-photo{position:absolute!important;inset:0;margin:0!important;line-height:0}
.cnx-tm-photo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;object-position:bottom center;transform-origin:50% 100%;
	transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s ease;filter:saturate(.92)}
.cnx-tm-card:hover .cnx-tm-photo img{transform:scale(1.06);filter:saturate(1.1)}
.cnx-tm-info{position:absolute!important;left:12px;right:12px;bottom:12px;z-index:2;padding:13px 16px!important;border-radius:16px!important;
	background:rgba(14,15,17,.55)!important;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);
	transition:background .45s ease,border-color .45s ease}
.cnx-tm-card:hover .cnx-tm-info{background:linear-gradient(110deg,rgba(35,7,242,.78),rgba(92,100,255,.55))!important;border-color:rgba(255,255,255,.28)}
.cnx-tm-name .elementor-heading-title{margin:0;font-family:"Quicksand",sans-serif!important;font-size:20px!important;font-weight:700!important;line-height:1.2!important;color:#fff!important}
.cnx-tm-info{min-height:76px;justify-content:center!important}
.cnx-tm-role .elementor-heading-title{margin:0;font-family:"Familjen Grotesk",sans-serif!important;font-size:14px!important;font-weight:600!important;letter-spacing:.08em;text-transform:uppercase;color:#B6C1FF!important;transition:color .4s ease}
.cnx-tm-card:hover .cnx-tm-role .elementor-heading-title{color:#fff!important}
/* Celular y tablet: cascada al aparecer */
@media (max-width:1024px){
	.cnx-tm-card{height:340px}
	.cnx-team-grid .elementor-loop-container>.e-loop-item{flex-basis:calc((100% - 48px)/3);max-width:calc((100% - 48px)/3)}
	.cnx-team-grid .e-loop-item{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
	.cnx-team-grid.is-in .e-loop-item{opacity:1;transform:none}
	.cnx-team-grid.is-in .e-loop-item:nth-child(2){transition-delay:.08s}.cnx-team-grid.is-in .e-loop-item:nth-child(3){transition-delay:.16s}
	.cnx-team-grid.is-in .e-loop-item:nth-child(4){transition-delay:.24s}.cnx-team-grid.is-in .e-loop-item:nth-child(5){transition-delay:.32s}
	.cnx-team-grid.is-in .e-loop-item:nth-child(6){transition-delay:.4s}
}
@media (max-width:767px){.cnx-tm-card{height:280px}.cnx-team-grid .elementor-loop-container{gap:16px!important}.cnx-team-grid .elementor-loop-container>.e-loop-item{flex-basis:calc((100% - 16px)/2);max-width:calc((100% - 16px)/2)}.cnx-tm-name .elementor-heading-title{font-size:17px!important}.cnx-tm-role .elementor-heading-title{font-size:13px!important}}
@media (prefers-reduced-motion:reduce){.cnx-team-word .elementor-heading-title,.cnx-tm-card::before{animation:none}.cnx-team-grid .e-loop-item{opacity:1!important;transform:none!important}}
