.elementor-166 .elementor-element.elementor-element-b0739ec{--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;--padding-top:100px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.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 );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-166 .elementor-element.elementor-element-ccc0170{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 11px;}.elementor-166 .elementor-element.elementor-element-ccc0170 .elementor-heading-title{font-family:"Alegreya Sans SC", Sans-serif;font-size:16px;font-weight:600;letter-spacing:0px;color:var( --e-global-color-secondary );}.elementor-166 .elementor-element.elementor-element-dbcb202{--display:flex;--min-height:685px;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-166 .elementor-element.elementor-element-67576a4{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );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 );}.elementor-166 .elementor-element.elementor-element-1490610:hover img{opacity:0.48;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-166 .elementor-element.elementor-element-4c5cbf9{margin:15px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-166 .elementor-element.elementor-element-4c5cbf9 .elementor-heading-title{font-family:"AR One Sans", Sans-serif;font-size:20px;font-weight:500;text-transform:uppercase;letter-spacing:0px;color:var( --e-global-color-secondary );}.elementor-166 .elementor-element.elementor-element-5a85fa1{--display:flex;}.elementor-166 .elementor-element.elementor-element-65ad894{--display:flex;}.elementor-166 .elementor-element.elementor-element-346707e{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for image, class: .elementor-element-1490610 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: 350px; /* ajusta según tu diseño */
}

/* enlace ocupa toda la imagen */
.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2; /* encima de la capa blanca */
  text-decoration: none;
}

/* imagen dentro del enlace */
.img-proyecto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

/* zoom al pasar el ratón */
.img-proyecto a:hover img {
  transform: scale(1.05);
}

/* capa blanca translúcida usando ::before */
.img-proyecto a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0);
  transition: background 0.5s ease;
  z-index: 1; /* detrás de la imagen y texto */
}

/* capa blanca visible al hover */
.img-proyecto a:hover::before {
  background: rgba(255,255,255,0.4);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-4c5cbf9 */.texto-proyecto {
  position: absolute;
  bottom: 30px;
  left: 10px;
  writing-mode: vertical-lr;
  text-orientation: mixed;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  opacity: 0;              /* empieza invisible */
  transform: translateY(20px); /* desplazado al inicio */
  transition: all 0.5s ease;
  z-index: 3;              /* encima de todo */
  max-height: 90%;
  overflow: hidden;
  padding-left: 5px;
}

/* texto visible al hover */
.img-proyecto:hover .texto-proyecto {
  opacity: 1;
  transform: translateY(0);
}/* End custom CSS */