.elementor-1077 .elementor-element.elementor-element-b59e4e4{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1077 .elementor-element.elementor-element-b4bbbf3{--display:flex;--min-height:0px;--justify-content:center;--border-radius:26px 26px 26px 26px;}.elementor-1077 .elementor-element.elementor-element-b4bbbf3:not(.elementor-motion-effects-element-type-background), .elementor-1077 .elementor-element.elementor-element-b4bbbf3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1077 .elementor-element.elementor-element-55c9d6a{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1077 .elementor-element.elementor-element-4d36884{text-align:left;}.elementor-1077 .elementor-element.elementor-element-4d36884 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:45px;font-weight:600;color:#20466B;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-1077 .elementor-element.elementor-element-cbbaa9f{font-family:"Inter", Sans-serif;font-weight:400;color:#20466B;}@media(max-width:767px){.elementor-1077 .elementor-element.elementor-element-55c9d6a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1077 .elementor-element.elementor-element-4d36884 .elementor-heading-title{font-size:33px;}.elementor-1077 .elementor-element.elementor-element-cbbaa9f{font-size:16px;}}/* Start custom CSS for container, class: .elementor-element-b4bbbf3 */.imagen-hover{
  --overlay: rgba(0,58,112,.3);
  --overlay-hover: rgba(0,58,112,.45);
  --line-color: rgba(255,255,255,.48);
  --line-thk: 1px;
  --gap: 18%;           /* espacio central amplio */
  --fade: 35%;

  position: relative;
  overflow: hidden;
  border-radius: 16px;
  min-height: 320px;
  isolation: isolate;
  transition: transform .35s ease, box-shadow .35s ease;
}

/* efecto de elevación */
.imagen-hover:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

/* Overlay + líneas */
.imagen-hover::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background-image:
    /* Horizontal izquierda */
    linear-gradient(to right,
      transparent 0,
      var(--line-color) var(--fade),
      var(--line-color) calc(50% - var(--gap)),
      transparent 50%),
    /* Horizontal derecha */
    linear-gradient(to right,
      transparent 50%,
      var(--line-color) calc(50% + var(--gap)),
      var(--line-color) calc(100% - var(--fade)),
      transparent 100%),
    /* Vertical arriba */
    linear-gradient(to bottom,
      transparent 0,
      var(--line-color) var(--fade),
      var(--line-color) calc(50% - var(--gap)),
      transparent 50%),
    /* Vertical abajo */
    linear-gradient(to bottom,
      transparent 50%,
      var(--line-color) calc(50% + var(--gap)),
      var(--line-color) calc(100% - var(--fade)),
      transparent 100%),
    /* Overlay azul */
    linear-gradient(var(--overlay), var(--overlay));
  background-size:
    0 var(--line-thk),
    0 var(--line-thk),
    var(--line-thk) 0,
    var(--line-thk) 0,
    100% 100%;
  background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%;
  background-repeat: no-repeat;
  transition:
    opacity .35s ease,
    background-size .55s cubic-bezier(.22,.61,.36,1);
  z-index: 2;
}

.imagen-hover:hover::before{
  opacity: 1;
  background-size:
    60% var(--line-thk),
    60% var(--line-thk),
    var(--line-thk) 60%,
    var(--line-thk) 60%,
    100% 100%;
  backdrop-filter: blur(2px);
}

/* Flecha ↗ centrada: oculta al inicio, aparece al hover */
.imagen-hover::after{
  content:"\2197";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(.7);
  color:#fff;
  font-size:38px;
  opacity:0; /* 🔹 invisible al inicio */
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.25));
  transition:
    opacity .25s ease,
    transform .45s cubic-bezier(.22,.61,.36,1);
  z-index:3;
  pointer-events:none;
}

/* Aparece solo en hover */
.imagen-hover:hover::after{
  opacity:1; /* 🔹 aparece sólida */
  transform:translate(-50%,-50%) scale(1);
  animation: arrow-breathe 1.8s ease-in-out .25s infinite;
}

/* Animación sutil de respiración */
@keyframes arrow-breathe{
  0%,100%{ transform:translate(-50%,-50%) scale(1); }
  50%{ transform:translate(-50%,-50%) scale(1.06); }
}/* End custom CSS */