.div2_responsive {
    display: none;
}

.method-div2-1-1-responsive {
    display: none;
    padding: 10px 5px;
}

.index_div4 {
    display: none;
}

@media (max-width: 1200px) {


    .method-div2-1-1 {

        width: 340px;
        display: flex;
        align-self: center;
        height: auto;
        background-color: #123352;
        border-radius: 15px;
        padding: 40px 10px 20px 20px;
        position: relative;
        display: flex;
        z-index: 3;
        margin-top: 140px;
        line-height: 1.6;
    }

    .method-div2-1-1 {
        width: 340px;
        height: auto;
        background-color: #123352;
        border-radius: 15px 15px 0 0;
        padding: 40px 10px 20px 20px;
        position: relative;
        display: flex;
        z-index: 3;
        margin-top: 140px;
        line-height: 1.6;
    }

    .method-div2-2-texts {
        padding-right: 0px;
        padding-inline: 10px;
    }


    .method-div3-1 {
        padding-left: 40px;
    }


    .timeline-container {
        display: grid;
        grid-template-columns: 20% 9% 35% 36% !important;
        /* nueva columna */
        gap: 0px;
        align-items: flex-start;
        width: 100%;

    }

    /* IZQUIERDA */
    .phases {
        display: flex;
        flex-direction: column;
        gap: 80px;
        width: auto;
        align-items: flex-start;
        padding-left: 40px;
        width: 100% !important;
        /* ocupa todo el ancho en móvil */


    }

    .phase {
        padding: 20px 0;
        cursor: pointer;
        color: #999;
        transition: color 0.3s ease, transform 0.3s ease;
        text-align: left;
        width: auto !important;
        flex-wrap: wrap !important;
        display: flex !important;
        width: 100% !important;
        padding-right: 0;

        /* se adapta al ancho del contenedor */


        /* color + transform */
    }

    .phase span {
        /* se envuelve automáticamente */
        display: block;
        padding-right: 20%;
        font-size: 14px;
        flex-wrap: wrap !important;
        width: auto !important;
        display: flex !important;

    }

    .phase_responsive {
        display: flex !important;
        flex-wrap: wrap !important;
        padding-right: 40px !important;
        width: auto !important;
        height: auto !important;
    }

    .phase.active {
        color: #0b3a66ff;
        transform: scale(1.05);
        /* ligeramente más grande */
        font-weight: bold;
        flex-wrap: wrap !important;
        width: auto !important;

        /* no se transiciona pero se refuerza */

    }


    .content b {
        flex-wrap: wrap !important;
        width: auto !important;
        display: flex !important;
    }

    /* CENTRO */
    .timeline {
        position: relative;
        width: 2px;
        background: #ccc;
        height: 100%;
        min-height: 300px;
        margin: 0 auto;
        text-align: right;
    }

    .dot {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 22px;
        /* más grande que la bolita */
        height: 22px;
        background: #123352;
        border-radius: 50%;
        z-index: 2;
        /* HALO AZUL */
        box-shadow: 0 0 0 8px rgba(18, 51, 82, 0.2);
        transition: top 0.3s ease;
    }

    /* DERECHA */
    .content h2 {
        font-size: 23px;
        width: auto;
        margin-bottom: 10px;
        text-align: justify;
        font-family: "Raleway", Sans-serif;
        padding-top: 30px !important;
        padding-left: 40px !important;

    }

    /* Oculta las imágenes de la timeline */
    .timeline_img {
        display: flex;
        align-items: center;
        justify-content: center;
        /* la centra */
        width: 100%;
        height: auto;
        padding-right: 30px;
    }

    .timeline_img img {
        max-width: 100%;
        width: 100%;
        /* nunca será más grande que su contenedor */
        height: auto;
        /* mantiene proporción */
        border-radius: 20px;
        margin-top: 100px;
        margin-right: 30px;
    }


    .content p {
        font-size: 13px;
        width: auto;
        line-height: 1.8;
        text-align: justify;
        padding-right: 50px;
        padding-left: 0;
        font-family: "Raleway", Sans-serif;
        white-space: pre-line;
        /* respeta los saltos de línea (\n) *
        line-height: 2;
        /* Altura de línea 2 veces el tamaño de fuente */
        padding-left: 40px !important;
        padding-right: 100px !important;

    }

    /* CONTENEDOR DE PUNTOS GRISES */
    .gray-dots {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%;
    }

    /* PUNTO GRIS */
    .gray-dot {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 22px;
        /* más grande que la bolita */
        height: 22px;
        background: #ddd;
        border-radius: 50%;
        z-index: 1;
    }

    /* BOLITA AZUL */
    .dot {
        z-index: 2;
    }



    .testimonials {
        padding: 0 !important;
    }

    .method_card {

        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
    }

    .method_card p {
        padding-inline: 15px;
        font-size: 13px;
    }

    .method_card span {
        font-size: 16px;
        padding-bottom: 10px;
    }

    .method_carousel_p {
        padding-inline: 75px !important;
        font-size: 17px !important;
        margin-bottom: 50px;
        text-align: justify;
    }

    .method_track {
        display: flex;
        /* 👈 CLAVE */
        will-change: transform;
    }

    .method_card img {
        overflow: visible;
        width: 600px;
        height: 300px;
        object-fit: cover;
        object-position: center;
        margin: 0;
        /* 🔥 bloquea clic derecho */
        user-select: none;
        -webkit-user-drag: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        pointer-events: none;
    }

    .method_card p {
        padding-inline: 15px;
        font-size: 13px;
    }

    .method_card span {
        font-size: 16px;
        padding-bottom: 10px;
    }

    .method_carousel_p {
        padding-inline: 0;
        font-size: 12px;
        margin-bottom: 50px;
    }
}


@media (max-width: 1100px) {
    .method-div2-1 {
        width: 37%;
        background-image: url("../../img/method_div1_img1.png");
        background-size: 400px 1400px;
        /* cubre todo el contenedor */
        background-repeat: no-repeat;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        /* 👈 ESTO */
        padding-left: 150px;
        padding-bottom: 120px;
        padding-top: 0;

    }

    .method-div2-2-title {
        padding-right: 20px;
    }

}

@media (max-width: 1000px) {

    .method-div2-1_2 {
        padding-right: 20px;
    }

    .method-div2-1-1 {
        width: 260px;
        height: auto;
        background-color: #123352;
        border-radius: 15px 15px 0 0;
        padding: 40px 10px 20px 20px;
        position: relative;
        display: flex;
        z-index: 3;
        margin-top: 140px;
        line-height: 1.6;
    }

    .method-div2-1-1 span {
        font-size: 15px;
    }

    .method-div2-1-1-img {
        display: flex;
        max-width: auto;
        height: auto;

    }

    .method-div2-1-1-img img {
        display: flex;
        border-radius: 25px;
        width: 350px;
        height: auto;

    }
}



@media (max-width: 850px) {

    .method-div2-1-1-img {
        display: none;
    }

    .method-div2-1 {
        display: none;
    }

    .method-div2-1-1 {
        display: none;
    }




    .method-div2_responsive {
        width: 100%;
        display: flex;
        justify-content: center;
        /* centra horizontalmente */
        align-items: center;
        /* centra verticalmente */
        margin: 0;
        padding-inline: 30px;
        box-sizing: border-box;
        /* para que padding no rompa el centrar */
    }

    .method-div2-1-1-responsive {
        width: fit-content;
        background-color: #123352;
        border-radius: 15px;
        padding: 20px 10px 20px 20px;
        display: flex;
        justify-content: center;
        /* centra su contenido horizontal */
        line-height: 1.6;
        margin: 0;
        /* quitar margin-top */
        flex-direction: column;
        /* si quieres que el contenido interno se apile verticalmente */
        margin-top: 40px
    }

    .index-div2-span1_mobile {
        font-size: 18px;
        font-family: "Conthrax", Sans-serif;
        color: white;

    }

    .method-div2-1-1-span {
        width: auto;
        align-self: center;
        font-size: 15px;
    }

    .method-div2-2 {
        padding-top: 60px;
    }

    .method-div3-1 {
        padding-left: 40px;
    }


    .timeline-container {
        display: grid;
        grid-template-columns: 45% 9% 55% !important;
        /* nueva columna */
        gap: 0px;
        align-items: flex-start;

    }

    /* IZQUIERDA */
    .phases {
        display: flex;
        flex-direction: column;
        gap: 80px;
        width: auto;
        align-items: flex-start;
        padding-left: 40px;
        width: 100% !important;
        /* ocupa todo el ancho en móvil */


    }

    .phase {
        padding: 20px 0;
        cursor: pointer;
        color: #999;
        transition: color 0.3s ease, transform 0.3s ease;
        text-align: left;
        width: auto !important;
        flex-wrap: wrap !important;
        display: flex !important;
        width: 100% !important;
        /* se adapta al ancho del contenedor */


        /* color + transform */
    }

    .phase span {
        /* se envuelve automáticamente */
        display: block;
        padding-right: 20%;
    }

    .phase_responsive {
        display: flex !important;
        flex-wrap: wrap !important;
        padding-right: 100px !important;
        width: auto !important;
        height: auto !important;
    }

    .phase.active {
        color: #0b3a66ff;
        transform: scale(1.05);
        /* ligeramente más grande */
        font-weight: bold;
        flex-wrap: wrap !important;
        width: auto !important;

        /* no se transiciona pero se refuerza */

    }

    .phase span {

        flex-wrap: wrap !important;
        width: auto !important;
        display: flex !important;

        /* no se transiciona pero se refuerza */

    }

    .content b {
        flex-wrap: wrap !important;
        width: auto !important;
        display: flex !important;
    }

    /* CENTRO */
    .timeline {
        position: relative;
        width: 2px;
        background: #ccc;
        height: 100%;
        min-height: 300px;
        margin: 0 auto;
        text-align: right;
    }

    .dot {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 22px;
        /* más grande que la bolita */
        height: 22px;
        background: #123352;
        border-radius: 50%;
        z-index: 2;
        /* HALO AZUL */
        box-shadow: 0 0 0 8px rgba(18, 51, 82, 0.2);
        transition: top 0.3s ease;
    }

    /* DERECHA */
    .content h2 {
        font-size: 28px;
        width: auto;
        margin-bottom: 10px;
        text-align: justify;
        font-family: "Raleway", Sans-serif;
        padding-top: 50px;
        padding-left: 40px !important;

    }

    /* Oculta las imágenes de la timeline */
    .timeline_img img {
        display: none !important;
    }


    .content p {
        font-size: 16px;
        width: auto;
        line-height: 1.8;
        text-align: justify;
        padding-right: 50px;
        padding-left: 0;
        font-family: "Raleway", Sans-serif;
        white-space: pre-line;
        /* respeta los saltos de línea (\n) *
        line-height: 2;
        /* Altura de línea 2 veces el tamaño de fuente */
        padding-left: 40px !important;
        padding-right: 100px !important;

    }

    /* CONTENEDOR DE PUNTOS GRISES */
    .gray-dots {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 100%;
    }

    /* PUNTO GRIS */
    .gray-dot {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 22px;
        /* más grande que la bolita */
        height: 22px;
        background: #ddd;
        border-radius: 50%;
        z-index: 1;
    }

    /* BOLITA AZUL */
    .dot {
        z-index: 2;
    }

    .timeline_img {
        display: flex;
        align-items: center;
    }

    .timeline_img img {
        width: 600px;
        height: 500px;
        border-radius: 20px;
    }

    .testimonials {
        padding: 0 !important;
    }

    .method_card {

        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
    }

    .method_card p {
        padding-inline: 15px;
        font-size: 13px;
    }

    .method_card span {
        font-size: 16px;
        padding-bottom: 10px;
    }

    .method_carousel_p {
        padding-inline: 15px;
        font-size: 12px;
        margin-bottom: 50px;
    }

    .method_track {
        display: flex;
        /* 👈 CLAVE */
        will-change: transform;
    }

    .method_card img {
        overflow: visible;
        width: 600px;
        height: 300px;
        object-fit: cover;
        object-position: center;
        margin: 0;
        /* 🔥 bloquea clic derecho */
        user-select: none;
        -webkit-user-drag: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        pointer-events: none;
    }

    .method_card p {
        padding-inline: 15px;
        font-size: 13px;
    }

    .method_card span {
        font-size: 16px;
        padding-bottom: 10px;
    }

    .method_carousel_p {
        padding-inline: 0;
        font-size: 12px;
        margin-bottom: 50px;
    }
}


@media (max-width: 610px) {

    .method_card img {
        width: 100px;
        overflow: visible;
        margin: 0;
    }

    .method-div3-timeline {
        display: none
    }


    .index_carousel2 {
        position: relative;
        display: flex;
        justify-content: center;
        /* centra el track horizontalmente */
        background-color: white;

    }


    .index_track {
        display: flex;
        width: max-content;
        margin: 0 auto;
        padding: 20px 0px;
        background-color: white;
        /* centra el track horizontalmente */
    }


    .index_card {
        position: relative;
        /* referencia para el hijo absoluto */
        max-width: 250px;
        width: auto;
        height: auto;
        padding: 10px 40px;
        border-radius: 20px;
        background: rgba(13, 45, 75, 0.85);
        color: #fff;
        opacity: 0.4;
        transform: scale(0.9);
        transition: all 0.5s ease;
        text-align: center;
        line-height: 2;
        overflow: visible;
        /* Muy importante para que la imagen no se corte */
    }

    .index_card p {
        font-family: "Raleway", Sans-serif;


    }

    .index_card span {

        font-family: "Raleway", Sans-serif;
        font-weight: bold;
        font-size: 20px;
        padding-bottom: 20px;

    }

    .index_card.active {
        opacity: 1;
        transform: scale(1);
    }

    .author {
        display: flex;
        justify-content: center;
        font-weight: bold;
        font-size: 18px;
        color: rgba(13, 45, 75, 0.85);
        border: 2px solid rgba(13, 45, 75, 0.85);
        margin-bottom: 20px;
        /* espacio entre autor y párrafo */
        position: static;
        /* quitar posición absoluta */
        transform: none;
        background-color: white;
        border-radius: 10px;
        margin-top: -40px;


    }

    .author span {
        padding: 0;
    }

    .track {
        cursor: grab;
    }

    .track:active {
        cursor: grabbing;
    }

    .index_carousel_responsive {
        display: none;
    }

    .index_div3_mobile {
        display: none;
    }





    .index_div4 {
        background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
            url("../img/index_div4_background.png");
        background-position: center top;
        /* se asegura que comience desde arriba */
        background-size: cover;
        /* cubre todo el contenedor */
        background-repeat: no-repeat;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 40px;

    }

    .index_div4_title {
        font-size: 32px;
        display: flex;
        justify-content: center;
        font-family: "Conthrax", Sans-serif;
        color: white;
        padding-top: 100px;

    }


    .testimonials {
        padding: 50px 0;
    }

    .index_carousel2 {
        position: relative;
        display: flex;
        justify-content: center;
        /* centra el track horizontalmente */
    }


    .track {
        display: flex;
        width: max-content;
        margin: 0 auto;
        /* centra el track horizontalmente */
    }


    .card {
        position: relative;
        /* referencia para el hijo absoluto */
        min-width: 360px;
        width: 550px;
        height: 250px;
        padding: 40px;
        border-radius: 20px;
        background: rgba(13, 45, 75, 0.85);
        color: #fff;
        opacity: 0.4;
        transform: scale(0.9);
        transition: all 0.5s ease;
        text-align: center;
        line-height: 2;
        overflow: visible;
        /* Muy importante para que la imagen no se corte */
    }

    .card p {
        font-family: "Raleway", Sans-serif;

        padding-inline: 30px;

    }

    .card span {

        font-family: "Raleway", Sans-serif;
        font-weight: bold;
        font-size: 20px;
        padding-bottom: 20px;

    }

    .card.active {
        opacity: 1;
        transform: scale(1);
    }

    .track {
        cursor: grab;
    }

    .track:active {
        cursor: grabbing;
    }

    .index_carousel_responsive {
        display: none;
    }

    .index_div3_mobile {
        display: none;
    }

}


@media (max-width: 426px) {
    .method-div2-1-1-img {
        display: none;
    }

    .method-div2-1 {
        background: none;
    }
}

@media (max-width: 342px) {


    .method-div2-2-title span {
        font-size: 29px;
        padding: 0 !important;
    }

    .index_div4 {
        background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
            url("../img/index_div4_background.png");
        background-position: center top;
        /* se asegura que comience desde arriba */
        background-size: cover;
        /* cubre todo el contenedor */
        background-repeat: no-repeat;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 40px;

    }

    .index_div4_title {
        font-size: 30px;
        display: flex;
        justify-content: center;
        font-family: "Conthrax", Sans-serif;
        color: white;
        padding-top: 100px;

    }

    .method-div3-1 {
        text-align: center;
        display: flex;
        align-self: center;
        padding: 0;

    }


    .testimonials {
        padding: 50px 0;
    }

    .index_carousel2 {
        position: relative;
        display: flex;
        justify-content: center;
        /* centra el track horizontalmente */
    }


    .track {
        display: flex;
        width: max-content;
        margin: 0 auto;
        /* centra el track horizontalmente */
    }

    .index_card {
        position: relative;
        /* referencia para el hijo absoluto */
        max-width: 200px;
        width: auto;
        height: auto;
        padding: 10px 40px;
        border-radius: 20px;
        background: rgba(13, 45, 75, 0.85);
        color: #fff;
        opacity: 0.4;
        transform: scale(0.9);
        transition: all 0.5s ease;
        text-align: center;
        line-height: 2;
        overflow: visible;
        /* Muy importante para que la imagen no se corte */
    }

    .method_testimonials {
        overflow: visible;
        padding: 0;
    }


    .method_track {
        display: flex;
        /* 👈 CLAVE */
        will-change: transform;
        overflow: visible;

    }

    .method_card {
        border-radius: 15px;
        /* borde redondeado */
        overflow: hidden;
        /* recorta todo lo que sobresalga */
        width: 50px;
        /* ancho deseado */
        display: flex;
        justify-content: center;
        /* centra la imagen horizontal */
        align-items: center;
        /* centra la imagen vertical */
        /* opcional, solo para ver el div */
    }

    .method_card img {
        width: auto;
        /* ancho automático */
        height: 200px;
        /* que ocupe todo el alto del div */
        max-width: 100%;
        /* no sobrepasar el ancho del div */
        object-fit: cover;
        /* recorta la imagen si hace falta */
        display: block;
        border-radius: 0;
        border-radius: 25px;
        /* NO redondear la imagen, el div lo recorta */
    }

   

}