/* ============================================================
   HERO - NIVELES EDUCATIVOS
============================================================ */

.niveles-hero{

    position:relative;

    min-height:720px;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:
        url("../../assets/img/niveles/hero.png")
        center center/cover no-repeat;

}

/* Overlay institucional */

.page-hero-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,77,37,.95) 0%,
            rgba(0,77,37,.82) 40%,
            rgba(0,77,37,.55) 70%,
            rgba(0,77,37,.20) 100%
        );

}

/* Figuras decorativas */

.hero-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(3px);

}

.hero-shape-1{

    width:260px;
    height:260px;

    top:-90px;
    right:-60px;

    border:40px solid rgba(244,196,0,.12);

}

.hero-shape-2{

    width:180px;
    height:180px;

    bottom:60px;
    right:120px;

    background:rgba(244,196,0,.08);

}

/* Contenido */

.page-hero-content{

    position:relative;

    z-index:2;

    max-width:640px;

}

.page-label{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-bottom:20px;

    padding:10px 18px;

    border-radius:50px;

    background:rgba(244,196,0,.15);

    border:1px solid rgba(244,196,0,.35);

    color:var(--sp-amarillo);

    font-size:.75rem;

    font-weight:800;

    letter-spacing:1px;

}

.page-label i{

    font-size:.85rem;

}

/* Título */

.page-hero-content h1{

    margin-bottom:25px;

    font-size:clamp(3rem,5vw,5rem);

    line-height:1.05;

    font-weight:900;

    color:var(--sp-white);

}

.page-hero-content h1 span{

    display:block;

    color:var(--sp-amarillo);

}

/* Texto */

.page-hero-content p{

    margin-bottom:35px;

    color:rgba(255,255,255,.82);

    font-size:1rem;

    line-height:1.8;

}

/* Botones */

.hero-buttons{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

}

/* Botón secundario */

.btn-outline-sp{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 28px;

    border-radius:50px;

    border:2px solid rgba(255,255,255,.45);

    color:var(--sp-white);

    font-weight:700;

    text-decoration:none;

    transition:all .35s ease;

}

.btn-outline-sp:hover{

    background:rgba(255,255,255,.10);

    border-color:var(--sp-amarillo);

    color:var(--sp-amarillo);

}

/* Tarjeta flotante */

.hero-card{

    position:relative;

    z-index:2;

    padding:28px;

    border-radius:28px;

    backdrop-filter:blur(18px);

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.15);

    box-shadow:0 15px 40px rgba(0,0,0,.18);

}

.hero-card-header{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:25px;

    color:var(--sp-amarillo);

    font-weight:800;

}

.hero-card-header i{

    font-size:1.3rem;

}

.hero-item{

    display:flex;

    align-items:center;

    gap:15px;

    padding:12px 0;

    color:white;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.hero-item:last-child{

    border:none;

}

.hero-item i{

    color:var(--sp-amarillo);

    font-size:1.1rem;

}

/* Scroll */

.hero-scroll{

    position:absolute;

    left:50%;

    bottom:28px;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:6px;

    z-index:3;

    color:rgba(255,255,255,.7);

    font-size:.75rem;

    letter-spacing:1px;

}

.hero-scroll i{

    color:var(--sp-amarillo);

    animation:scrollHero 1.6s infinite;

}

@keyframes scrollHero{

    0%,100%{transform:translateY(0);}
    50%{transform:translateY(8px);}

}


/* ============================================================
   PROPUESTA EDUCATIVA
============================================================ */

.propuesta-section{

    padding:110px 0;

    background:var(--sp-white);

}

/* ---------- Imagen ---------- */

.propuesta-image{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    box-shadow:0 20px 45px rgba(0,77,37,.10);

}

.propuesta-image img{

    width:100%;
    height:520px;

    object-fit:cover;

    transition:transform .6s ease;

}

.propuesta-image:hover img{

    transform:scale(1.05);

}

/* Badge */

.propuesta-badge{

    position:absolute;

    left:25px;
    bottom:25px;

    display:flex;

    align-items:center;

    gap:10px;

    padding:14px 22px;

    border-radius:50px;

    background:var(--sp-amarillo);

    color:var(--sp-verde-dark);

    font-weight:800;

    box-shadow:0 10px 25px rgba(0,0,0,.18);

}

.propuesta-badge i{

    font-size:1.1rem;

}

/* ---------- Texto ---------- */

.mini-label{

    display:inline-block;

    margin-bottom:12px;

    color:var(--sp-verde);

    font-size:.75rem;

    font-weight:800;

    letter-spacing:1px;

}

.propuesta-title{

    margin-bottom:20px;

    font-size:2.1rem;

    font-weight:900;

    color:var(--sp-verde-dark);

    line-height:1.2;

}

.propuesta-section p{

    color:#687368;

    line-height:1.9;

    font-size:.95rem;

}

/* ---------- Tarjetas ---------- */

.propuesta-card{

    height:100%;

    padding:30px 25px;

    background:var(--sp-white);

    border:1px solid var(--sp-gray-border);

    border-radius:22px;

    transition:all .35s ease;

    box-shadow:0 10px 25px rgba(0,77,37,.05);

}

.propuesta-card:hover{

    transform:translateY(-8px);

    border-color:rgba(0,107,45,.18);

    box-shadow:0 18px 35px rgba(0,77,37,.12);

}

/* Icono */

.card-icon{

    width:62px;
    height:62px;

    display:flex;

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

    margin-bottom:20px;

    border-radius:18px;

    background:rgba(0,107,45,.08);

    color:var(--sp-verde);

    font-size:1.5rem;

    transition:all .3s ease;

}

.propuesta-card:hover .card-icon{

    background:var(--sp-verde);

    color:white;

}

.propuesta-card h4{

    margin-bottom:12px;

    color:var(--sp-verde-dark);

    font-weight:800;

    font-size:1.05rem;

}

.propuesta-card p{

    margin:0;

    font-size:.86rem;

    line-height:1.7;

}

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

@media(max-width:991px){

    .propuesta-section{

        padding:90px 0;

    }

    .propuesta-image img{

        height:420px;

    }

}

@media(max-width:768px){

    .propuesta-section{

        padding:80px 0;

    }

    .propuesta-image{

        border-radius:22px;

    }

    .propuesta-image img{

        height:320px;

    }

    .propuesta-title{

        font-size:1.8rem;

    }

    .propuesta-card{

        padding:25px 22px;

    }

}


/* ============================================================
   NUESTROS NIVELES
============================================================ */

.niveles-section {

    padding: 110px 0;

    background: var(--sp-gray);

}


/* ============================================================
   BLOQUE DEL NIVEL
============================================================ */

.nivel-item {

    position: relative;

    margin-top: 70px;

    overflow: hidden;

    background: var(--sp-white);

    border-radius: 28px;

    border: 1px solid var(--sp-gray-border);

    box-shadow:
        0 12px 35px rgba(0, 77, 37, .06);

    transition:
        transform .4s ease,
        box-shadow .4s ease;

}


.nivel-item:hover {

    transform: translateY(-5px);

    box-shadow:
        0 20px 45px rgba(0, 77, 37, .11);

}


/* ============================================================
   IMAGEN
============================================================ */

.nivel-image {

    position: relative;

    height: 500px;

    overflow: hidden;

}


.nivel-image::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 65%,
            rgba(0, 77, 37, .25)
        );

    pointer-events: none;

}


.nivel-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;

}


.nivel-item:hover
.nivel-image img {

    transform: scale(1.05);

}


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

.nivel-number {

    position: absolute;

    z-index: 2;

    top: 25px;

    left: 25px;

    width: 58px;

    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    background: var(--sp-amarillo);

    color: var(--sp-verde-dark);

    font-size: 1rem;

    font-weight: 900;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, .15);

}


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

.nivel-content {

    padding: 55px;

}


.nivel-label {

    display: inline-block;

    margin-bottom: 15px;

    color: var(--sp-verde);

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: 1.4px;

}


.nivel-content h3 {

    margin-bottom: 22px;

    color: var(--sp-verde-dark);

    font-size: 2.25rem;

    line-height: 1.15;

    font-weight: 900;

}


.nivel-content h3 span {

    display: block;

    color: var(--sp-verde);

}


.nivel-content > p {

    margin-bottom: 28px;

    color: #687368;

    font-size: .94rem;

    line-height: 1.85;

}


/* ============================================================
   CARACTERÍSTICAS
============================================================ */

.nivel-features {

    display: grid;

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

    gap: 12px;

    margin-bottom: 30px;

}


.nivel-feature {

    display: flex;

    align-items: center;

    gap: 10px;

    min-height: 45px;

    color: #4d584e;

    font-size: .82rem;

    line-height: 1.4;

}


.nivel-feature i {

    flex-shrink: 0;

    width: 34px;

    height: 34px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background:
        rgba(0, 107, 45, .08);

    color: var(--sp-verde);

    font-size: .85rem;

    transition:
        background .3s ease,
        color .3s ease;

}


.nivel-item:hover
.nivel-feature i {

    background: var(--sp-verde);

    color: var(--sp-white);

}


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

.nivel-link {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--sp-verde);

    font-size: .86rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        gap .3s ease,
        color .3s ease;

}


.nivel-link i {

    transition:
        transform .3s ease;

}


.nivel-link:hover {

    color: var(--sp-verde-dark);

    gap: 14px;

}


.nivel-link:hover i {

    transform: translateX(3px);

}


/* ============================================================
   SECUNDARIA — BLOQUE DESTACADO
============================================================ */

.nivel-secundaria {

    background: var(--sp-verde-dark);

    border-color: transparent;

}


.nivel-secundaria .nivel-content h3 {

    color: var(--sp-white);

}


.nivel-secundaria .nivel-content h3 span {

    color: var(--sp-amarillo);

}


.nivel-secundaria .nivel-content > p {

    color: rgba(255,255,255,.75);

}


.nivel-secundaria .nivel-label {

    color: var(--sp-amarillo);

}


.nivel-secundaria .nivel-feature {

    color: rgba(255,255,255,.85);

}


.nivel-secundaria .nivel-feature i {

    background: rgba(244,196,0,.12);

    color: var(--sp-amarillo);

}


.nivel-secundaria .nivel-link {

    color: var(--sp-amarillo);

}


.nivel-secundaria .nivel-link:hover {

    color: var(--sp-amarillo-light);

}

/* ============================================================
   NIVELES — RESPONSIVE
============================================================ */

@media (max-width: 991px) {

    .niveles-section {

        padding: 90px 0;

    }


    .nivel-item {

        margin-top: 50px;

        border-radius: 22px;

    }


    .nivel-image {

        height: 420px;

    }


    .nivel-content {

        padding: 40px;

    }

}


@media (max-width: 767px) {

    .niveles-section {

        padding: 75px 0;

    }


    .nivel-item {

        margin-top: 40px;

        border-radius: 20px;

    }


    .nivel-image {

        height: 300px;

    }


    .nivel-number {

        top: 18px;

        left: 18px;

        width: 50px;

        height: 50px;

        border-radius: 14px;

    }


    .nivel-content {

        padding: 32px 25px;

    }


    .nivel-content h3 {

        font-size: 1.8rem;

    }


    .nivel-features {

        grid-template-columns: 1fr;

        gap: 8px;

    }

}

/* ============================================================
   ENFOQUE EDUCATIVO
============================================================ */

.enfoque-section {

    padding: 110px 0;

    background: var(--sp-white);

}


/* ============================================================
   TIMELINE
============================================================ */

.enfoque-timeline {

    position: relative;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 30px;

    margin-top: 80px;

}


/* Línea horizontal */

.enfoque-line {

    position: absolute;

    top: 32px;

    left: 12%;

    right: 12%;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--sp-amarillo),
            var(--sp-verde),
            var(--sp-amarillo)
        );

    z-index: 0;

}


/* ============================================================
   ITEM
============================================================ */

.enfoque-item {

    position: relative;

    z-index: 1;

    display: flex;

    flex-direction: column;

    align-items: center;

}


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

.enfoque-number {

    width: 65px;

    height: 65px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 30px;

    border-radius: 50%;

    background: var(--sp-white);

    border: 5px solid var(--sp-amarillo);

    color: var(--sp-verde-dark);

    font-size: .9rem;

    font-weight: 900;

    box-shadow:
        0 8px 25px rgba(0,77,37,.12);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;

}


.enfoque-item:hover
.enfoque-number {

    transform: scale(1.12);

    background: var(--sp-amarillo);

    color: var(--sp-verde-dark);

}


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

.enfoque-card {

    position: relative;

    width: 100%;

    min-height: 310px;

    padding: 35px 30px;

    background: var(--sp-gray);

    border: 1px solid var(--sp-gray-border);

    border-radius: 25px;

    text-align: center;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background .35s ease;

}


.enfoque-card:hover {

    transform: translateY(-8px);

    background: var(--sp-white);

    box-shadow:
        0 18px 40px rgba(0,77,37,.10);

}


/* ============================================================
   LABEL
============================================================ */

.enfoque-label {

    display: inline-block;

    margin-bottom: 15px;

    color: var(--sp-verde);

    font-size: .68rem;

    font-weight: 900;

    letter-spacing: 1.2px;

}


/* ============================================================
   TÍTULO
============================================================ */

.enfoque-card h3 {

    margin-bottom: 15px;

    color: var(--sp-verde-dark);

    font-size: 1.8rem;

    font-weight: 900;

}


.enfoque-card p {

    margin: 0;

    color: #687368;

    font-size: .88rem;

    line-height: 1.8;

}


/* ============================================================
   ICONO
============================================================ */

.enfoque-icon {

    position: absolute;

    right: 25px;

    bottom: 22px;

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 14px;

    background:
        rgba(244,196,0,.14);

    color: var(--sp-verde);

    font-size: 1.15rem;

    transition:
        background .3s ease,
        color .3s ease;

}


.enfoque-card:hover
.enfoque-icon {

    background: var(--sp-verde);

    color: var(--sp-amarillo);

}

/* ============================================================
   ENFOQUE — RESPONSIVE
============================================================ */

@media (max-width: 991px) {

    .enfoque-section {

        padding: 90px 0;

    }


    .enfoque-timeline {

        gap: 20px;

    }


    .enfoque-card {

        padding: 30px 22px;

    }


    .enfoque-card h3 {

        font-size: 1.55rem;

    }

}


@media (max-width: 767px) {

    .enfoque-section {

        padding: 75px 0;

    }


    .enfoque-timeline {

        display: flex;

        flex-direction: column;

        gap: 25px;

        margin-top: 55px;

    }


    /* Línea vertical */

    .enfoque-line {

        top: 0;

        bottom: 0;

        left: 32px;

        right: auto;

        width: 2px;

        height: auto;

        background:
            linear-gradient(
                180deg,
                var(--sp-amarillo),
                var(--sp-verde),
                var(--sp-amarillo)
            );

    }


    .enfoque-item {

        display: grid;

        grid-template-columns: 65px 1fr;

        align-items: start;

        gap: 20px;

    }


    .enfoque-number {

        position: relative;

        margin: 0;

        width: 65px;

        height: 65px;

    }


    .enfoque-card {

        min-height: auto;

        padding: 28px 25px;

        text-align: left;

    }


    .enfoque-icon {

        display: none;

    }

}

/* ============================================================
   EXPERIENCIAS EDUCATIVAS
============================================================ */

.experiencias-section {

    padding: 110px 0;

    background: var(--sp-gray);

}


/* ============================================================
   GRID
============================================================ */

.experiencias-grid {

    display: grid;

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

    grid-template-rows:
        280px 220px;

    gap: 18px;

    margin-top: 65px;

}


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

.experiencia {

    position: relative;

    overflow: hidden;

    border-radius: 24px;

    background: var(--sp-verde-dark);

    cursor: pointer;

}


.experiencia img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;

}


.experiencia:hover img {

    transform: scale(1.07);

}


/* ============================================================
   CIENCIA — PRINCIPAL
============================================================ */

.experiencia-main {

    grid-column:
        span 2;

    grid-row:
        span 2;

}


/* ============================================================
   OVERLAY
============================================================ */

.experiencia::after {

    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 30%,
            rgba(0,77,37,.90) 100%
        );

    transition:
        background .4s ease;

}


.experiencia:hover::after {

    background:
        linear-gradient(
            180deg,
            rgba(0,77,37,.10),
            rgba(0,77,37,.94)
        );

}


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

.experiencia-overlay {

    position: absolute;

    z-index: 2;

    left: 25px;

    right: 25px;

    bottom: 25px;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;

    color: var(--sp-white);

}


.experiencia-overlay span {

    display: block;

    margin-bottom: 7px;

    color: var(--sp-amarillo);

    font-size: .65rem;

    font-weight: 900;

    letter-spacing: 1.5px;

}


.experiencia-overlay h3 {

    margin: 0;

    font-size: 1.6rem;

    font-weight: 900;

}


.experiencia-overlay p {

    margin: 7px 0 0;

    color: rgba(255,255,255,.75);

    font-size: .82rem;

}


/* ============================================================
   ICONO
============================================================ */

.experiencia-icon {

    flex-shrink: 0;

    width: 48px;

    height: 48px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 15px;

    background: var(--sp-amarillo);

    color: var(--sp-verde-dark);

    font-size: 1.15rem;

    transition:
        transform .35s ease;

}


.experiencia:hover .experiencia-icon {

    transform:
        rotate(-5deg)
        scale(1.08);

}


/* ============================================================
   DESTACAR CIENCIA
============================================================ */

.experiencia-main .experiencia-overlay h3 {

    font-size: 2.2rem;

}

/* ============================================================
   EXPERIENCIAS — RESPONSIVE
============================================================ */

@media (max-width: 991px) {

    .experiencias-section {

        padding: 90px 0;

    }


    .experiencias-grid {

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

        grid-template-rows:
            300px 220px;

    }


    .experiencia-main {

        grid-column:
            span 2;

        grid-row:
            span 1;

    }

}


@media (max-width: 767px) {

    .experiencias-section {

        padding: 75px 0;

    }


    .experiencias-grid {

        display: grid;

        grid-template-columns:
            1fr;

        grid-template-rows:
            repeat(4, 260px);

        gap: 14px;

        margin-top: 45px;

    }


    .experiencia-main {

        grid-column:
            auto;

        grid-row:
            auto;

    }


    .experiencia-overlay {

        left: 20px;

        right: 20px;

        bottom: 20px;

    }


    .experiencia-overlay h3 {

        font-size: 1.4rem;

    }


    .experiencia-main
    .experiencia-overlay h3 {

        font-size: 1.7rem;

    }

}

/* ============================================================
   FORMACIÓN INTEGRAL
============================================================ */

.integral-section {

    position: relative;

    overflow: hidden;

    padding: 110px 0;

    background: var(--sp-verde-dark);

}


/* ============================================================
   DECORACIONES
============================================================ */

.integral-decoration {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

}


.integral-decoration-1 {

    width: 420px;

    height: 420px;

    top: -220px;

    right: -120px;

    border: 70px solid rgba(244,196,0,.07);

}


.integral-decoration-2 {

    width: 280px;

    height: 280px;

    bottom: -170px;

    left: -100px;

    background: rgba(0,107,45,.35);

}


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

.integral-content {

    position: relative;

    z-index: 2;

    padding-right: 50px;

}


.integral-label {

    display: inline-block;

    margin-bottom: 20px;

    color: var(--sp-amarillo);

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: 1.5px;

}


.integral-content h2 {

    margin-bottom: 25px;

    color: var(--sp-white);

    font-size: clamp(2.2rem,4vw,3.3rem);

    line-height: 1.12;

    font-weight: 900;

}


.integral-content h2 span {

    display: block;

    color: var(--sp-amarillo);

}


.integral-content > p {

    max-width: 500px;

    margin-bottom: 30px;

    color: rgba(255,255,255,.72);

    font-size: .95rem;

    line-height: 1.9;

}


/* ============================================================
   FRASE DESTACADA
============================================================ */

.integral-quote {

    display: flex;

    gap: 15px;

    padding: 20px;

    border-left: 3px solid var(--sp-amarillo);

    background: rgba(255,255,255,.05);

    border-radius: 0 15px 15px 0;

}


.integral-quote i {

    flex-shrink: 0;

    color: var(--sp-amarillo);

    font-size: 1.5rem;

}


.integral-quote span {

    color: rgba(255,255,255,.72);

    font-size: .82rem;

    line-height: 1.7;

}


/* ============================================================
   PILARES
============================================================ */

.integral-pillars {

    position: relative;

    z-index: 2;

    display: grid;

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

    gap: 18px;

}


/* ============================================================
   PILAR
============================================================ */

.integral-pillar {

    display: flex;

    gap: 18px;

    padding: 28px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 22px;

    background: rgba(255,255,255,.06);

    backdrop-filter: blur(10px);

    transition:
        transform .35s ease,
        background .35s ease,
        border-color .35s ease;

}


.integral-pillar:hover {

    transform: translateY(-6px);

    background: rgba(255,255,255,.10);

    border-color: rgba(244,196,0,.25);

}


/* ============================================================
   ICONO
============================================================ */

.integral-pillar-icon {

    flex-shrink: 0;

    width: 52px;

    height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 15px;

    background: var(--sp-amarillo);

    color: var(--sp-verde-dark);

    font-size: 1.2rem;

}


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

.integral-pillar span {

    display: block;

    margin-bottom: 3px;

    color: var(--sp-amarillo);

    font-size: .65rem;

    font-weight: 900;

    letter-spacing: 1px;

}


.integral-pillar h3 {

    margin: 0 0 8px;

    color: var(--sp-white);

    font-size: 1.15rem;

    font-weight: 800;

}


.integral-pillar p {

    margin: 0;

    color: rgba(255,255,255,.62);

    font-size: .78rem;

    line-height: 1.65;

}

/* ============================================================
   CTA FINAL — NIVELES
============================================================ */

.niveles-cta {

    position: relative;

    min-height: 520px;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

}


/* ============================================================
   IMAGEN
============================================================ */

.niveles-cta-bg {

    position: absolute;

    inset: 0;

    background:
        url("../../assets/img/niveles/cta.png")
        center center / cover no-repeat;

    transform:
        scale(1.02);

}


/* ============================================================
   OVERLAY
============================================================ */

.niveles-cta-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,77,37,.96) 0%,
            rgba(0,77,37,.88) 50%,
            rgba(0,77,37,.78) 100%
        );

}


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

.niveles-cta-content {

    position: relative;

    z-index: 2;

    max-width: 850px;

    margin: auto;

    padding: 80px 0;

}


/* ============================================================
   LABEL
============================================================ */

.cta-label {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 20px;

    color: var(--sp-amarillo);

    font-size: .72rem;

    font-weight: 900;

    letter-spacing: 1.5px;

}


.cta-label i {

    font-size: .9rem;

}


/* ============================================================
   TÍTULO
============================================================ */

.niveles-cta h2 {

    margin-bottom: 25px;

    color: var(--sp-white);

    font-size:
        clamp(2.4rem,5vw,4.2rem);

    line-height: 1.08;

    font-weight: 900;

}


.niveles-cta h2 span {

    display: block;

    color: var(--sp-amarillo);

}


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

.niveles-cta-content > p {

    max-width: 680px;

    margin: 0 auto 35px;

    color:
        rgba(255,255,255,.78);

    font-size: .98rem;

    line-height: 1.85;

}


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

.cta-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 15px;

    flex-wrap: wrap;

}


/* Botón principal */

.btn-cta-primary {

    padding-left: 30px;

    padding-right: 30px;

}


.btn-cta-primary i {

    transition:
        transform .3s ease;

}


.btn-cta-primary:hover i {

    transform:
        translateX(4px);

}


/* Botón secundario */

.btn-outline-cta {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 14px 28px;

    border: 2px solid
        rgba(255,255,255,.45);

    border-radius: 50px;

    color: var(--sp-white);

    font-size: .9rem;

    font-weight: 800;

    text-decoration: none;

    transition:
        all .35s ease;

}


.btn-outline-cta:hover {

    border-color:
        var(--sp-amarillo);

    color:
        var(--sp-amarillo);

    background:
        rgba(244,196,0,.08);

}
/* ============================================================
   CTA — RESPONSIVE
============================================================ */

@media (max-width: 767px) {

    .niveles-cta {

        min-height: 580px;

    }


    .niveles-cta-content {

        padding: 70px 20px;

    }


    .niveles-cta h2 {

        font-size: 2.35rem;

    }


    .niveles-cta-content > p {

        font-size: .88rem;

    }


    .cta-buttons {

        flex-direction: column;

        width: 100%;

    }


    .btn-cta-primary,
    .btn-outline-cta {

        width: 100%;

        max-width: 320px;

    }


    .niveles-cta-overlay {

        background:
            linear-gradient(
                180deg,
                rgba(0,77,37,.94),
                rgba(0,77,37,.86)
            );

    }

}