/* ==================================================
   LIRO · PÁGINAS INTERNAS
================================================== */


/* ==================================================
   CONTENEDOR GENERAL
================================================== */

.internal-page{

    padding-top:100px;

}


/* ==================================================
   BREADCRUMB
================================================== */

.breadcrumb{

    max-width:1440px;

    margin:0 auto;

    padding:24px 40px 0;

}

.breadcrumb ol{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:10px;

    margin:0;

    padding:0;

    list-style:none;

}

.breadcrumb li{

    display:flex;

    align-items:center;

    gap:10px;

    color:#8A9099;

    font-size:14px;

    line-height:1.5;

}

.breadcrumb li:not(:last-child)::after{

    content:"/";

    color:#C9CED6;

}

.breadcrumb a{

    color:#667085;

    text-decoration:none;

    transition:.3s;

}

.breadcrumb a:hover{

    color:var(--color-primary);

}

.breadcrumb li[aria-current="page"]{

    color:var(--color-primary);

    font-weight:700;

}


/* ==================================================
   HERO INTERNO
================================================== */

.page-hero{

    max-width:1440px;

    margin:0 auto;

    padding:70px 40px 120px;

    display:grid;

    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);

    gap:100px;

    align-items:center;

}

.page-hero-content{

    max-width:740px;

}

.page-hero .hero-kicker{

    display:inline-block;

    margin-bottom:24px;

    color:var(--color-primary);

    font-size:12px;

    font-weight:800;

    letter-spacing:3px;

    text-transform:uppercase;

}

.page-hero h1{

    margin:0 0 30px;

    color:#17263F;

    font-family:"Manrope",sans-serif;

    font-size:58px;
    line-height:1.08;
    letter-spacing:-2.4px;
    font-weight:700;

}

.page-hero-content>p{

    margin:0 0 38px;

    color:#667085;

    font-size:19px;

    line-height:1.85;

}

.hero-actions{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

}


/* ==================================================
   SELLO SERVICIO
================================================== */

.page-service-brand{

    display:flex;

    flex-direction:column;

    gap:4px;

    margin-top:32px;

}

.page-service-brand span{

    color:#7B8490;

    font-size:12px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.12em;

}

.page-service-brand strong{

    color:var(--color-primary);

    font-size:15px;

    font-weight:800;

    letter-spacing:.04em;

}


/* ==================================================
   CONFIANZA HERO
================================================== */

.page-hero-trust{

    display:flex;

    flex-wrap:wrap;

    gap:18px 28px;

    margin-top:38px;

    padding-top:26px;

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

}

.page-hero-trust-item{

    display:flex;

    align-items:center;

    gap:10px;

    color:#17263F;

    font-size:14px;

    font-weight:650;

}

.page-hero-trust-item i{

    color:var(--color-primary);

}


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

.page-hero-image{

    position:relative;

}

.page-hero-image::before{

    content:"";

    position:absolute;

    top:-18px;

    right:-18px;

    width:110px;

    height:110px;

    border-top:2px solid rgba(202,157,33,.40);

    border-right:2px solid rgba(202,157,33,.40);

    border-radius:0 28px 0 0;

}

.page-hero-image img{

    width:100%;

    height:570px;

    object-fit:cover;

    border-radius:30px;

    box-shadow:0 30px 80px rgba(23,38,63,.12);

}


/* ==================================================
   CTA
================================================== */

.page-cta{

    padding:130px 40px;

    background:#FAF7F1;

    border-top:1px solid #EEE6D8;

}

.page-cta-container{

    max-width:1050px;

    margin:0 auto;

    text-align:center;

}

.page-cta .section-label{

    margin-bottom:22px;

}

.page-cta h2{

    max-width:900px;

    margin:0 auto 30px;

    color:#17263F;

    font-size:60px;

    line-height:1.1;

    letter-spacing:-2.5px;

}

.page-cta p{

    max-width:780px;

    margin:0 auto 42px;

    color:#667085;

    font-size:20px;

    line-height:1.85;

}

.page-cta .btn-principal{

    padding:19px 42px;

}

.page-cta-info{

    display:flex;

    justify-content:center;

    align-items:center;

    flex-wrap:wrap;

    gap:16px;

    margin-top:34px;

    color:#858C98;

    font-size:14px;

    font-weight:600;

}

.page-cta-separator{

    width:5px;

    height:5px;

    border-radius:50%;

    background:var(--color-primary);

}


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

@media(max-width:1100px){

    .page-hero{

        grid-template-columns:1fr;

        gap:60px;

    }

    .page-hero h1{

        font-size:58px;

    }

    .page-hero-image{

        max-width:800px;

    }

}

@media(max-width:768px){

    .internal-page{

        padding-top:80px;

    }

    .breadcrumb{

        padding:22px 24px 0;

    }

    .breadcrumb li{

        font-size:13px;

    }

    .page-hero{

        padding:65px 24px 90px;

        gap:45px;

    }

    .page-hero h1{

        font-size:38px;

        line-height:1.1;

        letter-spacing:-1.4px;

    }

    .page-hero-content>p{

        font-size:18px;

    }

    .page-hero-image::before{

        display:none;

    }

    .page-hero-image img{

        height:370px;

        border-radius:22px;

    }

    .page-hero-trust{

        flex-direction:column;

        gap:14px;

    }

    .page-service-brand{

        margin-top:26px;

    }

    .page-cta{

        padding:95px 24px;

    }

    .page-cta h2{

        font-size:40px;

    }

    .page-cta p{

        font-size:18px;

    }

    .page-cta-info{

        flex-direction:column;

        gap:10px;

    }

    .page-cta-separator{

        display:none;

    }

}
/* ==================================================
   SERVICIOS RELACIONADOS
================================================== */

.related-services{

    padding:110px 40px;

    background:#FFFFFF;

}


.related-services-container{

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

    margin:0 auto;

}


.related-services-header{

    max-width:820px;

    margin:0 0 58px;

}


.related-services-header .section-label{

    margin-bottom:18px;

}


.related-services-header h2{

    max-width:780px;

    margin:0 0 22px;

    color:#17263F;

    font-size:52px;
    line-height:1.08;
    letter-spacing:-2px;
    font-weight:700;

}


.related-services-header p{

    max-width:700px;

    margin:0;

    color:#667085;

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

}


.related-services-grid{

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

    border-top:1px solid #DDD3C1;
    border-left:1px solid #DDD3C1;

}


.related-service-item{

    position:relative;

    min-height:330px;

    padding:42px 44px;

    display:flex;
    flex-direction:column;

    background:#FAF7F1;

    border-right:1px solid #DDD3C1;
    border-bottom:1px solid #DDD3C1;

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

}


.related-service-item:hover{

    z-index:2;

    background:#FFFFFF;

    transform:translateY(-4px);

    box-shadow:0 22px 55px rgba(23,38,63,.08);

}


.related-service-kicker{

    display:block;

    margin-bottom:22px;

    color:var(--color-primary);

    font-size:11px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;

}


.related-service-item h3{

    max-width:520px;

    margin:0 0 18px;

    font-family:"Cormorant Garamond",serif;

    font-size:36px;
    line-height:1.12;
    font-weight:650;

}


.related-service-item h3 a{

    color:#17263F;

    text-decoration:none;

    transition:color .25s ease;

}


.related-service-item p{

    max-width:560px;

    margin:0 0 28px;

    color:#667085;

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

}


.related-service-link{

    display:inline-flex;
    align-items:center;

    gap:10px;

    margin-top:auto;

    color:#17263F;

    font-size:14px;
    font-weight:800;

    text-decoration:none;

}


.related-service-link i{

    color:var(--color-primary);

    transition:transform .25s ease;

}


.related-service-item:hover h3 a,
.related-service-link:hover{

    color:var(--color-primary);

}


.related-service-link:hover i{

    transform:translateX(4px);

}


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

@media(max-width:900px){

    .related-services-grid{

        grid-template-columns:1fr;

    }

}


@media(max-width:768px){

    .related-services{

        padding:85px 24px;

    }


    .related-services-header{

        margin-bottom:44px;

    }


    .related-services-header h2{

        font-size:39px;
        line-height:1.1;
        letter-spacing:-1.5px;

    }


    .related-services-header p{

        font-size:17px;

    }


    .related-service-item{

        min-height:auto;

        padding:36px 28px;

    }


    .related-service-item h3{

        font-size:31px;

    }

}


@media(max-width:480px){

    .related-services{

        padding-left:18px;
        padding-right:18px;

    }


    .related-service-item{

        padding:32px 24px;

    }

}
/* ==================================================
   ENLACE LOCAL · JAÉN
================================================== */

.service-local {
    padding: 72px 40px;

    background: #FAF7F1;

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

.service-local-container {
    max-width: 1360px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;

    gap: 90px;
}

.service-local-content {
    max-width: 820px;
}

.service-local-label {
    display: block;

    margin-bottom: 17px;

    color: #CA9D21;

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

    text-transform: uppercase;
}

.service-local h2 {
    margin: 0 0 17px;

    color: #17263F;

    font-size: clamp(30px, 3vw, 43px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -1.4px;
}

.service-local p {
    max-width: 760px;

    margin: 0;

    color: #6F788A;

    font-size: 16px;
    line-height: 1.75;
}


/* ENLACE */

.service-local-action {
    flex-shrink: 0;
}

.service-local-action a {
    display: inline-flex;
    align-items: center;

    gap: 14px;

    padding: 17px 0;

    color: #17263F;

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

    text-decoration: none;

    border-bottom: 2px solid #CA9D21;

    transition:
        color .25s ease,
        gap .25s ease;
}

.service-local-action a span {
    color: #CA9D21;

    font-size: 20px;
    line-height: 1;
}

.service-local-action a:hover {
    gap: 19px;

    color: #CA9D21;
}


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

@media (max-width: 900px) {

    .service-local-container {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .service-local-content {
        max-width: 760px;
    }

}


@media (max-width: 600px) {

    .service-local {
        padding: 60px 22px;
    }

    .service-local h2 {
        font-size: 30px;
        letter-spacing: -0.8px;
    }

    .service-local p {
        font-size: 15px;
    }

}

