.elementor-65 .elementor-element.elementor-element-3a746a5{--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:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-65 .elementor-element.elementor-element-4631ab2{--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-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-65 .elementor-element.elementor-element-34125fa img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.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-65 .elementor-element.elementor-element-30efc1e{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-30efc1e .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-f5d2ea8{--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-65 .elementor-element.elementor-element-27d3138 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-af8ce0f{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-af8ce0f .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-7019d6d{--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-65 .elementor-element.elementor-element-954feef{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-954feef .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-accent );}.elementor-65 .elementor-element.elementor-element-909a117{--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:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-65 .elementor-element.elementor-element-b67ace7{--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-65 .elementor-element.elementor-element-dcf6f45 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-f5bd113{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-f5bd113 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-782ce46{--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-65 .elementor-element.elementor-element-c8dadd8 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-44b15be{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-44b15be .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-51e1414{--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-65 .elementor-element.elementor-element-ae1a33e img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-32d7d39{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-32d7d39 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-b30369b{--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:50px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;}.elementor-65 .elementor-element.elementor-element-1945d10{--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-65 .elementor-element.elementor-element-414fc81 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-568aec1{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-568aec1 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-85ea3db{--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-65 .elementor-element.elementor-element-9b17858 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-41ececb{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-41ececb .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-4f4f4a3{--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-65 .elementor-element.elementor-element-911a1be{--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:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-65 .elementor-element.elementor-element-0e61427{--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-65 .elementor-element.elementor-element-0c5bd92 img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-1218a62{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-1218a62 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-de1b7a8{--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-65 .elementor-element.elementor-element-2e782ab img{width:100%;max-width:100%;height:400px;object-fit:cover;object-position:center center;}.elementor-65 .elementor-element.elementor-element-8303ace{background-color:#BCBCBC7A;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-65 .elementor-element.elementor-element-8303ace .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:24px;font-weight:300;text-transform:uppercase;color:var( --e-global-color-primary );}.elementor-65 .elementor-element.elementor-element-fdac1aa{--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;}@media(min-width:768px){.elementor-65 .elementor-element.elementor-element-4631ab2{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-f5d2ea8{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-7019d6d{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-b67ace7{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-782ce46{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-51e1414{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-1945d10{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-85ea3db{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-4f4f4a3{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-0e61427{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-de1b7a8{--width:33.33%;}.elementor-65 .elementor-element.elementor-element-fdac1aa{--width:33.33%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-65 .elementor-element.elementor-element-954feef .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-65 .elementor-element.elementor-element-954feef .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for image, class: .elementor-element-34125fa */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-30efc1e */.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 */
/* Start custom CSS for container, class: .elementor-element-4631ab2 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-27d3138 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-af8ce0f */.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 */
/* Start custom CSS for container, class: .elementor-element-f5d2ea8 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-954feef */.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 */
/* Start custom CSS for container, class: .elementor-element-7019d6d */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-dcf6f45 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-f5bd113 */.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 */
/* Start custom CSS for container, class: .elementor-element-b67ace7 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-c8dadd8 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-44b15be */.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 */
/* Start custom CSS for container, class: .elementor-element-782ce46 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-ae1a33e */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-32d7d39 */.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 */
/* Start custom CSS for container, class: .elementor-element-51e1414 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-414fc81 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-568aec1 */.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 */
/* Start custom CSS for container, class: .elementor-element-1945d10 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-9b17858 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-41ececb */.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 */
/* Start custom CSS for container, class: .elementor-element-85ea3db */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4f4f4a3 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-0c5bd92 */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-1218a62 */.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 */
/* Start custom CSS for container, class: .elementor-element-0e61427 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2e782ab */.img-proyecto {
  position: relative;
  overflow: hidden;
  height: auto; /* ajusta si quieres un alto fijo */
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto a:hover img {
  transform: scale(1.05); /* zoom */
  filter: grayscale(100%); /* blanco y negro */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8303ace */.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 */
/* Start custom CSS for container, class: .elementor-element-de1b7a8 */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fdac1aa */.img-proyecto {
  position: relative;
  overflow: hidden;
}

.img-proyecto a {
  display: block;
  width: 100%;
  height: 100%;
}

.img-proyecto img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.img-proyecto:hover img {
  transform: scale(1.05);
  filter: grayscale(100%);
}/* End custom CSS */