/* El relleno y el borde caben dentro del ancho declarado, en lugar de sumarse
   a él. Sin esto, un bloque al 100% con 30px de relleno a cada lado mide 60px
   más que su contenedor y se sale de la pantalla: era el caso del título de
   «nosotros» y de los filtros del calendario. */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
html {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
}



/* La navegación superior (menú, desplegables, cuenta, hamburguesa)
   vive ahora en css/navigation.css, una sola vez para todo el sitio. */

.search-container input[type="search"] {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 16px;
    width: 745px;


}


div i {
    margin-top: 15px;
    margin-left: 10px;
}

span {
    text-decoration: none;

}


/* fechas/cursos */




.disponibles {
    padding-top: 20px;
    display: flex;
    justify-content: center;

}

.search-container {
    display: flex;
    align-items: center;
    gap: 15px;
}



.courses {
    flex-wrap: wrap;
    justify-items: center;
    display: flex;
    margin-inline: 20px;


}

.blue-course {
    background-color: rgb(249, 249, 249);
    display: flex;
    color: rgb(54, 54, 54);
    padding: 20px;
    border-radius: 5px;
    justify-content: center;
    width: auto;
    height: auto;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    justify-content: left;
    border-left: 7px solid #3dbaeb;


}

.blue-course>div {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;

}

.blue-course img {
    width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: contain;
    /* muestra toda la imagen dentro del contenedor */
    display: block;


}

.course-info {

    --am-font-family: Amelia Roboto, sans-serif;
    gap: 2px;
    flex-direction: column;
    display: flex;
}


.price {
    font-weight: bold;
    text-align: center;
    display: flex;
    flex-direction: column;

    /* 🔹 Uno debajo del otro */
    gap: 10px;

}

/* pop-up course info */

/* Estilos originales adaptados al pop-up */
.popup-content .popup-blue-course {
    display: flex;
    background-color: rgb(249, 249, 249);
    padding: 15px;
    border-radius: 5px;
    width: 90%;
    gap: 10px;
    margin: 10px auto;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);

}

.popup-content .popup-blue-course img {
    width: 120px;
    height: 90px;
    object-fit: cover;
    border-radius: 5px;
}

.popup-content .popup-course-info {
    display: flex;
    justify-content: space-between;
    flex: 1;
    gap: 10px;
}


.popup-content .popup-course-info .details p {
    margin: 2px 0;
}

.popup-content .popup-course-info .price {
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.popup-content .horarios {
    margin-top: 10px;
    padding-top: 10px;
    /* espacio entre contenido y la línea */
    border-top: 1px solid #ccc;
    /* línea divisoria */
    text-align: left;
    font-size: 14px;
    color: #333;
}

.details {
    justify-content: center;
    text-align: center;
    align-items: center;
}



.inscripcion {
    border-radius: 20px;
    display: flex;
    align-items: center;
    background-color: #39b3f9;
    color: white;
    border: none;
    padding: 8px 18px;
    width: auto;
    transition:
        background-color 0.3s ease,
        transform 0.2s ease,
        box-shadow 0.3s ease;


}

.inscripcion:hover {
    background-color: #2aa7d9;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(61, 186, 235, 0.4);
}

.popup {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1000;

    justify-content: center;
    align-items: center;
    pointer-events: all;

    animation: fadeIn 0.25s ease-out;
}

.popup-content {
    background: #ffffff;
    padding: 30px 35px;
    border-radius: 16px;
    text-align: left;
    min-width: 300px;
    max-width: 420px;
    width: 90%;
    color: #222;

    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.18);
    transform: translateY(-10px);
    animation: slideUp 0.3s ease forwards;

    font-family: "Inter", sans-serif;
}

.popup-content h2 {
    margin: 0 0 12px;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}

.popup-content p {
    margin: 6px 0;
    font-size: 15px;
    line-height: 1.4;
    color: #444;
}

.popup-content button {
    padding: 10px 18px;
    background: rgb(57, 179, 249);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    color: white;
    margin-top: 18px;
    transition: 0.2s;
}

.popup-content button:hover {
    background: #008ad4;
    transform: translateY(-2px);
}

/* Animaciones */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.popup-content .close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 20px;
    cursor: pointer;
}

#popup-accept {
    margin-top: 15px;
    padding: 8px 15px;
    border: none;
    border-radius: 5px;
    background-color: #39b3f9;
    color: white;
    cursor: pointer;
}

#popup-close {
    margin-top: 15px;
    padding: 8px 15px;
    border: 1px solid grey;
    border-radius: 5px;
    background-color: white;
    color: black;
    cursor: pointer;
}

.acccan {
    justify-content: right;
    display: flex;
    gap: 20px;
    color: white;
}


/* Segundo pop-up: formulario */
#popup-form {
    display: none;
    /* oculto por defecto */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1001;
    /* encima del primer pop-up */

}

#popup-form .popup-content {
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 10px;
    width: 400px;
    max-width: 90%;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    position: relative;
}

#popup-form h2 {
    margin: 0;
    font-size: 20px;
    font-weight: bold;
}

#popup-form input {
    padding: 10px 12px;
    border-radius: 5px;
    border: 1px solid #ccc;
    width: 100%;
    font-size: 14px;
    box-sizing: border-box;
}

#popup-form button {
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}

#form-submit {
    background-color: #39b3f9;
    color: white;
}

#form-cancel {
    background-color: #e0e0e0;
    color: #333;
}

#popup-form button+button {
    margin-left: 10px;
}

/* Botones alineados a la derecha */
#popup-form .popup-content button {
    align-self: flex-end;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


.popup-confirm {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.popup-confirm .popup-content {
    background: white;
    padding: 30px 40px;
    border-radius: 10px;
    text-align: center;
}

#popup-confirm-close {
    margin-top: 20px;
    padding: 10px 20px;
    background: #2d89ff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}


.popup,
#popup-form2,
#popup-pago {
    animation: fadeIn 0.3s ease;
}



.carousel {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 15px auto;
    overflow: hidden;
    border-radius: 10px;
}

.carousel-inner {
    display: flex;
    transition: transform 0.3s ease;
}

.carousel-inner img {
    width: 100%;
    flex-shrink: 0;
    object-fit: cover;
}

.carousel button.prev,
.carousel button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 5px;
}

.carousel button.prev {
    left: 10px;
}

.carousel button.next {
    right: 10px;
}

/* ===== Estilos exclusivos del formulario ===== */

.form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 235px;
}

label {
    font-weight: 500;
    margin-bottom: 5px;
    color: #333;
}

label span {
    color: #e53935;
}

input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.2s;
}

input:focus {
    border-color: #007bff;
    outline: none;
}

.buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 25px;
}

button {
    padding: 10px 18px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
}

/* Botón "Cerrar" */
.cerrar {
    background: #f1f1f1;
    color: #333;
}

.cerrar:hover {
    background: #e2e2e2;
}

/* Botón "Continuar" */
.continuar {
    background: #2196f3;
    color: white;
}

.continuar:hover {
    background: #1976d2;
}

/* header */


.book {

    background-color: #123352;
    padding: 15px;
    text-align: left;
    display: flex;
    align-items: center;
    height: 60px;
    /* altura fija */
    margin-bottom: 20px;

}

.book img {
    width: 90px;
    height: auto;
    position: relative;
    margin-left: 15%;
    margin-bottom: -20px;
    padding-top: 10px;
    padding-inline: 20px;
}

.book-title {
    color: #ffffff;
    font-size: 23px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 0;
    padding-bottom: 0;
    display: inline-block;
}

.book-subtitle {
    color: #ffffff;
    font-size: 13px;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 250;
}

.book button {
    width: 150px;
    font-size: 13px;
    font-weight: 250;
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    color: rgb(109, 206, 255);
    text-decoration: none;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    display: inline-block;
    margin-left: 200px;
}

.book_mobile {
    display: none;
}

/* book.php */


.book-div1 {
    display: flex;
    padding-top: 1%;
    background-image: url("../img/emeb-slider-master-unior-bike.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.book_texts {
    display: flex;
    flex-direction: column;
}

.book-div2 {
    gap: 20px;
    display: flex;
    padding-inline: 200px;

}

.book-div2-text1 {
    font-family: "Conthrax", Sans-serif;
    font-size: 71px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.2em;
    color: #4a4b4b;
    align-items: center;
    display: flex;
    justify-content: center;
    text-align: center;

}

.book-div2-text2 {

    position: static;
    font-family: "Raleway", Sans-serif;
    font-size: 46px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: .2px;
    color: #222;
    font-weight: 100;
    display: flex;
    flex-direction: column;
    padding-inline: 20px;
    padding-bottom: 60px;
    padding-top: 60px;
    text-align: center;
    align-items: center;
    box-shadow: 0px 16px 31px -8px rgba(0, 0, 0, .33);
    background-color: white;


}


.book-div2-text2-div-img {
    display: flex;
    justify-content: center;
}

.book-div2-text2-img {
    max-width: 50%;
    height: auto;

}

.book-div2-text2-button {
    background-color: #38b5ff;
    font-family: "Raleway", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 1px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
    fill: #fff;
    color: #fff;
    border-radius: 0;
    padding-inline: 1px;
    height: 50px;
    width: 160px;
    text-align: center;
    transition: background-color 0.5s ease, opacity 0.5s ease;

}

.book-div2-text2-button:hover {
    background-color: #092e6b;
    opacity: 0.8;
    /* 🔹 Esto crea el efecto fade */
    /* Duración y suavizado */


}

.book-img {
    width: 80%;
    height: 80%;
    position: static;

}

.book-div-img {
    position: fixed;
    display: block;

}


/* footer */
.footer {
    font-family: "Conthrax", Sans-serif;
    font-size: 35px;
    font-weight: 400;
    line-height: 1.2em;
    color: #a4a4a4;
    align-items: center;
    display: flex;
    justify-content: center;
    margin-top: 50px;
    width: auto;

}

.footer_wrapper {
    display: flex;
    /* no inline-flex */
    justify-content: center;
    /* centra horizontalmente */
    align-items: center;
    /* centra verticalmente la imagen extra */
    gap: 70px;
    /* espacio entre grid y imagen extra */
    width: auto;
    /* opcional, para ocupar todo el ancho */
    padding-inline: 0;
    padding-top: 50px;
}

.certificado_img {
    width: 150px !important;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.7;

    /* muestra toda la imagen dentro del contenedor */

}

.footer_img {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3 columnas */
    grid-template-rows: repeat(2, auto);
    /* 2 filas */
    gap: 70px;
    row-gap: 70px;
    justify-items: center;
    align-items: center;
}



.footer_img img {
    max-width: 150px;
    max-height: 400px;
    border-radius: 5px;
    /* muestra toda la imagen dentro del contenedor */
    position: relative;
    display: block;
    filter: grayscale(100%);
    opacity: 0.7;

}

.footer_img img[alt="unior_icon"] {
    height: auto;
    width: 500px;
}

.footer_img img[alt="shimano_icon"] {
    height: auto;
    width: 500px;
}

.footer_img2 img {
    width: 200px;
    height: auto;
    border-radius: 5px;
    /* muestra toda la imagen dentro del contenedor */
    position: relative;
    display: block;
}

.footer_img img,
.footer_img2 img {
    transition: filter 0.3s ease, opacity 0.3s ease;
}

.footer_img img:hover,
.footer_img2 img:hover,
.certificado_img:hover {
    filter: grayscale(0%);
    opacity: 1;
}


.footer_info {
    margin-top: 50px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 300px;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    background-color: #113453;
    padding-top: 40px;
    padding-bottom: 40px;

}


.footer_telf_titles {
    display: flex;
    gap: 20px;
    color: white !important;
}

.footer_telf_titles_mobile {
    display: none;
}


.footer_telf_telf a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.footer_mail a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.footer_address a {
    color: white !important;
    text-decoration: none;
    font-family: "Raleway", Sans-serif;


}

.line {
    background-color: #bfbfbf;
    margin: 20px 0;
    width: 100%;
    height: 2px;
}

.footer_info_mobile {
    display: none;
}


.footer_finalfooter {
    font-family: "Raleway", Sans-serif;
    font-weight: 300;
    color: #c5c5c5;
    font-size: 5px;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    width: 100%;
    gap: 100px;
    padding: 0;
    margin-bottom: 20px;
}

.footer_copyright {
    text-align: left;
    display: inline-flex;
    align-items: center;
}

.footer_media {
    text-align: center;
    display: inline-flex;
    width: auto;
    align-items: center;


}

.social a {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #a4a4a4;
    border-radius: 50%;
    color: #c5c5c5;
    text-decoration: none;
    margin: 0 8px;
}

/* 🔥 CLAVE REAL */
.social i {
    font-size: 14px;
    line-height: 1;
    /* evita que se vaya abajo */
    display: block;
    /* elimina alineación inline */
}


.social_facebook:hover {
    color: rgb(3, 87, 139);
    text-decoration: none;
}

.social_twitter:hover {
    color: black;
    text-decoration: none;
}

.social_instagram:hover {
    color: rgb(249, 165, 179);
    text-decoration: none;
}

.social_pinterest:hover {
    color: red;
    text-decoration: none;
}



.footer_copyright span {
    color: #c5c5c5;
    text-decoration: none;
    font-size: 12px;
}

.footer_privacy {
    text-align: right;
    display: inline-flex;
    align-items: center;

}

.footer_privacy span {
    color: #c5c5c5;
    text-decoration: none;
    font-size: 12px;
}

.pablo_footer {
    color: white;
    text-align: center;
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    background-color: #113453;
    display: inline-flex;
    width: auto;
    width: 100%;
    height: 50px;
    justify-content: center;
    font-family: "Raleway", Sans-serif;
    gap: 50px;
    padding-bottom: 0;
    margin-bottom: 0;

}

/* Tamaño general de los iconos del footer */
.pablo_footer_media .pablo_social i {
    font-size: 28px;
    /* tamaño grande */
    color: #ffffff;
    /* azul corporativo */
    transition: transform 0.2s ease;
}

.pablo_footer_media .pablo_social a {
    text-decoration: none;
    /* quita subrayado */
    outline: none;
    /* quita borde de foco */
}

/* Efecto hover: pequeño zoom */
.pablo_footer_media .pablo_social a:hover i {
    transform: scale(1.2);
    /* aumenta un 20% al pasar el cursor */

}

.pablo_footer_media .pablo_social_email i {
    font-size: 28px;
    transition: transform 0.2s ease;
}

.pablo_footer_media .pablo_social_email:hover i {
    transform: scale(1.2);
    cursor: pointer;
}


/* index.php */



.index-background {
    background-image: 
        linear-gradient(to bottom, rgba(10, 30, 50, 0.75) 0%, rgba(10, 30, 50, 0.45) 50%, rgba(10, 30, 50, 0) 100%), /* Enhanced top dark vignette for optimal navbar contrast */
        linear-gradient(to right, rgba(13, 45, 75, 0.1) 20%, rgba(13, 45, 75, 0.45) 60%, rgba(10, 30, 50, 0.82) 100%), /* Hero text side vignette */
        url("../img/emeb-hero.png");
    background-position: center top;
    /* se asegura que comience desde arriba */
    background-size: cover;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100vh;
    padding-top: 0;
    /* sin espacio arriba */
    margin-top: -20px;
    /* sin margen */
    z-index: -1;

}


.index_text1 {
    color: white;
    font-family: "Conthrax", Sans-serif;
    font-size: 50px;
    text-align: right;
    padding-right: 100px;
    padding-top: 160px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.4), 0 2px 4px rgba(13, 45, 75, 0.5);
}


.index_text2 {
    color: white;
    font-size: 24px;
    text-align: right;
    padding-right: 130px;
    font-weight: 600; /* Increased for better legibility */
    font-family: "Raleway", Sans-serif;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 4px 12px rgba(0, 0, 0, 0.5);

}

.index_text3 {
    color: white;
    font-size: 17px; /* Increased from 16px */
    text-align: right;
    padding-right: 100px;
    padding-left: 60%;
    line-height: 1.7;
    font-weight: 600; /* Increased from 510 */
    font-family: "Raleway", Sans-serif;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 4px 15px rgba(0, 0, 0, 0.7); /* Powerful dual-layer shadow */


}

.index_text4 {
    font-size: 18px;
    text-align: right;
    padding-right: 100px;
    padding-left: 60%;
    line-height: 1.7;


}

.index_text4_button {
    color: rgb(255, 255, 255);
    background-color: #2cbeed; /* Brighter, high-contrast brand cyan */
    letter-spacing: 1.5px;
    border-radius: 30px; /* Rounded pill shape */
    padding: 12px 32px; /* Perfect spacing */
    width: auto;
    height: auto;
    border: none;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(44, 190, 237, 0.4);
    cursor: pointer;
    margin-bottom: 100px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

}

.index_text4_button:hover {
    color: rgb(255, 255, 255);
    background-color: #1ab0e0;
    box-shadow: 0 8px 25px rgba(44, 190, 237, 0.6), 0 0 10px rgba(44, 190, 237, 0.2);
    border-radius: 30px;
    transform: translateY(-2px) scale(1.04);

}

.index-div2 {

    display: flex;
    min-height: 100vh;
    padding-bottom: 50px;
    /* cambia height:120vh por esto */
    background: linear-gradient(to bottom,
            #ffffff 0%,
            /* blanco hasta cierto punto */
            #ffffff 500px,
            /* todavía blanco hasta 200px desde arriba */
            #fbfbfb 800px,
            #fafafa 1000px,
            /* empieza el degradado desde 200px */
            #f7f7f7 100%
            /* hasta abajo */
        );
}

.index-div2 img {
    max-width: 100%;
    height: auto;
}

.index-div2-div1 {
    width: 350px;
    height: 150px;
    background-color: #123352;
    border-radius: 15px;
    padding: 40px 0 40px 20px;
    position: relative;
    display: block;
    z-index: 3;
    margin-top: 230px;
}

.index-div2-div2 {
    border-radius: 30px;
    padding: 40px 0 40px 40px;
    position: relative;
    z-index: 2;
    margin-top: 330px;
    margin-left: -250px;

}



.index-div2-div3 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    position: relative;
    z-index: 1;
    margin-left: -270px;

}

.index-div2-div2 img,
.index-div2-div3 img {
    width: 400px;
    height: auto;
    border-radius: 20px;
}

.left_index_mobile {
    display: none;
}

.left_index {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: nowrap;
    /* nunca pasa a columna */
    width: 50%;
    box-sizing: border-box;
    padding-left: 50px;
}

.right {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    /* nunca pasa a columna */
    width: 50%;
    box-sizing: border-box;
    justify-content: center;
}




/* Tarjetas internas */
.index-div2-div4-div1-div1,
.index-div2-div4-div1-div2,
.index-div2-div4-div1-div3,
.index-div2-div4-div2-div1,
.index-div2-div4-div2-div2,
.index-div2-div4-div2-div3 {
    width: 100%;
    height: auto;
    min-height: 180px;
    height: 270px;
    max-width: 270px;

}




.index-div2-div1-div1 {

    /* vacio por ahora */

}

.index-div2-div1-div2 {

    border-radius: 15px;
    line-height: 1.5;
    /* 1.5 veces la altura de la fuente */

}


.index-div2-span1 {

    color: white;
    height: 300px;
    font-family: "Conthrax", Sans-serif;
    font-size: 30px;
}

.index-div2-span2 {

    font-size: 15px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;

}

/* columna1 */

.index-div2-div4-div1 {
    padding-top: 40px;
    padding-left: 80px;

}

.index-div2-div4-div1 {
    flex: 1 1 0;
    max-width: 49%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.index-div2-div4-div2 {
    flex: 1 1 0;
    max-width: 49%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 60px;
    /* aquí bajas la segunda columna */
}


.index-div2-div4-div1-div1 {
    background-color: #f5f5f5;
    border-radius: 20px;
    padding-left: 15px;


}

.index-div2-div4-div1-div1-img {
    display: block;
    position: relative;
    margin-left: 30px;
    margin-top: 40px;
    margin-bottom: 20px;
    height: auto;
}

.index-div2-div4-div1-div1-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

.index-div2-div4-div1-div2 {
    background-color: #123352;

    border-radius: 20px;
    padding-left: 15px;

}


.index-div2-div4-div1-div2-span {
    color: white;
    position: relative;
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    width: 80%;
    margin-left: 20px;
    letter-spacing: 1.5;
    margin-top: 60px;
    line-height: 1.7;
}

.index-div2-div4-div1-div3 {
    background-color: #f5f5f5;

    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div1-div3-img {
    display: block;
    position: relative;
    margin-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 50px;
    height: auto;
}

.index-div2-div4-div1-div3-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

/* columna2 */


.index-div2-div4-div2 {
    padding-top: 165px;
}

.index-div2-div4-div2-div1 {
    background-color: #f5f5f5;
    max-width: 270px;
    height: 250px;
    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div2-div1-img {
    display: block;
    position: relative;
    margin-left: 30px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 65px;
}

.index-div2-div4-div2-div1-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 70%;
    margin-left: 20px;
}

.index-div2-div4-div2-div2 {
    background-color: #f5f5f5;
    width: 270px;
    height: 250px;
    border-radius: 20px;
    padding-left: 15px;

}

.index-div2-div4-div2-div2-img {
    display: block;
    position: relative;
    margin-left: 20px;
    margin-top: 40px;
    margin-bottom: 20px;
    width: 50px;
}

.index-div2-div4-div2-div2-span {
    display: block;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    width: 80%;
    margin-left: 20px;
}

.index-div2-div4-div3 {
    display: flex;
    position: relative;
    text-align: center;
    width: 270px;
    /* Los 270px son fijos: sin este tope se salía de un contenedor más
       estrecho que él en cuanto la pantalla se reducía. */
    max-width: 100%;
    justify-content: center;
}

.index-div2-div4-div3-div1-button {
    color: rgb(255, 255, 255);
    width: 180px;
    background-color: #3dbaeb;
    border-radius: 20px;
    font-weight: 600;

    margin-top: 70px;
    padding: 15px 10px;
    letter-spacing: 1.5px;

    transition:
        transform 0.25s ease,
        background-color 0.25s ease,
        border-radius 0.25s ease;

}

.index-div2-div4-div3-div1-button:hover {
    color: rgb(255, 255, 255);
    background-color: #3dbaeb;
    border-radius: 25px;
    transform: scale(1.08);
    /* crecimiento proporcional */

}



.index_titulos_contadores {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 200px;
    font-size: 14px;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #2536b4;
    margin-top: 50px;
    margin-bottom: -120px;
    ;
}

.index_titulo1_contadores {
    display: flex;
    z-index: 2;

}

.index_titulo2_contadores {
    display: flex;
    z-index: 2;
}

.index_titulo3_contadores {
    display: flex;
    z-index: 2;
}

.index_titulo4_contadores {
    display: flex;
    z-index: 2;
}

/* Contador-----------------------------------------------------------------------------------------------------------------------------------------*/


.index_contadores {
    display: flex;
    justify-content: center;
    /* todo centrado */
    align-items: center;
    padding-inline: 150px;
    gap: 70px;
    /* espacio entre grupos */
    font-size: 90px;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #dcdcdc;
    background-color: white;
    margin-top: 50px;
    z-index: 1;
    padding-bottom: 50px;

}

/* Cada número y su separador se agrupa */
.contador-group {
    display: flex;
    align-items: center;
    gap: 40px;
    /* espacio entre número y separador */
    z-index: 1;

}

/* Números fijos para que los separadores no se muevan */
.purecounter {
    display: inline-block;
    width: 4ch;
    /* ancho basado en caracteres */
    text-align: center;
    z-index: 1;

}

/* Separadores cortos */
.separator {
    width: 2px;
    height: 0.8em;
    background-color: #ccc;
    align-self: center;
    z-index: 1;

}

/* Seción 3 index.php------------------------------------------------------------------------------------------------------------------------------------ */

/* ================= GENERAL ================= */
.index_div3 {
    background-image: url("../img/index_3_background.png");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 50px 0 30px 0;
}

.index_div3_texts {
    text-align: center;
    margin-bottom: 30px;
}

.carousel_container a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

.index-div3-title {
    font-family: "Conthrax", Sans-serif;
    color: white;
    font-size: 30px;
    user-select: none;
}

.index-div3-subtitle {
    font-family: "Raleway", Sans-serif;
    color: white;
    font-size: 16px;
    line-height: 2em;
    padding: 0 20px;
    user-select: none;
}

/* ================= CAROUSEL ================= */
.carousel_container {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.carousel_track {
    display: flex;
    transition: transform 0.5s ease;
    cursor: grab;
}

/* Cada slide completa */
.carousel_slide {
    min-width: 100%;
}

/* Bloque de items dentro de cada slide */
.index_carousel_items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 110px;
    padding-top: 20px;
}

/* Contenedor de imagen + texto */
.index_carousel_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    user-select: none;
}

/* Imagen */
.index_carousel_item img {
    height: 300px;
    width: 290px;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.4s ease, filter 0.4s ease;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: auto;
}

/* Texto */
.index_carousel_span {
    width: 270px;
    background-color: white;
    border-radius: 25px;
    padding: 50px 30px;
    text-align: center;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    line-height: 1.6;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    user-select: none;
    margin-top: -30px;
}

/* Hover animado */
.index_carousel_item:hover img {
    transform: scale(1.05);
    filter: brightness(1.1);
}

.index_carousel_item:hover .index_carousel_span {
    transform: translateY(-10px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}

/* Títulos y textos */
.index3_carousel_title {
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 22px;
    color: black;
    display: block;
    text-align: center;
    user-select: none;
}

.index3_carousel_subtitle {
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    font-size: 20px;
    color: #3dbaeb;
    text-align: center;
    display: block;
    margin-top: 5px;
    user-select: none;
}

.index3_carousel_text {
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    color: #c5c5c5;
    margin-top: 10px;
    user-select: none;
}

/* ================= DOTS ================= */
.carousel_dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    z-index: 1000;
}

.carousel_dot {
    width: 12px;
    height: 12px;
    background: #c5c5c5;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

.carousel_dot.active {
    background: #3dbaeb;
    transform: scale(1.2);
}

/* ================= BOTONES ================= */
.carousel_btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background: white;
    border: none;
    font-size: 25px;
    padding: 15px 20px;
    cursor: pointer;
    border-radius: 12px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    z-index: 100;
}




/* Contenedor de imagen + texto */
.index_carousel_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Imagen: efecto hover */
.index_carousel_item img {
    height: 300px;
    width: 290px;
    object-fit: cover;
    border-radius: 15px;
    transition: transform 0.4s ease, filter 0.4s ease;
    z-index: 2;
    pointer-events: auto;
    /* permitimos hover */
    overflow: hidden;
}

/* Texto: efecto hover */
.index_carousel_item .index_carousel_span {
    transition: transform 0.4s ease, color 0.4s ease, box-shadow 0.4s ease;
}

/* Animación al pasar el cursor por el contenedor completo */
.index_carousel_item:hover img {
    transform: scale(1.05) translateY(-5px);
    filter: brightness(1.05);
    transition: transform 0.3s ease, filter 0.3s ease;
}

.index_carousel_item:hover .index_carousel_span {
    transform: translateY(-10px);
    /* sube el texto ligeramente */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3);
}



/* Seción 4 index.php------------------------------------------------------------------------------------------------------------------------------------ */




.index_div4 {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    /* importante para que no se salga el blur */
}

.index_div4::before {
    content: "";
    position: absolute;
    inset: 0;

    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        url("../img/emeb-cursos\ copia.png");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;

    filter: blur(6px);
    /* ajusta aquí la intensidad */
    transform: scale(1.05);
    /* evita bordes raros al hacer blur */
    z-index: 0;
}

/* contenido por encima */
.index_div4>* {
    position: relative;
    z-index: 1;
}

.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 */
    /* Hoy lo recorta un ancestro; se declara aquí para que el carrusel no
       dependa de dónde esté colocado. */
    overflow: hidden;
}


.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;
    cursor: pointer;
    /* 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);
}

.author {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    position: absolute;
    left: 50%;
    bottom: calc(-1 * 41px);
    transform: translateX(-50%);
}

.author img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0;
    z-index: 10;
}

.track {
    cursor: grab;
}

.track:active {
    cursor: grabbing;
}

.index_carousel_responsive {
    display: none;
}

.index_div3_mobile {
    display: none;
}

.index-programs-all {
    margin-top: 36px;
    display: flex;
    justify-content: center;
}

.index-programs-all a {
    padding: 14px 24px;
    border: 1px solid #2cbeed;
    border-radius: 999px;
    background: #2cbeed;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.index-programs-all a:hover {
    background: #113453;
    color: #fff;
    transform: translateY(-2px);
}



/* Método emeb div1------------------------------------------------------------------------------------------------------------------------------------ */

.method-div2 {

    display: flex;
    height: auto;
    background-color: white;
    flex-wrap: wrap;
    border-radius: 30px;
    padding-top: 30px;
    padding-bottom: 60px;

}


.method-div2-1 {
    width: 35%;
    background-image: url("../img/method_div1_img1.png");
    background-size: cover;
    background-position: center;
    /* 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;
    border-radius: 30px;
    overflow: hidden;
    background-clip: padding-box;
}

.method-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
}


.method-div2-1-1 {

    width: 100%;
    max-width: 340px;
    box-sizing: border-box;
    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 {
    display: block;
    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 0;
    text-align: center;
}

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

}

.method-div2-1-1-img img {
    display: flex;
    border-radius: 25px;
    width: 100%;
    max-width: 450px;
    height: auto;

}

.method-div2-2 {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 130px;
    padding-left: 35px;

}

.method-div2-2-subtitle {
    color: #c5c5c5;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    font-weight: bold;
    justify-content: flex-start;
}

.method-div2-2-title {
    color: #c5c5c5;
    font-family: "Conthrax", Sans-serif;
    font-size: 45px;
    padding-bottom: 35px;

}

.method-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    padding-right: 160px;
    line-height: 2.3;
    font-size: 15px
}


/* Sección 2 */


.method-div3 {
    height: auto;
    background-color: rgb(240, 240, 240);
    padding-top: 70px;
    margin-bottom: 100px;
    padding-bottom: 60px;
}

.method-div3-1 {
    font-family: "Conthrax", Sans-serif;
    font-size: 40px;
    color: #123352;
    padding-left: 100px;

}

.method-div3-timeline {
    padding-top: 50px;
}

/* Sección 3 */




.method_div4 {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
}



.method_testimonials {
    padding: 50px 0;
    /* El contenedor es una columna centrada, así que sin fijar el ancho esta
       sección se estiraba hasta el de su contenido —las tarjetas miden 750px—
       y acababa midiendo 1080px dentro de una pantalla de 390. */
    width: 100%;
}

.method_carousel2 {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    /* Las tarjetas se desplazan dentro del carrusel; sin recortarlas aquí
       empujaban la página entera. */
    overflow: hidden;
}

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


.method_card {
    position: relative;
    /* referencia para el hijo absoluto */
    min-width: 360px;
    width: 750px;
    height: 500px;
    border-radius: 30px;
    color: #fff;
    opacity: 0.4;
    transform: scale(0.9);
    transition: all 0.5s ease;
    text-align: center;
    line-height: 2;
    overflow: hidden;
    /* Muy importante para que la imagen no se corte */
}

.method_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    /* 🔥 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 {
    font-family: "Raleway", Sans-serif;
    padding-inline: 30px;
}

.method_card span {

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

}

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

.method_track {
    cursor: grab;
}

.method_track:active {
    cursor: grabbing;
}

.method_carousel_p {
    position: relative;
    font-size: 14px;
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    padding-inline: 410px;
    justify-content: center;
    line-height: 2;
    margin-bottom: 100px;
}



/* Cursos -------------------------------------------------------------------------------------------------------------------------------------*/

.cursos-section2 {
    background: linear-gradient(to bottom,
            #f5f5f5 0%,
            /* blanco hasta cierto punto */
            #fcfcfc 20%,

            #fafafa 100%
            /* hasta abajo */
        );
    padding-bottom: 30px;
}

.cursos-div2 {
    display: flex;
    /* La imagen y el texto iban en una fila que nunca se rompía: por debajo de
       la anchura de un portátil el texto se salía de la pantalla. */
    flex-wrap: wrap;
    height: auto;
    background-color: white;
}


.cursos-div2-1 {
    width: 47%;
    background-image: url("../img/image.png");
    background-size: 650px auto;
    /* cubre todo el contenedor */
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    /* 👈 ESTO */
    padding-left: 130px;
    padding-bottom: 70px;
    padding-top: 0;
}




.cursos-div2-1-1 {

    width: 340px;
    height: 160px;
    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;


}

.cursos-div2-1-1-span {

    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 20px;
}

.cursos-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
    padding-top: 85px;
}

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

}

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

}

.cursos-div2-2 {
    display: flex;
    flex-direction: column;
    /* apila subtitle, title y textos */
    align-items: center;
    /* centra todo horizontalmente */
    text-align: center;
    /* centra el texto dentro de cada bloque */
    padding: 20px;
    max-width: 900px;
    /* opcional: limita ancho en pantallas grandes */
    margin: 0 auto;
    /* centra el contenedor en la página */
}

.cursos-div2-2-subtitle {
    color: #c5c5c5;
    font-family: "Raleway", Sans-serif;
    font-size: 14px;
    font-weight: bold;
    justify-content: flex-start;
}

.cursos-div2-2-title {
    color: #c5c5c5;
    font-family: "Conthrax", Sans-serif;
    font-size: clamp(24px, 5vw, 45px);
    padding-bottom: 35px;
}



.cursos-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    line-height: 2.3;
    padding-inline: 40px;
    font-size: 15px
}



.cursos-div3 {
    padding-top: 0;
    margin-top: 0;
}




.cursos-div3-1 {
    display: grid;

    /* Exactamente 2 columnas, mínimo 180px, máximo que ocupe la fracción disponible */
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 60px 130px;
    /* separación vertical y horizontal */
    width: 90%;
    /* ocupa ancho disponible */
    max-width: 1000px;
    /* evita que las columnas crezcan demasiado */
    margin: 0 auto;
    /* centra el grid */
    padding: 0 clamp(15px, 4vw, 40px);
    justify-content: center;
    margin-bottom: 50px;
    margin-top: 70px;


}

.cursos-div3-title {
    font-family: "Conthrax", Sans-serif;

    /* Fuente adaptable: nunca menor de 2rem, crece con la pantalla, máximo 3rem */
    font-size: clamp(2rem, 5vw, 3rem);

    color: #a6a6a6;

    /* Centrado horizontal */
    display: flex;
    justify-content: center;

    /* Centrado vertical (si quieres también centrar con altura disponible) */
    align-items: center;

    padding-top: clamp(20px, 5vw, 50px);
    /* padding que también se adapta */
    margin-bottom: clamp(15px, 4vw, 20px);
    /* margen adaptable */

    text-align: center;
    /* asegura que texto multilínea se centre */
}

.cursos-div3-1 a {
    text-decoration: none;
    color: inherit;
    display: block;

    align-items: center;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    text-align: center;
    overflow: visible;

}

/* Contenedor principal (ya lo tienes) */
.cursos-div3-1-grids {
    align-items: center;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    text-align: center;
    overflow: visible;
    width: auto;
}


/* Animación del texto al hacer hover sobre el contenedor */
.cursos-div3-1-grids:hover .cursos-div3-1-grids-texts {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;

}

/* Animación de la imagen al hacer hover sobre el contenedor */
.cursos-div3-1-grids:hover img {
    transform: scale(1.05) translateY(-5px);
    filter: brightness(1.05);
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Estilos base para texto e imagen */
.cursos-div3-1-grids-texts {
    width: 100%;
    /* ❌ fuera 570px */
    padding: clamp(20px, 4vw, 40px);
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
    text-align: center;
    margin-top: -20px;
    background: #f1f1f1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1;
}

.cursos-div3-1-grids img {
    width: 100%;
    z-index: 2;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.cursos-div3-1-grids-text1 {
    font-size: clamp(1.1rem, 1.8vw, 1.4rem);
}

.cursos-div3-1-grids-text2 {
    font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.cursos-div3-1-grids-text3 {
    font-size: clamp(0.9rem, 1.2vw, 1rem);
}

.cursos-div3-1-grids-text1 {
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 23px;
    font-weight: bold;
    margin-top: 43px;
}

.cursos-div3-1-grids-text1-bis {
    display: flex;
    font-family: "Raleway", Sans-serif;
    font-size: 23px;
    font-weight: bold;
    margin-top: 43px;
    padding-inline: 80px
}

.cursos-div3-1-grids-text2 {
    display: flex;
    color: rgb(20, 198, 247);
    margin-top: 32px;
    font-size: 21px;
    font-weight: bold;


}

.cursos-div3-1-grids-text2-bis {
    display: flex;
    color: rgb(20, 198, 247);
    margin-top: 13px;
    font-size: 21px;
    font-weight: bold;

}

.cursos-div3-1-grids-text3 {
    margin-top: 21px;
    color: #a1a1a1;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 50px;
    line-height: 2;

    /* font-size adaptable */
    font-size: clamp(12px, 1.5vw, 18px);
}

.cursos-div3-1-grids-text3-bis {
    margin-top: 21px;
    color: #a1a1a1;
    font-size: 14.5px;
    padding-inline: 80px;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 42px;
    line-height: 2;

}


.cursos-div3-1-grids-text4 {

    display: flex;

}




/* QUIENES SOMOS --------------------------------------------------------------------------------------------------*/

.quienes-div2 {

    display: flex;
    height: auto;
    background-color: white;
    flex-wrap: wrap;
    margin-bottom: 100px;

}


.quienes-div2-1 {
    width: 35%;
    background-image: url("../img/method_div1_img1.png");
    background-size: 700px 1700px;
    /* 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;
    border-radius: 30px;
    margin-top: 40px;
}


.quienes-div2-1_2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    padding-right: 50px;
}


.quienes-div2-1-1 {

    width: 340px;
    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;


}

.quienes-div2-1-1-span {

    font-size: 20px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-right: 20px;
    text-align: justify;
}

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

}

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

}

.quienes_div3 {
    display: flex;
    width: 100%;
    height: auto;
    /* opcional */
}

.quienes_izquierda {
    width: 50%;
    justify-content: left;
    padding: 0px 0px 0px 100px;
    margin-top: 130px;


}

.quienes_izquierda_title {
    font-size: 50px;
    color: #c5c5c5;
    line-height: 1;
    margin-bottom: 20px;
    font-family: "Conthrax", Sans-serif;


}

.quienes_derecha {
    width: 50%;
    padding-right: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

.left_quienes {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.quienes-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    padding-right: 60px;
    font-size: 15px;
    display: flex;
    flex-direction: column;
}

.quienes-div2-2-texts {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    line-height: 2.3;
    font-size: 15px;
    display: flex;
}

.quienes-div2-div1 {
    width: auto;
    height: 70px;
    background-color: #123352;
    border-radius: 15px;
    padding: 30px 60px 50px 40px;
    position: relative;
    display: inline-flex;
    /* 👈 clave */
    width: fit-content;
    z-index: 3;
    margin-top: -300px;
    margin-bottom: -100px;
}


.quienes-div2-div1-div1 {
    font-family: "Raleway", Sans-serif;
    width: auto;
    white-space: nowrap;
    height: auto;
    display: flex;
    flex-direction: column;
    color: white;
    font-size: 16px;
    letter-spacing: 1.2;

}


.quienes-div2-div2 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    z-index: 2;
    display: flex;
    width: auto;
    margin-left: auto;

}

.quienes-div2-div2 img {
    max-width: 500px;
    height: auto;
    border-radius: 20px;
    position: relative;
    display: block
}

.quienes-div2-div3 {
    border-radius: 30px;
    padding: 40px 0 40px 20px;
    z-index: 2;

}

.quienes-div2-div3 img {
    max-width: 450px;
    width: 100%;
    height: auto;
    border-radius: 20px;
    position: relative;
    display: block
}



.quienes-div2-div1-div2 {

    padding-left: 10px;
    border-radius: 15px;
    line-height: 1.5;
    /* 1.5 veces la altura de la fuente */

}


.quienes-div2-span1 {

    color: white;
    font-family: "Raleway", Sans-serif;
    font-size: 50px;
    font-weight: bold;
    text-align: center;
}

.quienes-div2-span2 {

    font-size: 15px;
    color: white;
    height: auto;
    font-family: "Raleway", Sans-serif;

}



.quienes2_contenedor {
    display: flex;
    width: 100%;
}

/* Parte izquierda 66% */
.quienes2_left {
    width: 62%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 20px 0 20px 100px;
    box-sizing: border-box;

    /* filas adaptables */
    grid-auto-rows: minmax(200px, auto);
}

/* Contenedor de cada imagen */
.quienes2_item {
    position: relative;
    /* 👈 clave */
    border-radius: 25px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
}

/* Imagen */
.quienes2_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Capa de texto */
.quienes2_overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    color: white;

    /* degradado para que el texto se lea mejor */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}

/* Estilos texto */
.quienes2_overlay h3 {
    margin: 0;
    font-size: 18px;
}

.quienes2_overlay p {
    margin: 5px 0 0 0;
    font-size: 14px;
}


/* Parte derecha 33% */
.quienes2_right {
    width: 38%;
    padding: 40px;
    padding-inline: 80px;
    box-sizing: border-box;
}

.quienes2_right span {
    font-family: "Conthrax", Sans-serif;
    color: #c5c5c5;
    font-size: 50px;


}

.quienes2_right p {
    color: #6f6f6f;
    font-family: "Raleway", Sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 2.3;

}


/* Contenedor principal */
.quienes3_contenedor {
    width: 100%;
    height: auto;
    display: flex;
    /* Divide en columnas */
    background-image: url("../img/quienes3_background.png");
    padding-top: 100px;
    margin-bottom: 100px;
    padding-bottom: 50px;
}

/* Lado izquierdo */
.quienes3_left {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Imagen */
.quienes3_left img {
    max-width: 100%;
    max-height: 100%;
    /* Mantiene proporción */
}

/* Lado derecho */
.quienes3_right {
    width: 50%;
    height: auto;
    color: white;
}

.quienes3_right_title {
    font-family: "Conthrax", Sans-serif;
    font-size: 33px;
    padding-inline: 50px;
    padding-right: 200px;

}


.quienes3_right_text {
    font-family: "Raleway", Sans-serif;
    font-size: 15px;
    padding-inline: 50px;
    padding-right: 200px;
    line-height: 1.8;
    gap: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* centra vertical */
    align-items: center;
    /* centra horizontal */

}


.quienes_button {
    width: auto;
    font-size: 15px;
    font-weight: 250;
    border-radius: 20px;
    background-color: rgb(255, 255, 255);
    color: rgb(39, 183, 255);
    text-decoration: none;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    display: inline-block;
    /* o inline-flex */
    padding-inline: 40px;
    transition:
        background-color 0.3s ease,
        transform 0.2s ease,
        box-shadow 0.3s ease;
}



.quienes_button:hover {
    background-color: rgb(255, 255, 255);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(61, 186, 235, 0.4);
}


.contacto_contador {
    display: flex;
    flex-direction: column;
    padding-inline: 6%;
    justify-content: center;
    /* centra vertical */
    align-items: center;
    /* centra horizontal */
}


.contacto_titulos_contadores {
    display: flex;
    align-items: center;
    font-size: 14px;
    position: relative;
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #626262;
    margin-top: 50px;
    margin-bottom: -150px;
    z-index: 4
}

.contacto_titulo1_contadores {
    display: inline-flex;
    z-index: 2;
    gap: 25px;


}

.icons_titulo1_contadores2 {
    padding-inline: 80px;
}

.icons_titulo1_contadores3 {
    padding-inline: 80px;

}

.icons_titulo1_contadores4 {
    padding-inline: 100px;

}

.icons_titulo1_contadores5 {
    padding-inline: 100px;

}


.icons_titulo1_contadores_telf {
    display: inline-flex;
    z-index: 1;

}

.contacto_titulo1_contadores2 {
    padding-inline: 40px;
}

.contacto_titulo1_contadores3 {
    padding-inline: 40px;

}

.contacto_titulo1_contadores4 {
    padding-inline: 50px;

}

.contacto_titulo1_contadores5 {
    padding-inline: 50px;

}


.contacto_titulo1_contadores span {
    width: 100%;
    white-space: nowrap;
    /* evita saltos de línea */
    overflow: hidden;
    /* opcional: oculta texto que se salga del contenedor */
    text-overflow: ellipsis;
    /* opcional: agrega "..." si se corta el texto */
}

.contacto_social {
    display: inline-flex;
    font-size: 25px;
    gap: 5px;
    padding-left: 50px;

}


/* Contador ------------------------------------------------------------------------ */

.contacto_contadores {
    display: flex;
    justify-content: center;
    /* todo centrado */
    align-items: center;
    /* espacio entre grupos */
    font-family: "Raleway", Sans-serif;
    font-weight: bold;
    color: #dedede;
    background-color: white;
    margin-top: 50px;
    z-index: 1;

}

.contacto_contadores i {
    font-size: 110px;
}

.contacto_contadores span {
    font-size: 23px;
}

.contacto_contadores>.contacto_span {
    align-self: flex-start;
    /* esto mueve solo este hijo al inicio vertical */
    padding-top: 20px;
}

/* Cada número y su separador se agrupa */
.contador-group {
    display: flex;
    align-items: center;
    gap: 40px;
    /* espacio entre número y separador */
    z-index: 1;
}

/* Números fijos para que los separadores no se muevan */
.purecounter {
    display: inline-block;
    width: 4ch;
    /* ancho basado en caracteres */
    text-align: center;
    z-index: 1;
}

/* Separadores cortos */
.separator {
    width: 2px;
    height: 0.8em;
    background-color: #ccc;
    align-self: center;
    z-index: 1;
}

/* Botón de WhatsApp */
.whatsapp-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    text-decoration: none;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
    z-index: 9999;
}

.whatsapp-btn i {
    color: white;
    text-decoration: none;
    /* color fijo */
}

/* Evitar cambios de color del enlace al hacer hover */
.whatsapp-btn {
    color: white;
    /* color base */
    text-decoration: none;
    /* quitar subrayado si hubiera */
}

.whatsapp-btn:hover {
    color: white;
    text-decoration: none;
    background-color: #1ebe57;
    /* verde más oscuro al hacer hover */

    /* sigue siendo blanco */
}

/* Texto oculto */
.hover-show {
    position: fixed;
    bottom: 35px;
    left: 90px;
    color: white;
    opacity: 0;
    transition: opacity 0.3s ease;
    background: linear-gradient(135deg, #dfffe0, #25D366);
    padding: 6px 12px;
    border-radius: 8px;
    pointer-events: none;
    z-index: 10000;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);

}

/* Mostrar el texto solo cuando se pasa el cursor por el botón */
.whatsapp-btn:hover+.hover-show {
    opacity: 1;
}

.deliverybikes-contact {
    display: flex;
    gap: 80px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding-inline: 80px;
}

.deliverybikes-contact__image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.deliverybikes-contact__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.deliverybikes-contact__title {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
}

.deliverybikes-contact__info {
    margin-top: 10px;
}

/* TABLET */
@media (max-width: 1024px) {
    .deliverybikes-contact {
        flex-wrap: wrap;
        gap: 40px;
        text-align: center;
    }

    .deliverybikes-contact__content {
        align-items: center;
    }
}

/* MOBILE */
@media (max-width: 600px) {
    .deliverybikes-contact {
        gap: 15px;
    }

    .deliverybikes-contact__title {
        font-size: 22px;
    }
}

/* MOBILE WHATSAPP BUTTON FLOAT RELOCATION */
@media (max-width: 768px) {
    .whatsapp-btn {
        left: auto !important;
        right: 20px !important;
    }
    .hover-show {
        left: auto !important;
        right: 90px !important;
    }
}

/* Blog en portada y página editorial */
.home-certified {
    padding: 100px 0 105px;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 0, rgba(44, 190, 237, 0.12), transparent 28%),
        #f3f8fa;
}

.home-certified-inner {
    width: min(calc(100% - 60px), 1240px);
    margin: 0 auto;
}

.home-certified-header {
    margin-bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
}

.home-certified-kicker {
    display: block;
    margin-bottom: 12px;
    color: #1598c7;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.home-certified-header h2 {
    margin: 0;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(30px, 4.5vw, 50px);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.07;
}

.home-certified-header p {
    max-width: 650px;
    margin: 15px 0 0;
    color: #5f717d;
    font-size: 16px;
    line-height: 1.65;
}

.home-certified-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-certified-actions > a {
    margin-right: 7px;
    color: #123352;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.home-certified-actions > a:hover {
    color: #1598c7;
}

.certified-scroll-button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #cedde4;
    border-radius: 50%;
    background: #fff;
    color: #123352;
    cursor: pointer;
    font-size: 19px;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.certified-scroll-button:hover:not(:disabled) {
    border-color: #1598c7;
    background: #1598c7;
    color: #fff;
}

.certified-scroll-button:disabled {
    cursor: default;
    opacity: 0.35;
}

.home-certified-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding: 6px 2px 24px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-color: #9db4bf transparent;
    scrollbar-width: thin;
}

.home-certified-track::-webkit-scrollbar {
    height: 6px;
}

.home-certified-track::-webkit-scrollbar-track {
    background: transparent;
}

.home-certified-track::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #9db4bf;
}

.home-certified-card {
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
    border: 1px solid #d9e5ea;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(18, 51, 82, 0.08);
}

.home-certified-photo {
    position: relative;
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background: #dff2f8;
}

.home-certified-photo > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.home-certified-photo > span:not(.home-certified-badge) {
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: 50px;
}

.home-certified-badge {
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 8px 11px;
    border-radius: 999px;
    background: rgba(10, 41, 61, 0.9);
    color: #fff;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-certified-copy {
    padding: 23px 25px 27px;
}

.home-certified-copy h3 {
    margin: 0;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
}

.home-certified-copy p {
    margin: 10px 0 0;
    color: #617681;
    font-size: 13px;
}

.home-certified-copy time {
    display: block;
    margin-top: 17px;
    color: #1598c7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.03em;
}

@media (max-width: 900px) {
    .home-certified-card {
        flex-basis: calc((100% - 24px) / 2);
    }
}

@media (max-width: 620px) {
    .home-certified {
        padding: 72px 0 78px;
    }

    .home-certified-inner {
        width: min(calc(100% - 30px), 1240px);
    }

    .home-certified-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-certified-actions {
        width: 100%;
    }

    .home-certified-actions > a {
        margin-right: auto;
    }

    .home-certified-card {
        flex-basis: min(84vw, 340px);
    }
}

.home-blog {
    padding: 88px 30px 96px;
    background:
        radial-gradient(circle at 92% 8%, rgba(44, 190, 237, 0.12), transparent 25%),
        #f2f6f8;
    font-family: "Raleway", sans-serif;
}

.home-blog-inner {
    width: min(100%, 1240px);
    margin: 0 auto;
}

.home-blog-header {
    margin-bottom: 34px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
}

.home-blog-kicker,
.blog-hero span,
.blog-cta span {
    display: block;
    margin-bottom: 10px;
    color: #1598c7;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-blog-header h2 {
    margin: 0;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 500;
    letter-spacing: -0.03em;
}

.home-blog-header p {
    max-width: 610px;
    margin: 13px 0 0;
    color: #61717c;
    font-size: 16px;
    line-height: 1.65;
}

.home-blog-all {
    flex: 0 0 auto;
    padding-bottom: 5px;
    border-bottom: 1px solid #1598c7;
    color: #123352;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.home-blog-all:hover {
    color: #1598c7;
}

.home-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.home-blog-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #dce7eb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(18, 51, 82, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.blog-card-link {
    position: absolute;
    z-index: 2;
    inset: 0;
    border-radius: inherit;
}

.blog-card-link:focus-visible {
    outline: 3px solid #1598c7;
    outline-offset: 4px;
}

.home-blog-card:hover {
    box-shadow: 0 18px 40px rgba(18, 51, 82, 0.12);
    transform: translateY(-5px);
}

.home-blog-image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    display: block;
    background: #dbe7ec;
}

.home-blog-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 300ms ease;
}

.home-blog-card:hover .home-blog-image img {
    transform: scale(1.035);
}

.home-blog-content {
    min-height: 260px;
    padding: 25px;
    display: flex;
    flex-direction: column;
}

.home-blog-category {
    align-self: flex-start;
    padding: 6px 9px;
    border-radius: 999px;
    background: #e0f4fb;
    color: #087fab;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.home-blog-content h3 {
    margin: 18px 0 10px;
    color: #123352;
    font-size: 20px;
    line-height: 1.3;
}

.home-blog-content h3 a {
    color: inherit;
    text-decoration: none;
}

.home-blog-content p {
    margin: 0;
    color: #697982;
    font-size: 14px;
    line-height: 1.65;
}

.home-blog-read {
    margin-top: auto;
    padding-top: 22px;
    color: #123352;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.home-blog-read span {
    margin-left: 4px;
    color: #1598c7;
    transition: margin 150ms ease;
}

.home-blog-read:hover span {
    margin-left: 8px;
}

.blog-page {
    margin: 0;
    background: #f5f7f8;
    color: #243642;
    font-family: "Raleway", sans-serif;
}

.blog-hero {
    padding: 98px 30px 104px;
    background:
        radial-gradient(circle at 80% 15%, rgba(44, 190, 237, 0.19), transparent 28%),
        linear-gradient(135deg, #0a2941, #123d59);
    color: #fff;
}

.blog-hero-inner {
    width: min(100%, 1120px);
    margin: 0 auto;
}

.blog-hero h1 {
    max-width: 850px;
    margin: 0;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(34px, 5.5vw, 68px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.blog-hero p {
    max-width: 680px;
    margin: 25px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 17px;
    line-height: 1.7;
}

.blog-articles {
    width: min(calc(100% - 60px), 1160px);
    margin: 0 auto;
    padding: 88px 0;
    display: grid;
    gap: 44px;
}

.blog-article {
    scroll-margin-top: 28px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
    border: 1px solid #dce6ea;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(18, 51, 82, 0.06);
}

.blog-article-reverse .blog-article-image {
    grid-column: 2;
}

.blog-article-reverse .blog-article-copy {
    grid-column: 1;
    grid-row: 1;
}

.blog-article-image {
    min-height: 100%;
    background: #dbe7ec;
}

.blog-article-image img {
    width: 100%;
    height: 100%;
    min-height: 470px;
    display: block;
    object-fit: cover;
}

.blog-article-copy {
    padding: clamp(32px, 5vw, 62px);
}

.blog-article-copy h2 {
    margin: 20px 0 15px;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(25px, 3vw, 37px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -0.03em;
}

.blog-article-copy p,
.blog-article-copy li {
    color: #5f707a;
    font-size: 15px;
    line-height: 1.75;
}

.blog-article-copy p {
    margin: 14px 0;
}

.blog-article-copy .blog-article-lead {
    color: #304a5b;
    font-size: 17px;
    font-weight: 600;
}

.blog-article-copy ul {
    margin: 21px 0;
    padding-left: 20px;
}

.blog-article-copy li {
    margin-bottom: 7px;
    padding-left: 4px;
}

.blog-cta {
    width: min(calc(100% - 60px), 1160px);
    margin: 0 auto 88px;
    padding: 42px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-radius: 20px;
    background: #123352;
    color: #fff;
}

.blog-cta h2 {
    max-width: 650px;
    margin: 0;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 500;
    line-height: 1.2;
}

.blog-cta a {
    min-height: 46px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #2cbeed;
    color: #0a2941;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.blog-index {
    width: min(calc(100% - 60px), 1240px);
    margin: 0 auto;
    padding: 82px 0 96px;
}

.blog-index-heading {
    margin-bottom: 34px;
}

.blog-index-heading h2 {
    margin: 0;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(29px, 4vw, 43px);
    font-weight: 500;
    letter-spacing: -0.03em;
}

.blog-index .home-blog-content {
    min-height: 275px;
}

.blog-single {
    width: min(calc(100% - 60px), 1060px);
    margin: 0 auto;
    padding: 58px 0 90px;
}

.blog-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #5f717d;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.blog-back:hover {
    color: #1598c7;
}

.blog-single-header {
    max-width: 900px;
    margin: 58px auto 42px;
    text-align: center;
}

.blog-single-header .home-blog-category {
    display: inline-flex;
}

.blog-single-header h1 {
    margin: 22px 0 20px;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 500;
    line-height: 1.13;
    letter-spacing: -0.045em;
}

.blog-single-header p {
    max-width: 760px;
    margin: 0 auto;
    color: #526a78;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.7;
}

.blog-single-image {
    width: 100%;
    aspect-ratio: 16 / 8.5;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #dbe7ec;
    box-shadow: 0 15px 42px rgba(18, 51, 82, 0.1);
}

.blog-single-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.blog-single-body {
    width: min(100%, 760px);
    margin: 65px auto 0;
}

.blog-single-body section {
    margin-bottom: 46px;
}

.blog-single-body h2 {
    margin: 0 0 17px;
    color: #123352;
    font-family: "Conthrax", sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.blog-single-body h3 {
    margin: 34px 0 14px;
    color: #123352;
    font-size: 22px;
    line-height: 1.35;
}

.blog-single-body p,
.blog-single-body li {
    color: #536873;
    font-size: 17px;
    line-height: 1.85;
}

.blog-single-body p {
    margin: 0 0 20px;
}

.blog-single-body ul,
.blog-single-body ol {
    margin: 25px 0;
    padding: 25px 28px 25px 48px;
    border-left: 4px solid #2cbeed;
    border-radius: 0 13px 13px 0;
    background: #eaf5f8;
}

.blog-single-body li {
    margin-bottom: 9px;
    padding-left: 4px;
}

.blog-single-body li:last-child {
    margin-bottom: 0;
}

.blog-single-footer {
    margin-top: 72px;
    padding: 35px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    border-radius: 18px;
    background: #123352;
    color: #fff;
}

.blog-single-footer span,
.blog-single-footer strong {
    display: block;
}

.blog-single-footer span {
    margin-bottom: 7px;
    color: #55c9ed;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.blog-single-footer strong {
    max-width: 590px;
    font-size: 21px;
    line-height: 1.35;
}

.blog-single-footer a {
    min-height: 45px;
    padding: 0 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #2cbeed;
    color: #0a2941;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.blog-single-body blockquote {
    margin: 30px 0;
    padding: 6px 0 6px 24px;
    border-left: 4px solid #2cbeed;
    color: #516570;
    font-size: 19px;
    font-style: italic;
    line-height: 1.7;
}

.blog-single-body figure {
    margin: 42px 0;
}

.blog-single-body img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 38px auto;
    display: block;
    border-radius: 16px;
    object-fit: contain;
}

.blog-single-body figure img,
.blog-single-body a img,
.blog-single-body p img,
.blog-single-body td img {
    margin: 0 auto;
}

.blog-single-body figcaption {
    padding: 12px 10px 0;
    color: #72818a;
    font-size: 13px;
    font-style: italic;
    line-height: 1.5;
    text-align: center;
}

.blog-single-body a {
    color: #087fa7;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.blog-single-body a:has(img) {
    margin: 38px auto;
    display: block;
}

.blog-single-body table {
    width: 100%;
    margin: 32px 0;
    border-collapse: collapse;
    overflow-wrap: anywhere;
}

.blog-single-body th,
.blog-single-body td {
    padding: 12px 14px;
    border: 1px solid #cad9df;
    color: #536873;
    font-size: 15px;
    line-height: 1.55;
    text-align: left;
    vertical-align: top;
}

.blog-single-body th {
    background: #eaf5f8;
    color: #123352;
    font-weight: 800;
}

.blog-single-gallery {
    margin-top: 50px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.blog-single-gallery img {
    width: 100%;
    height: 360px;
    border-radius: 16px;
    object-fit: cover;
}

.blog-public-empty,
.blog-not-found {
    color: #52656f;
    font-family: "Raleway", sans-serif;
}

.blog-public-empty {
    padding: 42px;
    border: 1px solid #dce8ec;
    border-radius: 16px;
    background: #f7fafb;
    text-align: center;
}

.blog-not-found {
    width: min(calc(100% - 40px), 760px);
    min-height: 60vh;
    margin: 0 auto;
    padding: 120px 0;
    text-align: center;
}

.blog-not-found h1 {
    margin: 18px 0 12px;
    color: #102c3d;
    font-size: clamp(34px, 6vw, 56px);
}

.blog-not-found .home-blog-all {
    margin-top: 22px;
    display: inline-flex;
}

@media (max-width: 900px) {
    .home-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-blog-card:last-child {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 0.9fr 1.1fr;
    }

    .home-blog-card:last-child .home-blog-image {
        height: 100%;
        aspect-ratio: auto;
    }

    .blog-article,
    .blog-article-reverse {
        grid-template-columns: 1fr;
    }

    .blog-article-reverse .blog-article-image,
    .blog-article-reverse .blog-article-copy {
        grid-column: 1;
        grid-row: auto;
    }

    .blog-article-image img {
        min-height: 330px;
        max-height: 480px;
    }

    .blog-single {
        width: min(calc(100% - 40px), 1060px);
    }
}

@media (max-width: 650px) {
    .home-blog {
        padding: 62px 20px 68px;
    }

    .home-blog-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-blog-grid {
        grid-template-columns: 1fr;
    }

    .home-blog-card:last-child {
        grid-column: auto;
        display: flex;
    }

    .home-blog-card:last-child .home-blog-image {
        aspect-ratio: 16 / 10;
    }

    .home-blog-content {
        min-height: 0;
    }

    .home-blog-read {
        margin-top: 24px;
    }

    .blog-hero {
        padding: 70px 24px 76px;
    }

    .blog-articles {
        width: min(calc(100% - 32px), 1160px);
        padding: 56px 0;
        gap: 25px;
    }

    .blog-article {
        border-radius: 16px;
    }

    .blog-article-image img {
        min-height: 240px;
        max-height: 310px;
    }

    .blog-article-copy {
        padding: 28px 23px 32px;
    }

    .blog-cta {
        width: min(calc(100% - 32px), 1160px);
        margin-bottom: 58px;
        padding: 31px 25px;
        align-items: flex-start;
        flex-direction: column;
    }

    .blog-index {
        width: min(calc(100% - 32px), 1240px);
        padding: 56px 0 66px;
    }

    .blog-index .home-blog-content {
        min-height: 0;
    }

    .blog-single {
        width: min(calc(100% - 32px), 1060px);
        padding: 35px 0 60px;
    }

    .blog-single-header {
        margin: 43px auto 31px;
        text-align: left;
    }

    .blog-single-header p {
        font-size: 17px;
    }

    .blog-single-image {
        aspect-ratio: 4 / 3;
        border-radius: 15px;
    }

    .blog-single-body {
        margin-top: 43px;
    }

    .blog-single-body section {
        margin-bottom: 37px;
    }

    .blog-single-body p,
    .blog-single-body li {
        font-size: 16px;
        line-height: 1.75;
    }

    .blog-single-body ul {
        padding: 20px 19px 20px 38px;
    }

    .blog-single-footer {
        margin-top: 52px;
        padding: 29px 24px;
        align-items: flex-start;
        flex-direction: column;
    }

    .blog-single-gallery {
        grid-template-columns: 1fr;
    }

    .blog-single-gallery img {
        height: 280px;
    }
}
