.elementor-871 .elementor-element.elementor-element-0f4a7d2{--display:flex;--min-height:41vh;--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:flex-end;--align-items:flex-start;--overlay-opacity:0.66;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-871 .elementor-element.elementor-element-0f4a7d2:not(.elementor-motion-effects-element-type-background), .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-871 .elementor-element.elementor-element-0f4a7d2::before, .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .elementor-background-video-container::before, .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .e-con-inner > .elementor-background-video-container::before, .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .elementor-background-slideshow::before, .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-871 .elementor-element.elementor-element-0f4a7d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#2A2D3CC9;--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-871 .elementor-element.elementor-element-3c7c9f3{text-align:left;}.elementor-871 .elementor-element.elementor-element-3c7c9f3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:60px;font-weight:700;line-height:67px;color:var( --e-global-color-accent );}.elementor-871 .elementor-element.elementor-element-40ca6cd{--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:80px 80px;--row-gap:80px;--column-gap:80px;--padding-top:120px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-871 .elementor-element.elementor-element-64afbd0{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:300;color:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-871 .elementor-element.elementor-element-0f4a7d2{--content-width:1200px;}.elementor-871 .elementor-element.elementor-element-40ca6cd{--content-width:1200px;}}@media(max-width:1024px){.elementor-871 .elementor-element.elementor-element-0f4a7d2{--min-height:53vh;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-871 .elementor-element.elementor-element-3c7c9f3{margin:030px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-871 .elementor-element.elementor-element-3c7c9f3 .elementor-heading-title{line-height:1em;}.elementor-871 .elementor-element.elementor-element-40ca6cd{--padding-top:80px;--padding-bottom:40px;--padding-left:020px;--padding-right:020px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-871 .elementor-element.elementor-element-64afbd0{font-size:14px;}}@media(max-width:767px){.elementor-871 .elementor-element.elementor-element-0f4a7d2{--min-height:24vh;--padding-top:0px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-871 .elementor-element.elementor-element-3c7c9f3 .elementor-heading-title{font-size:28px;}.elementor-871 .elementor-element.elementor-element-40ca6cd{--padding-top:50px;--padding-bottom:30px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS *//* ===============================
   Hover suave con variables CSS
   Fondo: blanco -> #2A2D3C
   Texto/SVG: #2A2D3C -> blanco
   =============================== */

.hover-white {
  /* Valores base */
  --bg: #ffffff;
  --fg: #2A2D3C;

  background-color: var(--bg);
  color: var(--fg);

  /* Transición del fondo */
  transition: background-color 0.6s cubic-bezier(.25,.1,.25,1);
  will-change: background-color;
}

/* Forzar base explícita en descendientes para evitar “saltos” por herencia */
.hover-white * {
  color: var(--fg);
  transition:
    color 0.6s cubic-bezier(.25,.1,.25,1),
    fill  0.6s cubic-bezier(.25,.1,.25,1),
    stroke 0.6s cubic-bezier(.25,.1,.25,1);
  will-change: color, fill, stroke;
}

/* SVG e iconos: que sigan el color del texto */
.hover-white svg,
.hover-white .elementor-icon svg {
  fill: currentColor;
  stroke: currentColor;
  transition:
    fill 0.6s cubic-bezier(.25,.1,.25,1),
    stroke 0.6s cubic-bezier(.25,.1,.25,1);
}

/* Estado hover: solo cambiamos variables -> el resto fluye */
.hover-white:hover {
  --bg: #2A2D3C;
  --fg: #ffffff;

  background-color: var(--bg);
  /* color del propio contenedor por si tiene texto directo */
  color: var(--fg);
}

/* Enlaces: quita subrayado en hover (opcional) y que usen currentColor */
.hover-white a {
  color: currentColor;
  text-decoration: none;
}

/* Si Elementor te mete colores inline, refuerza suavemente sin romper transición */
.hover-white:hover *,
.hover-white:hover a,
.hover-white:hover h1,
.hover-white:hover h2,
.hover-white:hover h3,
.hover-white:hover h4,
.hover-white:hover h5,
.hover-white:hover h6 {
  color: var(--fg) !important;
}

/* Accesibilidad: respeta reduce motion */
@media (prefers-reduced-motion: reduce) {
  .hover-white, .hover-white * {
    transition: none !important;
  }
}/* End custom CSS */