/* =========================================================
   GESAP Center for Research and Training
   USER.CSS CONSOLIDADO
   ========================================================= */


/* =========================================================
   1. PALETA INSTITUCIONAL
   ========================================================= */

:root {
    --gesap-navy: #073B82;
    --gesap-dark: #052B5C;
    --gesap-blue: #0878F9;
    --gesap-cyan: #08BCE8;
    --gesap-light: #F5F9FD;
    --gesap-white: #FFFFFF;
    --gesap-text: #243447;
    --gesap-muted: #667085;

    --gesap-gradient: linear-gradient(
        135deg,
        #073B82 0%,
        #0878F9 55%,
        #08BCE8 100%
    );
}


/* =========================================================
   2. ESTILOS GENERALES
   ========================================================= */

body {
    color: var(--gesap-text);
    background: var(--gesap-white);
}

a {
    color: var(--gesap-blue);
}

a:hover {
    color: var(--gesap-navy);
}


/* =========================================================
   3. CABECERA PRINCIPAL
   ========================================================= */

.container-header {
    display: block !important;

    background: #FFFFFF !important;
    background-image: none !important;

    color: var(--gesap-navy);

    position: relative;
    z-index: 1000;

    border-bottom: 1px solid #E6EEF7;

    box-shadow:
        0 3px 12px rgba(5, 43, 92, 0.06);
}


/* Eliminar espacios verticales innecesarios */

.container-header .grid-child {
    padding-top: 0;
    padding-bottom: 0;
}

.container-header .container-header-top,
.container-header .grid-child:first-child {
    min-height: 0 !important;
}


/* =========================================================
   4. LOGO
   ========================================================= */

.container-header .navbar-brand {
    margin: 0 !important;
    padding: 10px 0 4px !important;
    line-height: 1 !important;
}

.container-header .navbar-brand img {
    display: block;

    width: 380px;
    max-width: 100%;
    height: auto;

    margin: 0 !important;
}


/* =========================================================
   5. ZONA DEL MENÚ
   ========================================================= */

.container-header .container-nav {
    margin-top: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 7px !important;

    min-height: 0 !important;
}

.container-header .container-nav .grid-child {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   6. MENÚ PRINCIPAL
   ========================================================= */

.container-header .mod-menu {
    display: flex;
    align-items: center;

    gap: 5px;
}

.container-header .mod-menu > li {
    position: relative;

    border-radius: 7px;

    transition:
        background 0.25s ease,
        box-shadow 0.25s ease;
}


/* Enlaces normales */

.container-header .mod-menu > li > a {
    display: flex;
    align-items: center;

    color: var(--gesap-navy);

    font-size: 0.95rem;
    font-weight: 600;

    padding: 11px 14px;

    border-radius: 7px;

    text-decoration: none;

    transition:
        color 0.25s ease;
}


/* Elementos con submenú */

.container-header .mod-menu > li > .mm-toggler {
    display: flex;
    align-items: center;

    color: var(--gesap-navy);

    font-size: 0.95rem;
    font-weight: 600;

    padding: 11px 14px;

    border-radius: 7px;

    transition:
        color 0.25s ease;
}


/* =========================================================
   7. HOVER MENÚ PRINCIPAL
   ========================================================= */

.container-header .mod-menu > li:hover {
    background: var(--gesap-gradient);

    box-shadow:
        0 5px 14px rgba(8, 120, 249, 0.20);
}

.container-header .mod-menu > li:hover > a,
.container-header .mod-menu > li:hover > span,
.container-header .mod-menu > li:hover > button,
.container-header .mod-menu > li:hover > .mm-toggler {
    color: #FFFFFF !important;
}

.container-header .mod-menu > li:hover svg,
.container-header .mod-menu > li:hover .icon-chevron-down,
.container-header .mod-menu > li:hover .icon-chevron-up {
    color: #FFFFFF !important;
    fill: #FFFFFF;
}


/* =========================================================
   8. ELEMENTO ACTIVO
   ========================================================= */

.container-header .mod-menu > li.active > a {
    color: var(--gesap-blue);
    position: relative;
}

.container-header .mod-menu > li.active > a::after {
    content: "";

    position: absolute;

    left: 15%;
    right: 15%;
    bottom: 2px;

    height: 3px;

    border-radius: 10px;

    background: var(--gesap-gradient);
}

.container-header .mod-menu > li.active:hover > a {
    color: #FFFFFF !important;
}

.container-header .mod-menu > li.active:hover > a::after {
    opacity: 0;
}


/* =========================================================
   9. SUBMENÚS
   ========================================================= */

.container-header .mod-menu .mm-collapse {
    background: #FFFFFF !important;

    border: 1px solid #DCE8F5;
    border-top: 3px solid var(--gesap-cyan);

    border-radius: 0 0 10px 10px;

    padding: 7px !important;

    min-width: 230px;

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.16);

    overflow: hidden;
}

.container-header .mod-menu .mm-collapse > li {
    display: block;

    margin: 2px 0;

    padding: 0;

    background: transparent !important;

    border-radius: 6px;
}


/* Enlaces de submenús */

.container-header .metismenu.mod-menu .mm-collapse a {
    display: block !important;

    width: 100% !important;

    padding: 10px 14px !important;

    color: var(--gesap-navy) !important;

    background: transparent !important;

    border-radius: 6px !important;

    font-size: 0.94rem;
    font-weight: 500;

    line-height: 1.35;

    text-decoration: none !important;

    transition:
        background 0.20s ease,
        color 0.20s ease,
        padding-left 0.20s ease !important;
}

.container-header .metismenu.mod-menu .mm-collapse li {
    background: transparent !important;

    padding: 0 !important;

    margin: 2px 0 !important;

    border-radius: 6px !important;
}


/* Hover submenú */

.container-header .metismenu.mod-menu .mm-collapse a:hover,
.container-header .metismenu.mod-menu .mm-collapse a:focus {
    background: var(--gesap-gradient) !important;

    color: #FFFFFF !important;

    text-decoration: none !important;

    padding-left: 18px !important;
}

.container-header .metismenu.mod-menu .mm-collapse a:hover *,
.container-header .metismenu.mod-menu .mm-collapse a:focus * {
    color: #FFFFFF !important;
}


/* Submenú activo */

.container-header .mod-menu .mm-collapse > li.active > a {
    background: #EAF7FE !important;

    color: var(--gesap-blue) !important;

    font-weight: 600;
}

.container-header .mod-menu .mm-collapse > li.active:hover > a {
    background: var(--gesap-gradient) !important;

    color: #FFFFFF !important;
}


/* =========================================================
   10. SELECTOR DE IDIOMAS
   ========================================================= */

.container-header .mod-languages {
    display: flex;

    align-items: center;

    margin-left: 12px;
}

.container-header .mod-languages a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    padding: 5px 7px;

    border-radius: 6px;

    transition:
        background 0.20s ease,
        transform 0.20s ease;
}

.container-header .mod-languages a:hover {
    background: #EAF7FE;

    transform: translateY(-1px);
}


/* =========================================================
   11. BREADCRUMBS
   ========================================================= */

.breadcrumb {
    background: var(--gesap-light);

    border-radius: 6px;

    padding: 12px 16px;
}


/* =========================================================
   12. HERO HOME
   ========================================================= */

.gesap-hero {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(320px, 0.65fr);

    align-items: center;

    min-height: 460px;

    padding:
        55px
        max(7vw, 60px);

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(8, 188, 232, 0.28) 0,
            rgba(8, 188, 232, 0) 32%
        ),
        linear-gradient(
            125deg,
            #052B5C 0%,
            #073B82 45%,
            #0878F9 100%
        );

    color: #FFFFFF;
}


/* Decoración */

.gesap-hero::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -180px;
    bottom: -300px;

    border-radius: 50%;

    border:
        1px solid rgba(255,255,255,0.18);

    box-shadow:
        0 0 0 70px rgba(255,255,255,0.025),
        0 0 0 140px rgba(255,255,255,0.018);
}


/* Contenido */

.gesap-hero-content {
    position: relative;

    z-index: 3;

    max-width: 820px;
}

.gesap-hero-kicker {
    display: inline-block;

    margin-bottom: 20px;

    padding: 8px 14px;

    border:
        1px solid rgba(255,255,255,0.30);

    border-radius: 50px;

    background:
        rgba(255,255,255,0.08);

    color: #8EEBFF;

    font-size: 0.82rem;
    font-weight: 700;

    letter-spacing: 0.12em;
}

.gesap-hero h1 {
    margin: 0 0 22px;

    max-width: 760px;

    color: #FFFFFF;

    font-size:
        clamp(2.7rem, 3.8vw, 4rem);

    line-height: 1.07;

    font-weight: 800;

    letter-spacing: -0.035em;
}

.gesap-hero p {
    max-width: 760px;

    margin: 0 0 32px;

    color:
        rgba(255,255,255,0.86);

    font-size: 1.08rem;

    line-height: 1.65;
}


/* =========================================================
   13. BOTONES HERO
   ========================================================= */

.gesap-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 14px;
}

.gesap-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 12px 24px;

    border-radius: 8px;

    font-size: 0.96rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.gesap-btn-primary {
    background: #FFFFFF;

    color: var(--gesap-navy) !important;

    box-shadow:
        0 8px 25px rgba(0,0,0,0.15);
}

.gesap-btn-primary:hover {
    background: #F1FBFF;

    color: var(--gesap-dark) !important;

    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(0,0,0,0.22);
}

.gesap-btn-secondary {
    border:
        1px solid rgba(255,255,255,0.55);

    background:
        rgba(255,255,255,0.08);

    color: #FFFFFF !important;
}

.gesap-btn-secondary:hover {
    background:
        rgba(255,255,255,0.17);

    color: #FFFFFF !important;

    transform: translateY(-2px);
}


/* =========================================================
   14. VISUAL DERECHO HERO
   ========================================================= */

.gesap-hero-visual {
    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    min-height: 330px;

    z-index: 2;
}

.gesap-hero-mark {
    position: relative;

    z-index: 4;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 170px;
    height: 170px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.20),
            rgba(255,255,255,0.06)
        );

    border:
        1px solid rgba(255,255,255,0.35);

    box-shadow:
        0 30px 70px rgba(0,0,0,0.25),
        inset 0 0 40px rgba(255,255,255,0.08);

    backdrop-filter: blur(8px);

    color: #FFFFFF;

    font-size: 6rem;

    line-height: 1;

    font-weight: 800;
}


/* Órbitas */

.gesap-orbit {
    position: absolute;

    border-radius: 50%;

    border:
        1px solid rgba(255,255,255,0.24);
}

.gesap-orbit-1 {
    width: 260px;
    height: 260px;
}

.gesap-orbit-2 {
    width: 350px;
    height: 350px;

    border-color:
        rgba(8,188,232,0.45);
}

.gesap-orbit-3 {
    width: 440px;
    height: 440px;

    border-color:
        rgba(255,255,255,0.12);
}

.gesap-orbit-1::before,
.gesap-orbit-2::before,
.gesap-orbit-3::before {
    content: "";

    position: absolute;

    width: 12px;
    height: 12px;

    border-radius: 50%;

    background: var(--gesap-cyan);

    box-shadow:
        0 0 18px rgba(8,188,232,0.9);
}

.gesap-orbit-1::before {
    top: 16px;
    left: 60px;
}

.gesap-orbit-2::before {
    right: 18px;
    top: 95px;
}

.gesap-orbit-3::before {
    bottom: 65px;
    left: 25px;
}


/* =========================================================
   15. CONTENEDORES DE MÓDULOS HOME
   ========================================================= */

.gesap-home-block {
    background: transparent !important;

    border: 0 !important;

    box-shadow: none !important;

    border-radius: 0 !important;

    padding: 0 !important;

    margin: 0 !important;

    min-height: 0 !important;
}


/* =========================================================
   16. QUÉ HACEMOS
   ========================================================= */

.gesap-services {
    width:
        min(1320px, calc(100% - 48px));

    max-width: 1320px;

    /* CORREGIDO: antes terminaba en 45px */
    margin:
        55px auto 25px;

    padding: 0;

    box-sizing: border-box;

    background: transparent;

    border: none;

    border-radius: 0;

    box-shadow: none;

    min-height: 0 !important;
}


/* Encabezado */

.gesap-section-heading {
    max-width: 900px;

    margin: 0 0 36px;

    color: var(--gesap-blue);

    font-size: 0.82rem;

    font-weight: 800;

    letter-spacing: 0.12em;
}

.gesap-section-heading h2 {
    margin: 8px 0 14px;

    color: var(--gesap-dark);

    font-size:
        clamp(2rem, 2.5vw, 2.8rem);

    line-height: 1.12;

    font-weight: 800;

    letter-spacing: -0.025em;
}

.gesap-section-heading > p {
    margin: 0;

    color: var(--gesap-muted);

    font-size: 1rem;

    font-weight: 400;

    line-height: 1.7;

    letter-spacing: normal;
}


/* Grid */

.gesap-services-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 22px;
}


/* Tarjetas */

.gesap-service-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;

    min-height: 300px;

    padding: 30px 26px;

    overflow: hidden;

    background: #FFFFFF;

    border:
        1px solid #DBE6F1;

    border-radius: 14px;

    color:
        var(--gesap-text) !important;

    text-decoration: none !important;

    box-shadow:
        0 6px 20px rgba(5,43,92,0.06);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* Línea superior */

.gesap-service-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #073B82,
            #0878F9,
            #08BCE8
        );

    transform: scaleX(0);

    transform-origin: left;

    transition:
        transform 0.3s ease;
}


/* Número */

.gesap-service-number {
    margin-bottom: 32px;

    color: var(--gesap-cyan);

    font-size: 0.82rem;

    font-weight: 800;

    letter-spacing: 0.08em;
}


/* Título */

.gesap-service-card h3 {
    margin: 0 0 14px;

    color: var(--gesap-dark);

    font-size: 1.25rem;

    line-height: 1.25;

    font-weight: 800;
}


/* Descripción */

.gesap-service-card p {
    margin: 0 0 24px;

    color: var(--gesap-muted);

    font-size: 0.94rem;

    line-height: 1.65;

    flex-grow: 1;
}


/* Hover */

.gesap-service-card:hover {
    transform: translateY(-7px);

    border-color: var(--gesap-cyan);

    box-shadow:
        0 18px 38px rgba(5,43,92,0.14);

    color: var(--gesap-blue) !important;

    text-decoration: none !important;
}

.gesap-service-card:hover::before {
    transform: scaleX(1);
}

.gesap-service-card:hover h3,
.gesap-service-card:hover .gesap-service-number {
    color: var(--gesap-blue);
}


/* =========================================================
   17. ÁREAS DE INVESTIGACIÓN
   ========================================================= */

.gesap-research-areas {
    /*
       IMPORTANTE:
       El espacio con la sección anterior lo controla
       .gesap-services.
    */

    margin-top: 0 !important;

    padding: 70px 50px;

    background:
        linear-gradient(
            135deg,
            #F5F9FF 0%,
            #EEF7FF 100%
        );

    border-radius: 20px;

    min-height: 0 !important;
}


/* Encabezado */

.gesap-research-areas .gesap-section-heading {
    max-width: 850px;

    margin-bottom: 45px;
}

.gesap-research-areas .gesap-eyebrow {
    display: inline-block;

    margin-bottom: 14px;

    color: #008CF0;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;
}

.gesap-research-areas .gesap-section-heading h2 {
    margin: 0 0 16px;

    color: #062D63;

    font-size:
        clamp(30px, 3vw, 46px);

    line-height: 1.12;

    font-weight: 800;
}

.gesap-research-areas .gesap-section-heading p {
    margin: 0;

    max-width: 800px;

    color: #607089;

    font-size: 18px;

    line-height: 1.7;
}


/* =========================================================
   18. GRID ÁREAS DE INVESTIGACIÓN
   ========================================================= */

.gesap-areas-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;
}


/* Tarjeta */

.gesap-area-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-height: 270px;

    padding: 32px;

    overflow: hidden;

    background: #FFFFFF;

    border:
        1px solid #D9E7F5;

    border-radius: 16px;

    color: #082C5C !important;

    text-decoration: none !important;

    box-shadow:
        0 8px 25px rgba(4,47,98,0.05);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


/* Línea decorativa */

.gesap-area-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #0074E8,
            #00C6E8
        );

    transform: scaleX(0);

    transform-origin: left;

    transition:
        transform 0.3s ease;
}


/* Número */

.gesap-area-number {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin-bottom: 24px;

    border-radius: 12px;

    background: #EAF6FF;

    color: #009FE3;

    font-size: 14px;

    font-weight: 800;
}


/* Título */

.gesap-area-card h3 {
    margin: 0 0 13px;

    color: #062D63 !important;

    font-size: 22px;

    line-height: 1.25;

    font-weight: 800;

    text-decoration: none !important;
}


/* Texto */

.gesap-area-card p {
    margin: 0 0 25px;

    color: #607089 !important;

    font-size: 16px;

    line-height: 1.65;

    text-decoration: none !important;
}


/* Enlace */

.gesap-area-link {
    margin-top: auto;

    color: #006EDC;

    font-size: 15px;

    font-weight: 700;

    text-decoration: none !important;
}


/* Hover */

.gesap-area-card:hover {
    transform: translateY(-5px);

    border-color: #8ECBFF;

    box-shadow:
        0 16px 38px rgba(4,47,98,0.12);

    color: #082C5C !important;

    text-decoration: none !important;
}

.gesap-area-card:hover::before {
    transform: scaleX(1);
}

.gesap-area-card:hover h3,
.gesap-area-card:hover p,
.gesap-area-card:hover .gesap-area-link {
    text-decoration: none !important;
}


/* =========================================================
   19. CORRECCIÓN DE ESPACIADO ENTRE MÓDULOS HOME
   ========================================================= */

/*
   Evita que los wrappers de Joomla introduzcan una
   altura mínima innecesaria entre las secciones.
*/

.gesap-home-block,
.gesap-home-block > div {
    min-height: 0 !important;
}

/*
   El último elemento de cada bloque no debe generar
   margen adicional.
*/

.gesap-services > :last-child,
.gesap-research-areas > :last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   20. RESPONSIVE TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .gesap-services-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    /* Header */

    .container-header .navbar-brand img {
        width: 310px;
    }

    .container-header .mod-menu {
        align-items: stretch;

        gap: 2px;
    }

    .container-header .mod-menu > li > a,
    .container-header .mod-menu > li > .mm-toggler {
        padding: 10px 9px;

        border-radius: 5px;
    }

    .container-header .mod-menu .mm-collapse {
        min-width: 100%;

        box-shadow: none;

        border: none;

        border-left:
            3px solid var(--gesap-cyan);

        border-radius: 0;

        margin-left: 10px;

        padding-left: 8px !important;
    }


    /* Hero */

    .gesap-hero {
        grid-template-columns: 1fr;

        padding: 60px 40px;
    }

    .gesap-hero-content {
        max-width: 760px;
    }

    .gesap-hero-visual {
        min-height: 300px;

        margin-top: 25px;
    }

    .gesap-orbit-3 {
        width: 360px;
        height: 360px;
    }


    /* Qué hacemos */

    .gesap-services {
        width:
            calc(100% - 40px);

        margin:
            45px auto 25px;
    }


    /* Investigación */

    .gesap-research-areas {
        margin-top: 0 !important;

        padding: 50px 30px;
    }

}


/* =========================================================
   21. RESPONSIVE MÓVIL
   ========================================================= */

@media (max-width: 600px) {

    /* Logo */

    .container-header .navbar-brand img {
        width: 260px;
    }


    /* Hero */

    .gesap-hero {
        padding: 48px 24px;

        min-height: auto;
    }

    .gesap-hero h1 {
        font-size: 2.5rem;
    }

    .gesap-hero p {
        font-size: 1rem;
    }

    .gesap-hero-actions {
        flex-direction: column;
    }

    .gesap-btn {
        width: 100%;
    }

    .gesap-hero-visual {
        min-height: 250px;
    }

    .gesap-hero-mark {
        width: 140px;
        height: 140px;

        font-size: 5rem;
    }

    .gesap-orbit-1 {
        width: 190px;
        height: 190px;
    }

    .gesap-orbit-2 {
        width: 240px;
        height: 240px;
    }

    .gesap-orbit-3 {
        width: 290px;
        height: 290px;
    }


    /* Qué hacemos */

    .gesap-services {
        width:
            calc(100% - 28px);

        margin:
            35px auto 20px;
    }

    .gesap-section-heading {
        margin-bottom: 28px;
    }

    .gesap-section-heading h2 {
        font-size: 1.8rem;
    }

    .gesap-services-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .gesap-service-card {
        min-height: auto;

        padding: 25px 22px;
    }

    .gesap-service-number {
        margin-bottom: 18px;
    }


    /* Áreas de investigación */

    .gesap-research-areas {
        margin-top: 0 !important;

        padding: 40px 20px;

        border-radius: 14px;
    }

    .gesap-research-areas .gesap-section-heading {
        margin-bottom: 30px;
    }

    .gesap-research-areas .gesap-section-heading h2 {
        font-size: 30px;
    }

    .gesap-research-areas .gesap-section-heading p {
        font-size: 16px;
    }

    .gesap-areas-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .gesap-area-card {
        min-height: auto;

        padding: 26px 24px;
    }

    .gesap-area-card h3 {
        font-size: 20px;
    }

    .gesap-area-card p {
        font-size: 15px;
    }

}
/* =========================================================
   CORRECCIÓN ESPACIO ENTRE SECCIONES HOME
   ========================================================= */

/* Elimina espacios añadidos por los contenedores de Joomla */
main .gesap-home-block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Primera sección */
.gesap-services {
    margin-top: 55px !important;
    margin-bottom: 0 !important;
}

/* Segunda sección */
.gesap-research-areas {
    margin-top: 0 !important;
}

/* Evita márgenes entre módulos consecutivos */
.gesap-home-block + .gesap-home-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* =========================================================
   GESAP - PROYECTOS DESTACADOS
   ========================================================= */

.gesap-projects {
    max-width: 1500px;
    margin: 0 auto;
    padding: 70px 60px;
    background: #ffffff;
}

/* Encabezado */

.gesap-projects .gesap-section-heading {
    max-width: 900px;
    margin-bottom: 42px;
}

.gesap-projects .gesap-eyebrow {
    display: block;
    margin-bottom: 12px;

    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #0788ee;
}

.gesap-projects .gesap-section-heading h2 {
    margin: 0 0 16px 0;

    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.12;
    font-weight: 800;

    color: #062f67;
}

.gesap-projects .gesap-section-heading p {
    margin: 0;

    max-width: 850px;

    font-size: 18px;
    line-height: 1.7;

    color: #617089;
}


/* =========================================================
   GRID DE PROYECTOS
   ========================================================= */

.gesap-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}


/* =========================================================
   TARJETAS
   ========================================================= */

.gesap-project-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 330px;

    padding: 34px 32px;

    background: #f7fbff;

    border: 1px solid #d9e8f5;
    border-radius: 18px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.gesap-project-card:hover {
    transform: translateY(-5px);

    border-color: #20b9ee;

    box-shadow:
        0 18px 38px rgba(5, 47, 103, 0.10);
}


/* Etiqueta superior */

.gesap-project-tag {
    display: inline-flex;
    align-self: flex-start;

    margin-bottom: 24px;
    padding: 7px 12px;

    border-radius: 50px;

    background: #e8f6ff;

    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1px;

    color: #0788ee;
}


/* Título */

.gesap-project-card h3 {
    margin: 0 0 16px 0;

    font-size: 24px;
    line-height: 1.25;
    font-weight: 800;

    color: #062f67;
}


/* Descripción */

.gesap-project-card p {
    margin: 0 0 25px 0;

    font-size: 16px;
    line-height: 1.65;

    color: #617089;
}


/* Enlace inferior */

.gesap-project-card > a {
    margin-top: auto;

    font-size: 15px;
    font-weight: 700;

    color: #087ee7;

    text-decoration: none;
}

.gesap-project-card > a:hover {
    text-decoration: underline;
}


/* =========================================================
   BOTÓN FINAL
   ========================================================= */

.gesap-projects-footer {
    display: flex;
    justify-content: center;

    margin-top: 38px;
}

.gesap-projects-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 13px 26px;

    border: 1px solid #087ee7;
    border-radius: 9px;

    background: #087ee7;

    font-size: 16px;
    font-weight: 700;

    color: #ffffff !important;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.gesap-projects-button:hover {
    transform: translateY(-2px);

    background: #066dc9;

    box-shadow:
        0 10px 24px rgba(8, 126, 231, 0.20);
}


/* =========================================================
   CONTROL DEL MÓDULO
   Evita espacios adicionales de Joomla
   ========================================================= */

.gesap-home-block .gesap-projects {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.gesap-home-block:has(.gesap-projects) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .gesap-projects {
        padding: 55px 35px;
    }

    .gesap-projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gesap-project-card:last-child {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .gesap-projects {
        padding: 45px 20px;
    }

    .gesap-projects .gesap-section-heading {
        margin-bottom: 30px;
    }

    .gesap-projects .gesap-section-heading h2 {
        font-size: 32px;
    }

    .gesap-projects .gesap-section-heading p {
        font-size: 16px;
    }

    .gesap-projects-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .gesap-project-card,
    .gesap-project-card:last-child {
        grid-column: auto;

        min-height: auto;

        padding: 28px 24px;
    }

    .gesap-project-card h3 {
        font-size: 21px;
    }

    .gesap-projects-footer {
        margin-top: 30px;
    }

}
/* =========================================================
   AJUSTE FINAL DE ESPACIO ENTRE BLOQUES DE LA HOME
   ========================================================= */

/* Módulos personalizados consecutivos de la portada */
.gesap-home-block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Elimina separación adicional generada por Joomla */
.container-component .gesap-home-block + .gesap-home-block,
main .gesap-home-block + .gesap-home-block {
    margin-top: 0 !important;
}

/* Proyectos destacados */
.gesap-projects {
    margin-top: 0 !important;
    padding-top: 50px !important;
}

/* En pantallas pequeñas */
@media (max-width: 767px) {
    .gesap-projects {
        padding-top: 35px !important;
    }
}
/* =========================================================
   GESAP - PROYECTOS DESTACADOS
   ========================================================= */

.gesap-projects {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Encabezado */
.gesap-projects .gesap-section-heading {
    margin-bottom: 32px;
}

.gesap-projects .gesap-eyebrow {
    display: block;
    margin-bottom: 14px;
    color: #0787e8;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.gesap-projects .gesap-section-heading h2 {
    margin: 0 0 14px;
    color: #063b78;
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
}

.gesap-projects .gesap-section-heading p {
    max-width: 1050px;
    margin: 0;
    color: #63738d;
    font-size: 1.05rem;
    line-height: 1.7;
}

/* Grid de proyectos */
.gesap-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 32px;
}

/* Tarjeta */
.gesap-project-card {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #d7e5f3;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(4, 55, 110, 0.06);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.gesap-project-card:hover {
    transform: translateY(-5px);
    border-color: #29bdf2;
    box-shadow: 0 18px 38px rgba(4, 55, 110, 0.12);
}

/* Etiqueta superior */
.gesap-project-tag {
    margin-bottom: 18px;
    color: #0787e8;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

/* Título */
.gesap-project-card h3 {
    margin: 0 0 14px;
    color: #062f63;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
}

/* Descripción */
.gesap-project-card p {
    margin: 0 0 24px;
    color: #63738d;
    font-size: 0.98rem;
    line-height: 1.65;
}

/* Enlace inferior */
.gesap-project-card > a {
    margin-top: auto;
    color: #067ff0;
    font-weight: 700;
    text-decoration: none;
}

.gesap-project-card > a:hover {
    text-decoration: underline;
}

/* Botón Ver todos */
.gesap-projects-footer {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}

.gesap-projects-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    color: #ffffff !important;
    background: #063b78;
    border-radius: 9px;
    font-weight: 700;
    text-decoration: none !important;
    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.gesap-projects-button:hover {
    background: #0787e8;
    transform: translateY(-2px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Tablet */
@media (max-width: 991px) {

    .gesap-projects-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* Móvil */
@media (max-width: 640px) {

    .gesap-projects .gesap-section-heading {
        margin-bottom: 24px;
    }

    .gesap-projects-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 24px;
    }

    .gesap-project-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-projects .gesap-section-heading h2 {
        font-size: 2rem;
    }

    .gesap-projects .gesap-section-heading p {
        font-size: 1rem;
    }

}
/* Ajuste específico de separación - Proyectos destacados */
.gesap-projects-module {
    margin-top: 8px !important;
    padding-top: 0 !important;
}

.gesap-projects-module .gesap-projects {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* =========================================================
   GESAP - PUBLICACIONES CIENTÍFICAS
   ========================================================= */

.gesap-publications {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* =========================================================
   ENCABEZADO
   ========================================================= */

.gesap-publications .gesap-section-heading {
    max-width: 1050px;
    margin-bottom: 38px;
}

.gesap-publications .gesap-eyebrow {
    display: block;
    margin-bottom: 14px;

    color: #0787e8;

    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.gesap-publications .gesap-section-heading h2 {
    margin: 0 0 16px;

    color: #063b78;

    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.1;
}

.gesap-publications .gesap-section-heading p {
    max-width: 1000px;
    margin: 0;

    color: #63738d;

    font-size: 1.05rem;
    line-height: 1.7;
}


/* =========================================================
   GRID 2 x 2
   ========================================================= */

.gesap-publications-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}


/* =========================================================
   TARJETA
   ========================================================= */

.gesap-publication-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 280px;

    padding: 32px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #d9e6f2;
    border-radius: 16px;

    box-shadow: 0 10px 28px rgba(4, 55, 110, 0.05);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

/* Línea azul superior */
.gesap-publication-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #063b78,
        #0787e8,
        #28bcef
    );
}

.gesap-publication-card:hover {
    transform: translateY(-4px);

    border-color: #9fd9f5;

    box-shadow: 0 18px 38px rgba(4, 55, 110, 0.10);
}


/* =========================================================
   AÑO + ÁREA
   ========================================================= */

.gesap-publication-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;

    margin-bottom: 20px;
}

.gesap-publication-meta span {
    display: inline-flex;
    align-items: center;

    padding: 6px 10px;

    background: #edf7ff;

    border-radius: 30px;

    color: #0787e8;

    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.gesap-publication-meta span:first-child {
    background: #063b78;
    color: #ffffff;
}


/* =========================================================
   TÍTULO DEL ARTÍCULO
   ========================================================= */

.gesap-publication-card h3 {
    margin: 0 0 18px;

    color: #062f63;

    font-size: 1.32rem;
    font-weight: 800;
    line-height: 1.35;
}


/* =========================================================
   REVISTA
   ========================================================= */

.gesap-publication-journal {
    margin: 0 0 24px;

    color: #63738d;

    font-size: 0.96rem;
    font-style: italic;
    line-height: 1.5;
}


/* =========================================================
   ENLACE
   ========================================================= */

.gesap-publication-card > a {
    display: inline-flex;
    align-items: center;

    margin-top: auto;

    color: #067ff0;

    font-size: 0.95rem;
    font-weight: 700;

    text-decoration: none;
}

.gesap-publication-card > a:hover {
    text-decoration: underline;
}


/* =========================================================
   BOTÓN FINAL
   ========================================================= */

.gesap-publications-footer {
    display: flex;
    justify-content: center;

    margin-top: 34px;
}

.gesap-publications-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 13px 24px;

    background: #063b78;

    border-radius: 9px;

    color: #ffffff !important;

    font-weight: 700;

    text-decoration: none !important;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-publications-button:hover {
    background: #0787e8;

    transform: translateY(-2px);

    box-shadow: 0 10px 24px rgba(7, 135, 232, 0.18);
}


/* =========================================================
   ESPACIADO DEL MÓDULO
   ========================================================= */

.gesap-publications-module {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.gesap-publications-module .gesap-publications {
    margin-top: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .gesap-publications-grid {
        grid-template-columns: 1fr;
    }

    .gesap-publication-card {
        min-height: 250px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-publications .gesap-section-heading {
        margin-bottom: 28px;
    }

    .gesap-publications .gesap-section-heading h2 {
        font-size: 2rem;
    }

    .gesap-publications .gesap-section-heading p {
        font-size: 1rem;
    }

    .gesap-publications-grid {
        gap: 16px;
    }

    .gesap-publication-card {
        min-height: auto;
        padding: 26px 22px;
    }

    .gesap-publication-card h3 {
        font-size: 1.15rem;
    }

    .gesap-publications-footer {
        margin-top: 28px;
    }

}
/* =========================================================
   GESAP - FORMACIÓN ESPECIALIZADA
   ========================================================= */

.gesap-training {
    display: grid;
    grid-template-columns: 0.85fr 1.45fr;
    gap: 0;

    width: 100%;
    overflow: hidden;

    background: #f4f9fd;
    border: 1px solid #dce9f4;
    border-radius: 22px;
}


/* =========================================================
   COLUMNA IZQUIERDA
   ========================================================= */

.gesap-training-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px 48px;

    background: linear-gradient(
        145deg,
        #052f67 0%,
        #064b91 55%,
        #0787e8 100%
    );
}

.gesap-training-intro .gesap-eyebrow {
    display: block;

    margin-bottom: 16px;

    color: #6fd5ff;

    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.gesap-training-intro h2 {
    margin: 0 0 20px;

    color: #ffffff;

    font-size: clamp(2.1rem, 3vw, 3.2rem);
    font-weight: 800;
    line-height: 1.08;
}

.gesap-training-intro p {
    margin: 0 0 30px;

    max-width: 520px;

    color: rgba(255, 255, 255, 0.82);

    font-size: 1rem;
    line-height: 1.7;
}


/* =========================================================
   BOTÓN IZQUIERDO
   ========================================================= */

.gesap-training-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;

    min-height: 48px;

    padding: 12px 21px;

    background: #ffffff;

    border-radius: 8px;

    color: #064b91 !important;

    font-size: 0.95rem;
    font-weight: 800;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-training-button:hover {
    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.16);
}


/* =========================================================
   COLUMNA DERECHA
   ========================================================= */

.gesap-training-list {
    display: flex;
    flex-direction: column;

    padding: 20px 45px;

    background: #f7fbff;
}


/* =========================================================
   CADA LÍNEA FORMATIVA
   ========================================================= */

.gesap-training-item {
    display: grid;
    grid-template-columns: 52px 1fr 35px;
    align-items: center;
    gap: 20px;

    flex: 1;

    padding: 30px 5px;

    border-bottom: 1px solid #d7e5f1;

    color: inherit !important;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.gesap-training-item:last-child {
    border-bottom: none;
}

.gesap-training-item:hover {
    transform: translateX(5px);
}


/* =========================================================
   NÚMEROS
   ========================================================= */

.gesap-training-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    background: #e4f4ff;

    border-radius: 50%;

    color: #0787e8;

    font-size: 0.8rem;
    font-weight: 800;
}


/* =========================================================
   CONTENIDO
   ========================================================= */

.gesap-training-content h3 {
    margin: 0 0 9px;

    color: #063b78;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;

    text-decoration: none !important;
}

.gesap-training-content p {
    margin: 0;

    max-width: 720px;

    color: #63738d;

    font-size: 0.96rem;
    line-height: 1.6;

    text-decoration: none !important;
}


/* Evitar subrayado por ser todo el bloque un enlace */

.gesap-training-item *,
.gesap-training-item:hover *,
.gesap-training-item:focus * {
    text-decoration: none !important;
}


/* =========================================================
   FLECHA
   ========================================================= */

.gesap-training-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid #bcd9ef;
    border-radius: 50%;

    color: #0787e8;

    font-size: 1.1rem;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.gesap-training-item:hover .gesap-training-arrow {
    background: #0787e8;
    color: #ffffff;

    transform: translateX(3px);
}


/* =========================================================
   CONTROL DEL MÓDULO
   ========================================================= */

.gesap-training-module {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.gesap-training-module .gesap-training {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .gesap-training {
        grid-template-columns: 1fr;
    }

    .gesap-training-intro {
        padding: 45px 38px;
    }

    .gesap-training-list {
        padding: 15px 35px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-training {
        border-radius: 16px;
    }

    .gesap-training-intro {
        padding: 38px 25px;
    }

    .gesap-training-intro h2 {
        font-size: 2rem;
    }

    .gesap-training-list {
        padding: 8px 22px;
    }

    .gesap-training-item {
        grid-template-columns: 42px 1fr;
        gap: 15px;

        padding: 25px 0;
    }

    .gesap-training-number {
        width: 40px;
        height: 40px;
    }

    .gesap-training-content h3 {
        font-size: 1.12rem;
    }

    .gesap-training-content p {
        font-size: 0.92rem;
    }

    .gesap-training-arrow {
        display: none;
    }

}
/* =========================================================
   GESAP - COLABORACIÓN INSTITUCIONAL
   ========================================================= */

.gesap-collaboration {
    width: 100%;
    margin: 0;
    padding: 58px 55px;

    background: #f3f9fe;
    border: 1px solid #dceaf5;
    border-radius: 22px;
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.gesap-collaboration-heading {
    max-width: 950px;
    margin: 0 auto 45px;

    text-align: center;
}

.gesap-collaboration .gesap-eyebrow {
    display: block;
    margin-bottom: 14px;

    color: #0787e8;

    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.gesap-collaboration-heading h2 {
    margin: 0 0 16px;

    color: #063b78;

    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 800;
    line-height: 1.12;
}

.gesap-collaboration-heading p {
    max-width: 850px;
    margin: 0 auto;

    color: #63738d;

    font-size: 1.05rem;
    line-height: 1.7;
}


/* =========================================================
   TRES ÁREAS DE COLABORACIÓN
   ========================================================= */

.gesap-collaboration-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    max-width: 1300px;
    margin: 0 auto;

    border-top: 1px solid #cfe0ee;
    border-bottom: 1px solid #cfe0ee;
}


/* =========================================================
   CADA ELEMENTO
   ========================================================= */

.gesap-collaboration-item {
    position: relative;

    padding: 35px 34px;

    border-right: 1px solid #cfe0ee;
}

.gesap-collaboration-item:last-child {
    border-right: none;
}


/* =========================================================
   NÚMERO
   ========================================================= */

.gesap-collaboration-number {
    display: block;

    margin-bottom: 20px;

    color: #0787e8;

    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}


/* =========================================================
   TEXTO
   ========================================================= */

.gesap-collaboration-item h3 {
    margin: 0 0 13px;

    color: #063b78;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-collaboration-item p {
    margin: 0;

    color: #63738d;

    font-size: 0.96rem;
    line-height: 1.65;
}


/* =========================================================
   BOTÓN
   ========================================================= */

.gesap-collaboration-action {
    display: flex;
    justify-content: center;

    margin-top: 36px;
}

.gesap-collaboration-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 12px 24px;

    background: #063b78;
    border-radius: 9px;

    color: #ffffff !important;

    font-weight: 700;

    text-decoration: none !important;

    transition:
        background 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-collaboration-button:hover {
    background: #0787e8;

    transform: translateY(-2px);

    box-shadow: 0 10px 24px rgba(7, 135, 232, 0.18);
}


/* =========================================================
   CONTROL DEL MÓDULO
   ========================================================= */

.gesap-collaboration-module {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.gesap-collaboration-module .gesap-collaboration {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .gesap-collaboration {
        padding: 50px 35px;
    }

    .gesap-collaboration-options {
        grid-template-columns: 1fr;
    }

    .gesap-collaboration-item {
        border-right: none;
        border-bottom: 1px solid #cfe0ee;
    }

    .gesap-collaboration-item:last-child {
        border-bottom: none;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-collaboration {
        padding: 42px 22px;
        border-radius: 16px;
    }

    .gesap-collaboration-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .gesap-collaboration-heading p {
        margin: 0;
    }

    .gesap-collaboration-heading h2 {
        font-size: 2rem;
    }

    .gesap-collaboration-item {
        padding: 27px 5px;
    }

    .gesap-collaboration-action {
        margin-top: 28px;
    }

}
/* =========================================================
   GESAP - CTA FINAL HOME
   ========================================================= */

.gesap-final-cta {
    position: relative;

    width: 100%;
    margin: 0;
    padding: 75px 60px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(40, 190, 240, 0.30) 0%,
            rgba(40, 190, 240, 0) 32%
        ),
        linear-gradient(
            135deg,
            #052b5c 0%,
            #064b91 55%,
            #087ee7 100%
        );

    border-radius: 22px;
}


/* Elemento decorativo */

.gesap-final-cta::after {
    content: "";

    position: absolute;
    right: -100px;
    top: -130px;

    width: 400px;
    height: 400px;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50%;

    box-shadow:
        0 0 0 60px rgba(255, 255, 255, 0.025),
        0 0 0 120px rgba(255, 255, 255, 0.018);

    pointer-events: none;
}


/* =========================================================
   CONTENIDO
   ========================================================= */

.gesap-final-cta-content {
    position: relative;
    z-index: 2;

    max-width: 850px;
    margin: 0 auto;

    text-align: center;
}

.gesap-final-cta-eyebrow {
    display: block;

    margin-bottom: 16px;

    color: #71d8ff;

    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.15em;
}

.gesap-final-cta h2 {
    margin: 0 0 20px;

    color: #ffffff;

    font-size: clamp(2.2rem, 4vw, 3.7rem);
    font-weight: 800;
    line-height: 1.08;
}

.gesap-final-cta p {
    max-width: 720px;
    margin: 0 auto 32px;

    color: rgba(255, 255, 255, 0.82);

    font-size: 1.08rem;
    line-height: 1.7;
}


/* =========================================================
   BOTONES
   ========================================================= */

.gesap-final-cta-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 13px;
}

.gesap-final-cta-primary,
.gesap-final-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 50px;

    padding: 12px 23px;

    border-radius: 9px;

    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}


/* Principal */

.gesap-final-cta-primary {
    background: #ffffff;

    color: #064b91 !important;
}

.gesap-final-cta-primary:hover {
    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.16);
}


/* Secundario */

.gesap-final-cta-secondary {
    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.45);

    color: #ffffff !important;
}

.gesap-final-cta-secondary:hover {
    background: rgba(255, 255, 255, 0.10);

    transform: translateY(-2px);
}


/* =========================================================
   CONTROL DEL MÓDULO
   ========================================================= */

.gesap-cta-module {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-final-cta {
        padding: 55px 24px;

        border-radius: 16px;
    }

    .gesap-final-cta h2 {
        font-size: 2.2rem;
    }

    .gesap-final-cta p {
        font-size: 1rem;
    }

    .gesap-final-cta-actions {
        flex-direction: column;
    }

    .gesap-final-cta-primary,
    .gesap-final-cta-secondary {
        width: 100%;
    }

}
/* =========================================================
   GESAP - FOOTER
   ========================================================= */

.gesap-footer-module {
    margin: 0 !important;
    padding: 0 !important;
}

.gesap-footer {
    width: 100%;

    padding: 65px 60px 25px;

    background: #032b5c;

    color: #ffffff;
}


/* =========================================================
   CONTENIDO PRINCIPAL
   ========================================================= */

.gesap-footer-main {
    display: grid;
    grid-template-columns: 1.6fr 0.8fr 0.8fr 1fr;
    gap: 60px;

    width: 100%;
    max-width: 1500px;

    margin: 0 auto;
}


/* =========================================================
   MARCA
   ========================================================= */

.gesap-footer-brand-name {
    margin-bottom: 4px;

    color: #ffffff;

    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.gesap-footer-brand-subtitle {
    margin-bottom: 22px;

    color: #6ed7ff;

    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.gesap-footer-brand p {
    max-width: 390px;

    margin: 0;

    color: rgba(255, 255, 255, 0.68);

    font-size: 0.95rem;
    line-height: 1.7;
}


/* =========================================================
   TÍTULOS DE COLUMNAS
   ========================================================= */

.gesap-footer-column h3 {
    margin: 0 0 20px;

    color: #ffffff;

    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}


/* =========================================================
   ENLACES
   ========================================================= */

.gesap-footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 11px;
}

.gesap-footer-links a,
.gesap-footer-contact a {
    color: rgba(255, 255, 255, 0.72) !important;

    font-size: 0.94rem;

    text-decoration: none !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.gesap-footer-links a:hover,
.gesap-footer-contact a:hover {
    color: #6ed7ff !important;
}


/* =========================================================
   CONTACTO
   ========================================================= */

.gesap-footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.gesap-footer-contact p {
    margin: 0 0 10px;

    color: rgba(255, 255, 255, 0.72);

    font-size: 0.94rem;
}

.gesap-footer-contact > a {
    margin-bottom: 10px;
}

.gesap-footer-contact-link {
    display: inline-flex;

    margin-top: 10px !important;

    color: #6ed7ff !important;

    font-weight: 700;
}


/* =========================================================
   FRANJA INFERIOR
   ========================================================= */

.gesap-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    width: 100%;
    max-width: 1500px;

    margin: 50px auto 0;
    padding-top: 22px;

    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.gesap-footer-bottom p {
    margin: 0;

    color: rgba(255, 255, 255, 0.52);

    font-size: 0.82rem;
}


/* =========================================================
   LEGALES
   ========================================================= */

.gesap-footer-legal {
    display: flex;
    align-items: center;

    gap: 24px;
}

.gesap-footer-legal a {
    color: rgba(255, 255, 255, 0.52) !important;

    font-size: 0.82rem;

    text-decoration: none !important;

    transition: color 0.2s ease;
}

.gesap-footer-legal a:hover {
    color: #ffffff !important;
}


/* =========================================================
   EVITAR ESPACIOS DEL FOOTER DE CASSIOPEIA
   ========================================================= */

.container-footer {
    margin: 0 !important;
    padding: 0 !important;

    background: #032b5c !important;
}

.container-footer .grid-child {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .gesap-footer {
        padding: 55px 40px 25px;
    }

    .gesap-footer-main {
        grid-template-columns: repeat(2, 1fr);

        gap: 45px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-footer {
        padding: 45px 25px 25px;
    }

    .gesap-footer-main {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .gesap-footer-bottom {
        flex-direction: column;
        align-items: flex-start;

        gap: 15px;

        margin-top: 38px;
    }

    .gesap-footer-legal {
        flex-direction: column;
        align-items: flex-start;

        gap: 10px;
    }

}
/* =========================================================
   GESAP - CABECERA INSTITUCIONAL
   Investigación + Tecnologías Emergentes
   ========================================================= */

/* Zona superior de marca */
.container-header .navbar-brand {
    position: relative;
    width: 100%;
    min-height: 155px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background-color: #ffffff;

    /* Gráfico de investigación y tecnologías emergentes */
    background-image:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 32%,
            rgba(255,255,255,0.92) 43%,
            rgba(255,255,255,0.30) 68%,
            rgba(255,255,255,0.05) 100%
        ),
        url("/images/gesap/headers/gesap-header-research-tech.png");

    background-repeat: no-repeat;
    background-position:
        center,
        right center;

    background-size:
        100% 100%,
        auto 100%;
}


/* Logo original de GESAP */
.container-header .navbar-brand img {
    position: relative;
    z-index: 2;

    width: auto;
    max-width: 430px;
    max-height: 125px;

    object-fit: contain;
}


/* Evita márgenes innecesarios */
.container-header .navbar-brand > a {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    height: 100%;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .container-header .navbar-brand {
        min-height: 130px;

        background-position:
            center,
            115% center;

        background-size:
            100% 100%,
            auto 100%;
    }

    .container-header .navbar-brand img {
        max-width: 340px;
        max-height: 105px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .container-header .navbar-brand {
        min-height: 95px;

        background-image: none;

        padding: 10px 15px;
    }

    .container-header .navbar-brand img {
        width: auto;
        max-width: 260px;
        max-height: 75px;
    }

}
/* =========================================================
   GESAP - CORRECCIÓN CABECERA INSTITUCIONAL
   Logo + gráfico tecnológico integrado
   ========================================================= */

/* La cabecera superior puede ocupar todo el ancho */
.container-header {
    width: 100% !important;
    max-width: none !important;
}

/* Zona de marca */
.container-header .navbar-brand {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 180px !important;

    margin: 0 !important;
    padding: 20px 6% !important;

    display: flex !important;
    align-items: center !important;

    position: relative !important;
    overflow: hidden !important;

    background-color: #ffffff !important;

    /*
       El gráfico comienza aproximadamente a mitad de la cabecera
       y continúa hasta el borde derecho.
    */
    background-image:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 30%,
            rgba(255,255,255,0.98) 38%,
            rgba(255,255,255,0.82) 45%,
            rgba(255,255,255,0.35) 55%,
            rgba(255,255,255,0.05) 68%,
            rgba(255,255,255,0) 100%
        ),
        url("/images/gesap/headers/gesap-header-research-tech.png") !important;

    background-repeat: no-repeat !important;

    background-position:
        center center,
        right center !important;

    /*
       CLAVE:
       la imagen ya no usa auto 100%.
       Ahora ocupa aproximadamente 68% de la cabecera.
    */
    background-size:
        100% 100%,
        68% 100% !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.container-header .navbar-brand > a {
    position: relative !important;
    z-index: 5 !important;

    display: flex !important;
    align-items: center !important;

    margin: 0 !important;
    padding: 0 !important;
}


.container-header .navbar-brand img {
    position: relative !important;
    z-index: 5 !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 430px !important;
    max-height: 125px !important;

    object-fit: contain !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .container-header .navbar-brand {
        min-height: 145px !important;

        padding: 15px 4% !important;

        background-size:
            100% 100%,
            65% 100% !important;
    }

    .container-header .navbar-brand img {
        max-width: 330px !important;
        max-height: 100px !important;
    }

}


/* =========================================================
   MÓVIL
   En móvil priorizamos el logo y eliminamos el gráfico.
   ========================================================= */

@media (max-width: 640px) {

    .container-header .navbar-brand {
        min-height: 95px !important;

        padding: 10px 20px !important;

        background-image: none !important;

        justify-content: center !important;
    }

    .container-header .navbar-brand img {
        max-width: 270px !important;
        max-height: 75px !important;
    }

}
/* =========================================================
   GESAP - CABECERA SUPERIOR A ANCHO COMPLETO
   Solo afecta logo + gráfico.
   NO modifica el menú.
   ========================================================= */

/* Primer grid-child = zona de branding */
.container-header > .grid-child:first-child {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Zona que contiene logo + gráfico */
.container-header > .grid-child:first-child .navbar-brand {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    /* Logo conserva separación izquierda */
    padding: 20px max(7%, 60px) !important;

    min-height: 180px !important;

    background-color: #ffffff !important;

    background-image:
        linear-gradient(
            90deg,
            #ffffff 0%,
            #ffffff 29%,
            rgba(255,255,255,0.98) 35%,
            rgba(255,255,255,0.75) 43%,
            rgba(255,255,255,0.25) 52%,
            rgba(255,255,255,0) 62%
        ),
        url("/images/gesap/headers/gesap-header-research-tech.png") !important;

    background-repeat: no-repeat !important;

    background-position:
        center,
        right center !important;

    background-size:
        100% 100%,
        72% 100% !important;
}


/* El menú conserva su ancho actual */
.container-header > .grid-child:nth-child(2) {
    /* No ampliamos esta zona */
}


/* TABLET */
@media (max-width: 991px) {

    .container-header > .grid-child:first-child .navbar-brand {
        padding-left: 35px !important;
        padding-right: 0 !important;

        background-size:
            100% 100%,
            68% 100% !important;
    }

}


/* MÓVIL */
@media (max-width: 640px) {

    .container-header > .grid-child:first-child .navbar-brand {
        padding: 10px 20px !important;

        background-image: none !important;
    }

}
/* =========================================================
   GESAP - MENÚ RESPONSIVE
   Escritorio / Móvil
   ========================================================= */

/* En escritorio ocultamos completamente el menú móvil */
.gesap-menu-mobile {
    display: none !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Ocultar menú de escritorio */
    .gesap-menu-desktop {
        display: none !important;
    }

    /* Mostrar menú móvil */
    .gesap-menu-mobile {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

}
/* =========================================================
   GESAP - NAVEGACIÓN MÓVIL DEFINITIVA
   ========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------------------
       CABECERA
       ----------------------------------------------------- */

    .container-header {
        min-height: auto !important;
    }

    /* El banner tecnológico no se muestra en móvil */
    .container-header > .grid-child:first-child .navbar-brand {
        min-height: 105px !important;
        padding: 18px 22px !important;

        background-image: none !important;

        display: flex !important;
        align-items: center !important;
    }

    /* Logo */
    .container-header .brand-logo img {
        width: auto !important;
        max-width: 255px !important;
        max-height: 75px !important;
    }


    /* -----------------------------------------------------
       FILA DE NAVEGACIÓN
       ----------------------------------------------------- */

    .container-header .container-nav {
        position: relative !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: 100% !important;
        min-height: 64px !important;

        padding: 8px 20px !important;
        margin: 0 !important;

        background: #ffffff !important;
    }


    /* -----------------------------------------------------
       MENÚ ESCRITORIO
       ----------------------------------------------------- */

    .gesap-menu-desktop {
        display: none !important;
    }


    /* -----------------------------------------------------
       MENÚ MÓVIL
       ----------------------------------------------------- */

    .gesap-menu-mobile {
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .gesap-menu-mobile.navbar,
    nav[aria-label="Menú Móvil ES"] {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;

        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }


    /* -----------------------------------------------------
       BOTÓN HAMBURGUESA
       ----------------------------------------------------- */

    nav[aria-label="Menú Móvil ES"] .navbar-toggler {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 1px solid #d8e3ef !important;
        border-radius: 8px !important;

        background: #ffffff !important;

        box-shadow: none !important;

        position: relative !important;

        font-size: 0 !important;
    }


    /* Dibujamos las tres líneas */
    nav[aria-label="Menú Móvil ES"] .navbar-toggler::before {
        content: "☰" !important;

        display: block !important;

        font-size: 28px !important;
        line-height: 1 !important;
        font-weight: 400 !important;

        color: #063b78 !important;
    }


    /* -----------------------------------------------------
       MENÚ CUANDO SE ABRE
       ----------------------------------------------------- */

    nav[aria-label="Menú Móvil ES"] .navbar-collapse {
        position: absolute !important;

        top: calc(100% + 8px) !important;
        left: 0 !important;
        right: 0 !important;

        width: calc(100vw - 40px) !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding: 12px !important;

        background: #ffffff !important;

        border: 1px solid #dce7f1 !important;
        border-radius: 12px !important;

        box-shadow: 0 15px 35px rgba(5, 47, 103, 0.15) !important;

        z-index: 9999 !important;
    }


    /* Enlaces */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 2px !important;
    }

    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li {
        width: 100% !important;
        margin: 0 !important;
    }

    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li > a {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;

        padding: 12px 14px !important;

        border-radius: 7px !important;

        font-size: 16px !important;
        font-weight: 600 !important;

        color: #123452 !important;

        text-decoration: none !important;
    }


    /* -----------------------------------------------------
       IDIOMAS
       ----------------------------------------------------- */

    .container-header .mod-languages {
        display: flex !important;
        align-items: center !important;

        margin: 0 12px 0 0 !important;
        padding: 0 !important;
    }

}
/* =========================================================
   GESAP - CORRECCIÓN MENÚ MÓVIL
   El desplegable ocupa correctamente el ancho del iPhone
   ========================================================= */

@media (max-width: 767px) {

    /* La fila del menú será el punto de referencia */
    .container-header .container-nav {
        position: relative !important;
        overflow: visible !important;
    }

    /* El NAV móvil no debe crear un ancho propio */
    nav[aria-label="Menú Móvil ES"] {
        position: static !important;
        width: auto !important;
    }

    /* PANEL DESPLEGABLE */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse {
        position: absolute !important;

        top: 100% !important;
        left: 12px !important;
        right: 12px !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 10px !important;

        background: #ffffff !important;

        border: 1px solid #dce7f1 !important;
        border-radius: 12px !important;

        box-shadow: 0 15px 35px rgba(5, 47, 103, 0.18) !important;

        z-index: 10000 !important;
    }

    /* LISTA */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* ELEMENTOS */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* ENLACES */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li > a,
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li > span {
        display: flex !important;
        align-items: center !important;

        width: 100% !important;
        min-height: 46px !important;

        margin: 0 !important;
        padding: 11px 14px !important;

        box-sizing: border-box !important;

        font-size: 16px !important;
        line-height: 1.3 !important;
        font-weight: 600 !important;

        color: #073c78 !important;

        white-space: normal !important;
        text-decoration: none !important;

        border-radius: 7px !important;
    }

    /* Separación sutil */
    nav[aria-label="Menú Móvil ES"] .navbar-collapse .mod-menu > li + li {
        border-top: 1px solid #edf2f7 !important;
    }

}
/* =========================================================
   GESAP - PÁGINA QUIÉNES SOMOS
   ========================================================= */

.gesap-about {
    width: 100%;
    margin: 0 auto;
    padding: 10px 0 60px;
}


/* ---------------------------------------------------------
   INTRODUCCIÓN
   --------------------------------------------------------- */

.gesap-about-intro {
    width: 100%;
    max-width: none;
    margin-bottom: 38px;
}

.gesap-about-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #008fe8;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gesap-about-intro h2 {
    width: 100%;
    max-width: none;
    margin: 0 0 24px;
    color: #052b5c;
    font-size: clamp(1.8rem, 2.1vw, 2.15rem);
    font-weight: 800;
    line-height: 1.15;
}

.gesap-about-intro p {
    width: 100%;
    max-width: none;
    margin: 0 0 14px;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: justify;
  text-align-last: left;
    text-justify: inter-word;
}


/* ---------------------------------------------------------
   NUESTRO PROPÓSITO
   --------------------------------------------------------- */

.gesap-about-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #064b91 58%,
            #008fe8 100%
        );
    box-shadow: 0 14px 35px rgba(5, 43, 92, 0.14);
}

.gesap-about-purpose::after {
    content: "";
    position: absolute;
    top: -90px;
    right: -60px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255,255,255,0.13);
    border-radius: 50%;
}

.gesap-about-purpose .gesap-about-kicker {
    position: relative;
    z-index: 1;
    color: #79d8ff;
}

.gesap-about-purpose h2 {
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0 0 14px;
    color: #ffffff;
    font-size: clamp(1.55rem, 2.6vw, 2.2rem);
    font-weight: 800;
    line-height: 1.25;
}

.gesap-about-purpose p {
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0;
    color: rgba(255,255,255,0.88);
    font-size: 1rem;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   TARJETAS
   --------------------------------------------------------- */

.gesap-about-areas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.gesap-about-card {
    position: relative;
    padding: 30px 28px;
    border: 1px solid #d8e5f3;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.gesap-about-card:hover {
    transform: translateY(-4px);
    border-color: #9ed5f5;
    box-shadow: 0 14px 32px rgba(5, 43, 92, 0.10);
}

.gesap-about-number {
    display: block;
    margin-bottom: 22px;
    color: #00a2e8;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.gesap-about-card h3 {
    margin: 0 0 13px;
    color: #052b5c;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-about-card p {
    margin: 0;
    color: #5a6b82;
    font-size: 0.94rem;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .gesap-about {
        padding-bottom: 45px;
    }

    .gesap-about-intro {
        margin-bottom: 40px;
    }

    .gesap-about-purpose {
        padding: 36px 32px;
        margin-bottom: 38px;
    }

    .gesap-about-areas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* ---------------------------------------------------------
   MÓVIL
   --------------------------------------------------------- */

@media (max-width: 767.98px) {

    .gesap-about {
        padding-top: 5px;
        padding-bottom: 35px;
    }

    .gesap-about-intro {
        margin-bottom: 32px;
    }

    .gesap-about-intro h2 {
        font-size: 1.75rem;
        line-height: 1.2;
    }

    .gesap-about-intro p {
        font-size: 0.95rem;
        line-height: 1.7;
    }

    .gesap-about-purpose {
        margin-bottom: 30px;
        padding: 30px 24px;
        border-radius: 14px;
    }

    .gesap-about-purpose h2 {
        font-size: 1.5rem;
    }

    .gesap-about-purpose p {
        font-size: 0.95rem;
    }

    .gesap-about-areas {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gesap-about-card {
        padding: 25px 23px;
    }

    .gesap-about-number {
        margin-bottom: 15px;
    }

}
/* =========================================================
   GESAP - AJUSTES FINALES QUIÉNES SOMOS
   ========================================================= */

/* Título principal generado por Joomla */
.com-content-article.item-page > .page-header h1,
.com-content-article.item-page > .page-header h2 {
    color: #052b5c;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 28px;
}

/* Menor separación antes de Nuestro propósito */
.gesap-about-intro {
    margin-bottom: 38px;
}

@media (max-width: 767.98px) {

    .com-content-article.item-page > .page-header h1,
    .com-content-article.item-page > .page-header h2 {
        font-size: 1.7rem;
        margin-bottom: 22px;
    }

    .gesap-about-intro {
        margin-bottom: 28px;
    }

}
/* Ajuste de separación en Quiénes somos */
.gesap-about {
    padding-top: 0;
}

.gesap-about-intro {
    margin-top: -5px;
}

.com-content-article.item-page > .page-header {
    margin-bottom: 22px;
}
/* =========================================================
   GESAP - MISIÓN Y VISIÓN
   ========================================================= */

.gesap-mv-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 10px 0 50px;
}

.gesap-mv-card {
    padding: 38px 36px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}

.gesap-mv-card h2 {
    margin: 0 0 18px;
    color: #052b5c;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-mv-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-mv-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-mv-card {
        padding: 28px 24px;
    }

    .gesap-mv-card h2 {
        font-size: 1.35rem;
    }

    .gesap-mv-card p {
        text-align: left;
    }

}
/* =========================================================
   GESAP - EQUIPO
   ========================================================= */

.gesap-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 50px;
}

.gesap-team-card {
    padding: 32px 30px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}

.gesap-team-card h2 {
    margin: 0 0 16px;
    color: #052b5c;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-team-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: left;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-team-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-team-card {
        padding: 28px 24px;
    }

    .gesap-team-card p {
        text-align: left;
    }

}
/* =========================================================
   GESAP - ALIANZAS Y COLABORACIÓN
   ========================================================= */

.gesap-collab-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 50px;
}

.gesap-collab-card {
    padding: 32px 30px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}

.gesap-collab-card h2 {
    margin: 0 0 16px;
    color: #052b5c;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-collab-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: left;
}


/* BOTÓN DE CONTACTO */

.gesap-collab-button {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin-top: 22px;
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 8px;
    color: #ffffff !important;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}

.gesap-collab-button:hover {
    background: #ffffff;
    color: #052b5c !important;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-collab-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-collab-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-collab-card {
        padding: 28px 24px;
    }

    .gesap-collab-button {
        width: 100%;
        text-align: center;
    }

}
/* =========================================================
   GESAP - LÍNEAS DE INVESTIGACIÓN
   ========================================================= */

.gesap-research-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 50px;
}

.gesap-research-card {
    padding: 32px 30px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}

.gesap-research-card h2 {
    margin: 0 0 16px;
    color: #052b5c;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: left;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-research-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-research-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-research-card {
        padding: 28px 24px;
    }

}
/* =========================================================
   GESAP - GRUPOS DE INVESTIGACIÓN
   ========================================================= */

.gesap-group-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 45px;
}

.gesap-group-card {
    padding: 32px 30px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}

.gesap-group-card h2 {
    margin: 0 0 16px;
    color: #052b5c;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-group-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: left;
}


/* CÓMO TRABAJAMOS */

.gesap-group-section {
    margin: 0 0 45px;
    padding: 32px 34px;
    border-left: 4px solid #008fe8;
    background: #f6f9fd;
    border-radius: 0 12px 12px 0;
}

.gesap-group-section h2 {
    margin: 0 0 14px;
    color: #052b5c;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-group-section p {
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-group-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-group-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-group-card {
        padding: 28px 24px;
    }

    .gesap-group-section {
        margin-bottom: 30px;
        padding: 26px 22px;
    }

    .gesap-group-section p {
        text-align: left;
    }

}
/* =========================================================
   AJUSTE FINAL - PRODUCCIÓN CIENTÍFICA
   ========================================================= */

.gesap-publications-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin-bottom: 45px !important;
}

.gesap-publication-card {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
}

.gesap-publication-year {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 30px 8px !important;
}

.gesap-publication-content {
    padding: 28px 24px 30px !important;
}

/* Tablet y móvil */
@media (max-width: 991.98px) {
    .gesap-publications-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {
    .gesap-publication-card {
        grid-template-columns: 1fr !important;
    }

    .gesap-publication-year {
        justify-content: flex-start;
        padding: 16px 24px !important;
    }
}
/* =========================================================
   PRODUCCIÓN CIENTÍFICA - AJUSTE DE ESPACIADO
   ========================================================= */

/* Introducción más compacta */
.gesap-about-intro {
    margin-bottom: 24px !important;
}

.gesap-about-intro p {
    margin-bottom: 9px !important;
}

.gesap-about-intro p:last-child {
    margin-bottom: 0 !important;
}

/* Encabezado de publicaciones */
.gesap-publications-heading {
    margin: 20px 0 16px !important;
}

.gesap-publications-heading .gesap-about-kicker {
    margin-bottom: 4px !important;
}

.gesap-publications-heading h2 {
    margin: 3px 0 5px !important;
}

.gesap-publications-heading p {
    margin: 0 !important;
}

/* Tarjetas */
.gesap-publications-list {
    margin-top: 0 !important;
    margin-bottom: 32px !important;
}

/* Bloque informativo */
.gesap-group-section {
    margin-bottom: 32px !important;
}
/* =========================================================
   GESAP - LABORATORIOS DE INVESTIGACIÓN
   ========================================================= */

.gesap-lab-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 42px;
}


/* TARJETAS */

.gesap-lab-card {
    position: relative;
    padding: 34px 32px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}


/* NÚMERO */

.gesap-lab-number {
    position: absolute;
    top: 28px;
    right: 30px;
    color: #d8e8f7;
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}


/* TÍTULO */

.gesap-lab-card h2 {
    max-width: 85%;
    margin: 7px 0 16px;
    color: #052b5c;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-lab-card > p {
    margin: 0 0 22px;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
}


/* ETIQUETAS */

.gesap-lab-topics {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.gesap-lab-topics span {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 6px;
    background: #f0f7fd;
    color: #075a9c;
    font-size: 0.78rem;
    font-weight: 700;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-lab-grid {
        grid-template-columns: 1fr;
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-lab-grid {
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-lab-card {
        padding: 28px 24px;
    }

    .gesap-lab-number {
        top: 24px;
        right: 22px;
        font-size: 1.7rem;
    }

    .gesap-lab-card h2 {
        max-width: 88%;
        font-size: 1.3rem;
    }

}
/* =========================================================
   GESAP - LABORATORIOS DIGITALES
   ========================================================= */

.gesap-digital-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 42px;
}


/* TARJETA */

.gesap-digital-card {
    position: relative;
    padding: 34px 32px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #ffffff 72%,
            #f3f9fe 100%
        );
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}


/* IDENTIFICADOR */

.gesap-digital-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #052b5c, #008fe8);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}


/* TÍTULO */

.gesap-digital-card h2 {
    margin: 6px 0 15px;
    color: #052b5c;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-digital-card > p {
    margin: 0 0 22px;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-digital-grid {
        grid-template-columns: 1fr;
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-digital-grid {
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-digital-card {
        padding: 28px 24px;
    }

    .gesap-digital-icon {
        width: 42px;
        height: 42px;
    }

}
/* =========================================================
   GESAP - ETIQUETAS DE LABORATORIOS
   ========================================================= */

.gesap-lab-topics {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 18px !important;
}

.gesap-lab-topics span {
    display: inline-block !important;
    width: auto !important;
    padding: 6px 11px !important;
    margin: 0 !important;

    background: #eef7fd !important;
    border: 1px solid #d5e9f8 !important;
    border-radius: 20px !important;

    color: #075a9c !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}
/* =========================================================
   GESAP - LABORATORIOS EN DESARROLLO
   ========================================================= */

.gesap-dev-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 42px;
}


/* TARJETA */

.gesap-dev-card {
    padding: 30px 32px 32px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}


/* CABECERA */

.gesap-dev-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 24px;
}


/* NÚMERO */

.gesap-dev-number {
    color: #008fe8;
    font-size: 0.8rem;
    font-weight: 800;
}


/* ESTADO */

.gesap-dev-status {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}


/* EN DESARROLLO */

.status-development {
    background: #e8f5fd;
    color: #0078c8;
}


/* EN PLANIFICACIÓN */

.status-planning {
    background: #f2f5f8;
    color: #52677d;
}


/* EN EVALUACIÓN */

.status-evaluation {
    background: #f5f3fb;
    color: #66558c;
}


/* TÍTULO */

.gesap-dev-card h2 {
    margin: 6px 0 16px;
    color: #052b5c;
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-dev-card > p {
    margin: 0 0 20px;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
}


/* TEMAS */

.gesap-dev-topics {
    padding-top: 16px;
    border-top: 1px solid #d8e5f3;

    color: #075a9c;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-dev-grid {
        grid-template-columns: 1fr;
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-dev-grid {
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-dev-card {
        padding: 26px 24px;
    }

    .gesap-dev-top {
        margin-bottom: 20px;
    }

}
/* =========================================================
   TEMAS - LABORATORIOS
   ESTILO UNIFICADO
   ========================================================= */

.gesap-digital-topics,
.gesap-dev-topics {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid #d8e5f3 !important;
    color: #075a9c !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}
/* =========================================================
   TEMAS - TODOS LOS LABORATORIOS
   ESTILO UNIFICADO
   ========================================================= */

.gesap-lab-topics,
.gesap-digital-topics,
.gesap-dev-topics {
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid #d8e5f3 !important;

    color: #075a9c !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}
/* =========================================================
   GESAP - FORMACIÓN PARA INVESTIGADORES
   ========================================================= */

.gesap-training-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 10px 0 42px;
}


/* TARJETA */

.gesap-training-card {
    position: relative;
    padding: 32px 30px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}


/* NÚMERO */

.gesap-training-number {
    position: absolute;
    top: 28px;
    right: 28px;

    color: #d5e6f5;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
}


/* TÍTULO */

.gesap-training-card h2 {
    margin: 7px 0 16px;
    padding-right: 25px;

    color: #052b5c;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-training-card > p {
    margin: 0 0 20px;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: left;
}


/* TEMAS */

.gesap-training-topics {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #d8e5f3;

    color: #075a9c;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.7;
}


/* TABLET */

@media (max-width: 991.98px) {

    .gesap-training-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MÓVIL */

@media (max-width: 767.98px) {

    .gesap-training-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 30px;
    }

    .gesap-training-card {
        padding: 28px 24px;
    }

    .gesap-training-number {
        top: 24px;
        right: 22px;
        font-size: 1.6rem;
    }

}
/* =========================================================
   BOTONES - FORMACIÓN PARA INVESTIGADORES
   ========================================================= */

.gesap-training-link {
    display: inline-block;
    margin-top: 18px;
    padding: 10px 16px;

    border: 1px solid #0b83d5;
    border-radius: 7px;

    color: #075a9c !important;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none !important;

    transition: background 0.2s ease, color 0.2s ease;
}

.gesap-training-link:hover {
    background: #075a9c;
    color: #ffffff !important;
}
/* =========================================================
   CERTIFICACIÓN INTERNACIONAL INCLUIDA
   ========================================================= */

.gesap-certification-included {
    margin: 2px 0 18px;
    padding: 10px 13px;

    border-left: 3px solid #008fe8;
    border-radius: 0 6px 6px 0;
    background: #eef7fd;

    color: #075a9c;
    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.45;
}
/* =========================================================
   GESAP - CURSOS Y PROGRAMAS
   ========================================================= */

/* GRID PRINCIPAL */

.gesap-professional-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    margin: 12px 0 42px !important;
}


/* TARJETAS */

.gesap-professional-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 30px 28px !important;

    border: 1px solid #d8e5f3 !important;
    border-radius: 16px !important;

    background: #ffffff !important;

    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.055) !important;
}


/* CÓDIGO PMP / SCRUM / ITIL */

.gesap-professional-code {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    align-self: flex-start !important;

    min-width: 56px !important;
    height: 40px !important;

    margin-bottom: 20px !important;
    padding: 0 12px !important;

    border-radius: 8px !important;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    ) !important;

    color: #ffffff !important;

    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
}


/* TÍTULO */

.gesap-professional-card h2 {
    margin: 7px 0 14px !important;

    color: #052b5c !important;

    font-size: 1.35rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


/* DESCRIPCIÓN */

.gesap-professional-card > p {
    margin: 0 0 18px !important;

    color: #4c5f78 !important;

    font-size: 0.96rem !important;
    line-height: 1.7 !important;

    text-align: left !important;
}


/* CERTIFICACIÓN INTERNACIONAL */

.gesap-certification-included {
    margin: 2px 0 18px !important;
    padding: 10px 13px !important;

    border-left: 3px solid #008fe8 !important;
    border-radius: 0 6px 6px 0 !important;

    background: #eef7fd !important;

    color: #075a9c !important;

    font-size: 0.82rem !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}


/* TEMAS */

.gesap-professional-topics {
    margin-top: auto !important;
    padding-top: 16px !important;

    border-top: 1px solid #d8e5f3 !important;

    color: #075a9c !important;

    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}


/* BOTÓN VER CURSO */

.gesap-professional-card .gesap-training-link {
    display: inline-block !important;
    align-self: flex-start !important;

    margin-top: 18px !important;
    padding: 10px 16px !important;

    border: 1px solid #0b83d5 !important;
    border-radius: 7px !important;

    color: #075a9c !important;

    font-size: 0.86rem !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition: all 0.2s ease !important;
}

.gesap-professional-card .gesap-training-link:hover {
    background: #075a9c !important;
    color: #ffffff !important;
}


/* =========================================================
   MATRÍCULA
   ========================================================= */

.gesap-enrollment {
    margin: 0 0 42px !important;
    padding: 32px 34px !important;

    border: 1px solid #d8e5f3 !important;
    border-radius: 16px !important;

    background: #f6f9fd !important;
}

.gesap-enrollment h2 {
    margin: 6px 0 25px !important;

    color: #052b5c !important;

    font-size: 1.5rem !important;
    font-weight: 800 !important;
}


/* PASOS */

.gesap-enrollment-steps {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr) !important;

    align-items: center !important;
    gap: 18px !important;
}


.gesap-enrollment-step {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}


.gesap-enrollment-step strong {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 38px !important;

    width: 38px !important;
    height: 38px !important;

    border-radius: 50% !important;

    background: #075a9c !important;

    color: #ffffff !important;

    font-size: 0.76rem !important;
    font-weight: 800 !important;
}


.gesap-enrollment-step span {
    color: #052b5c !important;

    font-size: 0.9rem !important;
    font-weight: 700 !important;
}


.gesap-enrollment-arrow {
    color: #8ba8c1 !important;
    font-size: 1.25rem !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-professional-grid {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    .gesap-professional-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-bottom: 30px !important;
    }

    .gesap-professional-card {
        padding: 26px 22px !important;
    }

    .gesap-enrollment {
        padding: 27px 22px !important;
    }

    .gesap-enrollment-steps {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 17px !important;
    }

    .gesap-enrollment-arrow {
        display: none !important;
    }

}
/* =========================================================
   GESAP - CERTIFICACIONES
   ========================================================= */


/* =========================================================
   ENCABEZADO DE PARTNERS
   ========================================================= */

.gesap-cert-heading {
    margin: 8px 0 22px;
}

.gesap-cert-heading h2 {
    margin: 5px 0 8px;

    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-cert-heading p {
    max-width: 850px;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
}


/* =========================================================
   GRID DE PARTNERS
   ========================================================= */

.gesap-partners-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    margin: 0 0 42px !important;
}


/* =========================================================
   TARJETAS DE PARTNERS
   ========================================================= */

.gesap-partner-card {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 30px 30px 28px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #ffffff;

    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.gesap-partner-card:hover {
    transform: translateY(-3px);

    border-color: #b7d4eb;

    box-shadow: 0 12px 30px rgba(5, 43, 92, 0.09);
}


/* =========================================================
   IDENTIFICADOR DEL PARTNER
   Posteriormente puede reemplazarse por el logo oficial
   ========================================================= */

.gesap-partner-name {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 68px;

    margin: 0 0 24px;
    padding: 14px 20px;

    border: 1px solid #dbe8f4;
    border-radius: 10px;

    background: #f7fafd;

    color: #052b5c;

    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2;

    text-align: center;
}


/* =========================================================
   TÍTULO DEL PARTNER
   ========================================================= */

.gesap-partner-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* =========================================================
   DESCRIPCIÓN
   ========================================================= */

.gesap-partner-card > p {
    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: left;
}


/* =========================================================
   ESTADO PARTNER
   ========================================================= */

.gesap-partner-status {
    margin-top: auto;
    padding-top: 16px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.84rem;
    font-weight: 800;
    line-height: 1.5;
}


/* =========================================================
   PROCESO DE CERTIFICACIÓN
   ========================================================= */

.gesap-cert-process {
    margin: 0 0 42px;

    padding: 34px 36px 36px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #f6f9fd;
}

.gesap-cert-process h2 {
    margin: 5px 0 8px;

    color: #052b5c;

    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-cert-process-intro {
    max-width: 850px;

    margin: 0 0 28px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;
}


/* =========================================================
   PASOS DEL PROCESO
   ========================================================= */

.gesap-cert-steps {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    align-items: stretch;

    gap: 14px;
}


/* PASO */

.gesap-cert-step {
    padding: 22px 18px;

    border: 1px solid #d8e5f3;
    border-radius: 12px;

    background: #ffffff;

    text-align: center;
}


/* NÚMERO */

.gesap-cert-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin: 0 auto 14px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
}


/* TÍTULO DEL PASO */

.gesap-cert-step h3 {
    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
}


/* TEXTO DEL PASO */

.gesap-cert-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.55;

    text-align: center;
}


/* FLECHAS */

.gesap-cert-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #8aaac4;

    font-size: 1.3rem;
    font-weight: 700;
}


/* =========================================================
   INFORMACIÓN SOBRE CERTIFICACIÓN
   ========================================================= */

.gesap-cert-info {
    display: grid;

    grid-template-columns: 58px minmax(0, 1fr);

    gap: 22px;

    margin: 0 0 42px;

    padding: 30px 34px;

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    background: #f4f9fd;
}


/* ICONO */

.gesap-cert-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.1rem;
    font-weight: 800;
}


/* CONTENIDO */

.gesap-cert-info-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-cert-info-content p {
    margin: 0 0 10px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: left;
}

.gesap-cert-info-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .gesap-cert-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .gesap-cert-arrow {
        display: none;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    .gesap-partners-grid {
        grid-template-columns: 1fr !important;

        gap: 16px !important;

        margin-bottom: 30px !important;
    }


    /* TARJETAS */

    .gesap-partner-card {
        padding: 26px 22px;
    }

    .gesap-partner-name {
        min-height: 58px;

        margin-bottom: 20px;

        font-size: 1.1rem;
    }


    /* PROCESO */

    .gesap-cert-process {
        padding: 27px 22px;

        margin-bottom: 30px;
    }

    .gesap-cert-steps {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .gesap-cert-arrow {
        display: none;
    }


    /* INFORMACIÓN */

    .gesap-cert-info {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 26px 22px;

        margin-bottom: 30px;
    }

    .gesap-cert-info-icon {
        width: 44px;
        height: 44px;
    }

}
/* =========================================================
   CERTIFICACIONES - ENCABEZADO A TODO EL ANCHO
   ========================================================= */

.gesap-cert-heading {
    width: 100% !important;
}

.gesap-cert-heading p {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    color: #4c5f78 !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;

    text-align: justify !important;
    text-justify: inter-word !important;
    text-align-last: left !important;
}

@media (max-width: 767.98px) {

    .gesap-cert-heading p {
        text-align: left !important;
    }

}
/* =========================================================
   GESAP - TALLERES Y SEMINARIOS
   ========================================================= */


/* ENCABEZADO */

.gesap-workshops-heading {
    width: 100%;
    margin: 8px 0 22px;
}

.gesap-workshops-heading h2 {
    margin: 5px 0 8px;

    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-workshops-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   GRID
   ========================================================= */

.gesap-workshops-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    margin: 0 0 42px !important;
}


/* =========================================================
   TARJETAS
   ========================================================= */

.gesap-workshop-card {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 32px 30px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #ffffff;

    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.05);
}


/* NÚMERO */

.gesap-workshop-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin-bottom: 22px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
}


/* TÍTULO */

.gesap-workshop-card h2 {
    margin: 7px 0 15px;

    color: #052b5c;

    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-workshop-card > p {
    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: left;
}


/* TEMAS */

.gesap-workshop-topics {
    margin-top: auto;
    padding-top: 16px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.7;
}


/* =========================================================
   PRÓXIMAS ACTIVIDADES
   ========================================================= */

.gesap-workshops-next {
    margin: 0 0 42px;
    padding: 32px 34px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #f6f9fd;
}

.gesap-workshops-next h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-workshops-next p {
    width: 100%;
    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-workshops-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    .gesap-workshops-heading p {
        text-align: left;
    }

    .gesap-workshops-grid {
        grid-template-columns: 1fr !important;

        gap: 16px !important;

        margin-bottom: 30px !important;
    }

    .gesap-workshop-card {
        padding: 27px 23px;
    }

    .gesap-workshops-next {
        padding: 27px 23px;
        margin-bottom: 30px;
    }

}
/* =========================================================
   GESAP - JETMUA
   ========================================================= */


/* =========================================================
   BLOQUE PRINCIPAL
   ========================================================= */

.gesap-jetmua-hero {
    display: grid;
    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);
    gap: 0;

    margin: 10px 0 42px;

    overflow: hidden;

    border: 1px solid #d8e5f3;
    border-radius: 18px;

    background: #ffffff;

    box-shadow: 0 10px 28px rgba(5, 43, 92, 0.07);
}


/* MARCA */

.gesap-jetmua-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 280px;

    padding: 42px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #075a9c 58%,
            #008fe8 100%
        );

    color: #ffffff;
}


.gesap-jetmua-acronym {
    margin-bottom: 15px;

    color: #ffffff;

    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.03em;
}


.gesap-jetmua-journal {
    max-width: 340px;

    color: rgba(255, 255, 255, 0.88);

    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
}


/* DESCRIPCIÓN */

.gesap-jetmua-description {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 42px 44px;
}


.gesap-jetmua-description h2 {
    margin: 6px 0 15px;

    color: #052b5c;

    font-size: 1.7rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-jetmua-description p {
    margin: 0 0 22px;

    color: #4c5f78;

    font-size: 0.98rem;
    line-height: 1.75;
}


/* BOTÓN PRINCIPAL */

.gesap-jetmua-button {
    display: inline-block;
    align-self: flex-start;

    padding: 11px 18px;

    border-radius: 7px;

    background: #075a9c;

    color: #ffffff !important;

    font-size: 0.88rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.gesap-jetmua-button:hover {
    background: #052b5c;

    transform: translateY(-1px);
}


/* =========================================================
   ENCABEZADO INTERMEDIO
   ========================================================= */

.gesap-jetmua-heading {
    width: 100%;

    margin: 0 0 22px;
}


.gesap-jetmua-heading h2 {
    margin: 5px 0 8px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-jetmua-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   CARACTERÍSTICAS
   ========================================================= */

.gesap-jetmua-grid {
    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    margin: 0 0 42px !important;
}


.gesap-jetmua-card {
    position: relative;

    padding: 30px 30px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #ffffff;

    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.045);
}


/* NÚMERO */

.gesap-jetmua-number {
    position: absolute;

    top: 27px;
    right: 28px;

    color: #d5e6f5;

    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1;
}


/* TÍTULO */

.gesap-jetmua-card h3 {
    margin: 7px 0 14px;
    padding-right: 35px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* TEXTO */

.gesap-jetmua-card p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: left;
}


/* =========================================================
   PARTICIPACIÓN
   ========================================================= */

.gesap-jetmua-participate {
    margin: 0 0 42px;

    padding: 32px 34px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #f6f9fd;
}


.gesap-jetmua-participate h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-jetmua-participate > p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;
}


/* BOTONES */

.gesap-jetmua-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 12px;

    margin-top: 22px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-jetmua-hero {
        grid-template-columns: 1fr;
    }

    .gesap-jetmua-brand {
        min-height: auto;

        padding: 34px;
    }

    .gesap-jetmua-description {
        padding: 34px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    .gesap-jetmua-hero {
        margin-bottom: 30px;

        border-radius: 14px;
    }

    .gesap-jetmua-brand {
        padding: 30px 24px;
    }

    .gesap-jetmua-acronym {
        font-size: 2.3rem;
    }

    .gesap-jetmua-description {
        padding: 28px 24px;
    }


    /* CARDS */

    .gesap-jetmua-grid {
        grid-template-columns: 1fr !important;

        gap: 16px !important;

        margin-bottom: 30px !important;
    }

    .gesap-jetmua-card {
        padding: 27px 23px;
    }


    /* TEXTO */

    .gesap-jetmua-heading p {
        text-align: left;
    }


    /* PARTICIPACIÓN */

    .gesap-jetmua-participate {
        padding: 27px 23px;

        margin-bottom: 30px;
    }

    .gesap-jetmua-actions {
        flex-direction: column;
        align-items: flex-start;
    }

}
/* =========================================================
   GESAP - LIBROS Y CAPÍTULOS
   ========================================================= */


/* =========================================================
   PRODUCCIÓN EDITORIAL
   ========================================================= */

.gesap-books-heading {
    width: 100%;
    margin: 8px 0 22px;
}

.gesap-books-heading h2 {
    margin: 5px 0 8px;

    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-books-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   TIPOS DE PUBLICACIÓN
   ========================================================= */

.gesap-books-types {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    gap: 20px !important;

    margin: 0 0 42px !important;
}


/* TARJETAS */

.gesap-books-type {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);

    gap: 20px;

    padding: 30px;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    background: #ffffff;

    box-shadow: 0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.gesap-books-type:hover {
    transform: translateY(-3px);

    border-color: #b7d4eb;

    box-shadow: 0 12px 30px rgba(5, 43, 92, 0.09);
}


/* NÚMERO */

.gesap-books-type-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
}


/* TÍTULOS */

.gesap-books-type-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.3;
}


/* DESCRIPCIÓN */

.gesap-books-type-content p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.7;

    text-align: left;
}


/* =========================================================
   PUBLICACIONES DE GESAP
   ========================================================= */

.gesap-books-focus {
    width: 100%;

    margin: 0 0 38px;
}

.gesap-books-focus h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-books-focus p {
    width: 100%;
    max-width: none;

    margin: 0 0 12px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-books-focus p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   PRÓXIMAS PUBLICACIONES
   ========================================================= */

.gesap-books-upcoming {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);

    gap: 22px;

    margin: 0 0 42px;

    padding: 30px 34px;

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    background: #f4f9fd;

    box-shadow: 0 6px 18px rgba(5, 43, 92, 0.035);
}


/* ICONO */

.gesap-books-upcoming-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.2rem;
    font-weight: 800;
}


/* TÍTULO */

.gesap-books-upcoming-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}


/* TEXTO */

.gesap-books-upcoming-content p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: left;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-books-types {
        grid-template-columns: 1fr !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* TEXTOS */

    .gesap-books-heading p,
    .gesap-books-focus p {
        text-align: left;
    }


    /* TIPOS */

    .gesap-books-types {
        grid-template-columns: 1fr !important;

        gap: 16px !important;

        margin-bottom: 30px !important;
    }


    .gesap-books-type {
        grid-template-columns: 1fr;

        gap: 15px;

        padding: 26px 23px;
    }


    /* PRÓXIMAS PUBLICACIONES */

    .gesap-books-upcoming {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 27px 23px;

        margin-bottom: 30px;
    }


    .gesap-books-upcoming-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }

}

/* =========================================================
   GESAP - RECURSOS DE INVESTIGACIÓN
   ========================================================= */


/* =========================================================
   AVISO DE ACCESO
   ========================================================= */

.gesap-resources-notice {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 18px;
    align-items: start;

    margin: 0 0 42px;
    padding: 22px 25px;

    border: 1px solid #cfe2f1;
    border-radius: 14px;

    background: #f4f9fd;
}

.gesap-resources-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 0.95rem;
    font-weight: 800;
}

.gesap-resources-notice strong {
    display: block;

    margin: 1px 0 5px;

    color: #052b5c;

    font-size: 0.95rem;
    font-weight: 800;
}

.gesap-resources-notice p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.9rem;
    line-height: 1.65;
}


/* =========================================================
   SECCIONES
   ========================================================= */

.gesap-resources-section {
    margin: 0 0 48px;
}

.gesap-resources-heading {
    width: 100%;

    margin: 0 0 20px;
}

.gesap-resources-heading h2 {
    margin: 5px 0 7px;

    color: #052b5c;

    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-resources-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.7;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   GRID DE RECURSOS
   ========================================================= */

.gesap-resources-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 20px !important;
}


/* =========================================================
   TARJETA
   ========================================================= */

.gesap-resource-card {
    display: flex !important;
    flex-direction: column !important;

    min-width: 0;

    padding: 27px 26px !important;

    border: 1px solid #d8e5f3 !important;
    border-radius: 16px !important;

    background: #ffffff !important;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.045) !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.gesap-resource-card:hover {
    transform: translateY(-3px);

    border-color: #b8d7ee !important;

    box-shadow:
        0 13px 30px rgba(5, 43, 92, 0.085) !important;
}


/* =========================================================
   ICONOS
   ========================================================= */

.gesap-resource-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    margin: 0 0 18px;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #edf7fd 0%,
        #e2f2fc 100%
    );
}


/* SVG */

.gesap-resource-icon svg {
    width: 25px;
    height: 25px;

    fill: none;

    stroke: #075a9c;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   NOMBRE DEL RECURSO
   ========================================================= */

.gesap-resource-card h3 {
    margin: 0 0 18px !important;

    color: #052b5c !important;

    font-size: 1.22rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


/* =========================================================
   DESCRIPCIÓN
   ========================================================= */

.gesap-resource-description {
    flex-grow: 1;

    margin-bottom: 19px;
}

.gesap-resource-description strong {
    display: block;

    margin: 0 0 4px;

    color: #075a9c;

    font-size: 0.82rem;
    font-weight: 800;
}

.gesap-resource-description p {
    margin: 0 0 14px !important;

    color: #4c5f78 !important;

    font-size: 0.9rem !important;
    line-height: 1.65 !important;

    text-align: left !important;
}

.gesap-resource-description p:last-child {
    margin-bottom: 0 !important;
}


/* =========================================================
   ETIQUETAS DE ACCESO
   ========================================================= */

.gesap-resource-access {
    display: inline-flex;
    align-self: flex-start;

    align-items: center;

    min-height: 27px;

    margin: 0 0 17px;
    padding: 5px 10px;

    border-radius: 5px;

    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.25;

    letter-spacing: 0.025em;
}


/* GRATUITO / ABIERTO */

.gesap-resource-access.free {
    border: 1px solid #b9dccc;

    background: #edf8f3;

    color: #267456;
}


/* SUSCRIPCIÓN */

.gesap-resource-access.subscription {
    border: 1px solid #d4e1ee;

    background: #f1f5f9;

    color: #526b82;
}


/* =========================================================
   BOTÓN / ENLACE
   ========================================================= */

.gesap-resource-link {
    display: inline-flex !important;
    align-self: flex-start !important;

    align-items: center;

    margin-top: auto !important;

    padding: 9px 14px !important;

    border: 1px solid #0b83d5 !important;
    border-radius: 7px !important;

    background: #ffffff !important;

    color: #075a9c !important;

    font-size: 0.82rem !important;
    font-weight: 700 !important;

    line-height: 1.4;

    text-decoration: none !important;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}

.gesap-resource-link:hover {
    border-color: #075a9c !important;

    background: #075a9c !important;

    color: #ffffff !important;

    text-decoration: none !important;
}


/* =========================================================
   SEPARACIÓN VISUAL ENTRE CATEGORÍAS
   ========================================================= */

.gesap-resources-section + .gesap-resources-section {
    padding-top: 7px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-resources-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* AVISO */

    .gesap-resources-notice {
        grid-template-columns: 1fr;

        gap: 13px;

        margin-bottom: 32px;

        padding: 21px;
    }


    /* ENCABEZADOS */

    .gesap-resources-heading {
        margin-bottom: 17px;
    }

    .gesap-resources-heading h2 {
        font-size: 1.35rem;
    }

    .gesap-resources-heading p {
        text-align: left;
    }


    /* SECCIONES */

    .gesap-resources-section {
        margin-bottom: 38px;
    }


    /* GRID */

    .gesap-resources-grid {
        grid-template-columns: 1fr !important;

        gap: 15px !important;
    }


    /* TARJETAS */

    .gesap-resource-card {
        padding: 24px 22px !important;
    }


    /* ICONO */

    .gesap-resource-icon {
        width: 46px;
        height: 46px;

        margin-bottom: 16px;
    }

    .gesap-resource-icon svg {
        width: 23px;
        height: 23px;
    }


    /* NOMBRE */

    .gesap-resource-card h3 {
        font-size: 1.16rem !important;
    }

}

/* =========================================================
   FIX ICONOS - RECURSOS DE INVESTIGACIÓN
   Joomla elimina los SVG inline
   ========================================================= */

/* Ocultamos cualquier SVG que Joomla haya dejado */
.gesap-resource-icon svg {
    display: none !important;
}

/* Base del icono */
.gesap-resource-icon::before {
    display: block;
    color: #075a9c;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

/* =========================================================
   ICONO BÚSQUEDA
   Scopus, Web of Science, Google Scholar, Semantic Scholar
   ========================================================= */

.gesap-resources-section:nth-of-type(3)
.gesap-resource-icon::before {
    content: "⌕";
    font-size: 30px;
    font-weight: 700;
}

/* =========================================================
   ICONO LIBRO
   DOAJ y CORE
   ========================================================= */

.gesap-resources-section:nth-of-type(4)
.gesap-resource-icon::before {
    content: "▤";
    font-size: 27px;
}

/* =========================================================
   ICONO IDENTIDAD / DATOS
   ORCID, Crossref, OpenAlex
   ========================================================= */

.gesap-resources-section:nth-of-type(5)
.gesap-resource-icon::before {
    content: "◎";
    font-size: 28px;
}

/* =========================================================
   ICONO REFERENCIAS
   Zotero y Mendeley
   ========================================================= */

.gesap-resources-section:nth-of-type(6)
.gesap-resource-icon::before {
    content: "▥";
    font-size: 27px;
}

/* =========================================================
   ICONO MÉTRICAS
   SCImago, JCR, Master Journal List
   ========================================================= */

.gesap-resources-section:nth-of-type(7)
.gesap-resource-icon::before {
    content: "▥";
    font-size: 27px;
}

/* =========================================================
   ICONO METODOLOGÍA
   PRISMA y OSF
   ========================================================= */

.gesap-resources-section:nth-of-type(8)
.gesap-resource-icon::before {
    content: "✓";
    font-size: 25px;
    font-weight: 800;
}

/* =========================================================
   MEJORA VISUAL - RECURSOS DE INVESTIGACIÓN
   ========================================================= */

.gesap-resource-card {
    position: relative !important;
    overflow: hidden !important;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7fbfe 55%,
            #eef7fd 100%
        ) !important;

    border: 1px solid #cfe2f1 !important;

    box-shadow:
        0 8px 24px rgba(5, 43, 92, 0.055) !important;
}

/* pequeña línea superior institucional */
.gesap-resource-card::before {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: 4px !important;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 60%,
            #19a5e6 100%
        ) !important;
}

.gesap-resource-card:hover {
    transform: translateY(-4px) !important;

    border-color: #a9cee8 !important;

    box-shadow:
        0 15px 34px rgba(5, 43, 92, 0.11) !important;
}


/* CONTENEDOR DEL ICONO */

.gesap-resource-icon {
    position: relative !important;

    width: 56px !important;
    height: 56px !important;

    margin-bottom: 20px !important;

    border: 1px solid #cce3f3 !important;
    border-radius: 14px !important;

    background:
        linear-gradient(
            135deg,
            #e8f5fd 0%,
            #d9eefb 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.9) !important;
}


/* NOMBRE */

.gesap-resource-card h3 {
    color: #052b5c !important;
    font-weight: 800 !important;
}


/* ¿QUÉ ES? / ¿EN QUÉ TE AYUDA? */

.gesap-resource-description strong {
    color: #0876b9 !important;
}
/* =========================================================
   GESAP - ICONOS DEFINITIVOS RECURSOS DE INVESTIGACIÓN
   IMPORTANTE: DEBE ESTAR AL FINAL DE USER.CSS
   ========================================================= */


/* ---------------------------------------------------------
   1. ELIMINAR COMPLETAMENTE LOS ICONOS ANTERIORES
   --------------------------------------------------------- */

.gesap-resource-card .gesap-resource-icon::before,
.gesap-resource-card .gesap-resource-icon::after {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: none !important;

    transform: none !important;

    color: #075a9c !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 800 !important;

    line-height: 1 !important;
}


/* No usamos ::after */

.gesap-resource-card .gesap-resource-icon::after {
    content: none !important;
    display: none !important;
}


/* ---------------------------------------------------------
   2. CONTENEDOR GENERAL
   --------------------------------------------------------- */

.gesap-resource-card .gesap-resource-icon {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 58px !important;
    height: 58px !important;

    margin-bottom: 21px !important;

    border: 1px solid #c4e0f3 !important;
    border-radius: 15px !important;

    background:
        linear-gradient(
            135deg,
            #e8f5fd 0%,
            #d9eefb 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 4px 10px rgba(5,43,92,.04) !important;
}


/* =========================================================
   3. IDENTIFICADORES INDIVIDUALES
   ========================================================= */


/* SCOPUS */

.resource-scopus .gesap-resource-icon::before {
    content: "S" !important;

    font-size: 27px !important;
    font-weight: 900 !important;

    font-style: italic !important;
}


/* WEB OF SCIENCE */

.resource-wos .gesap-resource-icon::before {
    content: "W" !important;

    font-size: 26px !important;
    font-weight: 900 !important;
}


/* GOOGLE SCHOLAR */

.resource-scholar .gesap-resource-icon::before {
    content: "◆" !important;

    font-size: 22px !important;

    transform: rotate(45deg) !important;
}


/* SEMANTIC SCHOLAR */

.resource-semantic .gesap-resource-icon::before {
    content: "AI" !important;

    font-size: 18px !important;
    font-weight: 900 !important;

    letter-spacing: -1px !important;
}


/* DOAJ */

.resource-doaj .gesap-resource-icon::before {
    content: "OA" !important;

    font-size: 17px !important;
    font-weight: 900 !important;
}


/* CORE */

.resource-core .gesap-resource-icon::before {
    content: "C" !important;

    font-size: 27px !important;
    font-weight: 900 !important;
}


/* ORCID */

.resource-orcid .gesap-resource-icon::before {
    content: "iD" !important;

    font-size: 19px !important;
    font-weight: 900 !important;
}


/* CROSSREF */

.resource-crossref .gesap-resource-icon::before {
    content: "↔" !important;

    font-size: 27px !important;
    font-weight: 700 !important;
}


/* OPENALEX */

.resource-openalex .gesap-resource-icon::before {
    content: "OA" !important;

    font-size: 17px !important;
    font-weight: 900 !important;
}


/* ZOTERO */

.resource-zotero .gesap-resource-icon::before {
    content: "Z" !important;

    font-size: 27px !important;
    font-weight: 900 !important;
}


/* MENDELEY */

.resource-mendeley .gesap-resource-icon::before {
    content: "M" !important;

    font-size: 25px !important;
    font-weight: 900 !important;
}


/* SCIMAGO */

.resource-scimago .gesap-resource-icon::before {
    content: "↗" !important;

    font-size: 28px !important;
    font-weight: 800 !important;
}


/* JOURNAL CITATION REPORTS */

.resource-jcr .gesap-resource-icon::before {
    content: "JCR" !important;

    font-size: 13px !important;
    font-weight: 900 !important;

    letter-spacing: -0.3px !important;
}


/* MASTER JOURNAL LIST */

.resource-mjl .gesap-resource-icon::before {
    content: "✓" !important;

    font-size: 25px !important;
    font-weight: 900 !important;
}


/* PRISMA */

.resource-prisma .gesap-resource-icon::before {
    content: "☑" !important;

    font-size: 24px !important;
    font-weight: 700 !important;
}


/* OPEN SCIENCE FRAMEWORK */

.resource-osf .gesap-resource-icon::before {
    content: "OSF" !important;

    font-size: 13px !important;
    font-weight: 900 !important;
}


/* =========================================================
   4. TARJETAS - FONDO AZUL SUAVE
   ========================================================= */

.gesap-resource-card {
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7fbfe 48%,
            #edf7fd 100%
        ) !important;

    border: 1px solid #c9dfef !important;
}


/* franja superior */

.gesap-resource-card::before {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: 4px !important;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        ) !important;
}


/* =========================================================
   5. HOVER
   ========================================================= */

.gesap-resource-card:hover {
    transform: translateY(-4px) !important;

    border-color: #9ec9e5 !important;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f3faff 45%,
            #e6f4fc 100%
        ) !important;

    box-shadow:
        0 15px 34px rgba(5,43,92,.11) !important;
}
/* =========================================================
   GESAP - ICONOS PNG DEFINITIVOS
   ========================================================= */

.gesap-resource-card .gesap-resource-icon::before,
.gesap-resource-card .gesap-resource-icon::after {
    content: none !important;
    display: none !important;
}

.gesap-resource-card .gesap-resource-icon {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 66px !important;
    height: 66px !important;

    margin: 0 0 20px !important;

    padding: 0 !important;

    border: 1px solid #c4e0f3 !important;
    border-radius: 15px !important;

    background: linear-gradient(
        135deg,
        #eaf6fd 0%,
        #dceffb 100%
    ) !important;

    overflow: hidden !important;
}

.gesap-resource-card .gesap-resource-icon img {
    display: block !important;

    width: 42px !important;
    height: 42px !important;

    max-width: 42px !important;
    max-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}

/* =========================================================
   GESAP - FIX COLISIONES CSS DE LA PÁGINA PRINCIPAL
   Mantener al FINAL de user.css
   ========================================================= */


/* =========================================================
   1. PUBLICACIONES CIENTÍFICAS - HOME
   ========================================================= */

.gesap-publications .gesap-publication-card {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    grid-template-columns: none !important;

    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 280px !important;

    margin: 0 !important;
    padding: 32px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid #d9e6f2 !important;
    border-radius: 16px !important;

    box-shadow:
        0 10px 28px rgba(4, 55, 110, 0.05) !important;
}


/* META: AÑO + ÁREA */

.gesap-publications .gesap-publication-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;

    gap: 9px !important;

    width: auto !important;

    margin: 0 0 20px !important;
    padding: 0 !important;
}


/* TÍTULO */

.gesap-publications .gesap-publication-card h3 {
    width: auto !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #062f63 !important;

    font-size: 1.32rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}


/* REVISTA */

.gesap-publications .gesap-publication-journal {
    width: auto !important;

    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #63738d !important;

    font-size: 0.96rem !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}


/* BOTÓN VER PUBLICACIÓN */

.gesap-publications .gesap-publication-card > a {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;

    width: auto !important;

    margin-top: auto !important;
    padding: 0 !important;

    color: #067ff0 !important;

    font-size: 0.95rem !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}


/* =========================================================
   2. FORMACIÓN ESPECIALIZADA - HOME
   ========================================================= */

.gesap-training .gesap-training-list {
    display: flex !important;
    flex-direction: column !important;

    width: auto !important;
}


/* CADA OPCIÓN */

.gesap-training .gesap-training-item {
    position: relative !important;

    display: grid !important;

    grid-template-columns:
        48px minmax(0, 1fr) 34px !important;

    align-items: center !important;

    width: auto !important;

    min-width: 0 !important;

    padding: 25px 28px !important;
}


/* NÚMERO 01 / 02 / 03 */

.gesap-training .gesap-training-number {
    position: static !important;

    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #0787e8 !important;

    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}


/* CONTENIDO */

.gesap-training .gesap-training-content {
    display: block !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* TÍTULO */

.gesap-training .gesap-training-content h3 {
    width: auto !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #062f63 !important;

    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* DESCRIPCIÓN */

.gesap-training .gesap-training-content p {
    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #63738d !important;

    font-size: 0.92rem !important;
    line-height: 1.55 !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}


/* FLECHA */

.gesap-training .gesap-training-arrow {
    position: static !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;

    margin: 0 !important;
}


/* =========================================================
   3. RESPONSIVE HOME
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-publications .gesap-publication-card {
        min-height: 250px !important;
    }
}


@media (max-width: 767.98px) {

    .gesap-publications .gesap-publication-card {
        min-height: auto !important;
        padding: 26px 22px !important;
    }

    .gesap-training .gesap-training-item {
        grid-template-columns:
            42px minmax(0, 1fr) 28px !important;

        padding: 22px 20px !important;
    }
}
/* =========================================================
   GESAP - PROYECTOS DE INVESTIGACIÓN COLABORATIVA
   ========================================================= */


/* =========================================================
   1. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-collab-project-heading {
    width: 100%;
    margin: 10px 0 24px;
}

.gesap-collab-project-heading h2 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-collab-project-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   2. FORMAS DE INICIAR UNA COLABORACIÓN
   4 TARJETAS
   ========================================================= */

.gesap-collab-project-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-collab-project-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f8fbfe 55%,
            #eef7fd 100%
        );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-collab-project-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        );
}


/* Hover */

.gesap-collab-project-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-collab-project-number {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 20px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-collab-project-card h3 {
    margin: 0 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Texto */

.gesap-collab-project-card p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* =========================================================
   3. FORMAS DE PARTICIPACIÓN
   6 TARJETAS
   ========================================================= */

.gesap-collab-project-support-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-collab-project-support {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 28px 27px;

    background: #ffffff;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.045);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


.gesap-collab-project-support:hover {
    transform: translateY(-3px);

    border-color: #b7d4eb;

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.09);
}


/* Título */

.gesap-collab-project-support h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-collab-project-support > p {
    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.94rem;
    line-height: 1.7;

    text-align: left;

    flex-grow: 1;
}


/* Temas inferiores */

.gesap-collab-project-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   4. COLABORACIÓN RESPONSABLE
   ========================================================= */

.gesap-collab-project-principles {
    position: relative;

    width: 100%;

    margin: 0 0 42px;

    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-collab-project-principles::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #052b5c 0%,
            #008fe8 100%
        );
}


.gesap-collab-project-principles h2 {
    margin: 5px 0 14px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-collab-project-principles p {
    width: 100%;
    max-width: none;

    margin: 0 0 12px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


.gesap-collab-project-principles p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   5. PROCESO DE COLABORACIÓN
   ========================================================= */

.gesap-collab-project-process {
    width: 100%;

    margin: 0 0 42px;

    padding: 32px 34px;

    background:
        linear-gradient(
            145deg,
            #f9fcff 0%,
            #f0f7fc 100%
        );

    border: 1px solid #d8e5f3;
    border-radius: 16px;
}


.gesap-collab-project-process > h2 {
    margin: 5px 0 27px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Contenedor de pasos */

.gesap-collab-project-steps {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    align-items: center;

    gap: 15px;
}


/* Cada paso */

.gesap-collab-project-step {
    display: flex;

    align-items: center;

    gap: 12px;

    min-width: 0;
}


/* Número circular */

.gesap-collab-project-step strong {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}


/* Nombre del paso */

.gesap-collab-project-step span {
    color: #052b5c;

    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
}


/* Flechas */

.gesap-collab-project-arrow {
    color: #8ba8c1;

    font-size: 1.2rem;
    line-height: 1;
}


/* =========================================================
   6. CTA FINAL
   ========================================================= */

/*
   .gesap-about-purpose y .gesap-collab-button
   ya existen en el diseño general de GESAP.
   No se redefinen para evitar duplicaciones.
*/


/* =========================================================
   7. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-collab-project-support-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-collab-project-steps {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

    .gesap-collab-project-arrow {
        display: none;
    }
}


/* =========================================================
   8. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Encabezados */

    .gesap-collab-project-heading p {
        text-align: left;
    }


    /* Primer grupo */

    .gesap-collab-project-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-collab-project-card {
        padding: 26px 23px;
    }


    /* Formas de participación */

    .gesap-collab-project-support-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-collab-project-support {
        padding: 26px 23px;
    }


    /* Principios */

    .gesap-collab-project-principles {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-collab-project-principles p {
        text-align: left;
    }


    /* Proceso */

    .gesap-collab-project-process {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-collab-project-steps {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 14px;
    }

    .gesap-collab-project-step {
        padding: 12px 0;

        border-bottom: 1px solid #d8e5f3;
    }

    .gesap-collab-project-step:last-child {
        border-bottom: 0;
    }

    .gesap-collab-project-arrow {
        display: none;
    }
}
/* Ajuste de espaciado - Proyectos de investigación */

.gesap-collab-projects .gesap-about-intro {
    margin-bottom: 24px !important;
}

.gesap-collab-projects .gesap-collab-project-heading {
    margin-top: 0 !important;
}
/* =========================================================
   GESAP - PROYECTOS DE INNOVACIÓN
   Clases exclusivas para evitar colisiones
   ========================================================= */


/* =========================================================
   1. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-innovation-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-innovation-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-innovation-heading p {
    width: 100%;
    max-width: none;
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   2. AJUSTE DE INTRODUCCIÓN
   ========================================================= */

.gesap-innovation .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   3. FORMAS DE INICIAR UN PROYECTO
   4 TARJETAS - 2 x 2
   ========================================================= */

.gesap-innovation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-innovation-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px;
    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f8fbfe 55%,
            #eef7fd 100%
        );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-innovation-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        );
}


/* Hover */

.gesap-innovation-card:hover {
    transform: translateY(-4px);
    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-innovation-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 20px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-innovation-card h3 {
    margin: 0 0 13px;
    color: #052b5c;
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-innovation-card p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.96rem;
    line-height: 1.72;
    text-align: left;
}


/* =========================================================
   4. FORMAS DE PARTICIPACIÓN
   6 TARJETAS - 3 x 2
   ========================================================= */

.gesap-innovation-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-innovation-support {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 27px;

    background: #ffffff;

    border: 1px solid #d8e5f3;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.045);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


.gesap-innovation-support:hover {
    transform: translateY(-3px);
    border-color: #b7d4eb;

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.09);
}


/* Título */

.gesap-innovation-support h3 {
    margin: 6px 0 13px;
    color: #052b5c;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-innovation-support > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;
    font-size: 0.94rem;
    line-height: 1.7;
    text-align: left;
}


/* Temas inferiores */

.gesap-innovation-topics {
    margin-top: auto;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;
    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   5. ÁREAS DE APLICACIÓN
   ========================================================= */

.gesap-innovation-areas {
    width: 100%;
    margin: 0 0 42px;
    padding: 32px 34px;

    background:
        linear-gradient(
            145deg,
            #f8fbfe 0%,
            #eef7fd 100%
        );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-innovation-areas h2 {
    margin: 5px 0 12px;
    color: #052b5c;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-innovation-areas > p {
    width: 100%;
    max-width: none;
    margin: 0 0 22px;

    color: #4c5f78;
    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Lista de áreas */

.gesap-innovation-area-list {
    display: block !important;
    margin-top: 20px !important;
    padding-top: 15px !important;

    border-top: 1px solid #d8e5f3 !important;

    color: #075a9c !important;

    font-size: 0.80rem !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
}


/* Cada área */

.gesap-innovation-area-list span {
    display: inline-flex;
    align-items: center;

    padding: 8px 13px;

    background: #ffffff;

    border: 1px solid #c8deee;
    border-radius: 7px;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.2;
}


/* =========================================================
   6. INNOVACIÓN RESPONSABLE
   ========================================================= */

.gesap-innovation-principles {
    position: relative;

    width: 100%;

    margin: 0 0 42px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea azul lateral */

.gesap-innovation-principles::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #052b5c 0%,
            #008fe8 100%
        );
}


.gesap-innovation-principles h2 {
    margin: 5px 0 14px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-innovation-principles p {
    width: 100%;
    max-width: none;

    margin: 0 0 12px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


.gesap-innovation-principles p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   7. PROCESO
   ========================================================= */

.gesap-innovation-process {
    width: 100%;

    margin: 0 0 42px;
    padding: 32px 34px;

    background:
        linear-gradient(
            145deg,
            #f9fcff 0%,
            #f0f7fc 100%
        );

    border: 1px solid #d8e5f3;
    border-radius: 16px;
}


.gesap-innovation-process > h2 {
    margin: 5px 0 27px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Contenedor de pasos */

.gesap-innovation-steps {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr)
        auto
        minmax(0, 1fr);

    align-items: center;

    gap: 15px;
}


/* Paso */

.gesap-innovation-step {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}


/* Número */

.gesap-innovation-step strong {
    display: flex;

    align-items: center;
    justify-content: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}


/* Texto */

.gesap-innovation-step span {
    color: #052b5c;

    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
}


/* Flechas */

.gesap-innovation-arrow {
    color: #8ba8c1;
    font-size: 1.2rem;
    line-height: 1;
}


/* =========================================================
   8. CTA FINAL
   ========================================================= */

/*
   Se mantienen las clases generales existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No las redefinimos para evitar colisiones.
*/


/* =========================================================
   9. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-innovation-support-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-innovation-steps {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

    .gesap-innovation-arrow {
        display: none;
    }
}


/* =========================================================
   10. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-innovation-heading p,
    .gesap-innovation-areas > p,
    .gesap-innovation-principles p {
        text-align: left;
    }


    /* Primer grupo */

    .gesap-innovation-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-innovation-card {
        padding: 26px 23px;
    }


    /* Formas de participación */

    .gesap-innovation-support-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-innovation-support {
        padding: 26px 23px;
    }


    /* Áreas */

    .gesap-innovation-areas {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-innovation-area-list {
        gap: 7px;
    }


    /* Innovación responsable */

    .gesap-innovation-principles {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Proceso */

    .gesap-innovation-process {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-innovation-steps {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 14px;
    }

    .gesap-innovation-step {
        padding: 12px 0;

        border-bottom: 1px solid #d8e5f3;
    }

    .gesap-innovation-step:last-child {
        border-bottom: 0;
    }

    .gesap-innovation-arrow {
        display: none;
    }
}
/* =========================================================
   GESAP - PROYECTOS CULMINADOS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-completed .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-completed-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-completed-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-completed-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. NUEVOS RESULTADOS
   ========================================================= */

.gesap-completed-feature {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;
    margin: 0 0 42px;
    padding: 31px 34px;

    background:
        linear-gradient(
            145deg,
            #f8fcff 0%,
            #edf7fd 100%
        );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Ícono */

.gesap-completed-feature-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #008fe8 100%
        );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-completed-feature-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Texto */

.gesap-completed-feature-content p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-completed-feature-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   4. NUESTRO ENFOQUE
   4 TARJETAS - 2 x 2
   ========================================================= */

.gesap-completed-focus-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;
    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-completed-focus {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f8fbfe 55%,
            #eef7fd 100%
        );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-completed-focus::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        );
}


/* Hover */

.gesap-completed-focus:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-completed-focus-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-completed-focus h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-completed-focus > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Temas */

.gesap-completed-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   5. RESULTADOS / GENERACIÓN DE VALOR
   ========================================================= */

.gesap-completed-impact {
    position: relative;

    width: 100%;

    margin: 0 0 42px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-completed-impact::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #052b5c 0%,
            #008fe8 100%
        );
}


.gesap-completed-impact h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-completed-impact > p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Línea de resultados */

.gesap-completed-impact-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. COLABORACIÓN
   ========================================================= */

.gesap-completed-collaboration {
    width: 100%;

    margin: 0 0 42px;
    padding: 32px 34px;

    background:
        linear-gradient(
            145deg,
            #f9fcff 0%,
            #eef7fd 100%
        );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-completed-collaboration > h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-completed-collaboration > p {
    width: 100%;
    max-width: none;

    margin: 0 0 25px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   7. OPCIONES: INVESTIGACIÓN / INNOVACIÓN
   ========================================================= */

.gesap-completed-options {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;

    width: 100%;
}


/* Cada opción */

.gesap-completed-option {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 23px 24px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}


/* Título */

.gesap-completed-option strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


/* Descripción */

.gesap-completed-option span {
    display: block;

    flex-grow: 1;

    margin: 0 0 17px;

    color: #4c5f78;

    font-size: 0.90rem;
    line-height: 1.6;
}


/* Enlace */

.gesap-completed-option a {
    display: inline-flex;

    align-items: center;

    align-self: flex-start;

    color: #067fc4 !important;

    font-size: 0.86rem;
    font-weight: 800;

    line-height: 1.3;

    text-decoration: none !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}


.gesap-completed-option a:hover {
    color: #052b5c !important;

    transform: translateX(3px);
}


/* =========================================================
   8. CTA FINAL
   ========================================================= */

/*
   Se mantienen las clases generales existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No las redefinimos para evitar colisiones.
*/


/* =========================================================
   9. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-completed-focus-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   10. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-completed-heading p,
    .gesap-completed-impact > p,
    .gesap-completed-collaboration > p {
        text-align: left;
    }


    /* Nuevos resultados */

    .gesap-completed-feature {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-completed-feature-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Enfoques */

    .gesap-completed-focus-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-completed-focus {
        padding: 26px 23px;
    }


    /* Resultados */

    .gesap-completed-impact {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Colaboración */

    .gesap-completed-collaboration {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Opciones */

    .gesap-completed-options {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .gesap-completed-option {
        padding: 21px 20px;
    }

}
/* =========================================================
   GESAP - PRÓXIMOS EVENTOS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-events .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-events-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-events-heading h2 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-events-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. TIPOS DE EVENTOS
   ========================================================= */

.gesap-events-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-events-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f8fbfe 55%,
            #eef7fd 100%
        );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-events-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        );
}


/* Hover */

.gesap-events-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-events-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-events-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-events-card > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Temas */

.gesap-events-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   4. PRÓXIMAS CONVOCATORIAS
   ========================================================= */

.gesap-events-upcoming {
    display: grid;

    grid-template-columns:
        58px minmax(0, 1fr);

    gap: 22px;

    width: 100%;

    margin: 0 0 44px;
    padding: 31px 34px;

    background:
        linear-gradient(
            145deg,
            #f8fcff 0%,
            #edf7fd 100%
        );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Ícono */

.gesap-events-upcoming-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #008fe8 100%
        );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-events-upcoming-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Párrafos */

.gesap-events-upcoming-content p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-events-upcoming-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   5. BENEFICIOS DE PARTICIPAR
   ========================================================= */

.gesap-events-benefits {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 44px;
}


/* Cada beneficio */

.gesap-events-benefit {
    position: relative;

    min-width: 0;

    padding: 25px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}


/* Pequeño detalle superior */

.gesap-events-benefit::before {
    content: "";

    display: block;

    width: 34px;
    height: 3px;

    margin: 0 0 16px;

    border-radius: 20px;

    background:
        linear-gradient(
            90deg,
            #052b5c,
            #0b9ce2
        );
}


/* Título */

.gesap-events-benefit strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Texto */

.gesap-events-benefit p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.88rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   6. INFORMACIÓN E INSCRIPCIONES
   ========================================================= */

.gesap-events-info {
    position: relative;

    width: 100%;

    margin: 0 0 42px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea azul lateral */

.gesap-events-info::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #052b5c 0%,
            #008fe8 100%
        );
}


.gesap-events-info h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-events-info > p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Fecha · horario · modalidad... */

.gesap-events-info-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   7. CTA FINAL
   ========================================================= */

/*
   Utilizamos las clases generales que ya funcionan:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar afectar otras páginas.
*/


/* =========================================================
   8. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-events-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-events-benefits {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   9. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Encabezados */

    .gesap-events-heading p,
    .gesap-events-info > p {
        text-align: left;
    }


    /* Tipos de eventos */

    .gesap-events-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-events-card {
        padding: 26px 23px;
    }


    /* Próximas convocatorias */

    .gesap-events-upcoming {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-events-upcoming-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Beneficios */

    .gesap-events-benefits {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-events-benefit {
        padding: 22px 21px;
    }


    /* Información */

    .gesap-events-info {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

}
/* =========================================================
   GESAP - CONFERENCIAS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-conferences .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-conferences-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-conferences-heading h2 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-conferences-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. PRÓXIMAS CONFERENCIAS
   ========================================================= */

.gesap-conferences-upcoming {
    display: grid;

    grid-template-columns:
        58px minmax(0, 1fr);

    gap: 22px;

    width: 100%;

    margin: 0 0 44px;
    padding: 31px 34px;

    background:
        linear-gradient(
            145deg,
            #f8fcff 0%,
            #edf7fd 100%
        );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Ícono */

.gesap-conferences-upcoming-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #008fe8 100%
        );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}


/* Contenido */

.gesap-conferences-upcoming-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-conferences-upcoming-content p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-conferences-upcoming-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   4. ÁREAS TEMÁTICAS
   6 TARJETAS
   ========================================================= */

.gesap-conferences-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-conferences-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f8fbfe 55%,
            #eef7fd 100%
        );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-conferences-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #052b5c 0%,
            #087fc4 55%,
            #12a9e7 100%
        );
}


/* Hover */

.gesap-conferences-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-conferences-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-conferences-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-conferences-card > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Temas */

.gesap-conferences-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   5. ESPECIALISTAS
   ========================================================= */

.gesap-conferences-experts {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-conferences-experts::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background:
        linear-gradient(
            180deg,
            #052b5c 0%,
            #008fe8 100%
        );
}


.gesap-conferences-experts h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-conferences-experts > p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Línea de perfiles */

.gesap-conferences-experts-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. COLABORACIÓN INSTITUCIONAL
   ========================================================= */

.gesap-conferences-collaboration {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background:
        linear-gradient(
            145deg,
            #f9fcff 0%,
            #eef7fd 100%
        );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-conferences-collaboration > h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-conferences-collaboration > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-conferences-collaboration > p:last-of-type {
    margin-bottom: 25px;
}


/* =========================================================
   7. TIPOS DE COLABORACIÓN
   ========================================================= */

.gesap-conferences-collab-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    width: 100%;
}


.gesap-conferences-collab-item {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 22px 23px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}


.gesap-conferences-collab-item strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-conferences-collab-item span {
    display: block;

    color: #4c5f78;

    font-size: 0.90rem;
    line-height: 1.6;
}


/* =========================================================
   8. PROCESO
   ========================================================= */

.gesap-conferences-process {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 44px;
}


.gesap-conferences-step {
    position: relative;

    min-width: 0;

    padding: 25px 21px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}


/* Número del proceso */

.gesap-conferences-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin: 0 0 16px;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #052b5c 0%,
            #0788d4 100%
        );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-conferences-step strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.4;
}


/* Texto */

.gesap-conferences-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   9. CTA FINAL
   ========================================================= */

/*
   Se utilizan las clases generales existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar colisiones con otras páginas.
*/


/* =========================================================
   10. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-conferences-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-conferences-process {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   11. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-conferences-heading p,
    .gesap-conferences-experts > p,
    .gesap-conferences-collaboration > p {
        text-align: left;
    }


    /* Próximas conferencias */

    .gesap-conferences-upcoming {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-conferences-upcoming-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Áreas temáticas */

    .gesap-conferences-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-conferences-card {
        padding: 26px 23px;
    }


    /* Especialistas */

    .gesap-conferences-experts {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Colaboración */

    .gesap-conferences-collaboration {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-conferences-collab-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .gesap-conferences-collab-item {
        padding: 20px;
    }


    /* Proceso */

    .gesap-conferences-process {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-conferences-step {
        padding: 22px 21px;
    }

}
/* =========================================================
   GESAP - CONGRESOS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-congress .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-congress-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-congress-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-congress-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. PRÓXIMOS CONGRESOS
   ========================================================= */

.gesap-congress-upcoming {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;
    margin: 0 0 44px;
    padding: 31px 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #edf7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Ícono */

.gesap-congress-upcoming-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}


/* Contenido */

.gesap-congress-upcoming-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-congress-upcoming-content p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-congress-upcoming-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   4. EXPERIENCIA ACADÉMICA
   6 TARJETAS - 2 x 3
   ========================================================= */

.gesap-congress-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;
    margin: 0 0 44px;
}


/* Tarjeta */

.gesap-congress-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f8fbfe 55%,
        #eef7fd 100%
    );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-congress-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #052b5c 0%,
        #087fc4 55%,
        #12a9e7 100%
    );
}


/* Hover */

.gesap-congress-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-congress-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-congress-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-congress-card > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Temas */

.gesap-congress-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   5. PARTICIPACIÓN ACADÉMICA
   ========================================================= */

.gesap-congress-participation {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-congress-participation::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}


.gesap-congress-participation h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-congress-participation > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-congress-participation > p:last-of-type {
    margin-bottom: 0;
}


/* Envío · Evaluación · Aceptación... */

.gesap-congress-participation-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. RESULTADOS / DIFUSIÓN DEL CONOCIMIENTO
   ========================================================= */

.gesap-congress-results {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    width: 100%;

    margin: 0 0 44px;
}


.gesap-congress-result {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 23px 24px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}


/* Pequeña línea superior */

.gesap-congress-result::before {
    content: "";

    display: block;

    width: 34px;
    height: 3px;

    margin: 0 0 15px;

    border-radius: 20px;

    background: linear-gradient(
        90deg,
        #052b5c,
        #0b9ce2
    );
}


.gesap-congress-result strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-congress-result span {
    display: block;

    color: #4c5f78;

    font-size: 0.90rem;
    line-height: 1.6;
}


/* =========================================================
   7. CONGRESOS EN COLABORACIÓN
   ========================================================= */

.gesap-congress-collaboration {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f9fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-congress-collaboration > h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-congress-collaboration > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-congress-collaboration > p:last-of-type {
    margin-bottom: 25px;
}


/* =========================================================
   8. ORGANIZACIONES COLABORADORAS
   ========================================================= */

.gesap-congress-collab-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;

    width: 100%;
}


.gesap-congress-collab-item {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 22px 23px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}


.gesap-congress-collab-item strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-congress-collab-item span {
    display: block;

    color: #4c5f78;

    font-size: 0.90rem;
    line-height: 1.6;
}


/* =========================================================
   9. PROCESO
   ========================================================= */

.gesap-congress-process {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 44px;
}


.gesap-congress-step {
    position: relative;

    min-width: 0;

    padding: 25px 21px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}


/* Número */

.gesap-congress-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin: 0 0 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-congress-step strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.4;
}


/* Texto */

.gesap-congress-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   10. CTA FINAL
   ========================================================= */

/*
   Se utilizan las clases generales existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar colisiones.
*/


/* =========================================================
   11. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-congress-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-congress-results {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-congress-process {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   12. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-congress-heading p,
    .gesap-congress-participation > p,
    .gesap-congress-collaboration > p {
        text-align: left;
    }


    /* Próximos congresos */

    .gesap-congress-upcoming {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-congress-upcoming-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Experiencia académica */

    .gesap-congress-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-congress-card {
        padding: 26px 23px;
    }


    /* Participación */

    .gesap-congress-participation {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Resultados */

    .gesap-congress-results {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-congress-result {
        padding: 21px 20px;
    }


    /* Colaboración */

    .gesap-congress-collaboration {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-congress-collab-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .gesap-congress-collab-item {
        padding: 20px;
    }


    /* Proceso */

    .gesap-congress-process {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-congress-step {
        padding: 22px 21px;
    }

}
/* =========================================================
   GESAP - SEMINARIOS Y WEBINARS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-seminars .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-seminars-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-seminars-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-seminars-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. PRÓXIMOS SEMINARIOS Y WEBINARS
   ========================================================= */

.gesap-seminars-upcoming {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;
    margin: 0 0 44px;
    padding: 31px 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #edf7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Ícono */

.gesap-seminars-upcoming-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}


/* Contenido */

.gesap-seminars-upcoming-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-seminars-upcoming-content p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-seminars-upcoming-content p:last-of-type {
    margin-bottom: 0;
}


/* Línea informativa */

.gesap-seminars-upcoming-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   4. ÁREAS TEMÁTICAS
   ========================================================= */

.gesap-seminars-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;
    margin: 0 0 44px;
}


/* Tarjetas */

.gesap-seminars-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 30px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f8fbfe 55%,
        #eef7fd 100%
    );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-seminars-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #052b5c 0%,
        #087fc4 55%,
        #12a9e7 100%
    );
}


/* Hover */

.gesap-seminars-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-seminars-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-seminars-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Descripción */

.gesap-seminars-card > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Temas */

.gesap-seminars-topics {
    margin-top: auto;

    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   5. FORMATOS: SEMINARIOS / WEBINARS
   ========================================================= */

.gesap-seminars-formats {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin: 0 0 44px;
}


.gesap-seminars-format-card {
    display: grid;

    grid-template-columns:
        54px minmax(0, 1fr);

    gap: 20px;

    min-width: 0;

    padding: 29px 28px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f5faff 100%
    );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.045);
}


/* Identificador S / W */

.gesap-seminars-format-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
}


.gesap-seminars-format-content {
    min-width: 0;
}


.gesap-seminars-format-content h3 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-seminars-format-content p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.92rem;
    line-height: 1.68;

    text-align: left;
}


/* Línea inferior */

.gesap-seminars-format-line {
    margin-top: 17px;
    padding-top: 14px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   6. MODALIDADES
   ========================================================= */

.gesap-seminars-access {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f9fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-seminars-access h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-seminars-access > p {
    margin: 0 0 24px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Tres modalidades */

.gesap-seminars-access-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 15px;
}


.gesap-seminars-access-item {
    min-width: 0;

    padding: 21px 20px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}


.gesap-seminars-access-item strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-seminars-access-item span {
    display: block;

    color: #4c5f78;

    font-size: 0.88rem;
    line-height: 1.6;
}


/* =========================================================
   7. ESPECIALISTAS
   ========================================================= */

.gesap-seminars-experts {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-seminars-experts::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}


.gesap-seminars-experts h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-seminars-experts > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


.gesap-seminars-experts-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   8. COLABORACIÓN
   ========================================================= */

.gesap-seminars-collaboration {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f9fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


.gesap-seminars-collaboration > h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}


.gesap-seminars-collaboration > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-seminars-collaboration > p:last-of-type {
    margin-bottom: 25px;
}


/* Tarjetas colaboración */

.gesap-seminars-collab-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;
}


.gesap-seminars-collab-item {
    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 22px 23px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}


.gesap-seminars-collab-item strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}


.gesap-seminars-collab-item span {
    display: block;

    color: #4c5f78;

    font-size: 0.90rem;
    line-height: 1.6;
}


/* =========================================================
   9. PROCESO
   ========================================================= */

.gesap-seminars-process {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 44px;
}


.gesap-seminars-step {
    position: relative;

    min-width: 0;

    padding: 25px 21px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}


/* Número */

.gesap-seminars-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin: 0 0 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}


.gesap-seminars-step strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.4;
}


.gesap-seminars-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   10. CTA FINAL
   ========================================================= */

/*
   Se mantienen las clases generales ya existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar afectar otras páginas.
*/


/* =========================================================
   11. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-seminars-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-seminars-formats {
        grid-template-columns: 1fr;
    }

    .gesap-seminars-access-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .gesap-seminars-process {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   12. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-seminars-heading p,
    .gesap-seminars-access > p,
    .gesap-seminars-experts > p,
    .gesap-seminars-collaboration > p {
        text-align: left;
    }


    /* Próximas actividades */

    .gesap-seminars-upcoming {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-seminars-upcoming-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Áreas temáticas */

    .gesap-seminars-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-seminars-card {
        padding: 26px 23px;
    }


    /* Formatos */

    .gesap-seminars-formats {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-seminars-format-card {
        grid-template-columns: 1fr;

        gap: 16px;

        padding: 25px 23px;
    }


    /* Modalidades */

    .gesap-seminars-access {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-seminars-access-grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }


    /* Especialistas */

    .gesap-seminars-experts {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Colaboración */

    .gesap-seminars-collaboration {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-seminars-collab-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .gesap-seminars-collab-item {
        padding: 20px;
    }


    /* Proceso */

    .gesap-seminars-process {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-seminars-step {
        padding: 22px 21px;
    }

}
/* =========================================================
   GESAP - ASESORÍA EN INVESTIGACIÓN
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-research-advisory .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-research-advisory-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-research-advisory-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-advisory-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. ÁREAS DE ACOMPAÑAMIENTO
   ========================================================= */

.gesap-research-advisory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;

    width: 100%;
    margin: 0 0 44px;
}

.gesap-research-advisory-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;
    padding: 30px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f8fbfe 55%,
        #eef7fd 100%
    );

    border: 1px solid #d4e4f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.05);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}


/* Línea superior */

.gesap-research-advisory-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background: linear-gradient(
        90deg,
        #052b5c 0%,
        #087fc4 55%,
        #12a9e7 100%
    );
}

.gesap-research-advisory-card:hover {
    transform: translateY(-4px);

    border-color: #a9d1e9;

    box-shadow:
        0 14px 32px rgba(5, 43, 92, 0.10);
}


/* Número */

.gesap-research-advisory-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0 0 19px;

    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
}


/* Título */

.gesap-research-advisory-card h3 {
    margin: 6px 0 13px;

    color: #052b5c;

    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Texto */

.gesap-research-advisory-card > p {
    flex-grow: 1;

    margin: 0 0 20px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Línea de temas */

.gesap-research-advisory-topics {
    margin-top: auto;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   4. ETAPA DE LA INVESTIGACIÓN
   ========================================================= */

.gesap-research-advisory-stages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    width: 100%;
    margin: 0 0 44px;
}

.gesap-research-advisory-stage {
    position: relative;

    min-width: 0;
    padding: 24px 23px 24px 27px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 13px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}


/* Línea azul izquierda */

.gesap-research-advisory-stage::before {
    content: "";

    position: absolute;

    top: 18px;
    bottom: 18px;
    left: 0;

    width: 4px;

    border-radius: 0 4px 4px 0;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-research-advisory-stage strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-research-advisory-stage span {
    display: block;

    color: #4c5f78;

    font-size: 0.89rem;
    line-height: 1.62;
}


/* =========================================================
   5. SERVICIOS Y PAQUETES / ENLACE A TIENDA
   ========================================================= */

.gesap-research-advisory-services {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #edf7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}


/* Flecha */

.gesap-research-advisory-services-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
}

.gesap-research-advisory-services-content h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-advisory-services-content p {
    margin: 0 0 10px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.72;

    text-align: left;
}


/* Botón hacia tienda */

.gesap-research-advisory-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 13px;
    padding: 12px 20px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    );

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 0.90rem;
    font-weight: 700;
    line-height: 1.3;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-research-advisory-button:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 8px 20px rgba(5, 43, 92, 0.18);
}


/* =========================================================
   6. PEER REVIEW
   ========================================================= */

.gesap-research-advisory-review {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-research-advisory-review::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-research-advisory-review h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-advisory-review > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Línea temática Peer Review */

.gesap-research-advisory-review-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* Enlace Peer Review */

.gesap-research-advisory-text-link {
    display: inline-block;

    margin-top: 18px;

    color: #075a9c !important;

    font-size: 0.91rem;
    font-weight: 800;

    text-decoration: none !important;
}

.gesap-research-advisory-text-link:hover {
    color: #052b5c !important;
    text-decoration: underline !important;
}


/* =========================================================
   7. SERVICIOS POSTERIORES AL ENVÍO
   ========================================================= */

.gesap-research-advisory-after {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;

    width: 100%;

    margin: 0 0 44px;
}

.gesap-research-advisory-after-card {
    display: grid;

    grid-template-columns:
        48px minmax(0, 1fr);

    gap: 18px;

    min-width: 0;

    padding: 27px 25px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f7fbfe 100%
    );

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}


/* Número */

.gesap-research-advisory-after-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1;
}

.gesap-research-advisory-after-card h3 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-research-advisory-after-card p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.91rem;
    line-height: 1.65;

    text-align: left;
}


/* =========================================================
   8. CÓMO TRABAJAMOS
   ========================================================= */

.gesap-research-advisory-process {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin: 0 0 44px;
}

.gesap-research-advisory-step {
    position: relative;

    min-width: 0;

    padding: 25px 21px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);
}

.gesap-research-advisory-step-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin: 0 0 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.gesap-research-advisory-step strong {
    display: block;

    margin: 0 0 9px;

    color: #052b5c;

    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-research-advisory-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   9. SESIÓN INICIAL DE ORIENTACIÓN
   ========================================================= */

.gesap-research-advisory-orientation {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #eef8fd 100%
    );

    border: 1px solid #bddced;
    border-radius: 16px;
}

.gesap-research-advisory-orientation h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-advisory-orientation p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Botón contorno */

.gesap-research-advisory-outline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 20px;
    padding: 11px 19px;

    background: #ffffff;

    border: 1px solid #087fc4;
    border-radius: 8px;

    color: #075a9c !important;

    font-size: 0.90rem;
    font-weight: 800;
    line-height: 1.3;

    text-decoration: none !important;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.gesap-research-advisory-outline-button:hover {
    transform: translateY(-2px);

    background: #075a9c;

    color: #ffffff !important;
}


/* =========================================================
   10. ASESORÍA RESPONSABLE
   ========================================================= */

.gesap-research-advisory-ethics {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}


/* Línea lateral */

.gesap-research-advisory-ethics::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-research-advisory-ethics h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-research-advisory-ethics > p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-research-advisory-ethics > p:last-of-type {
    margin-bottom: 0;
}


/* Línea inferior */

.gesap-research-advisory-ethics-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   11. CTA FINAL
   ========================================================= */

/*
   Se mantienen las clases generales ya existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No las redefinimos para evitar afectar otras páginas.
*/


/* =========================================================
   12. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-research-advisory-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-research-advisory-stages {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-research-advisory-process {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   13. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-research-advisory-heading p,
    .gesap-research-advisory-review > p,
    .gesap-research-advisory-orientation p,
    .gesap-research-advisory-ethics > p {
        text-align: left;
    }


    /* Áreas de acompañamiento */

    .gesap-research-advisory-grid {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
    }

    .gesap-research-advisory-card {
        padding: 26px 23px;
    }


    /* Etapas */

    .gesap-research-advisory-stages {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-research-advisory-stage {
        padding: 22px 21px 22px 25px;
    }


    /* Tienda */

    .gesap-research-advisory-services {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;
        padding: 27px 23px;
    }

    .gesap-research-advisory-services-mark {
        width: 44px;
        height: 44px;

        font-size: 1rem;
    }


    /* Peer Review */

    .gesap-research-advisory-review {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Post-envío */

    .gesap-research-advisory-after {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-research-advisory-after-card {
        grid-template-columns: 1fr;

        gap: 15px;

        padding: 24px 22px;
    }


    /* Proceso */

    .gesap-research-advisory-process {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-bottom: 34px;
    }

    .gesap-research-advisory-step {
        padding: 22px 21px;
    }


    /* Orientación inicial */

    .gesap-research-advisory-orientation {
        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Ética */

    .gesap-research-advisory-ethics {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

}
/* =========================================================
   GESAP - PUBLICACIÓN CIENTÍFICA
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-scientific-publication .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS
   ========================================================= */

.gesap-scientific-publication-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-scientific-publication-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-heading p {
    width: 100%;
    max-width: none;
    margin: 0;

    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. RUTA GENERAL
   ANTES → DURANTE → PROCESO → DESPUÉS
   ========================================================= */

.gesap-scientific-publication-route {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        28px
        minmax(0, 1fr)
        28px
        minmax(0, 1fr)
        28px
        minmax(0, 1fr);

    align-items: center;
    gap: 8px;

    width: 100%;
    margin: 0 0 44px;
}

.gesap-scientific-publication-route-item {
    min-width: 0;
    padding: 21px 18px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f2f9fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 13px;

    text-align: center;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.04);
}

.gesap-scientific-publication-route-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin: 0 auto 11px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.70rem;
    font-weight: 800;
}

.gesap-scientific-publication-route-item strong {
    display: block;

    color: #052b5c;

    font-size: 0.91rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-scientific-publication-route-arrow {
    color: #0788d4;

    font-size: 1.25rem;
    font-weight: 800;

    text-align: center;
}


/* =========================================================
   4. BLOQUES DE FASE
   ========================================================= */

.gesap-scientific-publication-phase {
    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        145deg,
        #f9fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-scientific-publication-phase-header {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;

    align-items: center;

    margin-bottom: 18px;
}

.gesap-scientific-publication-phase-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.78rem;
    font-weight: 800;
}

.gesap-scientific-publication-phase-header h2 {
    margin: 5px 0 0;

    color: #052b5c;

    font-size: 1.48rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-phase-intro {
    width: 100%;
    margin: 0 0 23px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   5. ANTES DEL ENVÍO - 4 TARJETAS
   ========================================================= */

.gesap-scientific-publication-phase-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;

    width: 100%;
}

.gesap-scientific-publication-phase-card {
    min-width: 0;

    padding: 21px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}

.gesap-scientific-publication-phase-card strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-scientific-publication-phase-card p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.89rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-scientific-publication-phase-line {
    display: block;

    margin-top: 21px;
    padding-top: 15px;

    border-top: 1px solid #d2e3f0;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. SELECCIÓN DE REVISTA
   ========================================================= */

.gesap-scientific-publication-journal {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-scientific-publication-journal::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-scientific-publication-journal h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-journal > p {
    width: 100%;
    max-width: none;

    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* 4 criterios */

.gesap-scientific-publication-journal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    width: 100%;

    margin-top: 24px;
}

.gesap-scientific-publication-journal-item {
    min-width: 0;

    padding: 20px 18px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 11px;
}

.gesap-scientific-publication-journal-item strong {
    display: block;

    margin: 0 0 7px;

    color: #052b5c;

    font-size: 0.95rem;
    font-weight: 800;
}

.gesap-scientific-publication-journal-item span {
    display: block;

    color: #4c5f78;

    font-size: 0.84rem;
    line-height: 1.55;
}


/* =========================================================
   7. DURANTE EL ENVÍO
   ========================================================= */

.gesap-scientific-publication-submit {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    width: 100%;
}

.gesap-scientific-publication-submit-step {
    min-width: 0;

    padding: 22px 20px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}

.gesap-scientific-publication-submit-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    margin: 0 0 14px;

    border-radius: 8px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.69rem;
    font-weight: 800;
}

.gesap-scientific-publication-submit-step strong {
    display: block;

    margin: 0 0 8px;

    color: #052b5c;

    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-scientific-publication-submit-step p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.84rem;
    line-height: 1.6;

    text-align: left;
}


/* =========================================================
   8. PROCESO EDITORIAL
   ========================================================= */

.gesap-scientific-publication-editorial {
    width: 100%;

    margin: 0 0 44px;
    padding: 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #edf7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}

.gesap-scientific-publication-editorial > h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-editorial > p {
    width: 100%;

    margin: 0 0 25px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Flujo editorial */

.gesap-scientific-publication-editorial-flow {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr);

    align-items: center;
    gap: 7px;

    width: 100%;

    margin-bottom: 27px;
}

.gesap-scientific-publication-editorial-item {
    min-width: 0;

    padding: 20px 15px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 11px;

    text-align: center;
}

.gesap-scientific-publication-editorial-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    margin: 0 auto 10px;

    border-radius: 8px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.67rem;
    font-weight: 800;
}

.gesap-scientific-publication-editorial-item strong {
    display: block;

    margin-bottom: 5px;

    color: #052b5c;

    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-scientific-publication-editorial-item small {
    display: block;

    color: #63748a;

    font-size: 0.75rem;
    line-height: 1.4;
}

.gesap-scientific-publication-editorial-arrow {
    color: #0788d4;

    font-size: 1.15rem;
    font-weight: 800;

    text-align: center;
}


/* Explicaciones */

.gesap-scientific-publication-editorial-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;

    padding-top: 23px;

    border-top: 1px solid #d2e3f0;
}

.gesap-scientific-publication-editorial-details > div {
    min-width: 0;
}

.gesap-scientific-publication-editorial-details strong {
    display: block;

    margin: 0 0 7px;

    color: #052b5c;

    font-size: 0.94rem;
    font-weight: 800;
}

.gesap-scientific-publication-editorial-details p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.85rem;
    line-height: 1.6;

    text-align: left;
}


/* =========================================================
   9. RESPUESTA A OBSERVACIONES
   ========================================================= */

.gesap-scientific-publication-response-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;

    width: 100%;
}

.gesap-scientific-publication-response-item {
    min-width: 0;

    padding: 20px 16px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 11px;

    text-align: center;
}

.gesap-scientific-publication-response-item span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    margin: 0 auto 11px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.67rem;
    font-weight: 800;
}

.gesap-scientific-publication-response-item strong {
    display: block;

    margin-bottom: 5px;

    color: #052b5c;

    font-size: 0.90rem;
    font-weight: 800;
}

.gesap-scientific-publication-response-item small {
    display: block;

    color: #63748a;

    font-size: 0.76rem;
    line-height: 1.45;
}


/* Nota */

.gesap-scientific-publication-note {
    margin-top: 20px;
    padding: 15px 18px;

    background: rgba(255, 255, 255, 0.75);

    border-left: 4px solid #0788d4;
    border-radius: 0 8px 8px 0;

    color: #4c5f78;

    font-size: 0.86rem;
    line-height: 1.65;
}


/* =========================================================
   10. RECHAZO EDITORIAL
   ========================================================= */

.gesap-scientific-publication-rejection {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-scientific-publication-rejection::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-scientific-publication-rejection h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-rejection > p {
    margin: 0 0 23px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* 6 pasos */

.gesap-scientific-publication-rejection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.gesap-scientific-publication-rejection-item {
    display: flex;
    align-items: center;

    min-width: 0;

    padding: 17px 18px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 10px;
}

.gesap-scientific-publication-rejection-item span {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 31px;
    height: 31px;

    margin-right: 12px;

    border-radius: 8px;

    background: #edf6fc;

    color: #075a9c;

    font-size: 0.67rem;
    font-weight: 800;
}

.gesap-scientific-publication-rejection-item strong {
    color: #052b5c;

    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.4;
}


/* =========================================================
   11. PEER REVIEW PRE-SUBMISSION
   ========================================================= */

.gesap-scientific-publication-peer-review {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;

    margin: 0 0 44px;
    padding: 31px 34px;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #eef8fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;
}

.gesap-scientific-publication-peer-review-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 11px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.80rem;
    font-weight: 800;
}

.gesap-scientific-publication-peer-review-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-peer-review-content p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-scientific-publication-text-link {
    display: inline-block;

    margin-top: 16px;

    color: #075a9c !important;

    font-size: 0.90rem;
    font-weight: 800;

    text-decoration: none !important;
}

.gesap-scientific-publication-text-link:hover {
    color: #052b5c !important;
    text-decoration: underline !important;
}


/* =========================================================
   12. SERVICIOS / TIENDA
   ========================================================= */

.gesap-scientific-publication-services {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    background: linear-gradient(
        135deg,
        #eef8fd 0%,
        #f9fcff 100%
    );

    border: 1px solid #bddced;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}

.gesap-scientific-publication-services-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
}

.gesap-scientific-publication-services-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-services-content p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: left;
}


/* Botón tienda */

.gesap-scientific-publication-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 17px;
    padding: 12px 20px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    );

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 0.90rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-scientific-publication-button:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 8px 20px rgba(5, 43, 92, 0.18);
}


/* =========================================================
   13. PUBLICACIÓN RESPONSABLE
   ========================================================= */

.gesap-scientific-publication-responsible {
    position: relative;

    width: 100%;

    margin: 0 0 44px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-scientific-publication-responsible::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-scientific-publication-responsible h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-scientific-publication-responsible > p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.96rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-scientific-publication-responsible > p:last-of-type {
    margin-bottom: 0;
}

.gesap-scientific-publication-responsible-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.80rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   14. CTA FINAL
   ========================================================= */

/*
   Utiliza las clases generales que ya existen:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar colisiones.
*/


/* =========================================================
   15. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-scientific-publication-route {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;
    }

    .gesap-scientific-publication-route-arrow {
        display: none;
    }

    .gesap-scientific-publication-journal-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-scientific-publication-submit {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .gesap-scientific-publication-editorial-flow {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;
    }

    .gesap-scientific-publication-editorial-arrow {
        display: none;
    }

    .gesap-scientific-publication-editorial-details {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .gesap-scientific-publication-response-flow {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .gesap-scientific-publication-rejection-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   16. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* Textos */

    .gesap-scientific-publication-heading p,
    .gesap-scientific-publication-phase-intro,
    .gesap-scientific-publication-journal > p,
    .gesap-scientific-publication-editorial > p,
    .gesap-scientific-publication-rejection > p,
    .gesap-scientific-publication-responsible > p {
        text-align: left;
    }


    /* Ruta general */

    .gesap-scientific-publication-route {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 34px;
    }

    .gesap-scientific-publication-route-arrow {
        display: none;
    }

    .gesap-scientific-publication-route-item {
        text-align: left;

        padding: 18px 19px;
    }

    .gesap-scientific-publication-route-item span {
        margin: 0 0 10px;
    }


    /* Fases */

    .gesap-scientific-publication-phase {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-scientific-publication-phase-header {
        grid-template-columns: 1fr;

        gap: 13px;
    }

    .gesap-scientific-publication-phase-grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }


    /* Selección revista */

    .gesap-scientific-publication-journal {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-scientific-publication-journal-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    /* Durante el envío */

    .gesap-scientific-publication-submit {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    /* Proceso editorial */

    .gesap-scientific-publication-editorial {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-scientific-publication-editorial-flow {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .gesap-scientific-publication-editorial-arrow {
        display: none;
    }

    .gesap-scientific-publication-editorial-item {
        text-align: left;
    }

    .gesap-scientific-publication-editorial-item span {
        margin: 0 0 10px;
    }

    .gesap-scientific-publication-editorial-details {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    /* Observaciones */

    .gesap-scientific-publication-response-flow {
        grid-template-columns: 1fr;

        gap: 11px;
    }

    .gesap-scientific-publication-response-item {
        text-align: left;
    }

    .gesap-scientific-publication-response-item span {
        margin: 0 0 10px;
    }


    /* Rechazo */

    .gesap-scientific-publication-rejection {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

    .gesap-scientific-publication-rejection-grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }


    /* Peer Review */

    .gesap-scientific-publication-peer-review {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Servicios */

    .gesap-scientific-publication-services {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 34px;

        padding: 27px 23px;
    }


    /* Publicación responsable */

    .gesap-scientific-publication-responsible {
        margin-bottom: 34px;

        padding: 27px 23px;
    }

}
/* =========================================================
   GESAP - ANÁLISIS DE DATOS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-data-analysis .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-data-analysis-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-data-analysis-heading h2 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-data-analysis-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. PROCESO GENERAL
   COMPRENDER → REVISAR → SELECCIONAR → ANALIZAR...
   ========================================================= */

.gesap-data-analysis-process {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr);

    align-items: center;
    gap: 5px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-data-analysis-process-item {
    min-width: 0;

    padding: 20px 12px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f2f9fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 12px;

    text-align: center;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.04);
}

.gesap-data-analysis-process-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin: 0 auto 11px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.68rem;
    font-weight: 800;
}

.gesap-data-analysis-process-item strong {
    display: block;

    margin-bottom: 4px;

    color: #052b5c;

    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-data-analysis-process-item > span {
    display: block;

    color: #63748a;

    font-size: 0.73rem;
    line-height: 1.4;
}

.gesap-data-analysis-process-arrow {
    color: #0788d4;

    font-size: 1.1rem;
    font-weight: 800;

    text-align: center;
}


/* =========================================================
   4. ETAPAS DE LA ESTRATEGIA ANALÍTICA
   ========================================================= */

.gesap-data-analysis-stages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-data-analysis-stage {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;

    min-width: 0;

    padding: 23px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 13px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-data-analysis-stage-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
}

.gesap-data-analysis-stage h3 {
    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-data-analysis-stage p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-data-analysis-stage-line {
    display: block;

    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   5. CAPACIDADES ANALÍTICAS
   ========================================================= */

.gesap-data-analysis-capabilities {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-data-analysis-capability {
    min-width: 0;

    padding: 25px 23px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f5faff 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-data-analysis-capability:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(5, 43, 92, 0.08);
}

.gesap-data-analysis-capability-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-bottom: 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.70rem;
    font-weight: 800;
}

.gesap-data-analysis-capability h3 {
    margin: 0 0 9px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-data-analysis-capability p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-data-analysis-capability-line {
    display: block;

    margin-top: 16px;
    padding-top: 13px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   6. BLOQUES ESPECIALIZADOS
   SEM + ANALÍTICA PREDICTIVA
   ========================================================= */

.gesap-data-analysis-special {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 24px;

    align-items: start;

    position: relative;

    width: 100%;

    margin: 0 0 22px;
    padding: 32px 34px;

    overflow: hidden;

    border-radius: 16px;
}


/* SEM */

.gesap-data-analysis-sem {
    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #064b91 58%,
        #0788d4 100%
    );

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.12);
}


/* PREDICTIVO */

.gesap-data-analysis-predictive {
    margin-bottom: 46px;

    background: linear-gradient(
        135deg,
        #07376b 0%,
        #0867a6 55%,
        #00a0df 100%
    );

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.12);
}


/* Identificador */

.gesap-data-analysis-special-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 66px;
    height: 66px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.12);

    color: #ffffff;

    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}


/* Kicker blanco */

.gesap-data-analysis-special .gesap-about-kicker {
    color: #bde6ff !important;
}


/* Título */

.gesap-data-analysis-special-content h2 {
    margin: 5px 0 11px;

    color: #ffffff;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Texto */

.gesap-data-analysis-special-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.88);

    font-size: 0.94rem;
    line-height: 1.72;

    text-align: left;
}


/* Línea de conceptos */

.gesap-data-analysis-special-line {
    display: block;

    margin-top: 18px;
    padding-top: 15px;

    border-top: 1px solid rgba(255, 255, 255, 0.22);

    color: #d7f0ff;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   7. SOFTWARE Y HERRAMIENTAS
   ========================================================= */

.gesap-data-analysis-tools {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-data-analysis-tools::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-data-analysis-tools h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-data-analysis-tools > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Lista software */

.gesap-data-analysis-tools-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;

    width: 100%;

    margin-top: 23px;
}

.gesap-data-analysis-tool {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 62px;
    padding: 14px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 10px;

    text-align: center;
}

.gesap-data-analysis-tool strong {
    color: #075a9c;

    font-size: 0.88rem;
    font-weight: 800;
}


/* =========================================================
   8. NECESIDADES
   ========================================================= */

.gesap-data-analysis-needs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-data-analysis-need {
    min-width: 0;

    padding: 21px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-data-analysis-need strong {
    display: block;

    margin: 0 0 7px;

    color: #052b5c;

    font-size: 0.93rem;
    font-weight: 800;
    line-height: 1.45;
}

.gesap-data-analysis-need span {
    display: block;

    color: #63748a;

    font-size: 0.84rem;
    line-height: 1.55;
}


/* =========================================================
   9. RESULTADOS DEL ANÁLISIS
   ========================================================= */

.gesap-data-analysis-results {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;
}

.gesap-data-analysis-results::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-data-analysis-results h2 {
    margin: 5px 0 12px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-data-analysis-results > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-data-analysis-results-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   10. SERVICIOS / TIENDA
   ========================================================= */

.gesap-data-analysis-services {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    align-items: start;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    background: linear-gradient(
        135deg,
        #eef8fd 0%,
        #f9fcff 100%
    );

    border: 1px solid #bddced;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}

.gesap-data-analysis-services-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
}

.gesap-data-analysis-services-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-data-analysis-services-content p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: left;
}


/* Botón tienda */

.gesap-data-analysis-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 17px;
    padding: 12px 20px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    );

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 0.90rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-data-analysis-button:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 8px 20px rgba(5, 43, 92, 0.18);
}


/* =========================================================
   11. ANÁLISIS RESPONSABLE
   ========================================================= */

.gesap-data-analysis-responsible {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-data-analysis-responsible::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-data-analysis-responsible h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-data-analysis-responsible > p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-data-analysis-responsible > p:last-of-type {
    margin-bottom: 0;
}

.gesap-data-analysis-responsible-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   12. CTA FINAL
   ========================================================= */

/*
   Utiliza las clases generales ya existentes:

   .gesap-about-purpose
   .gesap-collab-button

   No se redefinen para evitar colisiones con otras páginas.
*/


/* =========================================================
   13. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    /* Proceso superior */

    .gesap-data-analysis-process {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 13px;
    }

    .gesap-data-analysis-process-arrow {
        display: none;
    }


    /* Capacidades */

    .gesap-data-analysis-capabilities {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* Software */

    .gesap-data-analysis-tools-list {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   14. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* -----------------------------------------
       Alineación de textos
       ----------------------------------------- */

    .gesap-data-analysis-heading p,
    .gesap-data-analysis-tools > p,
    .gesap-data-analysis-results > p,
    .gesap-data-analysis-responsible > p {
        text-align: left;
    }


    /* -----------------------------------------
       Encabezados
       ----------------------------------------- */

    .gesap-data-analysis-heading h2 {
        font-size: 1.4rem;
    }


    /* -----------------------------------------
       Proceso general
       ----------------------------------------- */

    .gesap-data-analysis-process {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }

    .gesap-data-analysis-process-arrow {
        display: none;
    }

    .gesap-data-analysis-process-item {
        padding: 18px 19px;

        text-align: left;
    }

    .gesap-data-analysis-process-number {
        margin: 0 0 10px;
    }


    /* -----------------------------------------
       Etapas
       ----------------------------------------- */

    .gesap-data-analysis-stages {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }

    .gesap-data-analysis-stage {
        grid-template-columns: 1fr;

        gap: 13px;

        padding: 21px 20px;
    }


    /* -----------------------------------------
       Capacidades
       ----------------------------------------- */

    .gesap-data-analysis-capabilities {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------
       SEM / PREDICTIVO
       ----------------------------------------- */

    .gesap-data-analysis-special {
        grid-template-columns: 1fr;

        gap: 17px;

        padding: 27px 23px;
    }

    .gesap-data-analysis-special-mark {
        width: 58px;
        height: 58px;
    }

    .gesap-data-analysis-special-content h2 {
        font-size: 1.3rem;
    }

    .gesap-data-analysis-predictive {
        margin-bottom: 36px;
    }


    /* -----------------------------------------
       Herramientas
       ----------------------------------------- */

    .gesap-data-analysis-tools {
        margin-bottom: 36px;

        padding: 27px 23px;
    }

    .gesap-data-analysis-tools-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }


    /* -----------------------------------------
       Necesidades
       ----------------------------------------- */

    .gesap-data-analysis-needs {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------
       Resultados
       ----------------------------------------- */

    .gesap-data-analysis-results {
        margin-bottom: 36px;

        padding: 27px 23px;
    }


    /* -----------------------------------------
       Servicios
       ----------------------------------------- */

    .gesap-data-analysis-services {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 36px;

        padding: 27px 23px;
    }


    /* -----------------------------------------
       Análisis responsable
       ----------------------------------------- */

    .gesap-data-analysis-responsible {
        margin-bottom: 36px;

        padding: 27px 23px;
    }

}


/* =========================================================
   15. MÓVILES PEQUEÑOS
   ========================================================= */

@media (max-width: 479.98px) {

    .gesap-data-analysis-tools-list {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   GESAP - CONSULTORÍA EN PROYECTOS
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-project-consulting .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-project-consulting-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-project-consulting-heading h2 {
    margin: 5px 0 10px;

    color: #052b5c;

    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-heading p {
    width: 100%;
    max-width: none;

    margin: 0;

    color: #4c5f78;

    font-size: 1rem;
    line-height: 1.75;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. CICLO DEL PROYECTO
   ========================================================= */

.gesap-project-consulting-cycle {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr)
        24px
        minmax(0, 1fr);

    align-items: center;
    gap: 5px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-project-consulting-cycle-item {
    min-width: 0;

    padding: 20px 12px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f3f9fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 12px;

    text-align: center;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.04);
}

.gesap-project-consulting-cycle-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    margin: 0 auto 11px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.68rem;
    font-weight: 800;
}

.gesap-project-consulting-cycle-item strong {
    display: block;

    margin-bottom: 4px;

    color: #052b5c;

    font-size: 0.86rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-project-consulting-cycle-item > span {
    display: block;

    color: #63748a;

    font-size: 0.72rem;
    line-height: 1.4;
}

.gesap-project-consulting-cycle-arrow {
    color: #0788d4;

    font-size: 1.1rem;
    font-weight: 800;

    text-align: center;
}


/* =========================================================
   4. ETAPAS DE CONSULTORÍA
   ========================================================= */

.gesap-project-consulting-stages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-project-consulting-stage {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;

    min-width: 0;

    padding: 23px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 13px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-project-consulting-stage-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
}

.gesap-project-consulting-stage h3 {
    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-project-consulting-stage p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-project-consulting-stage-line {
    display: block;

    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   5. FORMULACIÓN DE PROYECTOS
   BLOQUE DESTACADO
   ========================================================= */

.gesap-project-consulting-special {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 24px;

    align-items: start;

    position: relative;

    width: 100%;

    margin: 0 0 22px;
    padding: 34px;

    overflow: hidden;

    border-radius: 16px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #064b91 58%,
        #0788d4 100%
    );

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.12);
}

.gesap-project-consulting-special-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 66px;
    height: 66px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.12);

    color: #ffffff;

    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.gesap-project-consulting-special .gesap-about-kicker {
    color: #bde6ff !important;
}

.gesap-project-consulting-special-content h2 {
    margin: 5px 0 11px;

    color: #ffffff;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-special-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.89);

    font-size: 0.94rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-project-consulting-special-line {
    display: block;

    margin-top: 18px;
    padding-top: 15px;

    border-top: 1px solid rgba(255, 255, 255, 0.22);

    color: #d7f0ff;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. GESTIÓN Y SEGUIMIENTO
   ========================================================= */

.gesap-project-consulting-management {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;
}

.gesap-project-consulting-management::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-project-consulting-management h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-management > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* Flujo gestión */

.gesap-project-consulting-management-flow {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        26px
        minmax(0, 1fr)
        26px
        minmax(0, 1fr)
        26px
        minmax(0, 1fr)
        26px
        minmax(0, 1fr);

    align-items: center;
    gap: 5px;

    width: 100%;

    margin-top: 24px;
}

.gesap-project-consulting-management-item {
    min-width: 0;

    padding: 15px 10px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 10px;

    text-align: center;
}

.gesap-project-consulting-management-item span {
    display: block;

    margin-bottom: 4px;

    color: #0788d4;

    font-size: 0.68rem;
    font-weight: 800;
}

.gesap-project-consulting-management-item strong {
    display: block;

    color: #052b5c;

    font-size: 0.82rem;
    font-weight: 800;
}

.gesap-project-consulting-management-arrow {
    color: #0788d4;

    font-size: 1rem;
    font-weight: 800;

    text-align: center;
}


/* =========================================================
   7. ÁREAS DE CONSULTORÍA
   ========================================================= */

.gesap-project-consulting-areas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-project-consulting-area {
    min-width: 0;

    padding: 25px 23px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f5faff 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-project-consulting-area:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(5, 43, 92, 0.08);
}

.gesap-project-consulting-area-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-bottom: 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.70rem;
    font-weight: 800;
}

.gesap-project-consulting-area h3 {
    margin: 0 0 9px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-project-consulting-area p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-project-consulting-area-line {
    display: block;

    margin-top: 16px;
    padding-top: 13px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   8. IDENTIFICACIÓN DE NECESIDAD
   ========================================================= */

.gesap-project-consulting-needs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;

    width: 100%;

    margin: 0 0 46px;
}

.gesap-project-consulting-need {
    min-width: 0;

    padding: 21px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 12px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-project-consulting-need strong {
    display: block;

    margin: 0 0 7px;

    color: #052b5c;

    font-size: 0.93rem;
    font-weight: 800;
    line-height: 1.45;
}

.gesap-project-consulting-need span {
    display: block;

    color: #63748a;

    font-size: 0.84rem;
    line-height: 1.55;
}


/* =========================================================
   9. MODALIDADES DE ACOMPAÑAMIENTO
   ========================================================= */

.gesap-project-consulting-modalities {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-project-consulting-modalities::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-project-consulting-modalities > h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-modalities > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-project-consulting-modalities-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;

    width: 100%;

    margin-top: 23px;
}

.gesap-project-consulting-modality {
    min-width: 0;

    padding: 21px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 11px;
}

.gesap-project-consulting-modality strong {
    display: block;

    margin-bottom: 7px;

    color: #052b5c;

    font-size: 0.93rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-project-consulting-modality p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.84rem;
    line-height: 1.6;

    text-align: left;
}


/* =========================================================
   10. SOLICITUD DE CONSULTORÍA / COTIZACIÓN
   ========================================================= */

.gesap-project-consulting-services {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;

    align-items: start;

    width: 100%;

    margin: 0 0 46px;
    padding: 34px;

    background: linear-gradient(
        135deg,
        #eef8fd 0%,
        #f9fcff 100%
    );

    border: 1px solid #bddced;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}

.gesap-project-consulting-services-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
}

.gesap-project-consulting-services-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-services-content p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-project-consulting-services-content p:last-of-type {
    margin-bottom: 0;
}


/* Botón cotización */

.gesap-project-consulting-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 18px;
    padding: 12px 20px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    );

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 0.90rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-project-consulting-button:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 8px 20px rgba(5, 43, 92, 0.18);
}


/* =========================================================
   11. CONSULTORÍA RESPONSABLE
   ========================================================= */

.gesap-project-consulting-responsible {
    position: relative;

    width: 100%;

    margin: 0 0 46px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-project-consulting-responsible::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-project-consulting-responsible h2 {
    margin: 5px 0 13px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-project-consulting-responsible > p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-project-consulting-responsible > p:last-of-type {
    margin-bottom: 0;
}

.gesap-project-consulting-responsible-line {
    display: block;

    margin-top: 20px;
    padding-top: 15px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   12. CTA FINAL
   ========================================================= */

/*
   El CTA final utiliza las clases generales que ya tienes:

   .gesap-about-purpose
   .gesap-collab-button

   NO se redefinen aquí para evitar afectar otras páginas.
*/


/* =========================================================
   13. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    /* Ciclo */

    .gesap-project-consulting-cycle {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 13px;
    }

    .gesap-project-consulting-cycle-arrow {
        display: none;
    }


    /* Áreas */

    .gesap-project-consulting-areas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* Gestión */

    .gesap-project-consulting-management-flow {
        grid-template-columns:
            repeat(5, minmax(0, 1fr));

        gap: 10px;
    }

    .gesap-project-consulting-management-arrow {
        display: none;
    }

}


/* =========================================================
   14. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* -----------------------------------------
       Textos
       ----------------------------------------- */

    .gesap-project-consulting-heading p,
    .gesap-project-consulting-management > p,
    .gesap-project-consulting-modalities > p,
    .gesap-project-consulting-responsible > p {
        text-align: left;
    }


    /* -----------------------------------------
       Encabezados
       ----------------------------------------- */

    .gesap-project-consulting-heading h2 {
        font-size: 1.4rem;
    }


    /* -----------------------------------------
       Ciclo
       ----------------------------------------- */

    .gesap-project-consulting-cycle {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }

    .gesap-project-consulting-cycle-arrow {
        display: none;
    }

    .gesap-project-consulting-cycle-item {
        padding: 18px 19px;

        text-align: left;
    }

    .gesap-project-consulting-cycle-number {
        margin: 0 0 10px;
    }


    /* -----------------------------------------
       Etapas
       ----------------------------------------- */

    .gesap-project-consulting-stages {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }

    .gesap-project-consulting-stage {
        grid-template-columns: 1fr;

        gap: 13px;

        padding: 21px 20px;
    }


    /* -----------------------------------------
       Formulación
       ----------------------------------------- */

    .gesap-project-consulting-special {
        grid-template-columns: 1fr;

        gap: 17px;

        margin-bottom: 20px;
        padding: 27px 23px;
    }

    .gesap-project-consulting-special-mark {
        width: 58px;
        height: 58px;
    }

    .gesap-project-consulting-special-content h2 {
        font-size: 1.3rem;
    }


    /* -----------------------------------------
       Gestión y seguimiento
       ----------------------------------------- */

    .gesap-project-consulting-management {
        margin-bottom: 36px;

        padding: 27px 23px;
    }

    .gesap-project-consulting-management-flow {
        grid-template-columns: 1fr;

        gap: 9px;
    }

    .gesap-project-consulting-management-arrow {
        display: none;
    }

    .gesap-project-consulting-management-item {
        text-align: left;
    }


    /* -----------------------------------------
       Áreas
       ----------------------------------------- */

    .gesap-project-consulting-areas {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------
       Necesidades
       ----------------------------------------- */

    .gesap-project-consulting-needs {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------
       Modalidades
       ----------------------------------------- */

    .gesap-project-consulting-modalities {
        margin-bottom: 36px;

        padding: 27px 23px;
    }

    .gesap-project-consulting-modalities-grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }


    /* -----------------------------------------
       Solicitud / cotización
       ----------------------------------------- */

    .gesap-project-consulting-services {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 36px;
        padding: 27px 23px;
    }


    /* -----------------------------------------
       Consultoría responsable
       ----------------------------------------- */

    .gesap-project-consulting-responsible {
        margin-bottom: 36px;

        padding: 27px 23px;
    }

}
/* =========================================================
   GESAP - CAPACITACIÓN PARA ORGANIZACIONES
   ========================================================= */


/* =========================================================
   1. INTRODUCCIÓN
   ========================================================= */

.gesap-org-training .gesap-about-intro {
    margin-bottom: 24px !important;
}


/* =========================================================
   2. ENCABEZADOS DE SECCIÓN
   ========================================================= */

.gesap-org-training-heading {
    width: 100%;
    margin: 0 0 24px;
}

.gesap-org-training-heading h2 {
    margin: 5px 0 10px;
    color: #052b5c;
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-org-training-heading p {
    width: 100%;
    margin: 0;
    color: #4c5f78;
    font-size: 1rem;
    line-height: 1.75;
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}


/* =========================================================
   3. PROCESO PRINCIPAL
   NECESIDAD → DIAGNÓSTICO → DISEÑO → CAPACITACIÓN → EVALUACIÓN
   ========================================================= */

.gesap-org-training-process {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        28px
        minmax(0, 1fr)
        28px
        minmax(0, 1fr)
        28px
        minmax(0, 1fr)
        28px
        minmax(0, 1fr);
    align-items: center;
    gap: 6px;

    width: 100%;
    margin: 0 0 46px;
}

.gesap-org-training-process-item {
    min-width: 0;
    padding: 22px 14px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f3f9fd 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 13px;

    text-align: center;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.04);
}

.gesap-org-training-process-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    margin: 0 auto 11px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.69rem;
    font-weight: 800;
}

.gesap-org-training-process-item strong {
    display: block;
    margin-bottom: 5px;

    color: #052b5c;

    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-org-training-process-item > span {
    display: block;

    color: #63748a;

    font-size: 0.74rem;
    line-height: 1.45;
}

.gesap-org-training-process-arrow {
    color: #0788d4;
    font-size: 1.1rem;
    font-weight: 800;
    text-align: center;
}


/* =========================================================
   4. ETAPAS - CÓMO DISEÑAMOS LA CAPACITACIÓN
   ========================================================= */

.gesap-org-training-stages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;

    width: 100%;
    margin: 0 0 46px;
}

.gesap-org-training-stage {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;

    min-width: 0;
    padding: 23px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 13px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-org-training-stage-number {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 10px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.72rem;
    font-weight: 800;
}

.gesap-org-training-stage h3 {
    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-org-training-stage p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-org-training-stage-line {
    display: block;

    margin-top: 14px;
    padding-top: 12px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   5. CAPACITACIÓN PERSONALIZADA
   BLOQUE DESTACADO
   ========================================================= */

.gesap-org-training-special {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 24px;
    align-items: start;

    position: relative;

    width: 100%;
    margin: 0 0 46px;
    padding: 34px;

    overflow: hidden;

    border-radius: 16px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #064b91 58%,
        #0788d4 100%
    );

    box-shadow:
        0 12px 30px rgba(5, 43, 92, 0.12);
}

.gesap-org-training-special-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 66px;
    height: 66px;

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.12);

    color: #ffffff;

    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.gesap-org-training-special .gesap-about-kicker {
    color: #bde6ff !important;
}

.gesap-org-training-special-content h2 {
    margin: 5px 0 11px;

    color: #ffffff;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-org-training-special-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.90);

    font-size: 0.94rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-org-training-special-line {
    display: block;

    margin-top: 18px;
    padding-top: 15px;

    border-top: 1px solid rgba(255, 255, 255, 0.22);

    color: #d7f0ff;

    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   6. ÁREAS DE CAPACITACIÓN
   ========================================================= */

.gesap-org-training-areas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;

    width: 100%;
    margin: 0 0 46px;
}

.gesap-org-training-area {
    min-width: 0;
    padding: 25px 23px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f5faff 100%
    );

    border: 1px solid #d3e4f2;
    border-radius: 14px;

    box-shadow:
        0 6px 18px rgba(5, 43, 92, 0.04);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-org-training-area:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 25px rgba(5, 43, 92, 0.08);
}

.gesap-org-training-area-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    margin-bottom: 16px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.70rem;
    font-weight: 800;
}

.gesap-org-training-area h3 {
    margin: 0 0 9px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-org-training-area p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}

.gesap-org-training-area-line {
    display: block;

    margin-top: 16px;
    padding-top: 13px;

    border-top: 1px solid #d8e5f3;

    color: #075a9c;

    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   7. FORMATOS DE CAPACITACIÓN
   ========================================================= */

.gesap-org-training-formats {
    position: relative;

    width: 100%;
    margin: 0 0 22px;
    padding: 32px 34px;

    overflow: hidden;

    background: #f5f9fd;

    border: 1px solid #d3e4f2;
    border-radius: 16px;
}

.gesap-org-training-formats::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-org-training-formats > h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-org-training-formats > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-org-training-formats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;

    width: 100%;
    margin-top: 23px;
}

.gesap-org-training-format {
    min-width: 0;
    padding: 20px 18px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 11px;
}

.gesap-org-training-format strong {
    display: block;
    margin-bottom: 7px;

    color: #052b5c;

    font-size: 0.90rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-org-training-format p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.82rem;
    line-height: 1.58;

    text-align: left;
}


/* =========================================================
   8. MODALIDADES
   ========================================================= */

.gesap-org-training-modalities {
    position: relative;

    width: 100%;
    margin: 0 0 46px;
    padding: 30px 34px;

    overflow: hidden;

    background: linear-gradient(
        145deg,
        #f8fcff 0%,
        #eef7fd 100%
    );

    border: 1px solid #cfe2f1;
    border-radius: 16px;
}

.gesap-org-training-modalities::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #052b5c 0%,
        #008fe8 100%
    );
}

.gesap-org-training-modalities h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-org-training-modalities > p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

.gesap-org-training-modalities-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;

    margin-top: 22px;
}

.gesap-org-training-modality {
    padding: 17px 15px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 10px;

    text-align: center;
}

.gesap-org-training-modality strong {
    color: #052b5c;

    font-size: 0.90rem;
    font-weight: 800;
}


/* =========================================================
   9. PÚBLICOS / TIPOS DE ORGANIZACIÓN
   ========================================================= */

.gesap-org-training-audiences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;

    width: 100%;
    margin: 0 0 46px;
}

.gesap-org-training-audience {
    min-width: 0;
    padding: 23px 22px;

    background: #ffffff;

    border: 1px solid #d5e5f2;
    border-radius: 13px;

    box-shadow:
        0 5px 16px rgba(5, 43, 92, 0.035);
}

.gesap-org-training-audience-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 39px;
    height: 39px;
    margin-bottom: 14px;

    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #0788d4 100%
    );

    color: #ffffff;

    font-size: 0.69rem;
    font-weight: 800;
}

.gesap-org-training-audience h3 {
    margin: 0 0 8px;

    color: #052b5c;

    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-org-training-audience p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.87rem;
    line-height: 1.62;

    text-align: left;
}


/* =========================================================
   10. SOLICITUD Y COTIZACIÓN
   ========================================================= */

.gesap-org-training-request {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;
    align-items: start;

    width: 100%;
    margin: 0 0 46px;
    padding: 34px;

    background: linear-gradient(
        135deg,
        #eef8fd 0%,
        #f9fcff 100%
    );

    border: 1px solid #bddced;
    border-radius: 16px;

    box-shadow:
        0 7px 22px rgba(5, 43, 92, 0.04);
}

.gesap-org-training-request-mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #008fe8 100%
    );

    color: #ffffff;

    font-size: 1.15rem;
    font-weight: 800;
}

.gesap-org-training-request-content h2 {
    margin: 5px 0 11px;

    color: #052b5c;

    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-org-training-request-content p {
    margin: 0 0 11px;

    color: #4c5f78;

    font-size: 0.95rem;
    line-height: 1.72;

    text-align: left;
}

.gesap-org-training-request-content p:last-of-type {
    margin-bottom: 0;
}


/* Botón */

.gesap-org-training-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 18px;
    padding: 12px 20px;

    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #087fc4 100%
    );

    border-radius: 8px;

    color: #ffffff !important;

    font-size: 0.90rem;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-org-training-button:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    box-shadow:
        0 8px 20px rgba(5, 43, 92, 0.18);
}


/* =========================================================
   11. CÓMO EMPEZAMOS
   ========================================================= */

.gesap-org-training-start {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;

    width: 100%;
    margin: 0 0 46px;
}

.gesap-org-training-start-item {
    position: relative;

    min-width: 0;
    padding: 23px 20px;

    background: linear-gradient(
        145deg,
        #ffffff 0%,
        #f6faff 100%
    );

    border: 1px solid #d5e5f2;
    border-radius: 12px;
}

.gesap-org-training-start-item > span {
    display: block;

    margin-bottom: 10px;

    color: #0788d4;

    font-size: 0.72rem;
    font-weight: 800;
}

.gesap-org-training-start-item strong {
    display: block;

    margin-bottom: 8px;

    color: #052b5c;

    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.4;
}

.gesap-org-training-start-item p {
    margin: 0;

    color: #4c5f78;

    font-size: 0.82rem;
    line-height: 1.58;

    text-align: left;
}


/* =========================================================
   12. CTA FINAL
   ========================================================= */

/*
   El CTA final usa las clases generales ya existentes:

   .gesap-about-purpose
   .gesap-collab-button

   NO se redefinen para evitar afectar las otras páginas.
*/


/* =========================================================
   13. TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    /* Proceso principal */

    .gesap-org-training-process {
        grid-template-columns:
            repeat(5, minmax(0, 1fr));

        gap: 11px;
    }

    .gesap-org-training-process-arrow {
        display: none;
    }


    /* Áreas */

    .gesap-org-training-areas {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* Formatos */

    .gesap-org-training-formats-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* Cómo empezamos */

    .gesap-org-training-start {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   14. MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    /* -----------------------------------------------------
       TEXTOS
       ----------------------------------------------------- */

    .gesap-org-training-heading p,
    .gesap-org-training-formats > p,
    .gesap-org-training-modalities > p {
        text-align: left;
    }


    /* -----------------------------------------------------
       ENCABEZADOS
       ----------------------------------------------------- */

    .gesap-org-training-heading h2 {
        font-size: 1.4rem;
    }


    /* -----------------------------------------------------
       PROCESO PRINCIPAL
       ----------------------------------------------------- */

    .gesap-org-training-process {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }

    .gesap-org-training-process-arrow {
        display: none;
    }

    .gesap-org-training-process-item {
        padding: 18px 19px;

        text-align: left;
    }

    .gesap-org-training-process-number {
        margin: 0 0 10px;
    }


    /* -----------------------------------------------------
       ETAPAS
       ----------------------------------------------------- */

    .gesap-org-training-stages {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }

    .gesap-org-training-stage {
        grid-template-columns: 1fr;

        gap: 13px;

        padding: 21px 20px;
    }


    /* -----------------------------------------------------
       CAPACITACIÓN PERSONALIZADA
       ----------------------------------------------------- */

    .gesap-org-training-special {
        grid-template-columns: 1fr;

        gap: 17px;

        margin-bottom: 36px;
        padding: 27px 23px;
    }

    .gesap-org-training-special-mark {
        width: 58px;
        height: 58px;
    }

    .gesap-org-training-special-content h2 {
        font-size: 1.3rem;
    }


    /* -----------------------------------------------------
       ÁREAS
       ----------------------------------------------------- */

    .gesap-org-training-areas {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------------------
       FORMATOS
       ----------------------------------------------------- */

    .gesap-org-training-formats {
        margin-bottom: 20px;
        padding: 27px 23px;
    }

    .gesap-org-training-formats-grid {
        grid-template-columns: 1fr;

        gap: 11px;
    }


    /* -----------------------------------------------------
       MODALIDADES
       ----------------------------------------------------- */

    .gesap-org-training-modalities {
        margin-bottom: 36px;
        padding: 27px 23px;
    }

    .gesap-org-training-modalities-list {
        grid-template-columns: 1fr;

        gap: 10px;
    }

    .gesap-org-training-modality {
        text-align: left;
    }


    /* -----------------------------------------------------
       PÚBLICOS
       ----------------------------------------------------- */

    .gesap-org-training-audiences {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-bottom: 36px;
    }


    /* -----------------------------------------------------
       SOLICITUD Y COTIZACIÓN
       ----------------------------------------------------- */

    .gesap-org-training-request {
        grid-template-columns: 1fr;

        gap: 16px;

        margin-bottom: 36px;
        padding: 27px 23px;
    }


    /* -----------------------------------------------------
       CÓMO EMPEZAMOS
       ----------------------------------------------------- */

    .gesap-org-training-start {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 36px;
    }

}
/* =========================================================
   GESAP - CONTACTO
   ========================================================= */


/* ---------------------------------------------------------
   BASE GENERAL
   --------------------------------------------------------- */

.gesap-contact {
    width: 100%;
}

.gesap-contact * {
    box-sizing: border-box;
}


/* ---------------------------------------------------------
   INTRO PRINCIPAL
   --------------------------------------------------------- */

.gesap-contact .gesap-about-intro {
    margin-bottom: 38px !important;
}

.gesap-contact-main-title {
    margin: 8px 0 16px;
    color: #052b5c;
    font-size: clamp(1.8rem, 3vw, 2.65rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.gesap-contact-topics {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid #d8e5f3;
    color: #075a9c;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.7;
}


/* ---------------------------------------------------------
   ENCABEZADOS DE SECCIÓN
   --------------------------------------------------------- */

.gesap-contact-heading {
    margin: 56px 0 25px;
}

.gesap-contact-heading h2 {
    margin: 7px 0 10px;
    color: #052b5c;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

.gesap-contact-heading p {
    max-width: 900px;
    margin: 0;
    color: #4c5f78;
    font-size: 0.96rem;
    line-height: 1.75;
}


/* =========================================================
   CANALES PRINCIPALES
   ========================================================= */

.gesap-contact-channels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 55px;
}

.gesap-contact-channel {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 310px;
    padding: 30px;
    overflow: hidden;
    border: 1px solid #d8e5f3;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(5, 43, 92, 0.07);
    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease,
        border-color 0.22s ease;
}

.gesap-contact-channel:hover {
    transform: translateY(-4px);
    border-color: #a9cce9;
    box-shadow: 0 16px 34px rgba(5, 43, 92, 0.12);
}

.gesap-contact-channel-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 22px;
    border-radius: 13px;
    background: linear-gradient(135deg, #052b5c 0%, #008fe8 100%);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.gesap-contact-channel h3 {
    margin: 0 0 12px;
    color: #052b5c;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.3;
}

.gesap-contact-channel p {
    margin: 0 0 18px;
    color: #4c5f78;
    font-size: 0.92rem;
    line-height: 1.7;
}

.gesap-contact-channel-line {
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #d8e5f3;
    color: #075a9c;
    font-size: 0.77rem;
    font-weight: 700;
    line-height: 1.6;
}

.gesap-contact-channel-link {
    display: inline-block;
    margin-top: 18px;
    color: #075a9c !important;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none !important;
}

.gesap-contact-channel-link:hover {
    color: #008fe8 !important;
}


/* WhatsApp destacado */

.gesap-contact-channel-featured {
    border-color: #b9d9ee;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f4faff 100%
        );
}


/* IA */

.gesap-contact-channel-ai {
    background:
        linear-gradient(
            145deg,
            #f8fbff 0%,
            #eef7ff 100%
        );
}

.gesap-contact-coming {
    display: inline-block;
    align-self: flex-start;
    margin-top: 18px;
    padding: 8px 13px;
    border-radius: 50px;
    background: #e6f3fc;
    color: #075a9c;
    font-size: 0.76rem;
    font-weight: 800;
}


/* =========================================================
   NECESIDADES
   ========================================================= */

.gesap-contact-needs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 58px;
}

.gesap-contact-need {
    position: relative;
    padding: 26px 28px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(5, 43, 92, 0.055);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.gesap-contact-need:hover {
    transform: translateY(-3px);
    border-color: #b3d3eb;
    box-shadow: 0 13px 28px rgba(5, 43, 92, 0.09);
}

.gesap-contact-need-mark {
    margin-bottom: 12px;
    color: #008fe8;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.gesap-contact-need h3 {
    margin: 0 0 9px;
    color: #052b5c;
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-contact-need p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.89rem;
    line-height: 1.68;
}

.gesap-contact-need-line {
    margin-top: 17px;
    padding-top: 13px;
    border-top: 1px solid #e1eaf3;
    color: #075a9c;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   FORMULARIO
   ========================================================= */

.gesap-contact-form-section {
    margin: 65px 0;
    padding: 42px;
    border: 1px solid #d2e4f2;
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            #f8fbfe 0%,
            #eef7fd 100%
        );
}

.gesap-contact-form-intro {
    max-width: 820px;
    margin-bottom: 28px;
}

.gesap-contact-form-intro h2 {
    margin: 7px 0 12px;
    color: #052b5c;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

.gesap-contact-form-intro p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.95rem;
    line-height: 1.75;
}


/* Placeholder temporal */

.gesap-contact-form-placeholder {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 27px;
    border: 1px dashed #9fc9e6;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
}

.gesap-contact-form-placeholder-mark {
    display: flex;
    flex: 0 0 46px;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: linear-gradient(135deg, #052b5c, #008fe8);
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 800;
}

.gesap-contact-form-placeholder strong {
    display: block;
    margin-bottom: 5px;
    color: #052b5c;
    font-size: 0.98rem;
    font-weight: 800;
}

.gesap-contact-form-placeholder p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.87rem;
    line-height: 1.6;
}


/* =========================================================
   FLUJO 01 - 04
   ========================================================= */

.gesap-contact-flow {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr) auto
        minmax(0, 1fr) auto
        minmax(0, 1fr) auto
        minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    margin-bottom: 68px;
}

.gesap-contact-flow-item {
    padding: 25px 20px;
    border: 1px solid #d8e5f3;
    border-radius: 15px;
    background: #ffffff;
    text-align: left;
}

.gesap-contact-flow-item span {
    display: block;
    margin-bottom: 12px;
    color: #008fe8;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.gesap-contact-flow-item strong {
    display: block;
    margin-bottom: 8px;
    color: #052b5c;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.35;
}

.gesap-contact-flow-item p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.82rem;
    line-height: 1.6;
}

.gesap-contact-flow-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #79b9e3;
    font-size: 1.25rem;
    font-weight: 800;
}


/* =========================================================
   ORGANIZACIONES
   ========================================================= */

.gesap-contact-organization {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin: 20px 0 28px;
    padding: 38px 40px;
    border-radius: 18px;
    background: linear-gradient(
        135deg,
        #052b5c 0%,
        #064b91 58%,
        #008fe8 100%
    );
    box-shadow: 0 14px 35px rgba(5, 43, 92, 0.14);
}

.gesap-contact-organization-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

.gesap-contact-organization .gesap-about-kicker {
    color: #aee0ff !important;
}

.gesap-contact-organization h2 {
    margin: 7px 0 12px;
    color: #ffffff;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

.gesap-contact-organization p {
    max-width: 850px;
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 0.94rem;
    line-height: 1.75;
}

.gesap-contact-organization-line {
    margin: 19px 0 22px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    color: #d8f1ff;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.65;
}


/* =========================================================
   BOTÓN GENERAL CONTACTO
   ========================================================= */

.gesap-contact-button {
    display: inline-block;
    padding: 12px 19px;
    border: 1px solid #ffffff;
    border-radius: 8px;
    background: #ffffff;
    color: #052b5c !important;
    font-size: 0.87rem;
    font-weight: 800;
    text-decoration: none !important;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.gesap-contact-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
}


/* =========================================================
   COLABORACIÓN
   ========================================================= */

.gesap-contact-collaboration {
    margin: 28px 0 65px;
    padding: 36px 40px;
    border: 1px solid #d8e5f3;
    border-radius: 18px;
    background: #f7fbfe;
}

.gesap-contact-collaboration h2 {
    margin: 7px 0 12px;
    color: #052b5c;
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
    font-weight: 800;
    line-height: 1.25;
}

.gesap-contact-collaboration p {
    max-width: 880px;
    margin: 0;
    color: #4c5f78;
    font-size: 0.93rem;
    line-height: 1.75;
}

.gesap-contact-collaboration-line {
    margin: 20px 0 22px;
    padding-top: 15px;
    border-top: 1px solid #d8e5f3;
    color: #075a9c;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.65;
}

.gesap-contact-button-outline {
    display: inline-block;
    padding: 11px 18px;
    border: 1px solid #075a9c;
    border-radius: 8px;
    color: #075a9c !important;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none !important;
    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.gesap-contact-button-outline:hover {
    transform: translateY(-2px);
    background: #075a9c;
    color: #ffffff !important;
}


/* =========================================================
   CONTACTO DIRECTO
   ========================================================= */

.gesap-contact-direct {
    margin: 60px 0;
}

.gesap-contact-direct-intro {
    margin-bottom: 25px;
}

.gesap-contact-direct-intro h2 {
    margin: 7px 0 10px;
    color: #052b5c;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
}

.gesap-contact-direct-intro p {
    margin: 0;
    color: #4c5f78;
    font-size: 0.94rem;
    line-height: 1.7;
}

.gesap-contact-direct-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.gesap-contact-direct-card {
    min-width: 0;
    padding: 27px;
    border: 1px solid #d8e5f3;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(5, 43, 92, 0.055);
}

.gesap-contact-direct-label {
    display: block;
    margin-bottom: 13px;
    color: #008fe8;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.gesap-contact-direct-card strong {
    display: block;
    overflow-wrap: anywhere;
    color: #052b5c;
    font-size: 1.05rem;
    font-weight: 800;
}

.gesap-contact-direct-card p {
    margin: 10px 0 17px;
    color: #4c5f78;
    font-size: 0.86rem;
    line-height: 1.6;
}

.gesap-contact-direct-card a {
    color: #075a9c !important;
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none !important;
}

.gesap-contact-direct-card a:hover {
    color: #008fe8 !important;
}


/* =========================================================
   CTA FINAL - SOLO AJUSTES DE CONTACTO
   NO REDEFINE EL BLOQUE GLOBAL
   ========================================================= */

.gesap-contact > .gesap-about-purpose {
    margin-top: 65px;
    margin-bottom: 50px;
}

.gesap-contact > .gesap-about-purpose .gesap-about-kicker {
    color: #aee0ff !important;
}

.gesap-contact > .gesap-about-purpose h2 {
    color: #ffffff !important;
}

.gesap-contact > .gesap-about-purpose p {
    max-width: 850px;
    color: rgba(255, 255, 255, 0.88) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-contact-channels {
        grid-template-columns: 1fr;
    }

    .gesap-contact-channel {
        min-height: auto;
    }

    .gesap-contact-needs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gesap-contact-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .gesap-contact-flow-arrow {
        display: none;
    }

    .gesap-contact-direct-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767.98px) {

    .gesap-contact-main-title {
        font-size: 1.75rem;
    }

    .gesap-contact-heading {
        margin-top: 45px;
    }

    .gesap-contact-channels {
        gap: 15px;
        margin-bottom: 45px;
    }

    .gesap-contact-channel {
        padding: 24px 22px;
        border-radius: 15px;
    }

    .gesap-contact-needs {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .gesap-contact-need {
        padding: 23px 21px;
    }

    .gesap-contact-form-section {
        margin: 50px 0;
        padding: 28px 21px;
        border-radius: 16px;
    }

    .gesap-contact-form-placeholder {
        align-items: flex-start;
        padding: 21px;
    }

    .gesap-contact-flow {
        grid-template-columns: 1fr;
    }

    .gesap-contact-flow-item {
        padding: 22px;
    }

    .gesap-contact-organization {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 30px 24px;
    }

    .gesap-contact-organization-mark {
        width: 58px;
        height: 58px;
        border-radius: 14px;
    }

    .gesap-contact-collaboration {
        padding: 29px 23px;
    }

    .gesap-contact-direct {
        margin: 50px 0;
    }

    .gesap-contact-direct-card {
        padding: 23px;
    }

    .gesap-contact-topics,
    .gesap-contact-channel-line,
    .gesap-contact-need-line,
    .gesap-contact-organization-line,
    .gesap-contact-collaboration-line {
        line-height: 1.8;
    }

}


/* =========================================================
   MÓVILES PEQUEÑOS
   ========================================================= */

@media (max-width: 479.98px) {

    .gesap-contact-form-placeholder {
        display: block;
    }

    .gesap-contact-form-placeholder-mark {
        margin-bottom: 15px;
    }

    .gesap-contact-button,
    .gesap-contact-button-outline {
        width: 100%;
        text-align: center;
    }

}


/* GESAP - Formulario de contacto */

.gesap-contact .gesap-custom-contact-form {
    width: 100%;
    margin-top: 30px;
}

.gesap-contact .gesap-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 28px;
    width: 100%;
}

.gesap-contact .gesap-form-group {
    min-width: 0;
}

.gesap-contact .gesap-form-full {
    grid-column: 1 / -1;
}

.gesap-contact .gesap-form-group > label {
    display: block;
    margin: 0 0 8px;
    color: #17365d;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.4;
}

.gesap-contact .gesap-required {
    color: #d73535;
}

.gesap-contact .gesap-form-optional {
    color: #71839a;
    font-size: 0.82rem;
    font-weight: 500;
}

/* CAMPOS DEL FORMULARIO */

.gesap-contact .gesap-form-group input[type="text"],
.gesap-contact .gesap-form-group input[type="email"],
.gesap-contact .gesap-form-group input[type="tel"],
.gesap-contact .gesap-form-group select,
.gesap-contact .gesap-form-group textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #cbd9e8;
    border-radius: 9px;
    background: #ffffff;
    color: #17324d;
    font-family: inherit;
    font-size: 0.94rem;
    line-height: 1.5;
    outline: none;
}

.gesap-contact .gesap-form-group input[type="text"],
.gesap-contact .gesap-form-group input[type="email"],
.gesap-contact .gesap-form-group input[type="tel"],
.gesap-contact .gesap-form-group select {
    min-height: 48px;
    padding: 11px 14px;
}

.gesap-contact .gesap-form-group textarea {
    min-height: 155px;
    padding: 13px 14px;
    resize: vertical;
}

.gesap-contact .gesap-form-group input::placeholder,
.gesap-contact .gesap-form-group textarea::placeholder {
    color: #8999aa;
    opacity: 1;
}

.gesap-contact .gesap-form-group select {
    cursor: pointer;
}

/* FOCUS Y TEXTOS AUXILIARES */

.gesap-contact .gesap-form-group input[type="text"]:focus,
.gesap-contact .gesap-form-group input[type="email"]:focus,
.gesap-contact .gesap-form-group input[type="tel"]:focus,
.gesap-contact .gesap-form-group select:focus,
.gesap-contact .gesap-form-group textarea:focus {
    border-color: #087dc1;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(0, 143, 232, 0.10);
}

.gesap-contact .gesap-form-helper {
    margin-top: 7px;
    color: #6c7f94;
    font-size: 0.79rem;
    line-height: 1.55;
}

/* ARCHIVO ADJUNTO */

.gesap-contact .gesap-form-group input[type="file"] {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 9px;
    border: 1px dashed #b7cadc;
    border-radius: 9px;
    background: #ffffff;
    color: #4c6075;
    font-family: inherit;
    font-size: 0.88rem;
}

.gesap-contact .gesap-form-group input[type="file"]::file-selector-button {
    margin-right: 12px;
    padding: 9px 15px;
    border: 0;
    border-radius: 7px;
    background: #eaf4fb;
    color: #075a9c;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
}

/* PRIVACIDAD */

.gesap-contact .gesap-form-consent {
    padding: 18px 20px;
    border: 1px solid #d7e4ef;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.65);
}

.gesap-contact .gesap-form-consent > label {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0;
    color: #425a73;
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.6;
    cursor: pointer;
}

.gesap-contact .gesap-form-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 2px 0 0;
    accent-color: #087dc1;
    cursor: pointer;
}

/* MENSAJES DE ERROR */

.gesap-contact .gesap-form-error {
    display: none;
    margin-top: 6px;
    color: #b42318;
    font-size: 0.80rem;
    font-weight: 600;
}

.gesap-contact .gesap-form-group.gesap-has-error input,
.gesap-contact .gesap-form-group.gesap-has-error select,
.gesap-contact .gesap-form-group.gesap-has-error textarea {
    border-color: #d92d20;
}

.gesap-contact .gesap-form-group.gesap-has-error .gesap-form-error {
    display: block;
}

/* HONEYPOT ANTISPAM */

.gesap-contact .gesap-form-hp {
    display: none;
}

/* ESTADO DEL FORMULARIO */

.gesap-contact .gesap-form-status:empty {
    display: none;
}

.gesap-contact .gesap-form-status {
    padding: 14px 16px;
    border-radius: 9px;
    font-size: 0.88rem;
    line-height: 1.55;
}


/* BOTÓN DE ENVÍO */

.gesap-contact .gesap-form-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 2px;
}

.gesap-contact .gesap-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 25px;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(135deg, #064b91 0%, #008fe8 100%);
    color: #ffffff;
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(6, 75, 145, 0.16);
}

.gesap-contact .gesap-form-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 11px 24px rgba(6, 75, 145, 0.22);
}

.gesap-contact .gesap-form-submit:focus-visible {
    outline: 3px solid rgba(0, 143, 232, 0.25);
    outline-offset: 3px;
}

.gesap-contact .gesap-form-submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}


/* RESPONSIVE */

@media (max-width: 767.98px) {

    .gesap-contact .gesap-form-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .gesap-contact .gesap-form-full {
        grid-column: auto;
    }

    .gesap-contact .gesap-form-group input[type="text"],
    .gesap-contact .gesap-form-group input[type="email"],
    .gesap-contact .gesap-form-group input[type="tel"],
    .gesap-contact .gesap-form-group select {
        min-height: 50px;
        font-size: 16px;
    }

    .gesap-contact .gesap-form-group textarea {
        font-size: 16px;
    }

    .gesap-contact .gesap-form-consent {
        padding: 16px;
    }

    .gesap-contact .gesap-form-actions {
        display: block;
    }

    .gesap-contact .gesap-form-submit {
        width: 100%;
        min-height: 51px;
    }
}
/* =========================================================
   GESAP - LANDING INVESTIGACIÓN
   ========================================================= */

.gesap-research-landing {
    width: 100%;
}

.gesap-research-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, 0.14);
    color: #fff;
}

.gesap-research-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-research-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-research-purpose-label,
.gesap-research-section-heading > span,
.gesap-research-collaboration-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-research-purpose-label {
    color: #7fdcff;
}

.gesap-research-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-research-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    font-size: 1rem;
    line-height: 1.75;
}

.gesap-research-section {
    margin: 0 0 55px;
}

.gesap-research-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-research-section-heading > span {
    color: #0787d1;
}

.gesap-research-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-research-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-research-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-research-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-research-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-research-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.45rem;
    font-weight: 700;
}

.gesap-research-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-research-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-research-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-research-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-research-areas {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-research-area-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-research-area {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
    line-height: 1.5;
}

.gesap-research-area-action {
    margin-top: 25px;
}

.gesap-research-primary-button,
.gesap-research-collaboration-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 9px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, opacity .2s ease;
}

.gesap-research-primary-button {
    background: #076fb8;
    color: #fff;
}

.gesap-research-primary-button:hover {
    color: #fff;
    opacity: .92;
    text-decoration: none;
}

.gesap-research-collaboration {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-research-collaboration > div {
    max-width: 760px;
}

.gesap-research-collaboration-label {
    color: #7fdcff;
}

.gesap-research-collaboration h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-research-collaboration p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-research-collaboration-button {
    flex: 0 0 auto;
    background: #fff;
    color: #075a9c;
    white-space: nowrap;
}

.gesap-research-collaboration-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-research-purpose {
        padding: 30px 25px;
    }

    .gesap-research-grid,
    .gesap-research-area-grid {
        grid-template-columns: 1fr;
    }

    .gesap-research-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-research-areas {
        padding: 28px 22px;
    }

    .gesap-research-collaboration {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-research-collaboration-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - LANDING FORMACIÓN
   ========================================================= */

.gesap-training-landing {
    width: 100%;
}

.gesap-training-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-training-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-training-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-training-purpose-label,
.gesap-training-section-heading > span,
.gesap-training-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-training-purpose-label {
    color: #7fdcff;
}

.gesap-training-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-training-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    font-size: 1rem;
    line-height: 1.75;
}

.gesap-training-section {
    margin: 0 0 55px;
}

.gesap-training-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-training-section-heading > span {
    color: #0787d1;
}

.gesap-training-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-training-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-training-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-training-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-training-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-training-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-training-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-training-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-training-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-training-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-training-featured {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-training-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.gesap-training-featured-item {
    padding: 22px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
}

.gesap-training-featured-item span {
    display: block;
    margin-bottom: 7px;
    color: #0787d1;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.gesap-training-featured-item strong {
    color: #16466f;
    line-height: 1.5;
}

.gesap-training-featured-action {
    margin-top: 25px;
}

.gesap-training-primary-button,
.gesap-training-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 9px;
    font-weight: 700;
    text-decoration: none;
}

.gesap-training-primary-button {
    background: #076fb8;
    color: #fff;
}

.gesap-training-primary-button:hover {
    color: #fff;
    opacity: .92;
    text-decoration: none;
}

.gesap-training-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-training-cta > div {
    max-width: 760px;
}

.gesap-training-cta-label {
    color: #7fdcff;
}

.gesap-training-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-training-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-training-cta-button {
    flex: 0 0 auto;
    background: #fff;
    color: #075a9c;
    white-space: nowrap;
}

.gesap-training-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-training-purpose {
        padding: 30px 25px;
    }

    .gesap-training-grid,
    .gesap-training-featured-grid {
        grid-template-columns: 1fr;
    }

    .gesap-training-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-training-featured {
        padding: 28px 22px;
    }

    .gesap-training-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-training-cta-button {
        width: 100%;
    }
}

/* =========================================================
   GESAP - LANDING LABORATORIOS
   ========================================================= */

.gesap-labs-landing {
    width: 100%;
}

.gesap-labs-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-labs-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-labs-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-labs-purpose-label,
.gesap-labs-section-heading > span,
.gesap-labs-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-labs-purpose-label,
.gesap-labs-cta-label {
    color: #7fdcff;
}

.gesap-labs-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-labs-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-labs-section {
    margin: 0 0 55px;
}

.gesap-labs-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-labs-section-heading > span {
    color: #0787d1;
}

.gesap-labs-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-labs-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-labs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-labs-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-labs-card-wide {
    grid-column: 1 / -1;
}

.gesap-labs-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-labs-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-labs-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-labs-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-labs-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-labs-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-labs-areas {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-labs-area-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-labs-area {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
}

.gesap-labs-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-labs-cta > div {
    max-width: 760px;
}

.gesap-labs-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-labs-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-labs-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 13px 22px;
    border-radius: 9px;
    background: #fff;
    color: #075a9c;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gesap-labs-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-labs-purpose {
        padding: 30px 25px;
    }

    .gesap-labs-grid,
    .gesap-labs-area-grid {
        grid-template-columns: 1fr;
    }

    .gesap-labs-card-wide {
        grid-column: auto;
    }

    .gesap-labs-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-labs-areas {
        padding: 28px 22px;
    }

    .gesap-labs-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-labs-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - LANDING PUBLICACIONES
   ========================================================= */

.gesap-pubs-landing {
    width: 100%;
}

.gesap-pubs-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-pubs-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-pubs-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-pubs-purpose-label,
.gesap-pubs-section-heading > span,
.gesap-pubs-journal-label,
.gesap-pubs-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-pubs-purpose-label,
.gesap-pubs-cta-label {
    color: #7fdcff;
}

.gesap-pubs-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-pubs-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-pubs-section {
    margin: 0 0 55px;
}

.gesap-pubs-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-pubs-section-heading > span,
.gesap-pubs-journal-label {
    color: #0787d1;
}

.gesap-pubs-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-pubs-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-pubs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-pubs-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-pubs-card-wide {
    grid-column: 1 / -1;
}

.gesap-pubs-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-pubs-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-pubs-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-pubs-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-pubs-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-pubs-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-pubs-journal {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-pubs-journal-content {
    max-width: 850px;
}

.gesap-pubs-journal h2 {
    margin: 0 0 12px;
    color: #082e60;
    font-size: clamp(1.45rem, 3vw, 1.9rem);
}

.gesap-pubs-journal p {
    margin: 0 0 24px;
    color: #596b80;
    line-height: 1.75;
}

.gesap-pubs-primary-button,
.gesap-pubs-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 9px;
    font-weight: 700;
    text-decoration: none;
}

.gesap-pubs-primary-button {
    background: #076fb8;
    color: #fff;
}

.gesap-pubs-primary-button:hover {
    color: #fff;
    opacity: .92;
    text-decoration: none;
}

.gesap-pubs-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-pubs-cta > div {
    max-width: 760px;
}

.gesap-pubs-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-pubs-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-pubs-cta-button {
    flex: 0 0 auto;
    background: #fff;
    color: #075a9c;
    white-space: nowrap;
}

.gesap-pubs-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-pubs-purpose {
        padding: 30px 25px;
    }

    .gesap-pubs-grid {
        grid-template-columns: 1fr;
    }

    .gesap-pubs-card-wide {
        grid-column: auto;
    }

    .gesap-pubs-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-pubs-journal {
        padding: 28px 22px;
    }

    .gesap-pubs-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-pubs-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - LANDING PROYECTOS
   ========================================================= */

.gesap-projects-landing {
    width: 100%;
}

.gesap-projects-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-projects-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-projects-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-projects-purpose-label,
.gesap-projects-section-heading > span,
.gesap-projects-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-projects-purpose-label,
.gesap-projects-cta-label {
    color: #7fdcff;
}

.gesap-projects-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-projects-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-projects-section {
    margin: 0 0 55px;
}

.gesap-projects-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-projects-section-heading > span {
    color: #0787d1;
}

.gesap-projects-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-projects-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-projects-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-projects-card {
    display: flex;
    flex-direction: column;
    min-height: 260px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-projects-card-wide {
    grid-column: 1 / -1;
}

.gesap-projects-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-projects-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-projects-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-projects-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-projects-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-projects-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-projects-collaboration {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-projects-collaboration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-projects-collaboration-item {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
}

.gesap-projects-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-projects-cta > div {
    max-width: 760px;
}

.gesap-projects-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-projects-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-projects-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 13px 22px;
    border-radius: 9px;
    background: #fff;
    color: #075a9c;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gesap-projects-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-projects-purpose {
        padding: 30px 25px;
    }

    .gesap-projects-grid,
    .gesap-projects-collaboration-grid {
        grid-template-columns: 1fr;
    }

    .gesap-projects-card-wide {
        grid-column: auto;
    }

    .gesap-projects-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-projects-collaboration {
        padding: 28px 22px;
    }

    .gesap-projects-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-projects-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - LANDING EVENTOS
   ========================================================= */

.gesap-events-landing {
    width: 100%;
}

.gesap-events-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-events-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-events-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-events-purpose-label,
.gesap-events-section-heading > span,
.gesap-events-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-events-purpose-label,
.gesap-events-cta-label {
    color: #7fdcff;
}

.gesap-events-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-events-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-events-section {
    margin: 0 0 55px;
}

.gesap-events-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-events-section-heading > span {
    color: #0787d1;
}

.gesap-events-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-events-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-events-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-events-card {
    display: flex;
    flex-direction: column;
    min-height: 270px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-events-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-events-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-events-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-events-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-events-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-events-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-events-info {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-events-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-events-info-item {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
}

.gesap-events-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-events-cta > div {
    max-width: 760px;
}

.gesap-events-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-events-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-events-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 13px 22px;
    border-radius: 9px;
    background: #fff;
    color: #075a9c;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gesap-events-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-events-purpose {
        padding: 30px 25px;
    }

    .gesap-events-grid,
    .gesap-events-info-grid {
        grid-template-columns: 1fr;
    }

    .gesap-events-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-events-info {
        padding: 28px 22px;
    }

    .gesap-events-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-events-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - LANDING SERVICIOS
   ========================================================= */

.gesap-services-landing {
    width: 100%;
}

.gesap-services-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-services-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-services-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-services-purpose-label,
.gesap-services-section-heading > span,
.gesap-services-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-services-purpose-label,
.gesap-services-cta-label {
    color: #7fdcff;
}

.gesap-services-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-services-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-services-section {
    margin: 0 0 55px;
}

.gesap-services-section-heading {
    max-width: 780px;
    margin-bottom: 28px;
}

.gesap-services-section-heading > span {
    color: #0787d1;
}

.gesap-services-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-services-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.gesap-services-card {
    display: flex;
    flex-direction: column;
    min-height: 270px;
    padding: 28px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-services-card-wide {
    grid-column: 1 / -1;
}

.gesap-services-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-services-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-services-card h3 {
    margin: 0 0 11px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-services-card p {
    flex: 1;
    margin: 0 0 20px;
    color: #596b80;
    line-height: 1.7;
}

.gesap-services-link {
    align-self: flex-start;
    color: #066fba;
    font-weight: 700;
    text-decoration: none;
}

.gesap-services-link:hover {
    color: #034d88;
    text-decoration: none;
}

.gesap-services-process {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-services-process-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-services-process-item {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
}

.gesap-services-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-services-cta > div {
    max-width: 760px;
}

.gesap-services-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-services-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-services-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 13px 22px;
    border-radius: 9px;
    background: #fff;
    color: #075a9c;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gesap-services-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-services-purpose {
        padding: 30px 25px;
    }

    .gesap-services-grid,
    .gesap-services-process-grid {
        grid-template-columns: 1fr;
    }

    .gesap-services-card-wide {
        grid-column: auto;
    }

    .gesap-services-card {
        min-height: auto;
        padding: 24px;
    }

    .gesap-services-process {
        padding: 28px 22px;
    }

    .gesap-services-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-services-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - INVESTIGADORES
   ========================================================= */

.gesap-researchers-page {
    width: 100%;
}

.gesap-researchers-purpose {
    position: relative;
    overflow: hidden;
    margin: 10px 0 50px;
    padding: 42px 48px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #064b91 58%, #008fe8 100%);
    box-shadow: 0 14px 35px rgba(5, 43, 92, .14);
    color: #fff;
}

.gesap-researchers-purpose::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -80px;
    top: -100px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.gesap-researchers-purpose-content {
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.gesap-researchers-purpose-label,
.gesap-researchers-section-heading > span,
.gesap-researchers-cta-label {
    display: block;
    margin-bottom: 8px;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
}

.gesap-researchers-purpose-label,
.gesap-researchers-cta-label {
    color: #7fdcff;
}

.gesap-researchers-purpose h2 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.55rem, 3vw, 2.15rem);
    line-height: 1.2;
}

.gesap-researchers-purpose p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.9);
    line-height: 1.75;
}

.gesap-researchers-section {
    margin: 0 0 55px;
}

.gesap-researchers-section-heading {
    max-width: 800px;
    margin-bottom: 28px;
}

.gesap-researchers-section-heading > span {
    color: #0787d1;
}

.gesap-researchers-section-heading h2 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: clamp(1.55rem, 3vw, 2rem);
}

.gesap-researchers-section-heading p {
    margin: 0;
    color: #5b6d82;
    line-height: 1.7;
}

.gesap-researchers-profile-placeholder {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 30px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
}

.gesap-researchers-profile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.5rem;
    font-weight: 700;
}

.gesap-researchers-profile-content h3 {
    margin: 0 0 9px;
    color: #082e60;
    font-size: 1.2rem;
}

.gesap-researchers-profile-content p {
    margin: 0;
    color: #596b80;
    line-height: 1.7;
}

.gesap-researchers-areas {
    margin: 0 0 55px;
    padding: 38px;
    border: 1px solid #deebf5;
    border-radius: 18px;
    background: #f7fbff;
}

.gesap-researchers-areas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.gesap-researchers-area {
    padding: 18px 20px;
    border: 1px solid #d5e6f4;
    border-radius: 12px;
    background: #fff;
    color: #16466f;
}

.gesap-researchers-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
    padding: 38px 42px;
    border-radius: 18px;
    background: linear-gradient(135deg, #052b5c 0%, #075a9c 100%);
    color: #fff;
}

.gesap-researchers-cta > div {
    max-width: 760px;
}

.gesap-researchers-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
}

.gesap-researchers-cta p {
    margin: 0;
    color: rgba(255,255,255,.88);
    line-height: 1.7;
}

.gesap-researchers-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 13px 22px;
    border-radius: 9px;
    background: #fff;
    color: #075a9c;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.gesap-researchers-cta-button:hover {
    color: #052b5c;
    transform: translateY(-1px);
    text-decoration: none;
}

@media (max-width: 767.98px) {

    .gesap-researchers-purpose {
        padding: 30px 25px;
    }

    .gesap-researchers-profile-placeholder {
        flex-direction: column;
        padding: 24px;
    }

    .gesap-researchers-areas {
        padding: 28px 22px;
    }

    .gesap-researchers-areas-grid {
        grid-template-columns: 1fr;
    }

    .gesap-researchers-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 30px 25px;
    }

    .gesap-researchers-cta-button {
        width: 100%;
    }
}
/* =========================================================
   GESAP - INVESTIGADORES / TARJETAS COMUNIDAD
   ========================================================= */

.gesap-researchers-community-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.gesap-researchers-community-card {
    padding: 26px;
    border: 1px solid #dce8f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(8, 46, 96, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.gesap-researchers-community-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 13px 30px rgba(8, 46, 96, .11);
}

.gesap-researchers-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #edf7ff;
    color: #087dcc;
    font-size: 1.4rem;
    font-weight: 700;
}

.gesap-researchers-community-card h3 {
    margin: 0 0 10px;
    color: #082e60;
    font-size: 1.15rem;
}

.gesap-researchers-community-card p {
    margin: 0;
    color: #596b80;
    line-height: 1.7;
}

@media (max-width: 767.98px) {

    .gesap-researchers-community-grid {
        grid-template-columns: 1fr;
    }

}
/* =========================================================
   GESAP - INVESTIGADORES / ANCHO DE ENCABEZADOS
   ========================================================= */

.gesap-researchers-section-heading {
    width: 100%;
    max-width: none;
}

.gesap-researchers-section-heading p {
    width: 100%;
    max-width: none;
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}

@media (max-width: 767.98px) {
    .gesap-researchers-section-heading p {
        text-align: left;
    }
}

/* =========================================================
   FORMACIÓN PARA INVESTIGADORES - DATOS DEL CURSO
   ========================================================= */

.gesap-training-course-info {
    margin: 16px 0 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(12, 89, 166, 0.12);
    color: #536981;
    font-size: 0.94rem;
    line-height: 1.5;
}

.gesap-training-course-info strong {
    color: #073d78;
    font-weight: 700;
}

/* =========================================================
   FOOTER - CENTRADO REAL DE LAS 4 COLUMNAS
   ========================================================= */

.gesap-footer-main {
    width: 100% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;

    column-gap: 80px !important;

    padding-left: 60px !important;
    padding-right: 60px !important;

    box-sizing: border-box !important;
}

/* =========================================================
   GESAP - WHATSAPP CHAT
   ========================================================= */

.gesap-wa-widget {
    position: fixed !important;
    right: 275px !important;
    bottom: 24px !important;
    z-index: 99990 !important;

    font-family: inherit !important;
}


/* =========================================================
   BOTÓN INFERIOR
   ========================================================= */

.gesap-wa-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 9px !important;

    min-width: 155px !important;
    height: 54px !important;

    padding: 0 20px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #25D366 !important;
    color: #ffffff !important;

    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;

    cursor: pointer !important;

    box-shadow: 0 7px 22px rgba(0, 0, 0, .18) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background-color .2s ease !important;
}

.gesap-wa-toggle:hover {
    background: #20c45a !important;
    transform: translateY(-2px);
    box-shadow: 0 9px 26px rgba(0, 0, 0, .23) !important;
}

.gesap-wa-toggle-icon {
    width: 25px !important;
    height: 25px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.gesap-wa-toggle-icon svg {
    width: 25px !important;
    height: 25px !important;
}


/* =========================================================
   VENTANA
   ========================================================= */

.gesap-wa-panel {
    position: absolute !important;

    right: 0 !important;
    bottom: 68px !important;

    width: 340px !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid #d9e3ee !important;
    border-radius: 16px !important;

    box-shadow:
        0 14px 45px rgba(0, 0, 0, .22) !important;

    opacity: 0;
    visibility: hidden;

    transform: translateY(12px) scale(.98);

    transform-origin: bottom right;

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s ease !important;
}

.gesap-wa-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;

    transform: translateY(0) scale(1) !important;
}


/* =========================================================
   CABECERA
   ========================================================= */

.gesap-wa-header {
    min-height: 78px !important;

    padding: 16px 18px !important;

    display: flex !important;
    align-items: center !important;

    background: #128C7E !important;
    color: #ffffff !important;
}

.gesap-wa-header-icon {
    width: 43px !important;
    height: 43px !important;

    flex: 0 0 43px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin-right: 12px !important;

    background: #ffffff !important;
    color: #25D366 !important;

    border-radius: 50% !important;
}

.gesap-wa-header-icon svg {
    width: 27px !important;
    height: 27px !important;
}

.gesap-wa-header-info {
    display: flex !important;
    flex-direction: column !important;

    line-height: 1.25 !important;
}

.gesap-wa-header-info strong {
    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 700 !important;
}

.gesap-wa-header-info span {
    margin-top: 4px !important;

    color: rgba(255,255,255,.9) !important;

    font-size: 13px !important;
    font-weight: 400 !important;
}

.gesap-wa-header-info i {
    display: inline-block !important;

    width: 7px !important;
    height: 7px !important;

    margin-right: 4px !important;

    background: #72f39a !important;

    border-radius: 50% !important;
}

.gesap-wa-close {
    margin-left: auto !important;

    width: 34px !important;
    height: 34px !important;

    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    color: #ffffff !important;

    font-size: 28px !important;
    font-weight: 300 !important;
    line-height: 34px !important;

    cursor: pointer !important;

    opacity: .9;
}

.gesap-wa-close:hover {
    opacity: 1;
}


/* =========================================================
   CUERPO
   ========================================================= */

.gesap-wa-body {
    min-height: 180px !important;

    padding: 24px 18px !important;

    background:
        linear-gradient(
            rgba(239, 234, 226, .94),
            rgba(239, 234, 226, .94)
        ) !important;
}

.gesap-wa-message {
    position: relative !important;

    max-width: 255px !important;

    padding: 13px 15px 24px !important;

    background: #ffffff !important;

    border-radius: 4px 12px 12px 12px !important;

    box-shadow: 0 1px 2px rgba(0,0,0,.08) !important;
}

.gesap-wa-brand {
    margin-bottom: 5px !important;

    color: #128C7E !important;

    font-size: 13px !important;
    font-weight: 700 !important;
}

.gesap-wa-text {
    color: #26384a !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.gesap-wa-time {
    position: absolute !important;

    right: 10px !important;
    bottom: 6px !important;

    color: #8b969e !important;

    font-size: 10px !important;
}


/* =========================================================
   PIE DEL CHAT
   ========================================================= */

.gesap-wa-footer {
    padding: 14px !important;

    background: #ffffff !important;
}

.gesap-wa-send {
    min-height: 48px !important;

    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    background: #25D366 !important;
    color: #ffffff !important;

    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}

.gesap-wa-send:hover {
    background: #20c45a !important;
    color: #ffffff !important;

    text-decoration: none !important;
}

.gesap-wa-send svg {
    width: 20px !important;
    height: 20px !important;

    margin-left: 10px !important;
}

.gesap-wa-powered {
    margin-top: 8px !important;

    text-align: center !important;

    color: #8996a3 !important;

    font-size: 11px !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .gesap-wa-widget {
        right: 18px !important;
        bottom: 88px !important;
    }

    .gesap-wa-toggle {
        width: 56px !important;
        min-width: 56px !important;
        height: 56px !important;

        padding: 0 !important;

        border-radius: 50% !important;
    }

    .gesap-wa-toggle-text {
        display: none !important;
    }

    .gesap-wa-toggle-icon {
        width: 28px !important;
        height: 28px !important;
    }

    .gesap-wa-toggle-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    .gesap-wa-panel {
        position: fixed !important;

        left: 14px !important;
        right: 14px !important;
        bottom: 155px !important;

        width: auto !important;

        max-width: none !important;
    }
}


/* =========================================================
   GESAP - CORRECCIÓN RESPONSIVE FINAL
   FOOTER + DESBORDAMIENTO HORIZONTAL
   ========================================================= */

/* Seguridad general de dimensionamiento */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 991.98px) {

    .gesap-footer-main {
        width: 100% !important;
        max-width: 100% !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        column-gap: 40px !important;
        row-gap: 40px !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gesap-footer-column,
    .gesap-footer-brand,
    .gesap-footer-contact {
        min-width: 0 !important;
    }
}


/* ---------------------------------------------------------
   MÓVIL / IPHONE
   --------------------------------------------------------- */

@media (max-width: 640px) {

    .gesap-footer {
        width: 100% !important;
        max-width: 100% !important;

        padding:
            42px
            24px
            110px !important;

        margin: 0 !important;
    }

    .gesap-footer-main {
        display: grid !important;

        width: 100% !important;
        max-width: 100% !important;

        grid-template-columns:
            minmax(0, 1fr) !important;

        column-gap: 0 !important;
        row-gap: 34px !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        margin: 0 !important;
    }

    .gesap-footer-brand,
    .gesap-footer-column,
    .gesap-footer-contact {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .gesap-footer-bottom {
        width: 100% !important;
        max-width: 100% !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 18px !important;

        margin:
            38px
            0
            0 !important;

        padding-top: 22px !important;
    }

    .gesap-footer-legal {
        width: 100% !important;

        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 10px !important;
    }

    /* Evita que textos largos ensanchen la página */
    .gesap-footer a,
    .gesap-footer p {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}


/* ---------------------------------------------------------
   IPHONE PEQUEÑO
   --------------------------------------------------------- */

@media (max-width: 430px) {

    .gesap-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .gesap-footer-brand-name {
        font-size: 1.75rem;
    }

    .gesap-footer-brand p {
        max-width: 100% !important;
    }
}

/* =========================================================
   GESAP - PÁGINAS LEGALES
   Política de privacidad / Términos y condiciones
   ========================================================= */

/* ---------------------------------------------------------
   CONTENEDOR GENERAL
   --------------------------------------------------------- */

.gesap-legal-page {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
    padding: 46px 24px 70px;

    color: #17395f;
}


/* ---------------------------------------------------------
   CABECERA
   --------------------------------------------------------- */

.gesap-legal-header {
    position: relative;
    overflow: hidden;

    margin-bottom: 32px;
    padding: 48px 52px;

    background:
        radial-gradient(
            circle at 90% 20%,
            rgba(34, 174, 255, 0.24) 0,
            rgba(34, 174, 255, 0) 35%
        ),
        linear-gradient(
            135deg,
            #052f67 0%,
            #064b91 52%,
            #0787e8 100%
        );

    border-radius: 24px;

    box-shadow:
        0 18px 45px rgba(4, 49, 101, 0.14);
}


/* Elemento decorativo */

.gesap-legal-header::after {
    content: "";

    position: absolute;
    width: 260px;
    height: 260px;

    right: -70px;
    top: -100px;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;

    box-shadow:
        0 0 0 55px rgba(255, 255, 255, 0.035),
        0 0 0 110px rgba(255, 255, 255, 0.025);

    pointer-events: none;
}


/* ---------------------------------------------------------
   ETIQUETA SUPERIOR
   --------------------------------------------------------- */

.gesap-legal-eyebrow {
    position: relative;
    z-index: 1;

    display: inline-flex;
    align-items: center;

    margin-bottom: 15px;
    padding: 7px 13px;

    color: #83dcff;

    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;

    letter-spacing: 0.15em;
    text-transform: uppercase;

    border: 1px solid rgba(131, 220, 255, 0.38);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.05);
}


/* ---------------------------------------------------------
   TÍTULO
   --------------------------------------------------------- */

.gesap-legal-header h1 {
    position: relative;
    z-index: 1;

    margin: 0 0 16px;

    max-width: 760px;

    color: #ffffff;

    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 800;
    line-height: 1.06;

    letter-spacing: -0.035em;
}


/* ---------------------------------------------------------
   INTRODUCCIÓN
   --------------------------------------------------------- */

.gesap-legal-header > p {
    position: relative;
    z-index: 1;

    max-width: 780px;

    margin: 0;

    color: rgba(255, 255, 255, 0.86);

    font-size: 1.05rem;
    line-height: 1.75;
}


/* =========================================================
   CUERPO LEGAL
   ========================================================= */

.gesap-legal-content {
    width: 100%;
}


/* ---------------------------------------------------------
   CADA SECCIÓN
   --------------------------------------------------------- */

.gesap-legal-content > section {
    position: relative;

    margin-bottom: 18px;
    padding: 30px 34px;

    background: #ffffff;

    border: 1px solid #dce9f4;
    border-radius: 18px;

    box-shadow:
        0 7px 24px rgba(5, 47, 103, 0.045);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


/* Efecto muy sutil en escritorio */

@media (hover: hover) {

    .gesap-legal-content > section:hover {
        border-color: #bed9ee;

        box-shadow:
            0 12px 30px rgba(5, 47, 103, 0.075);

        transform: translateY(-1px);
    }

}


/* ---------------------------------------------------------
   TÍTULOS DE SECCIÓN
   --------------------------------------------------------- */

.gesap-legal-content h2 {
    position: relative;

    margin: 0 0 18px;
    padding-left: 17px;

    color: #063a73;

    font-size: 1.32rem;
    font-weight: 800;
    line-height: 1.3;
}


/* Barra azul al lado de cada título */

.gesap-legal-content h2::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0.12em;

    width: 5px;
    height: 1.05em;

    background: linear-gradient(
        180deg,
        #0a92ed,
        #0756a8
    );

    border-radius: 999px;
}


/* ---------------------------------------------------------
   PÁRRAFOS
   --------------------------------------------------------- */

.gesap-legal-content p {
    margin: 0 0 15px;

    color: #526b85;

    font-size: 1rem;
    line-height: 1.75;
}

.gesap-legal-content p:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   LISTAS
   --------------------------------------------------------- */

.gesap-legal-content ul {
    margin: 17px 0 6px;
    padding: 0;

    list-style: none;
}

.gesap-legal-content li {
    position: relative;

    margin-bottom: 11px;
    padding-left: 25px;

    color: #526b85;

    font-size: 1rem;
    line-height: 1.65;
}


/* Viñeta personalizada */

.gesap-legal-content li::before {
    content: "";

    position: absolute;

    left: 3px;
    top: 0.68em;

    width: 7px;
    height: 7px;

    background: #0787e8;

    border-radius: 50%;

    box-shadow:
        0 0 0 4px rgba(7, 135, 232, 0.10);
}


/* ---------------------------------------------------------
   ENLACES
   --------------------------------------------------------- */

.gesap-legal-content a {
    color: #0674ce;

    font-weight: 700;
    text-decoration: none;

    transition: color 0.2s ease;
}

.gesap-legal-content a:hover {
    color: #034d91;
    text-decoration: underline;
}


/* =========================================================
   BLOQUE DE CONTACTO
   ========================================================= */

.gesap-legal-contact {
    margin: 20px 0;
    padding: 22px 25px;

    color: #365674;

    font-size: 1rem;
    line-height: 1.75;

    background:
        linear-gradient(
            135deg,
            #f4f9fd 0%,
            #edf7ff 100%
        );

    border: 1px solid #d5e8f6;
    border-left: 4px solid #0787e8;
    border-radius: 13px;
}

.gesap-legal-contact strong {
    color: #063a73;
}


/* =========================================================
   FECHA DE ACTUALIZACIÓN
   ========================================================= */

.gesap-legal-update {
    display: flex;
    align-items: center;

    margin-top: 28px;
    padding: 18px 23px;

    color: #5a7188;

    font-size: 0.92rem;

    background: #f4f8fc;

    border: 1px solid #dce9f4;
    border-radius: 12px;
}

.gesap-legal-update strong {
    margin-right: 5px;

    color: #173f68;
}


/* =========================================================
   EVITAR QUE EL ARTÍCULO JOOMLA DUPLIQUE EL TÍTULO
   ========================================================= */

/*
   El propio HTML ya contiene el H1 "Política de Privacidad".
   Si Joomla muestra además el título del artículo encima,
   esta regla evita la duplicación SOLO en estas páginas.
*/

.item-page:has(.gesap-legal-page) > .page-header,
.com-content-article:has(.gesap-legal-page) > .page-header {
    display: none;
}


/* =========================================================
   METADATOS DEL ARTÍCULO
   ========================================================= */

/*
   Oculta "Detalles", autor, categoría, publicado, visitas,
   etc. únicamente en las páginas legales.
*/

.item-page:has(.gesap-legal-page) .article-info,
.com-content-article:has(.gesap-legal-page) .article-info {
    display: none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {

    .gesap-legal-page {
        padding:
            36px
            22px
            60px;
    }

    .gesap-legal-header {
        padding:
            42px
            38px;

        border-radius: 20px;
    }

    .gesap-legal-content > section {
        padding:
            27px
            29px;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

    .gesap-legal-page {
        width: 100%;
        max-width: 100%;

        padding:
            22px
            16px
            50px;
    }


    /* CABECERA */

    .gesap-legal-header {
        margin-bottom: 20px;

        padding:
            32px
            23px;

        border-radius: 18px;
    }

    .gesap-legal-eyebrow {
        margin-bottom: 13px;

        font-size: 0.68rem;

        letter-spacing: 0.12em;
    }

    .gesap-legal-header h1 {
        margin-bottom: 14px;

        font-size: 2rem;
        line-height: 1.08;
    }

    .gesap-legal-header > p {
        font-size: 0.96rem;
        line-height: 1.65;
    }


    /* TARJETAS */

    .gesap-legal-content > section {
        margin-bottom: 14px;

        padding:
            23px
            20px;

        border-radius: 15px;
    }


    /* TÍTULOS */

    .gesap-legal-content h2 {
        margin-bottom: 15px;

        padding-left: 14px;

        font-size: 1.15rem;
    }

    .gesap-legal-content h2::before {
        width: 4px;
    }


    /* TEXTO */

    .gesap-legal-content p,
    .gesap-legal-content li {
        font-size: 0.95rem;
    }

    .gesap-legal-content p {
        line-height: 1.7;
    }


    /* CONTACTO */

    .gesap-legal-contact {
        margin: 17px 0;

        padding:
            18px
            18px;

        font-size: 0.94rem;

        overflow-wrap: anywhere;
    }


    /* FECHA */

    .gesap-legal-update {
        display: block;

        margin-top: 20px;

        padding:
            16px
            18px;

        line-height: 1.55;
    }

}


/* =========================================================
   IPHONE PEQUEÑO
   ========================================================= */

@media (max-width: 430px) {

    .gesap-legal-page {
        padding-left: 14px;
        padding-right: 14px;
    }

    .gesap-legal-header {
        padding:
            29px
            20px;
    }

    .gesap-legal-header h1 {
        font-size: 1.82rem;
    }

    .gesap-legal-content > section {
        padding:
            21px
            18px;
    }

}