.elementor-5456 .elementor-element.elementor-element-3aebee1f{--display:flex;}.elementor-5456 .elementor-element.elementor-element-4e141fce > .elementor-widget-container{padding:10px 0px 10px 0px;}.elementor-5456 .elementor-element.elementor-element-4e141fce{text-align:center;}.elementor-5456 .elementor-element.elementor-element-4e141fce .elementor-heading-title{font-size:40px;}.elementor-5456 .elementor-element.elementor-element-244b3be6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-5456 .elementor-element.elementor-element-244b3be6.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5456 .elementor-element.elementor-element-1b50ca3c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-5456 .elementor-element.elementor-element-1b50ca3c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5456 .elementor-element.elementor-element-225b4b32 img{border-radius:5px 5px 5px 5px;}.elementor-5456 .elementor-element.elementor-element-b4d4a37{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5456 .elementor-element.elementor-element-b4d4a37.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5456 .elementor-element.elementor-element-6d3990f3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:justify;}.elementor-5456 .elementor-element.elementor-element-6d3990f3.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5456 .elementor-element.elementor-element-6d3990f3 p{margin-block-end:0px;}.elementor-5456 .elementor-element.elementor-element-507d3e07{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5456 .elementor-element.elementor-element-18c0a7c0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5456 .elementor-element.elementor-element-18c0a7c0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5456 .elementor-element.elementor-element-1ed8a930{--display:flex;}.elementor-5456 .elementor-element.elementor-element-57185f6b{--display:flex;}.elementor-5456 .elementor-element.elementor-element-c908a24{--display:flex;}.elementor-5456 .elementor-element.elementor-element-4dc0a1ed{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.8;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:104px;--padding-left:40px;--padding-right:40px;}.elementor-5456 .elementor-element.elementor-element-4dc0a1ed:not(.elementor-motion-effects-element-type-background), .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor4 );}.elementor-5456 .elementor-element.elementor-element-4dc0a1ed::before, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-background-video-container::before, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .e-con-inner > .elementor-background-video-container::before, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-background-slideshow::before, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .e-con-inner > .elementor-background-slideshow::before, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-shape-top .elementor-shape-fill, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:var( --e-global-color-astglobalcolor5 );}.elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .elementor-shape-top svg, .elementor-5456 .elementor-element.elementor-element-4dc0a1ed > .e-con-inner > .elementor-shape-top svg{height:240px;}.elementor-5456 .elementor-element.elementor-element-32143783{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5456 .elementor-element.elementor-element-78efae3b > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-5456 .elementor-element.elementor-element-6ab7249e > .elementor-widget-container{margin:20px 0px 60px 0px;}.elementor-5456 .elementor-element.elementor-element-6ab7249e .elementor-button-content-wrapper{flex-direction:row;}.elementor-5456 .elementor-element.elementor-element-6ab7249e .elementor-button .elementor-button-content-wrapper{gap:16px;}.elementor-5456 .elementor-element.elementor-element-6ab7249e .elementor-button{box-shadow:0px 8px 16px -8px rgba(56, 125, 255, 0.5);}body.elementor-page-5456:not(.elementor-motion-effects-element-type-background), body.elementor-page-5456 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-5456 .elementor-element.elementor-element-244b3be6{--width:98.746%;}.elementor-5456 .elementor-element.elementor-element-1b50ca3c{--width:28.492%;}.elementor-5456 .elementor-element.elementor-element-b4d4a37{--width:69.185%;}.elementor-5456 .elementor-element.elementor-element-18c0a7c0{--width:95.893%;}}@media(max-width:1024px){.elementor-5456 .elementor-element.elementor-element-4dc0a1ed{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:64px;--padding-left:40px;--padding-right:40px;}}@media(max-width:767px){.elementor-5456 .elementor-element.elementor-element-4dc0a1ed{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS *//* ================================ */
/* VARIABLES DE DISEÑO              */
/* ================================ */
:root {
  /* Colores */
  --azul-claro: #4F9EF9;
  --azul-oscuro: #235ABE;
  --gris-fondo: #FAFBFC;
  --gris-texto: #2E3A46;
  --blanco: #FFFFFF;
  /* Tipografías */
  --fuente-titulo: 'Montserrat', sans-serif;
  --fuente-cuerpo: 'Inter', sans-serif;
  /* Espaciados */
  --g-vert: 2.5rem;
  --g-horz: 1rem;
  --radius: 14px;
}

/* ============================== */
/* 1. TÍTULO PRINCIPAL            */
/* ============================== */
.ca-titulo {
  font-family: 'Montserrat', sans-serif;
  font-size: 3.2rem;
  font-weight: 900;
  text-align: center;
  margin: 3rem auto 2rem;
  background: linear-gradient(90deg, #387DFF, #5AB1FF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  line-height: 1.1;
}
.ca-titulo::after {
  content: '';
  display: block;
  width: 120px;
  height: 4px;
  background: #387DFF;
  border-radius: 2px;
  margin: 0.6rem auto 0;
  animation: expandLine 1s ease-out forwards;
}
@keyframes expandLine {
  from { width: 0; }
  to   { width: 120px; }
}

/* ================================== */
/* 2. BLOQUE INTRO (.ca-intro)        */
/* ================================== */
.ca-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--g-vert);
  margin: var(--g-vert) auto;
  max-width: 1200px;
  padding: 0 var(--g-horz);
}
.ca-intro__foto {
  flex: 1 1 350px;
  max-width: 450px;
  overflow: hidden;
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.ca-intro__foto img {
  display: block;
  width: 100%;
  transition: transform 0.5s;
}
.ca-intro__foto img:hover {
  transform: scale(1.03) translateY(-5px);
}
.ca-intro__texto {
  flex: 2 1 500px;
  font-family: var(--fuente-cuerpo);
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--gris-texto);
}
.ca-intro__texto p + p {
  margin-top: 1rem;
}

/* Si en lugar de .ca-intro__foto usas .ca-imagen: */
.ca-imagen {
  max-width: 480px;
  margin: 0 auto var(--g-vert);
  padding: 0.5rem;
  background: #FFFFFF;
  border: 2px solid var(--gris-fondo);
  border-radius: var(--radius);
  box-shadow: 0 12px 32px rgba(0,0,0,0.1);
  overflow: hidden;
  transition: box-shadow 0.4s, transform 0.4s;
}
.ca-imagen img {
  width: 100%;
  height: auto;
  border-radius: calc(var(--radius) - 2px);
  transition: transform 0.6s ease, filter 0.6s ease;
  filter: brightness(0.95);
}
.ca-imagen:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(0,0,0,0.12);
}
.ca-imagen:hover img {
  transform: scale(1.04);
  filter: brightness(1);
}

/* ============================== */
/* BLOQUES DE TEXTO REAJUSTADOS   */
/* ============================== */
.ca-texto {
  background: #FFFFFF;
  border-left: 6px solid #387DFF;   /* ribete fino a la izquierda */
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.4s, box-shadow 0.4s;
  margin: 1.5rem 0;                /* margen arriba/abajo */
  padding: 0 1.5rem;               /* relleno izquierda y derecha */
}
.ca-texto:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

/* Cabecera del bloque */
.ca-texto__titulo {
  margin: 0;
  padding: 1.2rem 0 1rem;           /* sólo padding arriba/abajo */
  font-family: 'Montserrat', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1E293B;
  border-bottom: 2px solid #387DFF;
  position: relative;
}

/* Contenido de texto */
.ca-texto__contenido {
  padding: 0.8rem 0 2rem;           /* sólo padding arriba y abajo */
  font-family: 'Inter', sans-serif;
  font-size: 1.15rem;
  line-height: 1.8;
  color: #334155;
}
.ca-texto__contenido:first-letter {
  font-size: 2rem;
  font-weight: 700;
  float: left;
  line-height: 1;
  margin-right: 0.4rem;
  color: #387DFF;
}


/* ================================== */
/* 4. BLOQUES HTML (.ca-html)         */
/* ================================== */
.ca-html {
  background: var(--blanco);
  padding: 1.8rem var(--g-horz);
  margin: var(--g-vert) auto;
  max-width: 900px;
  border-radius: var(--radius);
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  transition: transform 0.4s, box-shadow 0.4s;
}
.ca-html:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.1);
}

/* ================================== */
/* 5. BOTONES (.ca-boton)             */
/* ================================== */
.ca-boton {
  display: inline-block;
  background: var(--azul-claro);
  color: var(--blanco);
  font-family: var(--fuente-cuerpo);
  font-size: 1.05rem;
  font-weight: 600;
  padding: 0.8rem 2rem;
  border-radius: var(--radius);
  text-decoration: none;
  letter-spacing: 0.5px;
  box-shadow: 0 6px 18px rgba(35, 58, 190, 0.2);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, background 0.4s;
}
.ca-boton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(255,255,255,0.3) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.4s;
}
.ca-boton:hover {
  transform: translateY(-3px) scale(1.03);
  background: var(--azul-oscuro);
}
.ca-boton:hover::after {
  opacity: 1;
}

/* ================================== */
/* 6. BANNER CTA & AYUDA (.ca-banner, .ca-ayuda) */
/* ================================== */
.ca-banner, .ca-ayuda {
  background: var(--blanco);
  padding: 3rem 1.5rem;
  margin: 4rem auto;
  max-width: 1100px;
  border-radius: var(--radius);
  box-shadow: 0 12px 40px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
  text-align: center;
  transition: transform 0.5s;
}
.ca-banner::before, .ca-ayuda::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 6px;
  background: var(--azul-claro);
}
.ca-banner h2, .ca-ayuda h2 {
  font-family: var(--fuente-titulo);
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--gris-texto);
  margin-bottom: 1rem;
}
.ca-banner p, .ca-ayuda p {
  font-family: var(--fuente-cuerpo);
  font-size: 1.2rem;
  line-height: 1.85;
  color: var(--gris-texto);
  max-width: 800px;
  margin: 0 auto 1.5rem;
}
.ca-banner .ca-boton-container,
.ca-ayuda .ca-boton-container {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.ca-banner:hover, .ca-ayuda:hover {
  transform: translateY(-6px);
}
/* Decorativo pulso en .ca-ayuda */
.ca-ayuda::after {
  content: '';
  position: absolute;
  bottom: -50px; right: -50px;
  width: 200px; height: 200px;
  background: var(--azul-claro);
  opacity: 0.1;
  border-radius: 50%;
  animation: pulse 5s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { transform: scale(1); opacity: 0.1; }
  50%    { transform: scale(1.1); opacity: 0.05; }
}

/* ============================== */
/* RESPONSIVE                      */
/* ============================== */
@media (max-width: 768px) {
  .ca-texto__titulo {
    font-size: 1.4rem;
    padding: 1rem;
  }
  .ca-texto__contenido {
    font-size: 1.05rem;
    padding: 1rem;
  }
}/* End custom CSS */