@media (max-width: 1024px) {
    .bp1024 {
        flex-direction: column;
    }

    .nosotros-imagen {
        min-width: 18rem;
        width: calc(85% - 2rem);
        border-radius: 2rem;
        border: var(--color-texto-resaltado) solid 5px;
        overflow: hidden;
    }

    .nosotros-imagen img {
        margin: -10px 0px;
        border-radius: 0;
    }



    .contenedor-especialistas {
        display: grid;
        grid-template-columns: repeat(3, 25%);
        grid-template-rows: repeat(3, min-content);
        gap: 0.5rem;
    }

    .especialistas-portafolio h2 {
        font-size: 2.5rem;
        line-height: 2.7rem;
    }

    .contenedor-especialistas {
        display: grid;
        grid-template-columns: repeat(3, 25%);
        grid-template-rows: repeat(3, min-content);
        gap: 0.5rem;
    }

    .especialista p {
        font-size: 0.4rem;
    }

    .especialista figure {
        height: auto;
    }

    .especialista img {
        object-fit: cover;
    }

    .especialista:nth-child(8) {
        margin: 0 auto;
        width: 80%;
        grid-column-start: 1;
        grid-column-end: 4;
    }

    .especialista .tarjeta-portafolio {
        height: 2rem;
        width: 4rem;
        padding: 0 1rem;
        font-size: 0.5rem;
    }


    .imagen-con-degradado {
        position: relative;
        /* Para posicionar el pseudo-elemento */
        display: inline-block;
        /* O block, según el caso */
        padding: 1px;
    }

    .imagen-con-degradado img {
        display: block;
        width: 100%;
        height: auto;
    }

    .imagen-con-degradado::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to top,
                /* o a bottom, to top, to left, o un ángulo */
                rgba(0, 0, 0, 0) 60%,
                /* Transparente al inicio */
                rgba(0, 0, 0, 1) 100%
                /* Opaco al final */
            );
        pointer-events: none;
        /* Para no bloquear interacciones con la imagen */
    }

    .proyectos-ferroviarios1-contenedor {
        width: 90%;
        flex-direction: column-reverse;
        gap: 1rem;
        align-items: start;
    }

    .proyectos-ferroviarios1-galeria {
        margin-left: auto;
        margin-right: auto;
    }

    .proyectos-ferroviarios2-contenedor {}

    .proyectos-ferroviarios2-video {
        width: auto;
    }

    .proyectos-ferroviarios2-texto {
        width: 100%;
    }

    .proyectos-ferroviarios3-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
    }

    .proyectos-ferroviarios3-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios3-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios4-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
    }

    .proyectos-ferroviarios4-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios4-contenedorimagenes figure:nth-child(1) {
        grid-column-start: 1;
        grid-column-end: 3;
        width: 100%;
    }

    .proyectos-ferroviarios4-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios5-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
    }

    .proyectos-ferroviarios5-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios5-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios6-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
    }

    .proyectos-ferroviarios6-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios6-contenedorimagenes figure:nth-child(3) {
        grid-column-start: 1;
        grid-column-end: 3;
        width: 100%;
        height: vw;
    }

    .proyectos-ferroviarios6-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios7-texto {
        width: auto;
    }

    .proyectos-ferroviarios8-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(1, auto);
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }

    .proyectos-ferroviarios8-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios8-contenedorimagenes figure:nth-child(3) {
        grid-column-start: 1;
        grid-column-end: 3;
        width: 100%;
        height: vw;
    }

    .proyectos-ferroviarios8-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios9-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0;
    }

    .proyectos-ferroviarios9-contenedorimagenes figure {
        width: 100%;
        height: auto;
    }

    .proyectos-ferroviarios9-contenedorimagenes figure:nth-child(1) {
        grid-column-start: 1;
        grid-column-end: 3;
        width: auto;
        height: auto;
    }

    .proyectos-ferroviarios9-contenedorimagenes img {
        height: 35vw;
        width: 100%;
    }

    .proyectos-ferroviarios10-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }

    .proyectos-ferroviarios10-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios10-contenedorimagenes figure:nth-child(1) {
        grid-column-start: 1;
        grid-column-end: 3;
    }

    .proyectos-ferroviarios10-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios11-contenedor {}

    .proyectos-ferroviarios11-texto {
        width: 100%;
    }

    .proyectos-ferroviarios12-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(1, auto);
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }

    .proyectos-ferroviarios12-contenedorimagenes figure {
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios12-contenedorimagenes figure:nth-child(2) {
        grid-column-start: 1;
        grid-column-end: 3;
        grid-row-start: 3;
        width: 100%;
        height: vw;
    }

    .proyectos-ferroviarios12-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios13-contenedor {
        justify-content: center;
        flex-direction: column-reverse;
    }

    .proyectos-ferroviarios13-contenedorimagenes {
        justify-content: center;
    }

    .proyectos-ferroviarios13-contenedorimagenes figure {
        width: 90%;
    }

    .proyectos-ferroviarios14-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }

    .proyectos-ferroviarios14-contenedorimagenes figure {
        width: 100%;
        height: 40vw;
    }

    .proyectos-ferroviarios14-contenedorimagenes figure:nth-child(1) {
        grid-column-start: 1;
        grid-column-end: 3;
        width: 100%;
        height: 30vw;
    }

    .proyectos-ferroviarios14-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios15-contenedorimagenes {
        display: grid;
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }

    .proyectos-ferroviarios15-contenedorimagenes figure {
        width: 100%;
        height: 45vw;
    }

    .proyectos-ferroviarios15-contenedorimagenes figure:nth-child(2) {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 2;
        width: 100%;
    }

    .proyectos-ferroviarios15-contenedorimagenes img {
        width: 100%;
    }

    .proyectos-ferroviarios16-contenedor {
        display: grid;
        width: 100%;
        max-height:none;
        height: auto;
        gap: 5vw;
        grid-template-columns: repeat(2, 1fr);
        place-items: center;
    }

    .proyectos-ferroviarios16-contenedor figure{
        max-height: 12rem;
        height: 25vw;
    }

    .proyectos-ferroviarios16-contenedor figure:nth-child(2) {
        grid-column: 1 / 3;
        grid-row-start: 2;
    }

}

@media (max-width: 768px) {
    .servicio {
        flex-direction: column;
        gap: 0rem;
    }

    .tarjetita-servicios {
        width: 5rem;
        height: 1.2rem;
        padding: 0;
        align-items: center;
        justify-content: center;
        background-color: #282522;
        text-transform: uppercase;
        border-width: 1px;

    }

    .tarjetita-servicios h3 {
        font-size: 0.8rem;
        font-weight: 200;
        translate: 0 1px;
    }

    .servicio:nth-child(2n) {
        flex-direction: column;
    }
    .servicio:nth-child(2n-1) {
        flex-direction: column;
    }

    .servicio-imagen {
        width: 100%;
        height: 100%;
    }

    .servicio-imagen img {
        width: 100%;
        height: auto;
        border-radius: 2rem;
    }

    .servicio-texto {
        width: 100%;
    }

    .servicio-texto h2 {
        font-size: 1rem;
    }

    .servicio-texto p {
        font-size: 0.7rem;
        font-weight: 400;
    }
}