* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Segoe UI", sans-serif;
  background-color: #f5f5f5;
  color: #fff;
}
/* Fuentes */
@font-face {
  font-family: "PoppinsRegular";
  src: url("fuentes/Poppins-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "CandaraBoldItalic";
  src: url("fuentes/Candara_Bold_italic.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "CandaraRegular";
  src: url("fuentes/Candara.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "CandaraBold";
  src: url("fuentes/Candara_Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "PoppinsSemiBold";
  src: url("fuentes/Poppins-SemiBold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

/* Estilos para el header */

.hero-mobile-img,
.contacto-mobile,
.modal {
  display: none;
}
.contenido-mobile {
  display: none;
}
.derecha,
.centro {
  display: flex;
}

.seccion-newsletters-mobile {
  display: none;
}

.seccion-recuadro-mobile {
  display: none;
}

#btnHeroMobile {
  display: none;
}

.hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  color: white;
  height: 75vh;
  padding: 2rem;
}

.video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.contenido-hero {
  position: relative;
  z-index: 1;
  text-align: left;
  width: 100%;
  max-width: 100%;
}

h1 {
  font-size: 64px;
  margin-bottom: 20px;
}

.contenido-hero p {
  width: 48%;
  font-family: "poppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 40px;
  line-height: 106%;
  letter-spacing: -3%;
  padding-bottom: 3%;
}

.contenido-hero em {
  font-weight: 700;
  font-size: 40px;
  line-height: 0%;
  letter-spacing: -3%;
}

.btn-imagen {
  display: inline-flex;
  padding-left: 1%;
  background: url("../imagenes/flecha.svg") no-repeat center/cover;
  width: 55rem;
  height: 4.2rem;
  font-family: "CandaraBold", sans-serif;
  font-style: normal;
  font-size: 40px;
  font-weight: 400;
  color: #003e4e;
  text-decoration: none;
  line-height: 106%;
  letter-spacing: -3%;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* ESTE contenedor sí usa flex */
.btn-texto {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  font-family: "CandaraBold", sans-serif;
  font-size: 26px;
  pointer-events: none;
}

.btn-imagen:hover {
  transform: scale(1.02);
}

.btn-agenda {
  position: relative;
  display: inline-block;
  cursor: pointer;
  z-index: 10; /* Asegura que esté por encima */
}

.gc-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block; /* IMPORTANTE */
  opacity: 0;
  z-index: 9999;
  pointer-events: auto;
}

.qxCTlb {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important; /* invisible pero clickeable */
  cursor: pointer !important;
}

.btn-agenda * {
  pointer-events: none;
}

.qxCTlb {
  pointer-events: auto !important;
}

.logo-hero {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 250px;
  z-index: 1;
}

.logo-zenya {
  max-width: 360px;
  margin-bottom: 80px;
}

/* Seccion 2  Video */

.video-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  height: 50vh;
  padding: 0;
}

.video-fondo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  filter: brightness(0.5);
}

.contenido-video {
  position: relative;
  z-index: 1;
  padding: 20px;
  padding: 80px 20px;
  font-size: 1.4rem;
  line-height: 1.6;
  width: 50%;
}

.contenido-video p {
  font-family: "PoppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 25px;
  line-height: 150%;
  letter-spacing: -3%;
  text-align: center;
  min-width: 100%;
}

.contenido-video p strong {
  font-family: "PoppinsRegular", sans-serif;
  font-weight: 600;
  font-size: 25px;
  line-height: 100%;
  letter-spacing: -3%;
  text-align: center;
}

/* Estilos seccion 3 */

.quienes-somos-apilable {
  display: flex;
  height: clamp(678px, calc(1640px - 55vw), 830px);
}

.quienes-somos-apilable h2 {
  font-size: 56px;
  font-weight: 600;
  margin-bottom: 3rem;
  color: #fff;
  text-align: center;
}

.cartas-stack-container {
  position: relative;
  width: 100%;
}

.carta-apilable {
  user-select: none;
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: 70%;
  overflow-x: hidden;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  overflow: hidden; /* recorta imagenes y contenido que sobresalga */
  cursor: pointer;
  transition: left 0.5s ease-in-out, transform 0.5s ease-in-out;
  z-index: 0; /* base, se reordena con data-carta */
}

.carta-apilable[data-carta="1"] {
  background: url("imagenes/circuloDoradoDifuminado.svg"),
    linear-gradient(270deg, #002f3b -5.43%, #014252 19.03%, #0294b8 110.28%);
  background-repeat: no-repeat, no-repeat;
  background-position: 0% 120%, center;
}

.carta-apilable[data-carta="2"] {
  background: rgba(1, 66, 82, 1);
  background-image: url("imagenes/circuloAzulDifuminado.svg"),
    url("imagenes/circuloRosaDifuminado.svg");
  background-repeat: no-repeat;
  background-position: 48% 120%, 110% -90%;
}

.carta-apilable[data-carta="3"] {
  background: rgba(0, 58, 72, 1);
  background-image: url("imagenes/circuloAzulDifuminado.svg"),
    url("imagenes/circuloRosaDifuminado.svg"),
    url("imagenes/circuloVerdeDifuminado.svg");
  background-repeat: no-repeat;
  background-position: -25% 110%, 60% -90%, 100% 160%;
}

/* Para que el contenido quede encima */
.carta-apilable > * {
  position: relative;
  z-index: 1;
}

/* --- Estilos de la carta ACTIVA --- */
.carta-apilable.activa {
  top: 0 !important; /* La carta activa siempre va arriba del todo */
  z-index: 10; /* Se asegura de estar por encima de todas */
  cursor: default;
}

/* --- Estilos de los componentes internos de la carta --- */
.carta-header {
  display: flex;
  align-self: center;
  padding: 0 2rem;
  height: 80px;
  color: #fff;
  transition: all 0.3s ease;
  position: relative;
}

.carta-header img[data-carta="1"] {
  position: absolute;
  top: 15px;
  right: 0%;
  width: 320px; /* ajusta el tamaño que quieras */
  height: auto;
}
.carta-header img[data-carta="2"] {
  position: absolute;
  top: 40px;
  left: 82%;
  width: 190px;
  height: auto;
}
.carta-header img[data-carta="3"] {
  position: absolute;
  top: 40px;
  left: 84%;
  width: 150px; /* ajusta el tamaño que quieras */
  height: auto;
}

/* Icono para carta ACTIVA - esquina superior izquierda */
.carta-apilable.activa .carta-icono[data-carta="1"] {
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
}

/* Icono para carta INACTIVA - centrado en la parte superior */
.carta-apilable:not(.activa) .carta-icono[data-carta="1"] {
  right: 77%;
}

.carta-apilable:not(.activa) .carta-icono[data-carta="3"] {
  left: 84%;
  top: 111%;
}

.carta-apilable:not(.activa) .carta-icono[data-carta="2"] {
  position: absolute;
  top: 200%;
  left: 82%;
  width: 190px;
  height: auto;
}
@media (max-width: 1440px) {
  .carta-apilable:not(.activa) .carta-icono[data-carta="2"] {
    left: 79.5%;
    width: 20%;
  }
  .carta-apilable:not(.activa) .carta-icono[data-carta="3"] {
    left: 80.5%;
    width: 18%;
  }
}

.carta-3-activa
  .carta-apilable[data-carta="2"]:not(.activa)
  .carta-header
  .carta-icono[data-carta="2"] {
  left: 4% !important;
}

.carta-body {
  padding: 0.6rem 2.5rem 2.5rem 2.5rem;
  color: #e0f7fa;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease-out 0.2s, transform 0.4s ease-out 0.2s;
  visibility: hidden;
  max-width: 80%;
}

.carta-body h2 {
  text-align: left;
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 6rem;
  line-height: 86%;
  letter-spacing: -3%;
}

.carta-body p {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  line-height: 137%;
  letter-spacing: -3%;
  margin-bottom: 3%;
}

.carta-body strong {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 500;
  font-style: Italic;
  font-size: 30px;
  line-height: 137%;
  letter-spacing: -3%;
}

#carta-header-propuesta {
  height: 5%;
}

#carta-propuesta {
  max-width: 70%;
  left: 11%;
}

#carta-propuesta h2 {
  margin-bottom: 2rem;
  text-align: left;
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-size: 4rem;
  line-height: 86%;
  letter-spacing: -3%;
}

.carta-textos p {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 190%;
  line-height: 110%;
  letter-spacing: -3%;
  margin-top: 1.8rem;
}

.carta-textos strong {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 700;
  font-style: Italic;
  font-size: 30px;
  line-height: 110%;
  letter-spacing: -3%;
}

.grid-acompanamos {
  display: grid;
  grid-template-columns: 40px 1fr; /* icono + texto */
  gap: 0.8rem 1.9rem; /* filas y columnas */
  align-items: start;
  margin: 4rem 0;
}

#carta-acompañamos-h2 {
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 4rem;
  line-height: 86%;
  letter-spacing: -3%;
}

.col-texto p {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: 0%;
}

.col-texto strong {
  font-family: "poppinsRegular", sans-serif;
  font-weight: 700;
  font-style: Italic;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: -3%;
}

.carta-apilable:not(.activa) {
  filter: brightness(0.8) blur(0.3px); /* un poco más oscuras */
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.carta-apilable:not(.activa):hover {
  background: #0c566f !important; /* Feedback visual al pasar el mouse */
}

/* --- Posiciones iniciales de las cartas apiladas --- */

.carta-apilable.activa[data-carta="1"] {
  left: 0;
  z-index: 7;
}
.carta-apilable[data-carta="2"]:not(.activa) {
  background: rgba(1, 66, 82, 1);
  left: 15%;
  z-index: 6;
}
.carta-apilable[data-carta="3"]:not(.activa) {
  background: rgba(0, 58, 72, 1);
  left: 30%;
  z-index: 5;
}

.carta-apilable.activa[data-carta="2"] {
  left: 15%;
  z-index: 10;
}

.carta-apilable[data-carta="1"]:not(.activa) {
  background: linear-gradient(270deg, #002f3b 60%, #014252 80%, #0294b8 99%);
  left: 0;
  z-index: 4;
}

.carta-apilable.activa[data-carta="3"] {
  left: 30%;
  z-index: 10;
}

.carta-apilable.activa .carta-body {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.caja-fija-gestion {
  position: absolute;
  bottom: 0;
  left: 5%;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1.579% 1.05%;
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
  font-weight: 700;
  font-family: "CandaraBold", sans-serif;
  color: #0a5069;
  z-index: 20;
  pointer-events: none;
  font-style: Bold;
  font-size: 2.2rem;
  line-height: 100%;
  letter-spacing: -3%;
}

/* Estilos para la sección de servicios*/
.servicios {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 35% 40% 20%;
  gap: 3rem; /* Más aire entre columnas */
  align-items: start;
  padding: 2rem 4rem; /* espacio arriba/los lados */
  font-family: "Poppins", sans-serif;
  background: #f7f7f7; /* opcional */
}

.seccion-titulo {
  grid-column: 1 / -1; /* ocupa las 3 columnas */
  margin: 0 0 1.2rem 0;
  font-size: 42px; /* ajustá segun tu maqueta */
  line-height: 1;
  color: #0a5069; /* color tipo teal */
  font-weight: 700;
  padding-left: 0.2rem; /* alineación con el contenido si hace falta */
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 70px;
  line-height: 100%;
  letter-spacing: -3%;
}

.col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem; /* aire entre título/lista y contenido */
}

.lista-servicios {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lista-servicios li {
  padding: 1.5rem 1rem; /* más alto cada ítem */
  cursor: pointer;
  font-size: 0.95rem;
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 25px;
  line-height: 100%;
  letter-spacing: -4%;
}

.lista-servicios li span {
  width: 100%;
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  line-height: 100%;
  letter-spacing: -3%;
}

.lista-servicios li .linea {
  display: block;
  height: 3px;
  width: auto;
  background-color: currentColor;
  margin-bottom: 1%;
}

.lista-servicios li.azul {
  border-color: #007d85;
  color: #007d85;
}
#contenido1 a {
  color: #007d85;
}
.lista-servicios li.verde {
  border-color: #3aa65d;
  color: #3aa65d;
}
#contenido2 a {
  color: #3aa65d;
}
.lista-servicios li.naranja {
  border-color: #ec8808;
  color: #ec8808;
}
#contenido3 a {
  color: #ec8808;
}
.lista-servicios li.rosa {
  border-color: #c65ea8;
  color: #c65ea8;
}
#contenido4 a {
  color: #c65ea8;
}

.lista-servicios li.activo.azul {
  background-color: #007d85; /* azul oscuro */
  color: #fff;
  border-radius: 6px;
}

.lista-servicios li.activo.verde {
  background-color: #3aa65d; /* verde */
  color: #fff;
  border-radius: 6px;
}

.lista-servicios li.activo.naranja {
  background-color: #ec8808; /* naranja */
  color: #fff;
  border-radius: 6px;
}

.lista-servicios li.activo.rosa {
  background-color: #c65ea8; /* rosa */
  color: #fff;
  border-radius: 6px;
}

.lista-servicios li.azul:not(.activo):hover {
  background-color: rgba(0, 64, 128, 0.1);
  color: #004080;
  cursor: pointer;
}

.lista-servicios li.verde:not(.activo):hover {
  background-color: rgba(34, 139, 34, 0.1);
  color: #228b22;
  cursor: pointer;
}

.lista-servicios li.naranja:not(.activo):hover {
  background-color: rgba(255, 140, 0, 0.1);
  color: #ec8808;
  cursor: pointer;
}

.lista-servicios li.rosa:not(.activo):hover {
  background-color: rgba(199, 21, 133, 0.1);
  color: #c71585;
  cursor: pointer;
}

.col.centro.azul h3,
.col.centro.azul p,
.col.centro.azul li {
  color: #007d85; /* Azul */
}

.col.centro.verde h3,
.col.centro.verde p,
.col.centro.verde li {
  color: #3aa65d; /* Verde */
}

.col.centro.naranja h3,
.col.centro.naranja p,
.col.centro.naranja li {
  color: #ec8808; /* Naranja */
}

.col.centro.rosa h3,
.col.centro.rosa p,
.col.centro.rosa li {
  color: #c65ea8; /* Rosa */
}
.col.izquierda {
  position: relative;
}

.col.izquierda::after {
  content: "";
  position: absolute;
  top: 0%;
  bottom: 0%;
  right: -3%;
  width: 4px;
  background-color: #d9d8d8;
  border-radius: 1px;
}

.centro h3 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
  color: #0a5069;
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  line-height: 100%;
  letter-spacing: -4%;
}

.centro p {
  font-family: "CandaraRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  line-height: 129%;
  letter-spacing: -3%;
}

.detalles {
  color: #0a5069;
  list-style: disc;
  padding-left: 1.5rem;
  line-height: 1.5;
  font-family: "CandaraRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  line-height: 129%;
  letter-spacing: -3%;
}

.btn-servicios {
  display: inline-flex;
  margin-top: 5%;
  align-items: center;
  padding-left: 1%;
  justify-content: flex-start;
  background: url("../imagenes/flecha.svg") no-repeat;
  background-position: 90% 50%;
  background-size: 700px auto;
  background-repeat: no-repeat;
  width: 80%;
  height: 3rem;
  color: rgba(32, 109, 128, 1);
  border-radius: 50px;
  border: 1px solid rgba(32, 109, 128, 1);
  text-decoration: none;
  letter-spacing: -3%;
  font-family: "Candara", sans-serif;
  font-weight: 700;
  font-size: clamp(13px, 1.2vw, 30px);
  line-height: 129%;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

@media (max-width: 1530px) {
  .btn-servicios {
    width: 90%;
  }
}

@media (max-width: 1370px) {
  .btn-servicios {
    width: 100%;
  }
}

.btn-servicios-container {
  display: flex;
  justify-content: center;
}

.btn-servicios:hover {
  transform: scale(1.01);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.derecha {
  align-items: center;
}

.tarjeta-reflexion {
  background: linear-gradient(120deg, #0a5069, #0f798f);
  border-radius: 12px;
  padding: 8%;
  color: white;
  cursor: pointer;
  box-sizing: initial;
}
.tarjeta-reflexion img {
  width: 100%;
}

.lectura {
  color: #206d80;
  font-family: "CandaraBoldItalic", sans-serif;
  font-weight: 700;
  font-size: 160%;
  line-height: 100%;
  letter-spacing: -3%;
}

.contenido-panel {
  display: none;
}
.contenido-panel.visible {
  display: block;
}

/* Estilos para seccion sobreMi */

.sobre-mi {
  display: none; /* SE PAUSA ESTA SECCION */
  padding: 60px 20px;
  background: white;
  font-family: "Poppins", sans-serif;
  padding-bottom: 0%;
}

.sobre-mi-contenedor {
  max-width: 90%;
  margin: 0 auto;
  display: flex;
  gap: 40px;
  align-items: center;
}

.sobre-mi-texto {
  flex: 1;
}

.sobre-mi-texto h2 {
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 80px;
  line-height: 100%;
  letter-spacing: -3%;
  color: #004650;
  margin-bottom: 20px;
}

.sobre-mi-texto p {
  color: #004650;
  margin-bottom: 30px;
  line-height: 10%;
  font-family: "PoppinsRegular", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -3%;
}

.sobre-mi-iconos {
  display: flex;
  gap: 15px;
}

.sobre-mi-iconos img {
  width: 40px;
  height: 40px;
}

.sobre-mi-imagen {
  flex: 1;
  position: relative;
}

.foto-chica {
  position: relative;
  z-index: 2;
  max-width: 40%;
}

.sobre-mi-imagen::before {
  content: "";
  position: absolute;
  width: 95%;
  height: 70%;
  top: 16%;
  background: linear-gradient(90deg, #af4d97 0%, #7f316c);
  border-radius: 10px;
  z-index: 1;
  left: 14%;
  transform-origin: bottom left;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.sobre-mi-cita {
  color: white;
  padding: 35px;
  border-radius: 10px;
  margin-top: -250px;
  position: relative;
  width: 70%;
  z-index: 1;
  left: 19rem;
  font-family: "CandaraBold", sans-serif;
  font-size: 25px;
  letter-spacing: -3%;
  bottom: 90px;
}

.comillaArriba {
  display: block;
  padding-bottom: 3%;
  margin: 0 5px;
}

.comillaAbajo {
  display: block;
  padding-top: 3%;
  margin: 0 5px;
  margin-left: 20%;
}

/* Estilos para footer */

.footer-container {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  background-color: transparent;
  margin-top: -100px;
  padding-top: 60px;
  z-index: 2;
}

.footer-circle {
  position: absolute;
  z-index: 2;
  top: 10em;
  right: 65.5em;
  pointer-events: none;
}

.footer-circle img {
  opacity: 0.9;
}

.footer-circle-orange {
  position: absolute;
  top: 1%;
  left: -1%;
  z-index: 2;
  pointer-events: none;
}

.footer-circle-purple {
  position: absolute;
  bottom: 0%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.footer-circle-purple img {
  height: 15em;
  display: block;
}

/* Primera parte del footer*/
.agendaCitaContenedor {
  background: #0a4453;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 6rem 10rem;
  gap: 3rem;
}

.agendaCitaContenedor h2 {
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 40px;
  line-height: 100%;
  letter-spacing: -3%;
}

/* Recuadro de la cita */
.footer-quote {
  width: 42%;
  height: 39rem;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(104.4000015258789px);
  padding: 2rem;
  border-radius: 20px;
  top: 40px;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: "CandaraBold", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 45px;
  line-height: 125%;
  letter-spacing: -3%;
  color: #043e4c;
}

.footer-quote span {
  transform: translate(60%);
  margin-top: 5%;
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: -3%;
}

/* Recuadro del formulario */
.footer-form-box {
  flex: 1;
  background: #206d80;
  backdrop-filter: blur(8px);
  padding: 3rem;
  border-radius: 20px;
  position: relative;
  margin-left: -5%;
  z-index: 1;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  color: #fff;
  padding-left: 10rem;
}

.footer-form-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("imagenes/gradianteFooter.svg") no-repeat;
  z-index: 1;
  margin-left: 10%;
  margin-top: 10%;
  opacity: 1;
  overflow: hidden;
}

.footer-form-box > * {
  position: relative;
  z-index: 1;
}

.footer-form-box h2 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-family: "CandaraBold", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 58px;
  line-height: 100%;
  letter-spacing: -3%;
}

.form-subtitle {
  margin-bottom: 4rem;
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 30px;
  line-height: 100%;
  letter-spacing: -3%;
}

.form-subtitle strong {
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 700;
  font-style: Italic;
  font-size: 30px;
  line-height: 100%;
  letter-spacing: -3%;
}

.form-separator {
  border: none;
  border-top: 2px solid #fff;
  margin: 1rem 0 2rem 0;
  margin-left: 17.3%;
  width: 24%;
  margin-top: -10px;
}

.footer-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.form-left,
.form-right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.form-left-input:focus,
textarea:focus {
  outline: none;
  border-color: #21bcdb;
  box-shadow: 0 0 15px #02d4fe;
  transition: all 0.3s ease;
}

.form-left-label {
  font-family: "Poppins-Regular", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 17px;
  line-height: 100%;
  letter-spacing: -3%;
}

.footer-form input,
.footer-form textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: none;
  border-radius: 50px;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(90deg, #0f4c5c, #1f7a8c);
}

.footer-form textarea {
  border-radius: 10px;
  min-height: 100%;
  resize: none;
  background: #fff;
  color: #333;
  placeholder {
    color: #999;
  }
}

.label-textarea {
  font-size: 0.9rem;
  font-weight: normal;
  font-family: "PoppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  line-height: 100%;
  letter-spacing: -3%;
}

textarea::placeholder {
  color: rgba(32, 109, 128, 1);
  opacity: 1;
  font-family: "PoppinsRegular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  line-height: 100%;
  letter-spacing: -3%;
}

.form-button {
  display: flex;
  width: min-content;
  align-items: center;
  justify-content: center;
  align-self: center;
  border: none;
  font-weight: bold;
  cursor: pointer;
  background: #0f4d5c00;
  border-radius: 50px;
  transition: transform 0.3s ease-in-out, transform 0.3s ease-out;
}

.form-button:hover {
  transform: scale(1.05);
}

#imagenEnvio {
  width: 25em;
}

.btn-texto-superpuesto {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: "CandaraBoldItalic", sans-serif;
  font-weight: 700;
  font-style: Bold Italic;
  font-size: 30px;
  line-height: 129%;
  letter-spacing: -3%;
}

.btn-texto-superpuesto .texto-superpuesto {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
  color: #206d80;
  pointer-events: none;
}

.social-icons {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
}

.social-icons img {
  transition: transform 0.3s ease-in-out, transform 0.3s ease-out;
}

.social-icons img:hover {
  transform: scale(1.1);
}

.footer-logo-circle {
  position: absolute;
  display: grid;
  place-items: center;
  top: clamp(-20px, -3vw, -30px);
  right: clamp(5px, 2vw, 10px);
  width: clamp(120px, 30%, 200px);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  z-index: 3;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
  border: 5px solid rgba(255, 255, 255, 0.1);
}

.footer-logo-circle img {
  width: 70%;
  height: auto;
}

/* Validación de formulario */
.form-left-input {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 2px solid transparent; /* por defecto transparente */
  border-radius: 50px;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(90deg, #0f4c5c, #1f7a8c);
  transition: border-color 0.3s, box-shadow 0.3s;
}

/* Estilo cuando el usuario ya interactuó y está inválido */
.form-left-input:user-invalid {
  border-color: red;
  box-shadow: 0 0 8px rgba(255, 0, 0, 1);
}

/* 📌 Tablets */
/* 📌 Tablets grandes (notebooks chicas, iPad horizontal) */

@media (max-width: 1440px) {
  .servicios {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    padding: 1rem;
  }

  .col {
    gap: 1rem;
  }

  .sobre-mi-contenedor {
    flex-direction: column;
    text-align: center;
  }

  .sobre-mi-texto h2 {
    font-size: 50px;
  }
  .contenido-hero p {
    font-size: 30px;
  }
  .contenido-hero em {
    font-size: 30px;
  }

  .carta-body h2 {
    font-size: 4rem;
  }
  .carta-body p {
    font-size: 24px;
  }
  .carta-body strong {
    font-size: 24px;
  }

  .carta-apilable.activa[data-carta="1"] .carta-body {
    max-width: 100%;
  }

  .btn-imagen {
    font-size: 24px;
    height: 60px;
  }

  .contenido-video {
    width: 80%;
    font-size: 1rem;
  }

  .seccion-titulo {
    font-size: 55px;
  }

  .detalles {
    font-size: 24px;
  }

  .sobre-mi-texto h2 {
    font-size: 50px;
  }

  .agendaCitaContenedor h2 {
    font-size: 35px;
  }

  .footer-quote {
    font-size: 35px;
  }
  .footer-form-box h2 {
    font-size: 45px;
  }
  .form-subtitle {
    font-size: 25px;
  }
}

/*-------------------------TOASTR----------------------------*/
.toast-exito {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%) scale(0.9);
  background: #206d80;
  color: #fff;
  padding: 14px 22px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 9999;
}

.toast-exito.mostrar {
  opacity: 1;
  transform: translateX(-50%) scale(1);
}

.toast-icon {
  font-size: 18px;
}

/* 📌 Tablets chicas (iPad vertical, tablets pequeñas) */
@media (max-width: 500px) {
  .cartas-stack-container {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .carta-apilable {
    position: relative;
    width: 100%;
    max-width: 100%;
    left: 0 !important;
    margin-bottom: 20px;
  }
}

@media (min-height: 550px) and (max-height: 614px) {
  .nav-carta {
    bottom: -20em;
  }
}

@media (min-height: 615px) and (max-height: 699px) {
  .nav-carta {
    bottom: -15em;
  }
}
@media (min-height: 700px) and (max-height: 799px) {
  .nav-carta {
    bottom: -8.5em;
  }
}

@media (min-height: 800px) and (max-height: 820px) {
  .nav-carta {
    bottom: -5em;
  }
}

@media (min-height: 821px) and (max-height: 850px) {
  .nav-carta {
    bottom: -2em;
  }
}

@media (min-height: 851px) and (max-height: 930px) {
  .nav-carta {
    bottom: 0em;
  }
}

@media (min-height: 931px) and (max-height: 1000px) {
  .nav-carta {
    bottom: 5em;
  }
}
@media (min-height: 1001px) {
  .nav-carta {
    bottom: 10em;
  }
}

/* 📌 Móviles chicos */
@media (max-width: 450px) {
  /* ---------------------------SECCION 1-------------------------------------------- */
  .video-bg,
  .logo-zenya,
  .video-section,
  #btnHero {
    display: none;
  }

  #btnHeroMobile {
    display: block;
  }

  .hero {
    height: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-image: url("imagenes/Fondos/FondoHeaderMobile.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .hero-mobile-img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.5rem;
  }
  .contenido-hero p {
    margin-bottom: 5%;
    width: 65%;
    font-family: "poppinsRegular", sans-serif;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 106%;
    letter-spacing: -3%;
  }

  .contenido-hero em {
    font-family: "Candara_Bold_italic", sans-serif;
    font-weight: 700;
    font-style: Bold Italic;
    font-size: 16px;
    line-height: 0%;
    letter-spacing: -3%;
  }

  .btn-texto {
    font-size: 17px;
  }

  .btn-imagen {
    width: 100%;
    font-size: 0.8em;
    height: 2em;
    padding-left: 5%;
    margin-bottom: 5%;
    display: inline-flex;
  }
  /* ---------------------------SECCION 2 Quienes somos?-------------------------------------------- */
  .caja-fija-gestion {
    display: none;
  }
  .nav-carta {
    display: none;
  }

  .carta-body h2 {
    text-align: left;
    font-family: "CandaraBold", sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 86%;
    letter-spacing: -3%;
  }

  .quienes-somos-apilable {
    background: linear-gradient(
      270deg,
      #002f3b -5.43%,
      #014252 19.03%,
      #0294b8 110.28%
    );
    height: 40em;
  }

  .cartas-stack-container {
    height: auto;
    display: contents;
  }
  .carta-apilable.activa .carta-icono[data-carta="1"] {
    height: 100px;
    left: 40%;

    position: relative;
  }

  /* carta 2 */
  #carta-propuesta {
    max-width: 100%;
    left: 0%;
  }

  #carta-propuesta h2 {
    font-family: "CandaraBold", sans-serif;
    font-weight: 700;
    font-style: Bold;
    font-size: 28px;
    width: 65%;
    line-height: 86%;
    letter-spacing: -3%;
    margin-bottom: 1rem;
  }

  .carta-apilable.activa[data-carta="2"] .carta-body img {
    display: none;
  }
  .salto-mobile {
    display: none;
  }

  .carta-header img[data-carta="2"] {
    position: relative;
    height: 5em;
    left: 55%;
    top: 49%;
  }

  /* carta 3  */

  #carta-acompañamos-h2 {
    font-size: 28px;
    margin-bottom: 2rem;
  }
  .carta-header img[data-carta="3"] {
    position: absolute;
    top: 30%;
    left: 72%;
    width: 80px;
  }

  .carta-apilable.activa[data-carta="3"] .carta-body img {
    height: 40px;
    width: 40px;
  }
  .grid-acompanamos {
    margin: 1rem 0;
  }

  .carta-apilable.activa[data-carta="3"] .carta-body {
    padding: 0.2rem 1rem 1rem 1rem;
  }

  .carta-apilable.activa[data-carta="3"] .carta-body .col-texto p {
    width: 130%;
    line-height: 110%;
  }
  .carta-apilable.activa[data-carta="3"] .carta-body .col-texto strong {
    width: 130%;
    line-height: 110%;
  }

  #carta-header-propuesta {
    height: 3em;
  }

  .carta-header {
    height: 3em;
  }

  .carta-body p {
    font-size: 16px;
    margin-top: 0rem;
  }
  .carta-body strong {
    font-size: 16px;
  }

  .carta-apilable.activa {
    min-width: 100%;
  }

  .cartas-stack-container {
    position: relative;
  }

  .nav-carta {
    display: flex;
    position: absolute;
    height: 2.5rem;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    padding: 0.5rem 4rem;
    border-radius: 10px;
    cursor: pointer;
    z-index: 50;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: none;
    background-color: transparent;
    cursor: pointer;
    background-size: 125px 125px;
    -webkit-tap-highlight-color: transparent;
  }

  #btn-next {
    left: 1rem;
    background-size: 85px 85px;
    background-image: url("imagenes/Flecha - Volver.svg");
  }

  #btn-prev {
    right: 1rem;
    background-image: url("imagenes/Flecha-Avanzar-Mobile.svg");
  }

  /* ---------------------------SECCION 3 Nuestros Servicios-------------------------------------------- */
  .derecha,
  .centro,
  .col.izquierda::after,
  .btn-servicios,
  .contenido-panel.mobile-panel h3 {
    display: none;
  }

  .servicios {
    gap: 0rem;
  }

  .seccion-titulo {
    font-size: 28px;
    margin-bottom: 1rem;
    text-align: center;
  }

  .detalles li {
    font-size: 16px;
    padding-top: 2%;
    padding-bottom: 2%;
  }
  .contenido-panel.mobile-panel p {
    font-size: 16px;
    padding-top: 2%;
    padding-left: 5%;
    padding-bottom: 2%;
  }

  .centro p {
    font-size: 16px;
  }

  .contenido-mobile {
    display: none;
    padding: 1rem;
    background: #ffffff;
    border-left: 4px solid currentColor;
    margin-top: 0.5rem;
    border-radius: 6px;
  }
  .contenido-mobile.visible {
    display: block;
  }

  .lista-servicios div {
    margin-top: 5%;
  }
  .lista-servicios li {
    font-weight: 400;
  }

  .lista-servicios li.azul.tocado:not(.activo) {
    background-color: #206d80;
    color: white;
  }

  .lista-servicios li.verde.tocado:not(.activo) {
    background-color: #3aa65d;
    color: white;
  }

  .lista-servicios li.naranja.tocado:not(.activo) {
    background-color: #ec8808;
    color: white;
  }

  .lista-servicios li.rosa.tocado:not(.activo) {
    background-color: #c65ea8;
    color: white;
  }

  .contenido-panel.mobile-panel.azul * {
    border-color: #007d85;
    color: #007d85;
  }

  .contenido-panel.mobile-panel.verde * {
    border-color: #007d85;
    color: #3aa65d;
  }
  .contenido-panel.mobile-panel.naranja * {
    border-color: #ec8808;
    color: #ec8808;
  }
  .contenido-panel.mobile-panel.rosa * {
    border-color: #c65ea8;
    color: #c65ea8;
  }

  /* ---------------------------SECCION 4 Sobre mi-------------------------------------------- */
  .sobre-mi-imagen,
  .sobre-mi-imagen::before,
  #mail {
    display: none;
  }
  #linked {
    display: none;
  }

  .sobre-mi-contenedor {
    flex-direction: row;
    text-align: left;
    max-width: 100%;
  }
  .sobre-mi {
    padding: 0;
    max-width: 100%;
    background: #206d80;
    font-family: "Poppins", sans-serif;
    padding-bottom: 0%;
  }

  .sobre-mi-texto h2 {
    padding: 3% 3% 0 3%;
    color: white;
    font-family: "CandaraBold", sans-serif;
    font-weight: 700;
    font-style: Bold;
    font-size: 45px;
    line-height: 100%;
    letter-spacing: -3%;
  }

  .sobre-mi-texto p {
    padding: 0 3% 0 3%;
    color: white;
    font-family: "PoppinsRegular", sans-serif;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    line-height: 125%;
    letter-spacing: -3%;
    margin-bottom: 5%;
  }

  .sobre-mi-float-mobile {
    padding: 0 3% 0 0%;
    display: block;
    float: right;
    width: 130px;
    margin-left: -3%;
    margin-top: -5%;
  }

  .sobre-mi-iconos a[href*="linkedin"] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 12px 0;
    background: linear-gradient(90deg, #af4d97 0%, #7f316c 100%);
    color: white;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-size: 22px;
    text-decoration: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
  }

  .sobre-mi-iconos a[href*="linkedin"]::after {
    content: "in";
  }

  .sobre-mi-iconos {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  /* ---------------------------SECCION NewSetter-------------------------------------------- */

  .seccion-newsletters-mobile {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 200px;
    background-color: #1f6b7a;
  }

  .recuadro-central {
    width: 140px;
    height: 140px;
    background-color: #e5e5e5;
    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    border-radius: 6px;
  }

  .tarjeta-reflexion {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .icono-reflexion {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
  }

  /* -----------------------------Seccion 5 Modal------------------------------------- */
  .contacto-mobile {
    display: block;
  }

  .texto-contacto-mobile {
    font-family: "CandaraRegular", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 99%;
    letter-spacing: -1%;
    text-align: center;
    z-index: 10;
    position: relative;
  }

  .contacto-mobile {
    flex-direction: column;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 40px;
    background: #206d80;
    justify-content: center;
    box-shadow: 0px 0px 53.1px #00000040, -9px 4px 16.1px #00000040;
    backdrop-filter: blur(4px);
    overflow: hidden;
    height: 186px;
  }

  .fondo-contacto {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    pointer-events: none;
    backdrop-filter: blur(4px);
  }

  .btn-conversemos {
    position: relative;
    display: block;
    width: 260px;
    margin: 10% auto 0;
  }

  /* ===== MODAL ===== */
  .modal.activo {
    display: flex;
  }
  .modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #00000080;
    backdrop-filter: blur(6px);
    z-index: 999999;
    overflow-y: auto;
  }

  .modal-contenido {
    background: #206d80;
    width: 90%;
    height: 76%;
    max-width: 380px;
    margin: 60px auto;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 0 20px #00000055;
    position: relative;
  }

  .cerrar {
    position: relative;
    display: flex;
    justify-content: right;
    font-size: 26px;
    cursor: pointer;
    margin: -10px;
  }

  #form-contacto {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 10%;
  }

  #form-contacto input,
  #form-contacto textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 16px;
  }

  #mensajeFormMobile {
    margin-top: 5%;
  }

  .btn-enviar {
    margin-top: 8px;
    width: 100%;
    padding: 12px;
    background: #013d4c;
    border: 0.1px solid #ffffff;
    color: #fff;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
  }

  /* -----------------------------Seccion 6 footer------------------------------------- */
  #footer {
    display: none;
  }
  /* ----------------------------------------------------------------------- */
}
