*,*::before,*::after{box-sizing:border-box;}
body{font-family: Arial, Helvetica, sans-serif;overflow-x:hidden;margin:0;}
.container-lg{max-width:1536px;margin-inline:auto;}

/* ============ NAVBAR ============ */
#navbar{transition:background .4s ease, box-shadow .4s ease, backdrop-filter .4s ease;}
#navbar.nav--scrolled{background:rgba(255,255,255,0.85);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.06);}

#navbar.nav--scrolled .text-white{color:#3A3A3A;}

.nav-link{position:relative;color:#3A3A3A;font-size:.9rem;font-weight:500;transition:color .2s;}
.nav-link_comunidad{position:relative;color:#FFF;font-size:.9rem;font-weight:500;transition:color .2s;}
.nav-link:hover{color:#00ADB1;}
.nav-link.active{color:#00ADB1;font-weight:bold;}

.nav-link_comunidad:hover{color:#FFF;}
.nav-link_comunidad.active{color:#FFF;font-weight:bold;}

.nav-link.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#00ACB0;border-radius:2px;}

.nav-link_comunidad.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#fff;border-radius:2px;}

#navbar.nav--scrolled .nav-link_comunidad{color:#3A3A3A;}
#navbar.nav--scrolled .nav-link_comunidad:hover{color:#00ADB1;}
#navbar.nav--scrolled .nav-link_comunidad.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#00ACB0;border-radius:2px;}


#h-headline{color:#3A3A3A;font-family: 'Rubik SemiBold';}
#hero_comunidad #h-headline{color:#FFF;font-family: 'Rubik SemiBold';}
#hero_oportunidad #h-headline span{color:#04AFBA;}
#h-body{color:#3A3A3A;}
#hero_comunidad #h-body{color:#FFF;}
#btn_emprender{
  border: 1px solid #04AFBA; color:#04AFBA;
}
.text-deslizar{
  color: #3A3A3A;
}
#btn_explorar{
  border: 1px solid #00ADB1; color:#00ADB1;
}
.subtitulo_pilares{
  font-family: 'Rubik SemiBold';
}
/* ============ HERO ============ */
/* PLACEHOLDER: replace this gradient with url('YOUR_HERO_PHOTO.jpg') center top / cover no-repeat */
#hero{
  position:relative;min-height:860px;
  /*background:
    linear-gradient(to right, #040404 0%, #040404 55%, rgba(4,4,4,0) 68%),
    linear-gradient(120deg, #0d1b2a 0%, #6b3a2a 35%, #e8873f 55%, #f2b6c6 68%, #b25a9e 85%, #7a3b8a 100%);*/
    background: url('../img/bg_hero3.webp') no-repeat center top;
  background-size: cover; background-position:center;
}
.hero-blob{position:absolute;border-radius:50%;opacity:.55;filter:blur(1px);pointer-events:none;}
/*.icono_logo{
    position:absolute;bottom:0;right:0;width:100%;height:100%;display:flex;align-items:end;justify-content:end;z-index:1;
}*/
#hero {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  /* ya no lleva background aquí */
}

#hero-bg {
  position: absolute;
  inset: 0;
  background: url('../img/bg_hero3.webp') no-repeat center top;
  background-size: cover;
  background-position: center;
  z-index: 0;
  will-change: transform;
}
.icono_logo {
  position: absolute;
  bottom: -10%;
  right: -5%;
  width: 58vw;              /* proporcional puro — sin clamp, sin techo en px */
  max-width: none;
  height: auto;
  z-index: 1;
  pointer-events: none;
  transform-origin: bottom right;
  transform: translateX(80px);
  opacity: 0;
}

.icono_logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  mix-blend-mode: screen;
}
.montana {
  position: absolute;
  right: 0;
  bottom: -23%;           /* deja que la base de la montaña sangre debajo del hero */
  width: 100%;            /* la imagen es mucho más ancha que su contenido visible */
  max-width: none;
  z-index: 2;             /* encima del icono_logo y los blobs, debajo del texto (que ya tiene z-10) */
  pointer-events: none;
}
.montana img {
  width: 100%;
  height: auto;           /* deja que la altura se calcule sola, respetando el aspect ratio real del PNG */
  display: block;
}

.yate {
  position: absolute;
  /*
  right: -24.2vw;
  width: 178.3vw;
  */
  /*
  right: -28.2vw;
  width: 210.3vw;
  */
  
  right: max(-36.2vw, -64.4vh);
  width: min(212.3vw, 377.6vh);
  
  /*
  right: max(-36.2vw, -41.4vh);
  width: min(212.3vw, 302.6vh);
  */
  max-width: none;
  height: auto;
  bottom: -23%;   /* dejo el valor actual como punto de partida — ver nota abajo */
  z-index: 2;
  pointer-events: none;
}
.yate img {
  width: 100%;
  height: auto;
  display: block;
}

.edificio {
  position: absolute;
  right: -14%;
  width: 130vw;
  max-width: none;
  height: auto;
  bottom: -10%;
  z-index: 2;
  pointer-events: none;
}
.edificio img {
  width: 100%;
  height: auto;           /* deja que la altura se calcule sola, respetando el aspect ratio real del PNG */
  display: block;
}

/* Ultrawide (21:9, 32:9): tamaño fijo, ya confirmado en tus capturas de 3440×1440 y 5120×1440 */
@media (min-aspect-ratio: 2/1) {
  .yate {
    /*width: 5437px;
    right: -927px;*/
    width: 3920px;
    right: -533px;
  }
  .edificio {
    /*width: 5437px;
    right: -927px;*/
    width: 3920px;
    right: -533px;
  }
}



.scroll-mouse{animation:scrollBounce 2.2s ease-in-out infinite;}
.scroll-dot{animation:dotMove 2.2s ease-in-out infinite;}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes dotMove{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(4px);opacity:.4}}

/* ============ PILLARS ============ */
/* PLACEHOLDER: replace each solid background-color with url('YOUR_PHOTO.jpg') center/cover */
.pillar-card{position:relative;overflow:hidden;background-size:cover;background-position:center;}
.pillar-card__scrim{position:absolute;inset:0/*;background:linear-gradient(to top, rgba(0,0,0,.96) 0%, rgba(0,0,0,.94) 40%, rgba(0,0,0,.55) 62%, rgba(0,0,0,0) 82%);*/}
.pillar-card__content{position:relative;z-index:2;transition:transform .35s ease;}
.pillar-card:hover .pillar-card__content{transform:translateY(-6px);}
.pillar-link{color:#fff;font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:4px;margin-top:1rem;transition:gap .2s;}
.pillar-link:hover{gap:8px;}

/* ============ LINE CARDS (diagonal) ============ */
.line-row{position:relative;display:flex;min-height:339px;}
.line-shape{
  position:relative; flex:0 0 auto; width:46%;
  display:flex; flex-direction:column; justify-content:center;
  padding:2.2rem clamp(1.5rem,8vw,8.5rem);
  /*clip-path: polygon(14% 0, 100% 0, 100% 100%, 0% 100%);*/
  margin-right:-15%;
  z-index:2;
}
/* PLACEHOLDER: replace with url('YOUR_PRODUCT_PHOTO.jpg') center/cover */
.line-photo{flex:1 1 auto; background-size:cover; background-position:center; position:relative; z-index:1; background-color:#e8e8e8; overflow:hidden;}
.line-video{width:100%; height:100%; object-fit:cover; display:block;}

/* Color de degradado de cada línea sobre su foto — tomado directo de Figma
   (00A2BD / 4371E5 / B6418B, no son exactamente el color plano de .line-shape) */
.line-row--turquesa { --fade-color: 0,162,189; }
.line-row--indigo   { --fade-color: 67,113,229; }
.line-row--magenta  { --fade-color: 182,65,139; }

/* El color se derrama sobre la foto/video y se difumina hacia la derecha —
   igual en las 3 líneas. Opacidad 50% confirmada en Figma.
   z-index explícito: el <video> puede crear su propia capa de composición
   y tapar el degradado si no se fuerza el orden de encima. */
/*.line-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(to right, rgba(var(--fade-color), .5) 0%, rgba(var(--fade-color), 0) 42%);
  pointer-events: none;
}
*/
/* Esquina inferior izquierda redondeada — en las 3 tarjetas.
   IMPORTANTE: va en .line-row, NO en .line-shape. .line-shape tiene su propio
   clip-path, que recorta CUALQUIER cosa dentro de él (también un ::after) a
   ese mismo polígono de bordes filosos — por eso no se veía antes. Puesto en
   .line-row (que no tiene clip-path) sí puede tapar la esquina desde afuera.
   Radio aproximado (Figma mostró "Mixed" sin numero exacto). */
.line-row::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 35px; 
  height: 24px;
  z-index: 3;
  /*background: radial-gradient(circle at 100% 0%, transparent 30px, #fff 32px);*/
  pointer-events: none;
}
.line-row--turquesa .line-shape{
  background: linear-gradient(90deg, #04AFBA 0%, #02919D 100%);
  -webkit-mask-image: linear-gradient(90deg, black 0%, black 68%, transparent 100%);
  mask-image: linear-gradient(90deg, black 0%, black 68%, transparent 100%);
}
.line-row--indigo .line-shape{
  background: linear-gradient(90deg, #0B569A 0%, #00D7E6 100%);
  -webkit-mask-image: linear-gradient(90deg, black 0%, black 70%, transparent 97%);
  mask-image: linear-gradient(90deg, black 0%, black 70%, transparent 97%);
}
.line-row--magenta .line-shape{
  background: linear-gradient(90deg, #B6418B 0%, #E051AC 100%);
  -webkit-mask-image: linear-gradient(90deg, black 0%, black 70%, transparent 97%);
  mask-image: linear-gradient(90deg, black 0%, black 70%, transparent 97%);
}
.line-label{font-size:.68rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:.4rem;}
.line-link{
  font-size:.82rem;font-weight:700;
  background:#fff;color:var(--line-btn-color,#3A3A3A);
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  align-self:flex-start;
  padding:1.1rem 1.82rem;
  border-radius:999px;
  margin-top:1.1rem;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
  transition:gap .2s,transform .2s;
}
.line-link:hover{gap:10px;transform:scale(1.03);}
.line-row--turquesa .line-link{--line-btn-color:#04AFBA;}
.line-row--indigo   .line-link{--line-btn-color:#0B569A;}
.line-row--magenta  .line-link{--line-btn-color:#B6418B;}
@media (max-width:1023px){
  .line-row{flex-direction:column;min-height:0;}
  .line-shape{width:100%; clip-path:none; margin-right:0; padding:2rem 1.5rem;}
  .line-photo{height:180px;}
}

/* ============ TRES LÍNEAS — heading centrado + decorativos ============ */
.lineas-heading{overflow:hidden;}
.lineas-gradient-text{
  background:linear-gradient(270deg, #FF00BD 0%, #00F1FF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lineas-gradient-text2{
  background:linear-gradient(270deg, #0B569A 0%, #00D7E6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lineas-gradient-text3{
  background:linear-gradient(270deg, #B6418B 0%, #E051AC 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lineas-gradient-text4{
  background:linear-gradient(270deg, #02919D 0%, #10E8EF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lineas-gradient-text5{
  background:linear-gradient(270deg, #FF00BD 0%, #00F1FF 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lineas-blob{position:absolute;border-radius:50%;background:#D9A9E8;opacity:.35;pointer-events:none;z-index:0;}
.lineas-blob--left{width:110px;height:110px;top:10px;left:0;}
.lineas-blob--right{width:70px;height:70px;bottom:30px;right:20px;}
.lineas-slash{position:absolute;width:56px;height:320px;pointer-events:none;z-index:0;
  background:linear-gradient(160deg, rgba(168,138,224,.4), rgba(0,172,176,.25));
  clip-path:polygon(38% 0, 62% 0, 24% 100%, 0% 100%);
}
.lineas-slash--left{top:30px;left:110px;}
.lineas-slash--right{top:10px;right:110px;transform:scaleX(-1);}
@media (max-width:1023px){
  .lineas-blob,.lineas-slash{display:none;}
}


/* ============ TESTIMONIALS ============ */
/* PLACEHOLDER: replace background-color with url('YOUR_PHOTO.jpg') center/cover */
.testi-card{position:relative;border-radius:18px;overflow:hidden;flex:0 0 calc(25% - 12px);background-size:cover;background-position:center;min-height:300px;}
@media (max-width:1023px){.testi-card{flex:0 0 calc(50% - 8px);}}
@media (max-width:639px){.testi-card{flex:0 0 100%;}}
.testi-card::after{content:'';position:absolute;inset:0;}
.testi-body{position:absolute;bottom:0;left:0;right:0;padding:20px 18px;z-index:2;color:#039FAA; width:50%;font-weight: bold;}
.testi-body blockquote{font-family: 'Rubik Italic';font-size:20px;line-height: 23px;}
.testi-body cite{font-size:15px;}
.carousel-track{display:flex;gap:16px;will-change:transform;}
.dot{width:8px;height:8px;border-radius:999px;background:#e2e2e2;cursor:pointer;transition:width .3s,background .3s;}
.dot.active{width:26px;background:#00ACB0;}
.arrow-btn{width:44px;height:44px;border-radius:999px;border:2px solid #04AFBA;display:flex;align-items:center;justify-content:center;color:#04AFBA;transition:all .2s;}
.arrow-btn:hover{border-color:#00ACB0;color:#00ACB0;}
.frubik_semibold{font-family: 'Rubik SemiBold';}




/* ============ STATS ============ */
.stat-val{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:900;color:#00ACB0;line-height:1;font-variant-numeric:tabular-nums;}

.stats-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.stat-item {
  display: flex;
  flex-direction: column;
  padding: 0 50px;
  position: relative;
}
.stat-item2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 calc((100% - 4rem) / 3);
  position: relative;
  text-align: center;
}
.stat-item:first-child { padding-left: 0; }
.stat-item:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 6px;
  bottom: 6px;
  right: 0;
  width: 1px;
  background: #E2E2E2;
}
.stat-top {
  display: flex;
  align-items: center;
  gap: 10px;
}
.stat-icon {
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  object-fit: contain;
}
.stat-val{font-family: 'Rubik Regular';font-size:clamp(2rem,4.6vw,2.7rem);font-weight:100;color:#00ACB0;line-height:1;font-variant-numeric:tabular-nums;}
/* Mobile — lo resolvemos después, esto es solo un placeholder para no romper nada mientras tanto */
@media (max-width: 640px) {
  /*.icono_logo { display: none; }*/
}
/* Mobile: sin divisores, más compacto */
@media (max-width: 640px) {
  #iconMenu{
    color:#3A3A3A
  }
  #iconClose{
    color:#3A3A3A;
  }
  .montana {
      bottom: -4%;
      width: 145%;
  }
  .yate {
      bottom: -4%;
      width: 290.3vw;
      right: -39.2vw;
  }
  .icono_logo{
    bottom: 0%;
    width: 70vw;
  }
  /*.stat-item { padding: 0 16px 0 0; }
  .stat-item:not(:last-child)::after { display: none; }
  .stat-icon { width: 22px; height: 22px; }*/
  .stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
    row-gap: 28px;
    width: 100%;
  }
  .stat-item {
    padding: 0;
    align-items: flex-start;
  }
  /* Divisor vertical: solo entre columna 1 y columna 2 (ítems impares) */
  .stat-item:nth-child(odd)::after {
    content: '';
    position: absolute;
    top: 4px;
    bottom: 4px;
    right: -12px;
    width: 1px;
    background: #E2E2E2;
  }
  .stat-item:nth-child(even)::after {
    display: none;
  }
  .stat-icon { width: 22px; height: 22px; }
}

/* ============ CTA BANNER ============ */
#cta-banner{
  border-radius:22px;
  overflow:hidden;
  position:relative;
  /*background-image:url('../img/bg_banner_cta.webp');*/
  background-image:url('../img/bg_1.webp');
  background-size:cover;
  background-position:center;
}
#cta-banner::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  /*background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.1) 100%);*/
}

#cta-banner2{
  border-radius:22px;
  overflow:hidden;
  position:relative;
  background-image:url('../img/bg_banner_cta.webp');
  background-size:cover;
  background-position:center;
}
#cta-banner2::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  /*background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.1) 100%);*/
}


#cta-h2{
  font-family: 'Rubik SemiBold';
}
.cta-form-card {
  position: absolute;
  top: 50%;
  right: 48px;
  transform: translateY(-50%);
  width: 550px;
  max-width: calc(100% - 48px);
  background: #fff;
  border-radius: 18px;
  padding: 20px 25px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
  z-index: 5;
}
.cta-form-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #3A3A3A;
  margin-bottom: 18px;
}
.cta-form-row {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
}
.cta-form-field {
  flex: 1;
  min-width: 0;
}
.cta-form-field label {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  color: #3A3A3A;
  margin-bottom: 6px;
}
.cta-form-field input {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: .85rem;
  color: #1a1a1a;
  outline: none;
  transition: border-color .2s;
}
.cta-form-field input:focus { border-color: #00ACB0; }
.cta-form-field input::placeholder { color: #a8a8a8; }
.cta-form-row--phone {
  align-items: flex-end;   /* el botón no tiene label arriba, así que se alinea con la base del input, no con su tope */
}
.cta-form-btn {
  flex: 1;                 /* comparte el espacio con el input de teléfono, en vez de ocupar 100% */
  width: auto;             /* pisa el width:100% que tenía antes */
  white-space: nowrap;
  background: #00ACB0;
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  border: none;
  border-radius: 999px;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition: filter .2s, transform .2s;
}
.cta-form-btn:hover { filter: brightness(1.1); transform: scale(1.02); }

/* ============ HISTORIAS QUE INSPIRAN (testimonios con avatar) ============ */
.historia-item{flex:0 0 calc(33.333% - 11px);display:flex;gap:14px;align-items:flex-start;}
.historia-item__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.historia-item__quote{color:#3A3A3A;font-size:.9rem;line-height:1.5;margin-bottom:.4rem;}
.historia-item__name{color:#00ACB0;font-size:.85rem;font-weight:800;font-style:normal;}
@media (max-width:1023px){.historia-item{flex:0 0 calc(50% - 8px);}}
@media (max-width:639px){.historia-item{flex:0 0 100%;}}

/* ============ MEDIA GRID (Vivimos en comunidad / Impacto Legacy) ============ */
/* Base (Impacto Legacy — sin datos exactos de Figma para esa sección aún) */
.media-grid{display:flex;flex-wrap:wrap;gap:16px;}
.media-grid__item{flex:0 0 calc(50% - 8px);min-height:280px;}
.media-grid__item--full{flex:0 0 100%;min-height:240px;}

/* "Vivimos en comunidad": valores EXACTOS de tus capturas de Figma dev mode.
   Gap real = 0 (las imágenes se tocan borde a borde, confirmado con la
   matemática de Top/Left/Width/Height). Fila 1 (Transforma/Enciende) =
   50/50 real. Fila 2 (Impulso/Celebra) = 41.89/58.11 real. */
#vivimos_comunidad .media-grid{gap:0;}
#vivimos_comunidad .media-grid__item{min-height:0;}
#vivimos_comunidad .media-grid__item--full{min-height:0;aspect-ratio:1228/337.1;}
#vivimos_comunidad .media-grid__item:nth-child(1){flex-basis:50%;aspect-ratio:614/360.13;}
#vivimos_comunidad .media-grid__item:nth-child(2){flex-basis:50%;aspect-ratio:614/360.13;}
#vivimos_comunidad .media-grid__item:nth-child(3){flex-basis:41.89%;aspect-ratio:514.46/361.77;}
#vivimos_comunidad .media-grid__item:nth-child(4){flex-basis:58.11%;aspect-ratio:713.54/361.77;}

.momento-btn{
  font-size:.82rem;font-weight:700;
  background:transparent;
  border:1px solid #fff;
  color:#fff;
  display:inline-flex;
  align-self: flex-start;
  justify-content:center;
  gap:6px;
  padding:0.7rem 2rem;
  border-radius:999px;
  margin-top:auto;
  transition:gap .2s,transform .2s;
}
.momento-btn:hover{gap:10px;transform:scale(1.03);}
#vivimos_comunidad .pillar-card__content{
  position:absolute;inset:0;
  display:flex;flex-direction:column;
}
@media (max-width:767px){
  .media-grid__item,
  .media-grid__item--full,
  #vivimos_comunidad .media-grid__item:nth-child(1),
  #vivimos_comunidad .media-grid__item:nth-child(2),
  #vivimos_comunidad .media-grid__item:nth-child(3),
  #vivimos_comunidad .media-grid__item:nth-child(4){
    flex-basis:100%;
  }
  #proposito_compartido .media-grid{
    display:flex;
    flex-direction:column;
    gap:0;
  }
  #proposito_compartido .media-grid{grid-template-columns:1fr;}
  #proposito_compartido .media-grid__item:nth-child(1),
  #proposito_compartido .media-grid__item:nth-child(2),
  #proposito_compartido .media-grid__item:nth-child(3),
  #proposito_compartido .media-grid__item:nth-child(4){
    aspect-ratio:4/3;
  }
}

/* "Propósito Compartido / Impacto Legacy": pasó de "1 card ancha + fila de 2"
   a "2 filas de 2". Fila 1 (Cuidado del planeta x2) reutiliza el split
   50/50 exacto de Vivimos en comunidad fila 1 -- mismo patrón reutilizado
   que ya confirmamos para la fila 2. Fila 2 se queda con el 41.89/58.11 de
   siempre, solo cambian los nth-child porque ahora hay 4 items, no 3. */
#proposito_compartido .media-grid{ gap:0; }
#proposito_compartido .media-grid__item{ min-height:0; }
#proposito_compartido .media-grid__item--full{ aspect-ratio:1228/331; }

@media (min-width:768px){
  #proposito_compartido .media-grid__item:nth-child(2){ flex-basis:41.89%; aspect-ratio:514.46/332.76; }
  #proposito_compartido .media-grid__item:nth-child(3){ flex-basis:58.11%; aspect-ratio:714/333; }
}


/* Blobs decorativos junto al texto de "Vivimos en comunidad" — aproximados
   a ojo del Figma, ajusta tamaño/posición/color exactos si tienes esos valores */
.comunidad-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.comunidad-blob--teal{width:70px;height:70px;background:#00ACB0;opacity:.18;bottom:-20px;left:20px;}
.comunidad-blob--pink{width:130px;height:170px;background:#D44392;opacity:.15;border-radius:40% 60% 55% 45%;top:120px;right:-40px;}

/* ============ VIDA LEGACY (banner con zoom + parallax tipo hero) ============ */
/*#vida_legacy{
  position:relative;
  min-height:991px;
  overflow:hidden;
}*/
#vida_legacy{position:relative;aspect-ratio:2206/946;overflow:hidden;}
.vidalegacy-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
/*
@media (max-width:1023px){
  #vida_legacy{min-height:640px;}
  .vidalegacy-personas{width:88%;}
}
*/
/* ============ CTA BANNER SOMOS UNO ============ */
#somos_uno{
  background-color:#fff;
}
#cta-banner_somosuno{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background-image:url('../img/bg_com_somosuno.webp');
  background-size:cover;
  background-position:center;
}
#cta-banner_somosuno::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  /*background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.1) 100%);*/
}

/* ============ HISTORIA CTA ============ */
#historia_cta{
  overflow:hidden;
  position:relative;
  background-image:url('../img/bg_unete.webp');
  background-size:cover;
  background-position:center;
}
#cta-banner_historia_cta::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  /*background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,.1) 100%);*/
}

/* ============ ABOUT ROW (Qué es Legacy / Nuestro propósito / Cómo transformamos) ============ */
.about-row{display:flex;align-items:center;gap:3rem;}
.about-row__media{flex:0 1 41.89%;min-width:0;}
.about-row__copy{flex:0 1 58.11%;min-width:0;}
.about-row__img{width:100%;height:auto;border-radius:18px;display:block;object-fit:cover;max-height:420px;}
.about-row__divider{width:2px;align-self:stretch;flex-shrink:0;}
.about-row__divider img{width:100%;height:100%;}
.about-row__header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem;}
.about-icon{width:105px;height:105px;flex-shrink:0;}
.about-icon img{width:100%;height:100%;object-fit:contain;}
@media (max-width:1023px){
  .about-row{flex-direction:column;gap:2rem;}
  .about-row__media,.about-row__copy{flex-basis:auto;}
  .about-row__media{order:-1;}
  .about-row__divider{display:none;}
}

/* ============ NUESTRA HISTORIA (timeline GSAP) ============ */
.timeline{
  --hist-icon-size:clamp(96px,7.4vw,112px);
  position:relative;
  max-width:1280px;
  min-height:710px;
  margin:0 auto;
}

.timeline__connector{
  position:absolute;
  top:calc(var(--hist-icon-size) / 2);
  left:-2.5%;
  width:105%;
  height:690px;
  overflow:visible;
  pointer-events:none;
  z-index:0;
}

.timeline__row{
  position:relative;
  z-index:1;
}

.timeline-item{
  text-align:center;
  position:relative;
  z-index:1;
  padding:0 .65rem;
}

.timeline-item__icon{
  width:var(--hist-icon-size);
  height:var(--hist-icon-size);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 1.4rem;
}

.timeline-item__icon img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.timeline-item__year{
  font-weight:900;
  font-size:clamp(1.34rem,1.55vw,1.55rem);
  line-height:1;
  color:#02919D;
  margin-bottom:1rem;
}

.timeline-item__title{
  font-weight:800;
  font-size:clamp(.88rem,.96vw,.96rem);
  line-height:1.2;
  color:#3A3A3A;
  margin-bottom:1rem;
}

.timeline-item__text{
  font-size:clamp(.8rem,.82vw,.9rem);
  color:#4b5563;
  line-height:1.24;
  max-width:285px;
  margin:0 auto;
}

.historia-dot{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.14));
}

@media (min-width:1024px){
  .timeline__row{display:contents;}
  .timeline-item{position:absolute;width:min(24vw,300px);transform:translateX(-50%);}

  .timeline__row:first-of-type .timeline-item:nth-child(1){left:18.5%;top:0;}
  .timeline__row:first-of-type .timeline-item:nth-child(2){left:42.5%;top:0;}
  .timeline__row:first-of-type .timeline-item:nth-child(3){left:66.5%;top:0;}

  .timeline__row:last-of-type .timeline-item:nth-child(1){left:29.5%;top:330px;}
  .timeline__row:last-of-type .timeline-item:nth-child(2){left:52%;top:330px;}
  .timeline__row:last-of-type .timeline-item:nth-child(3){left:74.5%;top:330px;}
}

@media (max-width:1023px){
  .timeline{
    min-height:0;
    display:grid;
    gap:2.7rem;
  }

  .timeline__connector{display:none;}

  .timeline__row{
    display:grid;
    grid-template-columns:1fr;
    gap:2.7rem;
  }

  .timeline-item__text{max-width:360px;}
}

/* ============ NUESTRA CULTURA ============ */
.cultura-banner{position:relative;width:100%;aspect-ratio:1788/558;overflow:hidden;}
.cultura-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.cultura-banner__overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,172,176,0) 0%, rgba(0,172,176,.92) 55%, #00ACB0 80%);
}
.cultura-banner__content{position:relative;z-index:1;height:100%;}
.cultura-banner__inner{
  height:100%;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  max-width:640px;margin-left:auto;
  padding:2.5rem 0;
}
.culture-values{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;width:100%;}
.culture-value{flex:1 1 140px;max-width:180px;}
.culture-value .about-icon{width:56px;height:56px;margin:0 auto .75rem;filter:brightness(0) invert(1);}
.culture-value h3{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:.4rem;}
.culture-value p{font-size:.8rem;color:rgba(255,255,255,.85);line-height:1.5;}

@media (max-width:1023px){
  .cultura-banner{aspect-ratio:auto;min-height:640px;}
  .cultura-banner__overlay{background:linear-gradient(180deg, rgba(0,172,176,.2) 0%, rgba(0,172,176,.95) 38%, #00ACB0 100%);}
  .cultura-banner__inner{max-width:100%;margin-left:0;padding:2.5rem 0;justify-content:flex-end;}
  .culture-values{gap:1.5rem;}
}

/* ============ LIDERAZGO CORPORATIVO ============ */
.leaders-row{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;}
.leader-card{width:180px;}
.leader-card__photo{width:180px;height:180px;border-radius:10%;object-fit:cover;margin-bottom:1rem;}
.leader-card__name{font-weight:800;color:#3A3A3A;font-size:1rem;}
.leader-card__title{color:#00ACB0;font-size:.85rem;font-weight:600;}

/* ============ PRESENCIA GLOBAL ============ */
.presencia-grid{display:grid;grid-template-columns:0.9fr 0.51fr 1.7fr;gap:2.5rem;align-items:start;}
/*.presencia-grid{display:grid;grid-template-columns:.9fr 1.1fr 1.3fr;gap:2.5rem;align-items:start;}*/
.presencia-intro{padding-top:.25rem;}

.presence-label{color:#3A3A3A;font-weight:800;font-size:.85rem;margin-bottom:.9rem;}
.presence-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:1rem;}
.presence-item__flag-wrap{flex-shrink:0;margin-top:2px;}
.presence-item__flag{width:32px;height:auto;display:block;}
.presence-item strong{display:block;font-size:.85rem;color:#3A3A3A;letter-spacing:.05em;margin-bottom:.15rem;}
.presence-item p{font-size:.85rem;color:#6b7280;line-height:1.5;}
.presence-divider{
  grid-column:2;
  margin:1.25rem 0 1.25rem -30.5px; /* -(20px de gap + 10.5px, mitad del punto) — arranca en el centro del punto/conector, igual que Figma */
  height:4px;
  background:#E5E5F0;
}
/* "Presencia actual": columna de puntos separada de las banderas (no
   superpuesta), como en Figma. Grid sincroniza el alto de cada punto con
   el de su fila real. El conector se dibuja con JS -- ver main.js -- porque
   su largo depende del alto real de cada fila, que varía según el texto. */
.presence-list{
  display:grid;
  grid-template-columns:21px 1fr;
  column-gap:20px;
  position:relative;
}
.presence-list .presence-item{margin-bottom:0;}
.presence-dot{
  width:21px;height:21px;
  border-radius:50%;
  background:#E5E5F0;
  align-self:start;
  margin-top:6px; /* aproximado para que el centro del punto calce con el centro de la bandera (32px) -- ajusta si tu asset real no mide exacto eso */
  position:relative;
  z-index:1;
}
/* Fija cada punto/tarjeta/divisor a su fila exacta -- elimina cualquier
   ambigüedad del auto-acomodo de Grid al mezclar hijos con columna fija
   (los divisores) con hijos automáticos (puntos y tarjetas), que es lo
   que corría el punto de Bolivia (el último país) una fila de más. */
.presence-list > *:nth-child(1),
.presence-list > *:nth-child(2){grid-row:1;}
.presence-list > *:nth-child(3){grid-row:2;}
.presence-list > *:nth-child(4),
.presence-list > *:nth-child(5){grid-row:3;}
.presence-list > *:nth-child(6){grid-row:4;}
.presence-list > *:nth-child(7),
.presence-list > *:nth-child(8){grid-row:5;}
.presence-list > *:nth-child(7){align-self:end;margin-top:0;}
.presence-list > *:nth-child(8){padding-bottom:1.5rem;}
.presence-connector{
  position:absolute;
  left:8.5px;
  width:4px;
  background:#E5E5F0;
  z-index:0;
  pointer-events:none;
}

.presencia-mapa{position:relative;display:flex;align-items:center;}
.presencia-mapa__img{
  width:100%;height:auto;display:block;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
}

@media (max-width:1023px){
  .presencia-grid{grid-template-columns:1fr;}
}

/* ============ CALIDAD, RESPALDO Y FORMALIDAD ============ */
.cert-label{color:#3A3A3A;font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;}
.cert-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;}
.cert-row img{height:auto;width:auto;object-fit:contain;}
.cert-row img:hover{opacity:1;}

.cert-row2{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;}
.cert-row2 img{height:auto;width:auto;object-fit:contain;}
.cert-row2 img:hover{opacity:1;}

/* Mobile: la tarjeta deja de flotar y pasa a apilarse debajo del texto */
@media (max-width: 1023px) {
  #cta-banner {
    justify-content: flex-start !important;
    padding-bottom: 32px !important;
  }
  #cta-banner_somosuno {
    justify-content: flex-start !important;
    padding-bottom: 32px !important;
  }
  #cta-banner_historia_cta {
    justify-content: flex-start !important;
    padding-bottom: 32px !important;
  }
  .cta-form-card {
    position: static;
    transform: none;
    margin-top: 24px;
    width: 100%;
    max-width: none;
  }
  .cta-form-row--phone {
    flex-direction: column;
    align-items: stretch;
  }
  .cta-form-btn {
    width: 100%;
  }
}
/* ============ FOOTER ============ */
.footer-link{color:#6b7280;font-size:.875rem;line-height:1.9;transition:color .2s;}
.footer-link:hover{color:#00ACB0;}
.social-row{display:flex;align-items:center;gap:10px;color:#6b7280;font-size:.85rem;transition:color .2s;}
.social-row:hover{color:#00ACB0;}

@media (prefers-reduced-motion: reduce){.scroll-mouse,.scroll-dot{animation:none;}}


/* ============ HERO COMUNIDAD ============ */
#hero_comunidad{
  position:relative;min-height:860px;
  /*background:
    linear-gradient(to right, #040404 0%, #040404 55%, rgba(4,4,4,0) 68%),
    linear-gradient(120deg, #0d1b2a 0%, #6b3a2a 35%, #e8873f 55%, #f2b6c6 68%, #b25a9e 85%, #7a3b8a 100%);*/
    background: url('../img/hero-comunidad.webp') no-repeat center top;
  background-size: cover; background-position:center;
}
.hero-blob{position:absolute;border-radius:50%;opacity:.55;filter:blur(1px);pointer-events:none;}
/*.icono_logo{
    position:absolute;bottom:0;right:0;width:100%;height:100%;display:flex;align-items:end;justify-content:end;z-index:1;
}*/
#hero_comunidad {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  /* ya no lleva background aquí */
}

#hero-bg_comunidad {
  position: absolute;
  inset: 0;
  background: url('../img/hero-comunidad.webp') no-repeat center top;
  background-size: cover;
  background-position: center;
  z-index: 0;
  will-change: transform;
}



/* ============ HERO NOSOTROS ============ */
#hero_nosotros{
  position:relative;min-height:860px;
  /*background:
    linear-gradient(to right, #040404 0%, #040404 55%, rgba(4,4,4,0) 68%),
    linear-gradient(120deg, #0d1b2a 0%, #6b3a2a 35%, #e8873f 55%, #f2b6c6 68%, #b25a9e 85%, #7a3b8a 100%);*/
    background: url('../img/bg_nosotros.webp') no-repeat center top;
  background-size: cover; background-position:center;
}
.hero-blob{position:absolute;border-radius:50%;opacity:.55;filter:blur(1px);pointer-events:none;}
/*.icono_logo{
    position:absolute;bottom:0;right:0;width:100%;height:100%;display:flex;align-items:end;justify-content:end;z-index:1;
}*/
#hero_nosotros {
  position: relative;
  min-height: 860px;
  overflow: hidden;
  /* ya no lleva background aquí */
}

#hero-bg_nosotros {
  position: absolute;
  inset: 0;
  background: url('../img/bg_nosotros.webp') no-repeat center top;
  background-size: cover;
  background-position: center;
  z-index: 0;
  will-change: transform;
}


/* ============ HERO SOBRE NOSOTROS - AJUSTE FIGMA ============ */
#hero_nosotros{
  position:relative;
  min-height:720px;
  align-items:flex-start;
  overflow:hidden;
  background:none;
}

#hero-bg_nosotros{
  position:absolute;
  inset:0;
  z-index:0;
  background:url('../img/bg_nosotros.webp') no-repeat center top;
  background-size:cover;
  background-position:center top;
}

#hero_nosotros::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.68) 30%,
      rgba(0,0,0,.42) 48%,
      rgba(0,0,0,.08) 72%,
      rgba(0,0,0,0) 100%
    ),
    linear-gradient(0deg,
      rgba(0,0,0,.58) 0%,
      rgba(0,0,0,.18) 32%,
      rgba(0,0,0,0) 62%
    );
}

#hero_nosotros > .container-lg{
  position:relative;
  z-index:2;
  padding-top:13.6rem;
  padding-bottom:5rem;
  padding-left:clamp(2rem, 7.2vw, 7.25rem);
  padding-right:clamp(2rem, 7.2vw, 7.25rem);
}

#hero_nosotros .max-w-2xl{
  max-width:430px;
}

#hero_nosotros #h-eyebrow{
  margin-bottom:1.05rem;
  color:#fff;
  font-size:.92rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.27em;
}

#hero_nosotros #h-headline{
  max-width:360px;
  margin-bottom:1.35rem;
  color:#fff !important;
  font-size:clamp(3.4rem, 4.35vw, 4rem);
  font-weight:900;
  line-height:.92;
  letter-spacing:0;
}

#hero_nosotros #h-body{
  max-width:410px;
  margin-bottom:2.45rem;
  color:rgba(255,255,255,.94) !important;
  font-size:1.05rem;
  line-height:1.45;
}

#hero_nosotros #h-ctas{
  gap:1rem;
  margin-bottom:0;
}

#hero_nosotros #h-ctas a{
  min-width:190px;
  min-height:44px;
  justify-content:center;
  padding:.78rem 1.6rem;
  border-radius:999px;
  font-size:.95rem;
  font-weight:900;
  line-height:1;
}

#hero_nosotros #h-ctas a:first-child{
  background:#04AFBA;
  color:#fff;
  border:1px solid #04AFBA;
}

#hero_nosotros #btn_emprender{
  background:rgba(255,255,255,.04);
  color:#fff;
  border:1px solid rgba(255,255,255,.82);
}

@media (min-width:1536px){
  #hero_nosotros{
    min-height:760px;
  }

  #hero_nosotros > .container-lg{
    padding-top:14.2rem;
  }
}

@media (max-width:1023px){
  #hero_nosotros{
    min-height:680px;
  }

  #hero-bg_nosotros{
    background-position:58% top;
  }

  #hero_nosotros::before{
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.56) 50%,
        rgba(0,0,0,.18) 100%
      ),
      linear-gradient(0deg,
        rgba(0,0,0,.62) 0%,
        rgba(0,0,0,.12) 56%,
        rgba(0,0,0,0) 100%
      );
  }

  #hero_nosotros > .container-lg{
    padding-top:10.5rem;
    padding-left:1.5rem;
    padding-right:1.5rem;
  }
}

@media (max-width:639px){
  #hero_nosotros{
    min-height:680px;
  }

  #hero-bg_nosotros{
    background-position:62% top;
  }

  #hero_nosotros > .container-lg{
    padding-top:9rem;
    padding-bottom:3rem;
  }

  #hero_nosotros #h-headline{
    max-width:320px;
    font-size:3rem;
  }

  #hero_nosotros #h-body{
    max-width:340px;
    font-size:1rem;
  }

  #hero_nosotros #h-ctas{
    flex-direction:column;
    align-items:flex-start;
  }

  #hero_nosotros #h-ctas a{
    min-width:210px;
  }
}


/* ============ HERO OPORTUNIDAD ============ */
.hero-blob{position:absolute;border-radius:50%;opacity:.55;filter:blur(1px);pointer-events:none;}
/*.icono_logo{
    position:absolute;bottom:0;right:0;width:100%;height:100%;display:flex;align-items:end;justify-content:end;z-index:1;
}*/
#hero_oportunidad {
  position: relative;
  min-height: 860px;
  overflow: hidden;
}

#hero-bg_oportunidad {
  position: absolute;
  inset: 0;
  background: url('../img/hero-oportunidad.webp') no-repeat center top;
  background-size: cover;
  background-position: center;
  z-index: 0;
  will-change: transform;
}
#hero-fade_oportunidad {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 30%, rgba(255,255,255,0) 65%);
}

.prod_educa{
  background: linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 55%, #000200 100%);
  /*mask-image: linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 55%, #74F5F5 100%);
  -webkit-mask-image: linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 55%, #74F5F5 100%);*/
}


.plan-step{ 
  flex:1; 
  text-align:center; 
  /*max-width:220px;*/ 
  max-width:33%; 
}
.plan-step__icon{
  width:56px; 
  height:56px; 
  margin:0 auto 1rem;
  display:flex; align-items:center; justify-content:center;
}
.plan-step__arrow{ color:rgba(255,255,255,.6); font-size:1.5rem; flex-shrink:0; transform:rotate(90deg); }
@media (min-width:1024px){ .plan-step__arrow{ transform:none; } }


/* ============ RESUMEN ESTADÍSTICO / SISTEMA LEGACY ============ */
.icon-placeholder{
  width:48px;
  height:48px;
  /*border-radius:50%;
  background:rgba(0,172,176,.1);*/
  flex-shrink:0;/* PENDIENTE: tus íconos van aquí dentro */
}
.icon-placeholder2{
  width: 57px;
  height:57px;
  /*border-radius:50%;
  background:rgba(0,172,176,.1);*/
  flex-shrink:0;/* PENDIENTE: tus íconos van aquí dentro */
}
.icon-placeholder3{
  width: 57px;
  height:57px;
  /*border-radius:50%;
  background:rgba(0,172,176,.1);*/
  flex-shrink:0;/* PENDIENTE: tus íconos van aquí dentro */
}
.stat-item__title{font-size:1rem;font-weight:800;color:#1f2937;margin-bottom:.25rem;margin-top:10px;}
.stat-item__desc{font-size:.85rem;color:#4b5563;line-height:1.5;}
.stat-item--row{display:flex;align-items:flex-start;gap:1rem;}
.sistema-legacy-items .stat-item2 {
  flex-basis: calc((100% - 2rem) / 2);
}
/* ============ RECONOCIMIENTOS (variante oscura de cultura-banner) ============ */
.cultura-banner--dark .cultura-banner__overlay{
  background:linear-gradient(90deg, #02919D 0%, #04AFBA 0%, rgba(4,175,186,0) 100%);
}
.cultura-banner--dark .cultura-banner__inner{margin-left:0;margin-right:auto;align-items:flex-start;text-align:left;padding-left:4rem;}
@media (max-width:1023px){
  /*.cultura-banner--dark .cultura-banner__overlay{background:linear-gradient(0deg, #02919D 0%, #04AFBA 45%, rgba(4,175,186,0) 100%);}*/
  .cultura-banner--dark .cultura-banner__overlay{background:linear-gradient(180deg, #02919D 0%, #04AFBA 20%, rgba(4,175,186,0) 100%);}
  .cultura-banner--dark .cultura-banner__inner{margin-right:0;align-items:flex-start;justify-content:flex-end;padding-left:1.5rem;}
}

/* ============ LÍNEAS COMERCIALES (cards compactas, mismos colores de marca) ============ */
.lc-row{ display:flex; width:100%; aspect-ratio:1825/351; }
.lc-card{ position:relative; flex-shrink:0; }
.lc-card__img{ height:100%; width:auto; display:block; }
.lc-card__content{ position:absolute; inset:0; z-index:1; padding:1.5rem; display:flex; flex-direction:column; }
.lc-card__content--indent{ padding-left:18%; } /* despeja la cuña transparente superior de cards 2 y 3 */
.lc-card__title{ color:#fff; font-size:1.8rem; font-weight:800; margin-bottom:.75rem; }
.lc-card__link{ font-size:.82rem; font-weight:700; background:var(--lc-color,#3A3A3A); color:#fff; display:inline-flex; align-items:center; gap:6px; align-self:flex-end; margin-top:auto; padding: 0.6rem 1.1rem; border-radius:999px; transition:gap .2s,transform .2s; margin-right: 120px;}
.lc-card__link:hover{ gap:10px; transform:scale(1.03); }
.lc-card--turquesa .lc-card__link{ --lc-color:#04AFBA; }
.lc-card--magenta  .lc-card__link{ --lc-color:#B6418B; }
.lc-card--indigo   .lc-card__link{ --lc-color:#0B569A; }
.lc-card:first-child{ overflow:hidden;}
.lc-card:last-child{ overflow:hidden;}
.lc-card--overlap{ margin-left:-2.86%; }
@media (max-width:1023px){
  .lc-row{ flex-direction:column; aspect-ratio:auto; gap:1rem; }
  .lc-card__img{ width:100%; height:auto; }
  .lc-card--overlap{ margin-left:0; }
  .lc-card__content--indent{ padding-left:1.5rem; }
}

/* ============ OPORTUNIDAD — GRILLA TURQUESA/ÍNDIGO/MAGENTA ============ */
.industria-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.industria-col{padding:0 2rem;position:relative;}
.industria-col:not(:last-child)::after{
  content:'';position:absolute;top:8px;bottom:8px;right:0;
  width:3px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000000 50%, rgba(0,0,0,0) 100%);
  opacity:0.3;
}
.tuqueza{color:#04AFBA}
.industria-col__icon{width:48px;height:48px;margin:0 auto 1rem;}
.industria-col__title{font-family:'Rubik SemiBold';font-size:1.375rem;color:#3A3A3A;margin-bottom:.5rem;}
.industria-col__desc{color:#3A3A3A;font-size:1.25rem;line-height:1.5;}
@media (max-width:1023px){
  .industria-grid{grid-template-columns:1fr;gap:2.5rem;}
  .industria-col:not(:last-child)::after{display:none;}
}

/* ============ HERO ÍNDIGO ============ */
#hero_indigo{ position:relative; min-height:780px; overflow:hidden; }
#hero-bg_indigo{ position:absolute; inset:0; background:url('../img/indigo-hero.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_indigo{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 22%, rgba(255,255,255,0) 55%); }

#indigo_filosofia{ position:relative; min-height:605px; display:flex; align-items:center; }
.indigo-filosofia__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.indigo-filosofia__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(150, 248, 255, 0) 0%, #00D7E6 65%, #0B569A 90%);
}
.indigo-filosofia__content{ position:relative; z-index:2; max-width:640px; margin-left:auto; padding:4rem 6vw; }

@media (max-width:1023px){
  #indigo_filosofia{ min-height:640px; }
  .indigo-filosofia__overlay{ background:linear-gradient(0deg, #0B569A 0%, #00D7E6 55%, rgba(150,248,255,0) 100%); }
  .indigo-filosofia__content{ max-width:100%; margin-left:0; padding:2.5rem 1.5rem; }
}

/* ============ PILAR BLOCK (Ser / Hacer / Tener) ============ */
.pilar-block{ position:relative; min-height:570px; display:flex; align-items:center; overflow:hidden; }
.pilar-block__bg{ position:absolute; inset:0; background-size:cover; background-position:center; z-index:0; }
.pilar-block__panel{ position:relative; z-index:1; width:100%; max-width:1536px; margin-inline:auto; padding:0 1.5rem; }
@media (min-width:1024px){ .pilar-block__panel{ padding:0 4rem; } }
.pilar-block__eyebrow{ color:#0B569A; font-size:.85rem; font-weight:900; letter-spacing:.25em; text-transform:uppercase; margin-bottom:.5rem; }
.pilar-block__title{ font-family:'Rubik SemiBold'; font-size:clamp(2.2rem,5vw,3.2rem); margin-bottom:.75rem; }
.pilar-block__desc{ color:#3A3A3A; font-size:1rem; line-height:1.6; max-width:380px; }

.pilar-block__frost{
  position:relative;
  display:inline-block;
  max-width:min(420px, 100%);
  padding:1.75rem 2rem;
}
.pilar-block__frost-bg{
  position:absolute;
  inset:-20%;
  background:#FFFFFF; /* ESTIMADO — ver nota abajo */
  filter:blur(103px);
  z-index:-1;
}
.pilar-block__frost-content{
  position:relative;
  z-index:1;
}

.btn-indigo-gradient{
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(90deg, #0B569A 0%, #00D7E6 100%);
  color:#fff; font-weight:700;
  padding:.875rem 2rem; border-radius:999px;
  transition:filter .3s, transform .3s;
}
.btn-indigo-gradient:hover{ filter:brightness(1.1); transform:scale(1.05); }
.btn-indigo-gradient:active{ transform:scale(.95); }


.btn-turquesa-gradient{
  display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(90deg, #02919D 0%, #10E8EF 100%);
  color:#fff; font-weight:700;
  padding:.875rem 2rem; border-radius:999px;
  transition:filter .3s, transform .3s;
}
.btn-turquesa-gradient:hover{ filter:brightness(1.1); transform:scale(1.05); }
.btn-turquesa-gradient:active{ transform:scale(.95); }


/* ============ INDI MASCOT BANNER ============ */
.indi-banner{ background:linear-gradient(90deg, #39B6D8 50%, #0B569A 80%, #0B2A47 100%); }
.indi-banner__inner{ position:relative; display:flex; align-items:center; min-height:320px; padding:3rem 0; }
.indi-banner__mascot-col{ position:absolute; inset:0; pointer-events:none; }
.indi-banner__mascot{ position:absolute; left:0; bottom:-58px; height:380px; width:auto; }
.indi-banner__copy{ margin-left:35%; color:#fff; max-width:640px; }
.indi-banner__copy p{ margin-bottom:.75rem; opacity:.92; line-height:1.6; text-align: left;}

@media (max-width:767px){
  .indi-banner__inner{ flex-direction:column; text-align:center; padding:2.5rem 1.5rem; min-height:380px; }
  .indi-banner__mascot-col{ position:absolute; order:2; margin-top:1.5rem; }
  .indi-banner__mascot{ position:absolute; height:220px; width:auto; margin:0 auto; display:block; bottom: -33px; left: 40px;}
  .indi-banner__copy{ margin-left:0; max-width:100%; order:1; }
}

/* ============ PLAN CARDS (Cursos individuales / All Access) ============ */
.plan-card{
  display:flex; align-items:center; gap:1.25rem;
  border:5px solid transparent; border-radius:25px;
  padding:1.75rem; overflow:hidden;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #0B569A 0%, #00D7E6 100%) border-box;
}
.plan-card__text{ flex:0 0 42%; }
.plan-card__img{ flex:1 1 auto; max-width:60%; height:auto; display:block; }
.plan-card__title{ font-family:'Rubik SemiBold'; font-size: 1.9rem;; color:#0363AC; margin-bottom:.5rem; line-height:34px; }
.plan-card__desc{ color:#4b5563; font-size:.9rem; line-height:1.5; }
.plan-card--filled{
  border:none;
  background:linear-gradient(90deg, #0B569A 0%, #03ACCC 100%);
}
.plan-card--filled .plan-card__title,
.plan-card--filled .plan-card__desc{ color:#fff; }
.plan-card--filled .plan-card__desc{ color:rgba(255,255,255,.85); }
.pilar-block--right .pilar-block__panel{ display:flex; justify-content:flex-end; }


@media (max-width:640px){
  .plan-card{ flex-direction:column; align-items:stretch; text-align:center; }
  .plan-card__text{ flex-basis:auto; }
  .plan-card__img{ max-width:100%; }
}

@media (max-width:1023px){
  .pilar-block{ min-height:0; padding:4rem 0; }
  .pilar-block--right .pilar-block__panel,
  .pilar-block--right .pilar-block__desc{ justify-content:flex-start; text-align:left; margin-left:0; }
}

/* ============ HERO MAGENTA ============ */
#hero_magenta{ position:relative; min-height:780px; overflow:hidden; }
#hero-bg_magenta{ position:absolute; inset:0; background:url('../img/magenta-hero_2.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_magenta{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(100deg, #FFFFFF 0%, #FFFFFF 22%, rgba(255,255,255,0) 55%); }

/*#magenta_filosofia{ position:relative; min-height:560px; display:flex; align-items:center; }*/
#magenta_filosofia{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  background:#FFEBF9;
}
.magenta-filosofia__img{ 
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 22%;
  display:block;
  z-index:0;
}
.magenta-filosofia__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(255,255,255,0) 46%, #FFEBF9 72%, #FFEBF9 100%);
}
.magenta-filosofia__content{ position:relative; z-index:2; max-width:640px; margin-left:auto; padding:4rem 6vw; }

@media (max-width:1023px){
  #magenta_filosofia{ min-height:640px; }
  .magenta-filosofia__img{
    object-position:center 34%;
  }
  .magenta-filosofia__overlay{ background:linear-gradient(0deg, #FFEBF9 0%, #FFEBF9 60%, rgba(255,255,255,0.6) 88%); }
  .magenta-filosofia__content{ max-width:100%; margin-left:0; padding:2.5rem 1.5rem; }
}
@media (max-width:639px){
  #magenta_filosofia{
    min-height:720px;
  }

  .magenta-filosofia__img{
    object-position:42% 30%;
  }
}

#magenta_labs{ position:relative; min-height:560px; display:flex; align-items:center; }
.magenta-labs__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.magenta-labs__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(255,255,255,0) 46%, #FFEBF9 72%, #FFEBF9 100%);
}
.magenta-labs__content{ position:relative; z-index:2; max-width:640px; margin-left:auto; padding:4rem 6vw; }

@media (max-width:1023px){
  #magenta_labs{ min-height:640px; }
  .magenta-labs__overlay{ background:linear-gradient(0deg, #FFEBF9 0%, #FFEBF9 60%, rgba(255,255,255,0.6) 88%); }
  .magenta-labs__content{ max-width:100%; margin-left:0; padding:2.5rem 1.5rem; }
}

/* ============ TEXTO DORADO (estimado, sin confirmar) ============ */
.magenta-gold-text{
  background: linear-gradient(90deg, #9E7429 0%, #D8C07A 29%, #D2BA75 39%, #9E7429 46%, #9E7429 68%, #D8C07A 77%, #C9B478 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* ============ BANDA MAGENTA (íconos sobre fondo magenta) ============ */
.magenta-band{ background:linear-gradient(0deg, #B6418B 0%, #E051AC 100%, rgba(255,255,255,0) 100%);}
.magenta-step{ text-align:center; }
.magenta-step__icon{ width:62px; height:62px; margin:0 auto 1.3rem; }
.magenta-step__title{ color:#fff; font-size:1.05rem; font-weight:800; margin-bottom:.5rem; }
.magenta-step__desc{ color:rgba(255,255,255,.85); font-size:.85rem; line-height:1.5; }

/* ============ BANDA DORADA (estimada, sin confirmar) ============ */
.magenta-gold-band{
  background: linear-gradient(90deg, #9E7429 0%, #D2BA75 31%, #9E7429 54%, #D8C07A 77%, #C9B478 99%);
}

#magenta_shampoo{ position:relative; min-height:640px; display:flex; align-items:center; overflow: hidden; background: #fff;}
.magenta-shampoo__img{
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:62%;
  height:100%;
  object-fit:cover;
  object-position:center 43%;
  display:block;
  z-index:0;
}
/*
.magenta-shampoo__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(255,255,255,0) 27%, #FFFFFF 65%, #FFFFFF 100%);
}*/
.magenta-shampoo__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 42%,
    #fff 62%,
    #fff 100%
  );
}
.magenta-shampoo__content{ position:relative; z-index:2; max-width:560px; margin-left:auto; padding:4rem 6vw; }
/*
@media (max-width:1023px){
  #magenta_shampoo{ min-height:560px; }
  .magenta-shampoo__overlay{ background:linear-gradient(0deg, #FFFFFF 0%, #FFFFFF 45%, rgba(255,255,255,0.6) 75%); }
  .magenta-shampoo__content{ max-width:100%; margin-left:0; padding:2.5rem 1.5rem; }
}
*/

@media (max-width:1023px){
  #magenta_shampoo{
    min-height:720px;
  }

  .magenta-shampoo__img{
    width:100%;
    height:56%;
    bottom:auto;
    object-position:center 45%;
  }

  .magenta-shampoo__overlay{
    background:linear-gradient(0deg,
      #fff 0%,
      #fff 55%,
      rgba(255,255,255,.72) 65%,
      rgba(255,255,255,0) 100%
    );
  }
}

@media (max-width:639px){
  #magenta_shampoo{
    min-height:760px;
  }

  .magenta-shampoo__img{
    height:48%;
    object-position:center 46%;
  }
}

#magenta_pasta_dental{ position:relative; min-height:520px; display:flex; align-items:center; }
.magenta-pasta__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.magenta-pasta__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 26%, rgba(255,255,255,0) 73%)
}
.magenta-pasta__content{ position:relative; z-index:2; max-width:560px; margin-right:auto; padding:4rem 6vw; }

@media (max-width:1023px){
  #magenta_pasta_dental{ min-height:560px; }
  .magenta-pasta__overlay{ background:linear-gradient(0deg, #FFFFFF 0%, #FFFFFF 45%, rgba(255,255,255,0.6) 75%); }
  .magenta-pasta__content{ max-width:100%; margin-right:0; padding:2.5rem 1.5rem; }
}


/* "RUTINAS GRID" */
#magenta_rutinas{ background:#fff; }

.rutinas-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
  padding:4rem 1.5rem;
}

.rutinas-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
.rutinas-grid__item{ position:relative; overflow:hidden; aspect-ratio:572/356; }
.rutinas-grid__item img{ width:100%; height:100%; object-fit:cover; display:block; }
.rutinas-grid__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(135deg, rgba(226,173,100,.48) 21%, rgba(255,255,255,0) 100%);
}
.rutinas-grid__item--wide{ grid-column:1/3; aspect-ratio:1140/356; }
.rutinas-grid__content{ position:absolute; top:2rem; left:2rem; z-index:2; }
.rutinas-grid__title{ font-family:'Rubik SemiBold'; font-size:2.5rem; line-height:1; color:#3A3A3A; margin-bottom:.5rem; }
.rutinas-grid__desc{ font-size:1.25rem; line-height:1.5; color:#3A3A3A; max-width:17rem; }

@media (min-width:1024px){
  .rutinas-layout{
    grid-template-columns:minmax(320px,560px) 1fr;
    gap:3rem;
    align-items:center;
    padding:0 0 0 4rem;
  }
}

@media (max-width:1023px){
  .rutinas-grid{ grid-template-columns:1fr; }
  .rutinas-grid__item--wide{ grid-column:1; aspect-ratio:572/356; }
  .rutinas-grid__content{ top:1.25rem; left:1.25rem; right:1.25rem; }
  .rutinas-grid__title{ font-size:1.5rem; margin-bottom:.35rem; }
  .rutinas-grid__desc{ font-size:.95rem; max-width:none; }
}

/* ============ CROSS-SELL CARDS (Índigo / Turquesa) ============ */
/*
.cross-card{ background:#fff; border:2px solid #00ACB0; border-radius:1.25rem; padding:1.75rem; }*/
.cross-card__eyebrow{ font-size:.78rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase; margin-bottom:.5rem; }
.cross-card__title{ font-family:'Rubik SemiBold'; font-size:1.5rem; margin-bottom:.75rem;line-height: 25px; }

/*.cross-card__desc{ color:#4b5563; font-size:.88rem; line-height:1.5; margin-bottom:1rem; }*/
.cross-card__desc{
  color: #4b5563;
  font-size: .88rem;
  line-height: 1.5;
  margin-bottom: 1rem;
  max-width: 360px;
}

.cross-card__bottom {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-right: -1.75rem;
  margin-bottom: -1.75rem;
}

.cross-card__bottom a {
  flex: 0 0 auto;
  margin-bottom: 1.75rem;
}

/*.cross-card__img{ width:100%; height:140px; object-fit:cover; border-radius:.75rem; margin-bottom:1rem; display:block; }*/
.cross-card__img {
  flex: 1 1 auto;
  max-width: 55%;
  height: auto;
  display: block;
  object-fit: contain;
  margin: 0;
  border-radius: 0 0 20px 0;
}


.cross-card__link{ color:#00ACB0; font-weight:700; font-size:.9rem; display:inline-flex; align-items:center; gap:6px; transition:gap .2s; }
.cross-card__link:hover{ gap:10px; }


/*.cross-card{ position:relative; border:5px solid transparent; border-radius:25px; padding:1.75rem; background:#fff; min-height: 500px;}*/
.cross-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 380px;
  border: 5px solid transparent;
  border-radius: 25px;
  padding: 1.75rem;
  background: #fff;
  overflow: hidden;
}
.cross-card--indigo{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #0B569A 0%, #00D7E6 100%) border-box;
}
.cross-card--turquesa{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #02919D 0%, #10E8EF 100%) border-box;
}

@media (max-width: 640px) {
  .cross-card {
    /*min-height: 0;*/
    min-height: 500px;
  }

  .cross-card__bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    margin-right: 0;
    margin-bottom: 0;
  }

  .cross-card__bottom a {
    margin-bottom: 0;
    z-index: 9;
  }

  .cross-card__img {
    max-width: 100%;
    width: 100%;
    border-radius: .75rem;
    position: absolute;
    bottom: 0px;
  }
  .lc-card__title{
    margin-left: 40px;
  }
  #hero-bg_oportunidad{
    background-position: -1200px 0px;
  }
  #hero-bg_recursos{
    background-position: -810px 0px !important;
  }
  #hero-fade_recursos{
    background: linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 14%, rgba(255, 255, 255, 0) 65%) !important;
  }
}


/* ============ CIERRE MAGENTA (variante de cultura-banner) ============ */
.cultura-banner--magenta .cultura-banner__overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.4) 42%, rgba(217,217,217,0) 100%);
}
#magenta_cta_final{
  aspect-ratio: 1788 / 402;
}
.cultura-banner--magenta .cultura-banner__inner{ margin-left:0; align-items:flex-start; text-align:left; justify-content:center; padding-left:4rem; padding-bottom:3rem; }
@media (max-width:1023px){
  .cultura-banner--magenta .cultura-banner__inner{ padding-left:1.5rem; }
  .cultura-banner--magenta .cultura-banner__overlay{background:linear-gradient(0deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.4) 42%, rgba(217,217,217,0) 100%);}
  .rutinas-grid{ grid-template-columns:1fr; }
  .rutinas-grid__item--wide{ grid-column:1; }
}

/* ============ NUESTRAS LÍNEAS — DROPDOWN (desktop) ============ */
.nav-item-dropdown{ position:relative; }
.nav-link--dropdown{ display:inline-flex; align-items:center; gap:5px; }
.nav-link__chevron{ transition:transform .25s ease; flex-shrink:0; }
.nav-item-dropdown:hover .nav-link__chevron,
.nav-item-dropdown:focus-within .nav-link__chevron{ transform:rotate(180deg); }

.nav-dropdown{
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(-6px);
  padding-top:14px;
  min-width:210px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:10;
}
.nav-item-dropdown:hover .nav-dropdown,
.nav-item-dropdown:focus-within .nav-dropdown{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.nav-dropdown__panel{
  background:#fff; border-radius:16px; padding:.5rem;
  box-shadow:0 16px 40px rgba(0,0,0,.14);
}
.nav-dropdown__item{
  display:flex; align-items:center; gap:.65rem;
  color:#3A3A3A; font-size:.88rem; font-weight:600;
  padding:.65rem .75rem; border-radius:10px;
  transition:background .2s, color .2s;
}
.nav-dropdown__item:hover{ background:#F7F7F7; }
.nav-dropdown__item--turquesa:hover{ color:#00ACB0; }
.nav-dropdown__item--indigo:hover{ color:#0B569A; }
.nav-dropdown__item--magenta:hover{ color:#B6418B; }

.nav-dropdown__dot{ width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.nav-dropdown__dot--turquesa{ background:linear-gradient(135deg, #04AFBA, #02919D); }
.nav-dropdown__dot--indigo{ background:linear-gradient(135deg, #0B569A, #00D7E6); }
.nav-dropdown__dot--magenta{ background:linear-gradient(135deg, #B6418B, #E051AC); }

/* ============ NUESTRAS LÍNEAS — ACORDEÓN (mobile) ============ */
.mobile-link-group{ display:flex; flex-direction:column; align-items:center; width:100%; }
.mobile-link--toggle{ display:inline-flex; align-items:center; gap:8px; background:none; border:none; cursor:pointer; font-family:inherit; }
.mobile-link__chevron{ transition:transform .25s ease; }
.mobile-link-group--open .mobile-link__chevron{ transform:rotate(180deg); }

.mobile-submenu{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease; width:100%; }
.mobile-link-group--open .mobile-submenu{ grid-template-rows:1fr; }
.mobile-submenu__inner{ overflow:hidden; display:flex; flex-direction:column; align-items:center; gap:1.1rem; padding-top:1.3rem; }
.mobile-submenu__item{ display:flex; align-items:center; gap:.6rem; color:#3A3A3A; font-size:1.05rem; font-weight:600; }
.mobile-submenu__item .nav-dropdown__dot{ width:8px; height:8px; }


/* ============ HERO TURQUESA ============ */
#hero_turquesa{ position:relative; min-height:780px; overflow:hidden; }
#hero-bg_turquesa{ position:absolute; inset:0; background:url('../img/bg_hero_turquesa.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_turquesa{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(140deg, #FFFFFF 35%, rgba(255,255,255,.7) 52%, rgba(255,255,255,0) 67%); }

/* ============ FILOSOFÍA TURQUESA ============ */
/* Reemplaza todo el bloque #turquesa_filosofia / .turquesa-filosofia__* existente por esto */
#turquesa_filosofia{ position:relative; min-height:590px; display:flex; align-items:center; overflow:hidden; }
.turquesa-filosofia__img{ position:absolute; top:0; bottom:0; width:50%; object-fit:cover; display:block; z-index:0; }
.turquesa-filosofia__img--left{ left:0; object-position:35% center; }
.turquesa-filosofia__img--right{ right:0; object-position:65% center; }
.turquesa-filosofia__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg,
    rgba(255,255,255,0) 0%, rgba(255,255,255,0) 20%,
    #FFFFFF 38%, #FFFFFF 62%,
    rgba(255,255,255,0) 80%, rgba(255,255,255,0) 100%
  );
}
.turquesa-filosofia__content{ position:relative; z-index:2; max-width:600px; margin-inline:auto; padding:4rem 2rem; text-align:left; }

@media (max-width:1023px){
  #turquesa_filosofia{ flex-direction:column; min-height:0; }
  .turquesa-filosofia__img{ position:static; width:100%; height:220px; object-position:center; }
  .turquesa-filosofia__img--left{ order:1; }
  .turquesa-filosofia__content{ order:2; max-width:100%; margin:0; padding:2.5rem 1.5rem; background:#fff; }
  .turquesa-filosofia__img--right{ order:3; }
  .turquesa-filosofia__overlay{ display:none; }
}

.stat-item__title2 {
    font-size: 1rem;
    font-weight: 800;
    color: #1f2937;
    margin-bottom: .25rem;
    margin-top: 30px;
}


@media (max-width:1023px){
  #turquesa_filosofia{ min-height:640px; }
  .turquesa-filosofia__overlay{ background:linear-gradient(0deg, #FFFFFF 0%, #FFFFFF 60%, rgba(255,255,255,0) 88%); }
  .turquesa-filosofia__content{ max-width:100%; margin-right:0; padding:2.5rem 1.5rem; }
}

#turquesa_respaldo{ position:relative; min-height:680px; display:flex; align-items:center; }
.turquesa-respaldo__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.turquesa-respaldo__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(255,255,255,0) 32%, #FFFFFF 60%, #FFFFFF 100%);
}
.turquesa-respaldo__content{ position:relative; z-index:2; max-width:640px; margin-left:auto; padding:4rem 6vw; }

@media (max-width:1023px){
  #turquesa_respaldo{ min-height:600px; }
  .turquesa-respaldo__overlay{ background:linear-gradient(0deg, #FFFFFF 0%, #FFFFFF 45%, rgba(255,255,255,0.6) 75%); }
  .turquesa-respaldo__content{ max-width:100%; margin-left:0; padding:2.5rem 1.5rem; }
}


.turquesa-historias__head{
  display:grid;
  grid-template-columns: auto minmax(0,716px) 1fr auto;
  align-items:end;
  column-gap:2.5rem;
  margin-bottom:2.5rem;
}
.turquesa-historias__arrows{ display:flex; gap:.75rem; grid-column:4; }

@media (max-width:1023px){
  .turquesa-historias__head{ grid-template-columns:1fr; row-gap:1.25rem; margin-bottom:2rem; }
  .turquesa-historias__arrows{ grid-column:1; }
}



/* ============ COMO ACCEDER TURQUESA ============ */
#turquesa_como_acceder{
  padding:0;
  overflow:hidden;
}

#turquesa_como_acceder .container-lg{
  max-width:none;
  width:100%;
  padding-inline:0;
}

.turquesa-access__frame{
  position:relative;
  left:50%;
  width:100vw;
  margin-left:-50vw;
  min-height:635px;
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}

.turquesa-access__media{
  position:absolute;
  inset:0;
  z-index:0;
}

.turquesa-access__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.turquesa-access__frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    #fff 0%,
    rgba(255,255,255,.98) 22%,
    rgba(255,255,255,.86) 36%,
    rgba(255,255,255,.42) 42%,
    rgba(255,255,255,0) 48%
  );
}

.turquesa-access__copy{
  position:relative;
  z-index:2;
  width:min(43.5%, 590px);
  margin-left:max(6rem, calc((100vw - 1519px) / 2));
  padding:4.1rem 0 3.8rem;
}

.turquesa-access__eyebrow{
  margin:0 0 1.15rem;
  color:#04AFBA;
  font-size:.86rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.turquesa-access__title{
  margin:0 0 .95rem;
  color:#3A3A3A;
  font-size:clamp(1.28rem, 1.45vw, 1.55rem);
  font-weight:900;
  line-height:1.12;
}

.turquesa-access__lead{
  max-width:520px;
  margin:0 0 1.3rem;
  color:#3A3A3A;
  font-size:.98rem;
  line-height:1.23;
}

.turquesa-access__label{
  margin:0 0 1.1rem;
  color:#3A3A3A;
  font-size:.96rem;
  font-weight:900;
  line-height:1.1;
}

.turquesa-access__items{
  display:grid;
  gap:1.55rem;
  margin-bottom:2rem;
}

.turquesa-access__item{
  display:grid;
  grid-template-columns:45px minmax(0, 1fr);
  align-items:start;
  column-gap:1.1rem;
}

.turquesa-access__icon{
  width:45px;
  height:45px;
}

.turquesa-access__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.turquesa-access__item-title{
  margin:0 0 .18rem;
  color:#3A3A3A;
  font-size:1.05rem;
  font-weight:900;
  line-height:1.05;
}

.turquesa-access__item-desc{
  max-width:475px;
  margin:0;
  color:#3A3A3A;
  font-size:.96rem;
  line-height:1.16;
}

.turquesa-access__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-width:205px;
  min-height:42px;
  margin-left:clamp(7.5rem, 13vw, 13rem);
  padding:.72rem 1.75rem;
  border-radius:999px;
  background:#fff;
  color:#04AFBA;
  font-size:.88rem;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  box-shadow:0 12px 30px rgba(4,175,186,.14);
  transition:transform .25s ease, box-shadow .25s ease, color .25s ease;
}

.turquesa-access__cta:hover{
  color:#02919D;
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(4,175,186,.2);
}

.turquesa-access__cta:active{
  transform:translateY(0);
}

@media (min-width:1536px){
  .turquesa-access__copy{
    margin-left:calc((100vw - 1519px) / 2);
  }
}

@media (max-width:1023px){
  #turquesa_como_acceder .container-lg{
    padding-inline:0;
  }

  .turquesa-access__frame{
    min-height:auto;
    display:flex;
    flex-direction:column;
    padding:0;
    left:auto;
    width:100%;
    margin-left:0;
  }

  .turquesa-access__media{
    position:relative;
    height:360px;
    order:1;
  }

  .turquesa-access__img{
    object-position:62% center;
  }

  .turquesa-access__frame::after{
    display:none;
  }

  .turquesa-access__copy{
    order:2;
    width:100%;
    margin-left:0;
    padding:2rem 1.5rem 2.75rem;
    background:#fff;
  }

  .turquesa-access__lead,
  .turquesa-access__item-desc{
    max-width:none;
  }

  .turquesa-access__cta{
    margin-left:0;
  }
}
@media (max-width:639px){
  .turquesa-access__media{
    height:300px;
  }

  .turquesa-access__copy{
    padding-inline:1.25rem;
  }

  .turquesa-access__item{
    grid-template-columns:42px minmax(0, 1fr);
    column-gap:.9rem;
  }

  .turquesa-access__icon{
    width:42px;
    height:42px;
  }
}




/* ============ BANDA "LAS MARCAS DE TURQUESA" ============ */
.turquesa-band{ background:linear-gradient(0deg, #02919D 0%, #04AFBA 100%, rgba(255,255,255,0) 100%); }
.turquesa-marca__name{ color:#fff; font-size:2.5rem; font-weight:900; margin-bottom:.5rem; }
.turquesa-marca__desc{ color:rgba(255,255,255,.85); font-size:.85rem; line-height:1.5; }

/* ============ PRODUCTOS DESTACADOS ============ */
#turquesa_destacados{ position:relative; min-height:480px; display:flex; align-items:center; }
.turquesa-destacados__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.turquesa-destacados__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.4) 35%, rgba(0,0,0,0) 75%);
}
.turquesa-destacados__content{ position:relative; z-index:2; max-width:520px; padding:4rem 6vw; padding-right: 0px; }

@media (max-width:1023px){
  #turquesa_destacados{ min-height:520px; }
  .turquesa-destacados__overlay{ background:linear-gradient(0deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 80%); }
  .turquesa-destacados__content{ max-width:100%; padding:2.5rem 1.5rem; }
}

/* ============ TESTIMONIOS TURQUESA ============ */
.turquesa-testi-card{ flex:0 0 calc(33.333% - 11px); background:rgba(203, 243, 252, 0.5); border-radius:25px; padding:6rem 4rem;color:#039FAA;text-align:center; }
.turquesa-testi-card blockquote{ color:#039FAA; font-size:.95rem; font-style:italic; line-height:1.6; margin-bottom:1rem; }
.turquesa-testi-card cite{ color:#04AFBA; font-size:.85rem; font-weight:800; font-style:normal; }
@media (max-width:1023px){ .turquesa-testi-card{ flex:0 0 calc(50% - 8px); } }
@media (max-width:639px){ .turquesa-testi-card{ flex:0 0 100%; } }

/* ============ CROSS-CARD MAGENTA (nueva variante) ============ */
.cross-card--magenta{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #B6418B 0%, #E051AC 100%) border-box;
}



/* ============ SISTEMA TURQUESA ============ */
#turquesa_sistema{
  padding-top:4.35rem;
  padding-bottom:4.2rem;
}

#turquesa_sistema .container-lg{
  max-width:1536px;
}

#turquesa_sistema h2{
  margin-bottom:1rem;
  color:#3A3A3A;
  font-size:clamp(2rem, 2.45vw, 2.45rem);
  line-height:1.1;
}

#turquesa_sistema > .container-lg > p{
  margin-bottom:2.45rem;
  color:#3A3A3A;
  font-size:1.08rem;
  line-height:1.35;
}

#turquesa_sistema .grid{
  max-width:1160px;
  gap:2rem;
}

#turquesa_sistema .cross-card{
  position:relative;
  min-height:320px;
  padding:2.05rem 2.35rem 1.75rem;
  border:4px solid transparent;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  text-align:left;
}

#turquesa_sistema .cross-card--indigo{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #0B5A9C 0%, #00D7E6 100%) border-box;
}

#turquesa_sistema .cross-card--magenta{
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(90deg, #B6418B 0%, #E051AC 100%) border-box;
}

#turquesa_sistema .cross-card__eyebrow{
  position:relative;
  z-index:2;
  max-width:390px;
  margin:0 0 .45rem;
  font-family:'Rubik SemiBold', Arial, Helvetica, sans-serif;
  font-size:2.05rem;
  font-weight:800;
  line-height:1.05;
  letter-spacing:0;
  text-transform:none;
}

#turquesa_sistema .cross-card--indigo .cross-card__eyebrow,
#turquesa_sistema .cross-card--indigo .cross-card__title,
#turquesa_sistema .cross-card--indigo .cross-card__link{
  color:#0B5A9C;
}

#turquesa_sistema .cross-card--magenta .cross-card__eyebrow,
#turquesa_sistema .cross-card--magenta .cross-card__title,
#turquesa_sistema .cross-card--magenta .cross-card__link{
  color:#B6418B;
}

#turquesa_sistema .cross-card__title{
  position:relative;
  z-index:2;
  max-width:315px;
  margin:0 0 .85rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:1.14rem;
  font-weight:800;
  line-height:1.15;
}

#turquesa_sistema .cross-card__desc{
  position:relative;
  z-index:2;
  max-width:275px;
  margin:0;
  color:#3A3A3A;
  font-size:.92rem;
  line-height:1.2;
}

#turquesa_sistema .cross-card__img{
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  display:block;
  width:auto;
  max-width:none;
  height:auto;
  margin:0;
  object-fit:contain;
  border-radius:0 0 14px 0;
}

#turquesa_sistema .cross-card--indigo .cross-card__img{
  width:85%;
  right:-.25rem;
  bottom:0;
}

#turquesa_sistema .cross-card--magenta .cross-card__img{
  width:92%;
  right:-.15rem;
  bottom:0;
}

#turquesa_sistema .cross-card__link{
  position:absolute;
  left:2.35rem;
  bottom:1.8rem;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  min-height:40px;
  padding:.64rem 1.18rem;
  border:1.5px solid currentColor;
  border-radius:999px;
  background:#fff;
  font-size:.95rem;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  transition:gap .2s ease, transform .2s ease;
}

#turquesa_sistema .cross-card__link:hover{
  gap:.85rem;
  transform:translateY(-1px);
}

@media (max-width:1023px){
  #turquesa_sistema{
    padding-top:3.25rem;
    padding-bottom:3.25rem;
  }

  #turquesa_sistema .grid{
    max-width:620px;
  }

  #turquesa_sistema .cross-card{
    min-height:310px;
  }
}

@media (max-width:639px){
  #turquesa_sistema .container-lg{
    padding-inline:1.25rem;
  }

  #turquesa_sistema h2{
    font-size:1.8rem;
  }

  #turquesa_sistema .cross-card{
    min-height:auto;
    padding:1.55rem 1.45rem 1.45rem;
  }

  #turquesa_sistema .cross-card__eyebrow{
    font-size:1.65rem;
  }

  #turquesa_sistema .cross-card__title,
  #turquesa_sistema .cross-card__desc{
    max-width:none;
  }

  #turquesa_sistema .cross-card__img{
    position:relative;
    width:100%;
    right:auto;
    bottom:auto;
    margin:1.25rem 0 1rem;
  }

  #turquesa_sistema .cross-card--indigo .cross-card__img,
  #turquesa_sistema .cross-card--magenta .cross-card__img{
    width:100%;
    bottom: -80px;
    right: -1.55rem;
  }

  #turquesa_sistema .cross-card__link{
    position:relative;
    left:auto;
    bottom:auto;
  }
}


/* ============ CIERRE TURQUESA (variante de cultura-banner) ============ */
/*
.cultura-banner--turquesa .cultura-banner__overlay{
  background:linear-gradient(90deg, rgba(2,20,22,.55) 0%, rgba(2,20,22,.4) 42%, rgba(217,217,217,0) 100%);
}
.cultura-banner--turquesa .cultura-banner__inner{ margin-left:0; align-items:flex-start; text-align:left; justify-content:flex-end; padding-left:4rem; padding-bottom:3rem; }
@media (max-width:1023px){
  .cultura-banner--turquesa .cultura-banner__overlay{background:linear-gradient(0deg, rgba(2,20,22,.55) 0%, rgba(2,20,22,.4) 42%, rgba(217,217,217,0) 100%);}
  .cultura-banner--turquesa .cultura-banner__inner{ padding-left:1.5rem; }
}*/

/* ============ CIERRE TURQUESA - TRES MATICES ============ */
#turquesa_cta_final{
  position:relative;
  width:100%;
  aspect-ratio:auto;
  min-height:340px;
  overflow:hidden;
}

#turquesa_cta_final .cultura-banner__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 48%;
}

#turquesa_cta_final .cultura-banner__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(217,217,217,0) 0%,
      rgba(0,0,0,.18) 34%,
      rgba(0,0,0,.46) 58%,
      rgba(0,0,0,.46) 100%
    );
}

#turquesa_cta_final .cultura-banner__content{
  position:relative;
  z-index:2;
  height:100%;
  min-height:340px;
}

#turquesa_cta_final .cultura-banner__inner{
  height:100%;
  max-width:520px;
  margin-left:auto;
  margin-right:clamp(5rem, 11vw, 12rem);
  padding:3rem 0 2.75rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}

#turquesa_cta_final h2{
  max-width:500px;
  margin:0 0 .65rem;
  color:#fff;
  font-size:clamp(2rem, 2.65vw, 2.65rem);
  font-weight:900;
  line-height:1.02;
}

#turquesa_cta_final h2 span{
  color:#04AFBA !important;
}

#turquesa_cta_final p{
  max-width:430px;
  margin:0 0 1.25rem;
  color:rgba(255,255,255,.92);
  font-size:1.05rem;
  line-height:1.22;
}

#turquesa_cta_final a{
  min-width:178px;
  min-height:42px;
  padding:.78rem 1.55rem;
  border-radius:999px;
  background:#04AFBA;
  color:#fff;
  font-size:.92rem;
  font-weight:900;
  line-height:1;
  box-shadow:none;
}

@media (max-width:1023px){
  #turquesa_cta_final{
    min-height:440px;
  }

  #turquesa_cta_final .cultura-banner__img{
    object-position:35% center;
  }

  #turquesa_cta_final .cultura-banner__overlay{
    background:
      linear-gradient(90deg,
        rgba(0,0,0,.16) 0%,
        rgba(0,0,0,.45) 45%,
        rgba(0,0,0,.58) 100%
      );
  }

  #turquesa_cta_final .cultura-banner__content{
    min-height:440px;
  }

  #turquesa_cta_final .cultura-banner__inner{
    max-width:460px;
    margin-left:auto;
    margin-right:2rem;
    padding:2.5rem 0;
  }
}

@media (max-width:639px){
  #turquesa_cta_final{
    min-height:560px;
  }

  #turquesa_cta_final .cultura-banner__img{
    object-position:10% center;
  }

  #turquesa_cta_final .cultura-banner__overlay{
    background:
      linear-gradient(0deg,
        rgba(0,0,0,.68) 0%,
        rgba(0,0,0,.48) 42%,
        rgba(0,0,0,.08) 100%
      );
  }

  #turquesa_cta_final .cultura-banner__content{
    min-height:560px;
  }

  #turquesa_cta_final .cultura-banner__inner{
    max-width:none;
    margin:0;
    padding:2rem 1.5rem;
    justify-content:flex-end;
  }

  #turquesa_cta_final h2{
    font-size:2rem;
  }
}


/* ============ HERO CASA LÉ ============ */
#hero_casale{ position:relative; min-height:780px; overflow:hidden; }
#hero-bg_casale{ position:absolute; inset:0; background:url('../img/bg_hero_casale.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_casale{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 30%, rgba(255,255,255,0) 65%); }
#btn_contacta{border-color:#00ADB1; color:#00ADB1;}
/* ============ SEDES DESTACADAS ============ */
.sedes-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.sede-card{ position:relative; border-radius:20px; overflow:hidden; min-height:280px; display:flex; }
.sede-card__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.sede-card__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 75%); }
.sede-card__content{ position:relative; z-index:2; padding:1.75rem; display:flex; flex-direction:column; justify-content:flex-end; flex:1; }
.sede-card__pin{ width:32px; height:45px; margin-bottom:.75rem; }
.sede-card__title{ color:#fff; font-size:2.5rem; font-weight:800; line-height:1; margin-bottom:.5rem; }
.sede-card__desc{ color:rgba(255,255,255,.85); font-size:.85rem; line-height:1.5; max-width:260px; margin-bottom:1.25rem; }
.sede-card__btn{ align-self:flex-end; display:inline-flex; align-items:center; gap:6px; background:rgba(0,0,0,.35); backdrop-filter:blur(6px); border:1.5px solid rgba(255,255,255,.7); color:#fff; font-size:.82rem; font-weight:700; padding:.65rem 1.3rem; border-radius:999px; transition:gap .2s,background .2s; }
.sede-card__btn:hover{ gap:10px; background:rgba(0,0,0,.5); }
@media (max-width:767px){ .sedes-grid{ grid-template-columns:1fr; } }

/* ============ PRESENCIA INTERNACIONAL (Casa Lé — versión simplificada) ============ */
/*.presencia-stats{ border-top:1px solid #E5E5F0; }*/
.presencia-stat{ display:flex; align-items:center; gap:14px; padding:1.1rem 0; border-bottom:1px solid #E5E5F0; }
.presencia-stat:last-child{border-bottom:none;}
.presencia-stat__country{ color:#00ACB0; font-size:1rem; font-weight:900; letter-spacing:.02em; }
.presencia-stat__count{ margin-left:auto; color:#3A3A3A; font-size:1.05rem; font-weight:800; }

/* ============ ATENCIÓN Y CONTACTO ============ */
.contacto-banner{ position:relative; background:#02919D; overflow:hidden; min-height:420px; display:flex; align-items:center; }
.contacto-banner__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.contacto-banner__fade{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, #02919D 26%, rgba(255,255,255,0) 66%); }
.contacto-banner__blob{ position:absolute; border-radius:50%; background:rgba(255,255,255,.12); pointer-events:none; z-index:1; }
.contacto-banner__content{ position:relative; z-index:2; max-width:600px; padding:3.5rem 6vw; }
.contacto-item{ display:flex; align-items:center; gap:.75rem; }
.contacto-item__icon{ width:22px; height:22px; flex-shrink:0; }
.contacto-item strong{ display:block; color:#fff; font-size:.85rem; font-weight:800; }
.contacto-item span{ color:rgba(255,255,255,.85); font-size:.85rem; }

@media (max-width:1023px){
  .contacto-banner{ min-height:0; padding:3rem 0; flex-direction:column; align-items:stretch;padding-top:0px; }
  .contacto-banner__img{ position:static; width:100%; height:220px; margin-top:0rem; margin-bottom: 30px; }
  .contacto-banner__fade{ display:none; }
  .contacto-banner__content{ max-width:100%; padding:0 1.5rem; }
}

@media (max-width:1023px){
  #casale_presencia .presencia-grid{ grid-template-columns:1fr !important; }
}

/* ============ HERO RECURSOS ============ */
#hero_recursos{ position:relative; min-height:680px; overflow:hidden; }
#hero-bg_recursos{ position:absolute; inset:0; background:url('../img/bg_hero_recursos.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_recursos{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 30%, rgba(255,255,255,0) 65%); }

/* ============ AVANZA CON LEGACY ============ */
.recursos-avanza__deco{ position:absolute; left:-1vw; top:80px; width:170px; height:auto; z-index:0; pointer-events:none; }
@media (max-width:1023px){ .recursos-avanza__deco{ display:none; } }

.recurso-card{ flex:0 0 calc(25% - 12px); text-align:center; }
.recurso-card__img{ border-radius:16px; overflow:hidden; aspect-ratio:4/3; margin-bottom:1.25rem; }
.recurso-card__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.recurso-card__title{ color:#00ACB0; font-size:1.15rem; font-weight:800; line-height:1.25; margin-bottom:.15rem; }
.recurso-card__subtitle{ color:#3A3A3A; font-size:.9rem; font-weight:800; margin-bottom:.85rem; }
.recurso-card__desc{ color:#4b5563; font-size:.85rem; line-height:1.55; margin-bottom:1.25rem; }
.recurso-card__btn{ display:inline-flex; align-items:center; gap:6px; background:#00ACB0; color:#fff; font-size:.85rem; font-weight:700; padding:.75rem 1.4rem; border-radius:999px; transition:gap .2s,transform .2s,filter .2s; }
.recurso-card__btn:hover{ gap:10px; filter:brightness(1.1); transform:scale(1.02); }

@media (max-width:1023px){ .recurso-card{ flex:0 0 calc(50% - 8px); } }
@media (max-width:639px){ .recurso-card{ flex:0 0 100%; } }

/* ============ HERO REDES ============ */
#hero_redes{ position:relative; min-height:680px; overflow:hidden; }
#hero-bg_redes{ position:absolute; inset:0; background:url('../img/bg_hero_redes.webp') no-repeat center top; background-size:cover; background-position:center; z-index:0; will-change:transform; }
#hero-fade_redes{ position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(125deg, #FFFFFF 0%, #FFFFFF 30%, rgba(255,255,255,0) 65%); }

/* ============ ÚNETE A LA FAMILIA LEGACY ============ */
.redes-unete__deco{ position:absolute; left:-1vw; top:80px; width:170px; height:auto; z-index:0; pointer-events:none; }
@media (max-width:1023px){ .redes-unete__deco{ display:none; } }

/* ============ RECIBE PRIMERO LO IMPORTANTE ============ */
#redes_whatsapp{ position:relative; min-height:480px; display:flex; align-items:center; }
.redes-whatsapp__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.redes-whatsapp__overlay{
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 34%, rgba(255,255,255,0) 62%);
}
.redes-whatsapp__content{ position:relative; z-index:2; max-width:560px; padding:4rem 6vw; padding-right: 0px; }

@media (max-width:1023px){
  #redes_whatsapp{ min-height:560px; }
  .redes-whatsapp__overlay{ background:linear-gradient(0deg, #FFFFFF 0%, #FFFFFF 45%, rgba(255,255,255,0.6) 75%); }
  .redes-whatsapp__content{ max-width:100%; padding:2.5rem 1.5rem; }
}

/* ============ SÍGUENOS EN REDES SOCIALES ============ */
.social-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; max-width:900px; margin-inline:auto; }
.social-card{ display:flex; flex-direction:column; align-items:center; }
.social-card__avatar{ width:120px; height:120px; border-radius:50%; object-fit:cover; margin-bottom:1rem; background:#f3f4f6; }
.social-card__avatar--light{ border:1px solid #e5e7eb; }
.social-card__handle{ color:#3A3A3A; font-size:.9rem; font-weight:700; margin-bottom:1rem; }
.social-card__btn{ display:inline-flex; align-items:center; justify-content:center; background:#00ACB0; color:#fff; font-size:.85rem; font-weight:700; padding:.65rem 1.5rem; border-radius:999px; transition:filter .2s,transform .2s; }
.social-card__btn:hover{ filter:brightness(1.1); transform:scale(1.03); }

@media (max-width:767px){
  .social-grid{ grid-template-columns:repeat(2,1fr); gap:2.5rem 1.5rem; }
}

/* ============ PLATAFORMAS OFICIALES DE CONTENIDO ============ */
/*
.plataformas-banner{ background:#00ACB0; padding:3.5rem 0; }
.plataformas-banner__grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.plataformas-banner__copy{ max-width:440px; }
.plataformas-banner__cards{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.plataforma-card{ position:relative; border-radius:16px; overflow:hidden; aspect-ratio:1/1; }
.plataforma-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.plataforma-card__badge{ position:absolute; left:.85rem; bottom:.85rem; display:inline-flex; align-items:center; gap:6px; color:#fff; font-size:.8rem; font-weight:700; padding:.5rem 1rem; border-radius:999px; }
.plataforma-card__badge--youtube{ background:#FF0000; }
.plataforma-card__badge--linkedin{ background:#0A66C2; }

@media (max-width:1023px){
  .plataformas-banner__grid{ grid-template-columns:1fr; gap:2rem; text-align:center; }
  .plataformas-banner__copy{ max-width:none; margin-inline:auto; }
}
*/

/* ============ PLATAFORMAS OFICIALES - AJUSTE FIGMA ============ */
#redes_plataformas{
  background:linear-gradient(90deg, #02919D 0%, #04AFBA 100%);
  padding:3rem 0;
}

#redes_plataformas .plataformas-banner__grid{
  min-height:340px;
  display:grid;
  grid-template-columns:minmax(0, 520px) auto;
  align-items:center;
  justify-content:center;
  gap:7.25rem;
}

#redes_plataformas .plataformas-banner__copy{
  max-width:520px;
}

#redes_plataformas .plataformas-banner__copy > p:first-child{
  margin-bottom:1.8rem;
  color:rgba(255,255,255,.9);
  font-size:.95rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
}

#redes_plataformas .plataformas-banner__copy h2{
  margin-bottom:2.15rem;
  color:#fff;
  font-size:clamp(2.25rem, 2.55vw, 2.75rem);
  line-height:.98;
}

#redes_plataformas .plataformas-banner__copy > p:last-child{
  max-width:515px;
  color:#fff;
  font-size:1.05rem;
  line-height:1.18;
}

#redes_plataformas .plataformas-banner__cards{
  display:grid;
  grid-template-columns:repeat(2, 233px);
  align-items:center;
  justify-content:center;
  gap:5rem;
}

#redes_plataformas .plataforma-card{
  position:relative;
  width:233px;
  height:308px;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:22px 22px 18px 18px;
  background:#047C82;
  box-shadow:none;
}

#redes_plataformas .plataforma-card::after{
  content:none;
}

#redes_plataformas .plataforma-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

#redes_plataformas .plataforma-card__badge{
  position:absolute;
  left:1.25rem;
  right:1.25rem;
  bottom:1.45rem;
  z-index:2;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.72rem 1.08rem;
  border-radius:999px;
  color:#fff;
  font-size:1.1rem;
  font-weight:900;
  line-height:1;
  background:linear-gradient(90deg, #02919D 0%, #04AFBA 100%);
  box-shadow:none;
}

#redes_plataformas .plataforma-card__badge svg{
  width:34px;
  height:34px;
  flex:0 0 auto;
}

#redes_plataformas .plataforma-card__badge::after{
  content:"→";
  margin-left:auto;
  font-size:2rem;
  font-weight:400;
  line-height:.7;
  transform:translateY(-1px);
}

#redes_plataformas .plataforma-card__badge--youtube svg{
  width:42px;
  height:30px;
  padding:.34rem .5rem;
  border-radius:8px;
  color:#fff;
  background:#FF0000;
}

#redes_plataformas .plataforma-card__badge--linkedin svg{
  width:32px;
  height:32px;
  padding:.2rem;
  border-radius:5px;
  color:#fff;
  background:#0A66C2;
}

#redes_plataformas .plataforma-card__badge--youtube,
#redes_plataformas .plataforma-card__badge--linkedin{
  background:linear-gradient(90deg, #02919D 0%, #04AFBA 100%);
}

@media (max-width:1199px){
  #redes_plataformas .plataformas-banner__grid{
    gap:4rem;
  }

  #redes_plataformas .plataformas-banner__cards{
    gap:2rem;
  }
}

@media (max-width:1023px){
  #redes_plataformas{
    padding:3.5rem 0;
  }

  #redes_plataformas .plataformas-banner__grid{
    min-height:0;
    grid-template-columns:1fr;
    gap:2.5rem;
    text-align:center;
  }

  #redes_plataformas .plataformas-banner__copy{
    max-width:620px;
    margin-inline:auto;
  }

  #redes_plataformas .plataformas-banner__copy > p:last-child{
    max-width:620px;
  }

  #redes_plataformas .plataformas-banner__cards{
    grid-template-columns:repeat(2, 233px);
    gap:2rem;
  }
}

@media (max-width:639px){
  #redes_plataformas .plataformas-banner__cards{
    grid-template-columns:1fr;
  }

  #redes_plataformas .plataforma-card{
    width:min(100%, 260px);
    height:auto;
    aspect-ratio:233/308;
    margin-inline:auto;
  }
}

#historias_inspiran .historia-item__name{ display:block; text-align:right; }

.vivimos-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
}
.vivimos-layout__text{ padding-left:1.5rem; }

@media (min-width:1024px){
  .vivimos-layout{
    grid-template-columns:320px 1fr;
    gap:4rem;
    align-items:start;
  }
  .vivimos-layout__text{ padding-left:4rem; padding-right:0; }
}