/* ==================================================
   FORMACIÓN
   Estilos específicos
================================================== */


/* ==================================================
   INTRODUCCIÓN
================================================== */

.service-intro{

    max-width:1320px;
    margin:0 auto;
    padding:80px 40px 90px;

}

.service-intro-content{

    max-width:1100px;

}

.service-intro .section-label{

    margin-bottom:22px;

}

.service-intro h2{

    max-width:1000px;
    margin:0 0 34px;
    color:#17263F;
    font-size:58px;
    line-height:1.08;
    letter-spacing:-2.5px;

}

.service-intro-lead{

    max-width:960px;
    margin-bottom:38px;
    color:#17263F !important;
    font-size:22px !important;
    line-height:1.72 !important;
    font-weight:550;

}

.service-intro-columns{

    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:64px;
    padding-top:36px;
    border-top:1px solid var(--color-border);

}

.service-intro-columns p{

    margin:0 0 20px;
    color:#667085;
    font-size:18px;
    line-height:1.85;

}


/* ==================================================
   MODALIDADES
================================================== */

.service-modalities{

    padding:95px 40px;
    background:#FAF7F1;

}

.service-modalities-header{

    max-width:920px;
    margin:0 auto 64px;
    text-align:center;

}

.service-modalities-header .section-label{

    margin-bottom:20px;

}

.service-modalities-header h2{

    margin:0 0 24px;
    color:#17263F;
    font-size:56px;
    line-height:1.1;
    letter-spacing:-2px;

}

.service-modalities-header p{

    max-width:790px;
    margin:0 auto;
    color:#667085;
    font-size:18px;
    line-height:1.8;

}

.service-modalities-grid{

    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;

}

.service-modality-item{

    min-height:390px;
    padding:42px 36px;
    border:1px solid #DDD3C1;
    border-radius:26px;
    background:#FFFFFF;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;

}

.service-modality-item:hover{

    transform:translateY(-6px);
    border-color:rgba(202,157,33,.55);
    box-shadow:0 24px 55px rgba(23,38,63,.08);

}

.service-modality-number{

    display:block;
    margin-bottom:28px;
    color:var(--color-primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;

}

.service-modality-item h3{

    margin:0 0 20px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:37px;
    line-height:1.12;
    font-weight:650;

}

.service-modality-item p{

    margin:0 0 24px;
    color:#667085;
    font-size:17px;
    line-height:1.8;

}

.service-modality-item a{

    color:var(--color-primary);
    font-size:15px;
    font-weight:800;
    text-decoration:none;
    transition:transform .3s ease;

}

.service-modality-item a:hover{

    display:inline-block;
    transform:translateX(7px);

}


/* ==================================================
   FORMACIÓN OBLIGATORIA
================================================== */

.service-mandatory{

    padding:95px 40px;
    background:#FFFFFF;

}

.service-mandatory-container{

    max-width:1360px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
    gap:95px;
    align-items:start;

}

.service-mandatory-content .section-label{

    margin-bottom:22px;

}

.service-mandatory-content h2{

    max-width:720px;
    margin:0 0 28px;
    color:#17263F;
    font-size:56px;
    line-height:1.08;
    letter-spacing:-2px;

}

.service-mandatory-content p{

    max-width:700px;
    margin-bottom:20px;
    color:#667085;
    font-size:18px;
    line-height:1.85;

}

.service-mandatory-list{

    border-top:1px solid var(--color-border);

}

.service-mandatory-item{

    display:grid;
    grid-template-columns:48px 1fr;
    gap:22px;
    padding:38px 0;
    border-bottom:1px solid var(--color-border);

}

.service-mandatory-item > span{

    padding-top:7px;
    color:var(--color-primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;

}

.service-mandatory-item h3{

    margin:0 0 14px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:37px;
    line-height:1.14;
    font-weight:650;

}

.service-mandatory-item p{

    margin:0;
    color:#667085;
    font-size:17px;
    line-height:1.8;

}


/* ==================================================
   FORMACIÓN BONIFICADA
================================================== */

.service-funded{

    padding:95px 40px;
    background:#FAF7F1;
    scroll-margin-top:120px;

}

.service-funded-header{

    max-width:940px;
    margin:0 auto 64px;
    text-align:center;

}

.service-funded-header .section-label{

    margin-bottom:20px;

}

.service-funded-header h2{

    max-width:900px;
    margin:0 auto 24px;
    color:#17263F;
    font-size:56px;
    line-height:1.1;
    letter-spacing:-2px;

}

.service-funded-header p{

    max-width:790px;
    margin:0 auto;
    color:#667085;
    font-size:18px;
    line-height:1.8;

}

.service-funded-grid{

    max-width:1400px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid #DDD3C1;
    border-left:1px solid #DDD3C1;

}

.service-funded-item{

    min-height:275px;
    padding:42px 46px;
    background:rgba(255,255,255,.45);
    border-right:1px solid #DDD3C1;
    border-bottom:1px solid #DDD3C1;
    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;

}

.service-funded-item:hover{

    z-index:2;
    background:#FFFFFF;
    transform:translateY(-4px);
    box-shadow:0 22px 55px rgba(23,38,63,.08);

}

.service-funded-number{

    display:block;
    margin-bottom:22px;
    color:var(--color-primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;

}

.service-funded-item h3{

    margin:0 0 16px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:35px;
    line-height:1.12;
    font-weight:650;

}

.service-funded-item p{

    margin:0;
    color:#667085;
    font-size:16px;
    line-height:1.8;

}


/* ==================================================
   PROCESO
================================================== */

.service-training-process{

    padding:95px 40px;
    background:#FFFFFF;

}

.service-training-process-header{

    max-width:900px;
    margin:0 auto 64px;
    text-align:center;

}

.service-training-process-header .section-label{

    margin-bottom:20px;

}

.service-training-process-header h2{

    margin:0 0 24px;
    color:#17263F;
    font-size:56px;
    line-height:1.1;
    letter-spacing:-2px;

}

.service-training-process-header p{

    max-width:760px;
    margin:0 auto;
    color:#667085;
    font-size:18px;
    line-height:1.8;

}

.service-training-process-list{

    max-width:1180px;
    margin:0 auto;
    border-top:1px solid var(--color-border);

}

.service-training-process-item{

    display:grid;
    grid-template-columns:70px 1fr;
    gap:30px;
    padding:38px 0;
    border-bottom:1px solid var(--color-border);

}

.service-training-process-number{

    padding-top:7px;
    color:var(--color-primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;

}

.service-training-process-item h3{

    margin:0 0 14px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:38px;
    line-height:1.15;
    font-weight:650;

}

.service-training-process-item p{

    max-width:820px;
    margin:0;
    color:#667085;
    font-size:17px;
    line-height:1.8;

}


/* ==================================================
   CAMPUS ONLINE
================================================== */

.service-campus{

    padding:95px 40px;
    background:#FAF7F1;

}

.service-campus-container{

    max-width:1320px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 450px;
    gap:90px;
    align-items:center;

}

.service-campus-content .section-label{

    margin-bottom:22px;

}

.service-campus-content h2{

    max-width:760px;
    margin:0 0 28px;
    color:#17263F;
    font-size:56px;
    line-height:1.08;
    letter-spacing:-2px;

}

.service-campus-content p{

    max-width:720px;
    margin-bottom:20px;
    color:#667085;
    font-size:18px;
    line-height:1.85;

}

.service-campus-content .btn-principal{

    margin-top:18px;

}

.service-campus-card{

    padding:45px 38px;
    border:1px solid #E7DEC9;
    border-radius:28px;
    background:#FFFFFF;
    box-shadow:0 24px 65px rgba(23,38,63,.07);

}

.service-campus-badge{

    display:inline-block;
    margin-bottom:24px;
    padding:8px 14px;
    border-radius:999px;
    background:#FAF7F1;
    color:var(--color-primary);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;

}

.service-campus-card h3{

    margin:0 0 26px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:37px;
    line-height:1.15;
    font-weight:650;

}

.service-campus-card ul{

    margin:0;
    padding:0;
    list-style:none;

}

.service-campus-card li{

    position:relative;
    padding:14px 0 14px 26px;
    border-bottom:1px solid #E1D7C4;
    color:#667085;
    font-size:16px;
    line-height:1.65;

}

.service-campus-card li:last-child{

    border-bottom:none;

}

.service-campus-card li::before{

    content:"✓";
    position:absolute;
    left:0;
    color:var(--color-primary);
    font-weight:800;

}


/* ==================================================
   ¿POR QUÉ LIRO?
================================================== */

.service-why{

    padding:95px 40px;
    background:#FFFFFF;

}

.service-why-container{

    max-width:1360px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:95px;
    align-items:start;

}

.service-why-left{

    position:sticky;
    top:140px;

}

.service-why-left .section-label{

    margin-bottom:22px;

}

.service-why-left h2{

    max-width:620px;
    margin:0 0 28px;
    color:#17263F;
    font-size:58px;
    line-height:1.07;
    letter-spacing:-2.5px;

}

.service-why-left > p{

    max-width:590px;
    margin-bottom:22px;
    color:#667085;
    font-size:18px;
    line-height:1.85;

}

.service-why-highlight{

    margin-top:34px !important;
    padding-left:24px;
    border-left:3px solid var(--color-primary);
    color:#17263F !important;
    font-family:"Cormorant Garamond",serif;
    font-size:26px !important;
    line-height:1.4 !important;
    font-weight:600;

}

.service-why-right{

    border-top:1px solid var(--color-border);

}

.service-value{

    display:grid;
    grid-template-columns:48px 1fr;
    gap:22px;
    padding:39px 0;
    border-bottom:1px solid var(--color-border);

}

.service-value-number{

    padding-top:8px;
    color:var(--color-primary);
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;

}

.service-value h3{

    margin:0 0 14px;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:38px;
    line-height:1.12;
    font-weight:650;

}

.service-value p{

    max-width:650px;
    margin:0;
    color:#667085;
    font-size:17px;
    line-height:1.8;

}


/* ==================================================
   FAQ
================================================== */

.service-faq{

    padding:95px 40px 100px;
    background:#FFFFFF;

}

.service-faq-header{

    max-width:900px;
    margin:0 auto 60px;
    text-align:center;

}

.service-faq-header .section-label{

    margin-bottom:20px;

}

.service-faq-header h2{

    margin:0 0 24px;
    color:#17263F;
    font-size:54px;
    line-height:1.1;
    letter-spacing:-2px;

}

.service-faq-header p{

    max-width:730px;
    margin:0 auto;
    color:#667085;
    font-size:18px;
    line-height:1.8;

}

.faq-list{

    max-width:1180px;
    margin:0 auto;
    border-top:1px solid var(--color-border);

}

.faq-item{

    display:grid;
    grid-template-columns:minmax(330px,.95fr) minmax(0,1.05fr);
    gap:72px;
    padding:38px 0;
    border-bottom:1px solid var(--color-border);

}

.faq-item h3{

    margin:0;
    color:#17263F;
    font-family:"Cormorant Garamond",serif;
    font-size:36px;
    line-height:1.17;
    font-weight:650;

}

.faq-item p{

    margin:0;
    color:#667085;
    font-size:17px;
    line-height:1.8;

}


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

@media(max-width:1100px){

    .service-intro-columns{

        grid-template-columns:1fr;
        gap:6px;

    }

    .service-modalities-grid{

        grid-template-columns:1fr;

    }

    .service-modality-item{

        min-height:auto;

    }

    .service-mandatory-container{

        grid-template-columns:1fr;
        gap:55px;

    }

    .service-funded-grid{

        grid-template-columns:1fr;

    }

    .service-campus-container{

        grid-template-columns:1fr;
        gap:55px;

    }

    .service-campus-card{

        max-width:620px;

    }

    .service-why-container{

        grid-template-columns:1fr;
        gap:60px;

    }

    .service-why-left{

        position:relative;
        top:auto;

    }

    .faq-item{

        grid-template-columns:1fr;
        gap:18px;

    }

}


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

@media(max-width:768px){

    .service-intro,
    .service-modalities,
    .service-mandatory,
    .service-funded,
    .service-training-process,
    .service-campus,
    .service-why,
    .service-faq{

        padding-left:24px;
        padding-right:24px;

    }

    .service-intro{

        padding-top:75px;
        padding-bottom:85px;

    }

    .service-intro h2,
    .service-mandatory-content h2,
    .service-campus-content h2,
    .service-why-left h2{

        font-size:40px;
        letter-spacing:-1.5px;

    }

    .service-modalities-header h2,
    .service-funded-header h2,
    .service-training-process-header h2,
    .service-faq-header h2{

        font-size:39px;
        letter-spacing:-1.5px;

    }

    .service-intro-lead{

        margin-bottom:32px;
        font-size:19px !important;

    }

    .service-intro-columns{

        padding-top:30px;

    }

    .service-intro-columns p,
    .service-mandatory-content p,
    .service-campus-content p,
    .service-why-left > p{

        font-size:17px;

    }

    .service-modalities,
    .service-mandatory,
    .service-funded,
    .service-training-process,
    .service-campus,
    .service-why{

        padding-top:85px;
        padding-bottom:85px;

    }

    .service-faq{

        padding-top:85px;
        padding-bottom:95px;

    }

    .service-modalities-header,
    .service-funded-header,
    .service-training-process-header,
    .service-faq-header{

        margin-bottom:45px;

    }

    .service-modality-item{

        padding:36px 27px;

    }

    .service-modality-item h3{

        font-size:32px;

    }

    .service-mandatory-item,
    .service-training-process-item,
    .service-value{

        grid-template-columns:34px 1fr;
        gap:12px;

    }

    .service-mandatory-item h3,
    .service-training-process-item h3,
    .service-value h3{

        font-size:31px;

    }

    .service-funded-item{

        min-height:auto;
        padding:36px 26px;

    }

    .service-funded-item h3{

        font-size:31px;

    }

    .service-campus-card{

        padding:36px 26px;

    }

    .service-campus-card h3{

        font-size:32px;

    }

    .service-why-container{

        gap:48px;

    }

    .service-why-highlight{

        font-size:24px !important;

    }

    .faq-item{

        padding:31px 0;

    }

    .faq-item h3{

        font-size:30px;

    }

}