/*==================================================
    PSICOKHUYAY — HERO
    Banner de 3 columnas paralelas (borde a borde)
===================================================*/

:root{

    --hero-dark:#23463D;
    --hero-green:#2E8A73;
    --hero-green-dark:#1F6756;
    --hero-gold:#D6B36A;
    --hero-beige:#F7F2E7;
    --hero-bg:#FCFCF9;
    --hero-text:#5E6763;

}
/***************************************************
                HERO
****************************************************/
.hero-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% center;
    z-index:1;
}
.hero-section{
    min-height:620px;
    position:relative;
    overflow:hidden;
    background:
    linear-gradient(
        90deg,
        #ffffff 0%,
        #ffffff 58%,
        #F6FBF8 82%,
        #EEF7F4 100%
    );

}
/***************************************************
            TEXTO
****************************************************/

.hero-text-col{
    flex:0 0 31%;
    max-width:31%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-left:65px;
    padding-right:35px;

}

.hero-tag{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:9px 18px;
    background:#EEF7F1;
    border-radius:50px;
    font-size:1.2rem;
    color:var(--hero-green-dark);
    margin-bottom:20px;
}

.hero-title{
    font-size:58px;
    line-height:1.08;
    font-weight:700;
    color:#24463d;
}

.hero-title span{
    color:#58BDB7;
}

.hero-subtitle{
    margin-top:22px;
    width:430px;
    line-height:1.8;
    color:#5F6B67;
}

.hero-buttons{
    display:flex;
    gap:15px;
    margin-top:35px;
}
.hero-services{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
}
.hero-services a{
    display:flex;
    align-items:center;
    gap:18px;
    padding:10px 0;
    color:#24463d;
    text-decoration:none;
    font-size:20px;
    margin-bottom: 12px;
}
.hero-services .icon{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2d8a73;
    flex-shrink:0;
}
/***************************************************
            BOTONES
****************************************************/

.btn-primary-custom{
    padding:15px 28px;
    border-radius:50px;
    background:var(--hero-green);
    color:white;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 15px 35px rgba(46,138,115,.25);
}

.btn-primary-custom:hover{
    background:var(--hero-green-dark);
    transform:translateY(-2px);
}

.btn-secondary-custom{
    padding:15px 28px;
    border-radius:50px;
    border:2px solid #67B8AE;
    color:var(--hero-green-dark);
    text-decoration:none;
}

.btn-secondary-custom:hover{
    background:#67B8AE;
    color:white;
}

/***************************************************
            FOTO
****************************************************/
.hero-container{
    position:relative;
    height:100%;
    z-index:5;
}
.hero-content{
    position:relative;
    top:auto;
    left:auto;
    width:100%;
}
/***************************************************
            SERVICIOS
****************************************************/
.hero-services-col a{
    display:flex;
    align-items:center;
    gap:14px;
    background:white;
    border-radius:18px;
    padding:12px;
    text-decoration:none;
    color:var(--hero-dark);
    box-shadow:
    0 12px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.hero-services-col a:hover{
    transform:translateX(6px);
}

.hs-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#F5F4EE;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#3E8A72;
    flex-shrink:0;
}
/*======================================
        RESPONSIVE HERO
======================================*/

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

    .hero-section{
        min-height: auto;
        padding: 80px 0 60px;
    }

    .hero-bg{
        object-position: center center;
        opacity: .35;
    }

    .hero-container{
        height:auto;
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    /* TEXTO */

    .hero-content{
        position:relative;
        top:auto;
        left:auto;

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

        padding:0 30px;

        text-align:center;

        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .hero-tag{
        font-size:1rem;
    }

    .hero-title{
        font-size:46px;
    }

    .hero-subtitle{
        width:100%;
        max-width:600px;
    }

    .hero-buttons{
        justify-content:center;
    }

    /* SERVICIOS */

    .hero-services{
        position:relative;
        top:auto;
        right:auto;

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

        padding:30px;

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

        gap:15px;
    }

    .hero-services a{
        margin-bottom:0;
        background:white;
        border-radius:18px;
        padding:14px;

        box-shadow:0 10px 30px rgba(0,0,0,.06);

        font-size:17px;
    }

}


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

@media (max-width:576px){

    .hero-section{
        min-height:auto;
        padding:60px 0 45px;
    }

    .hero-bg{
        object-position:center center;
        opacity:.25;
    }

    .hero-container{
        width:100%;
    }

    /* TEXTO */

    .hero-content{
        width:100%;
        padding:0 20px;
    }

    .hero-tag{
        font-size:.85rem;
        padding:8px 15px;
        margin-bottom:15px;
    }

    .hero-title{
        font-size:36px;
        line-height:1.12;
    }

    .hero-subtitle{
        width:100%;
        font-size:15px;
        line-height:1.6;
        margin-top:18px;
    }

    /* BOTONES */

    .hero-buttons{
        width:100%;
        flex-direction:column;
        gap:12px;
        margin-top:25px;
    }

    .btn-primary-custom,
    .btn-secondary-custom{
        width:100%;
        padding:14px 20px;

        display:flex;
        align-items:center;
        justify-content:center;
    }

    /* SERVICIOS */

    .hero-services{
        width:100%;
        padding:30px 20px 0;

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

        gap:12px;
    }

    .hero-services a{
        flex-direction:column;
        justify-content:center;
        text-align:center;

        gap:8px;

        padding:15px 8px;

        min-height:100px;

        font-size:14px;

        margin-bottom:0;
    }

    .hero-services .icon{
        width:45px;
        height:45px;

        font-size:17px;
    }

}


/*======================================
        MÓVILES MUY PEQUEÑOS
======================================*/

@media (max-width:400px){

    .hero-section{
        padding-top:50px;
    }

    .hero-title{
        font-size:32px;
    }

    .hero-subtitle{
        font-size:14px;
    }

    .hero-services{
        gap:10px;
        padding-left:15px;
        padding-right:15px;
    }

    .hero-services a{
        min-height:95px;
        font-size:12px;
        padding:12px 5px;
    }

    .hero-services .icon{
        width:40px;
        height:40px;
    }

}
/* =========================================
   DESKTOP — ESTRUCTURA ORIGINAL
========================================= */
@media (min-width: 992px) {

    .hero-container {
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
    }

}
@media (min-width: 1200px) {

    .hero-container {
        max-width: 1400px;
    }

}
@media (min-width: 992px) {

    .hero-section {
        min-height: 620px;
        height: 620px;
        overflow: hidden;
    }

    .hero-container {
        position: relative;
        height: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }


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

    .hero-content {
        position: absolute !important;

        top: 25px !important;
        left: 0 !important;

        width: 420px !important;
        max-width: 420px !important;

        padding: 0 !important;

        text-align: left !important;

        display: block !important;
    }

    .hero-tag {
        margin-bottom: 20px;
    }

    .hero-title {
        width: 420px;
        max-width: 420px;

        font-size: 58px;
        line-height: 1.08;

        margin: 0;
    }

    .hero-subtitle {
        width: 420px;
        max-width: 420px;

        margin-top: 25px;

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


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

    .hero-buttons {
        display: flex !important;

        flex-direction: row !important;

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

        width: auto;

        gap: 15px;

        margin-top: 35px;
    }

    .btn-primary-custom,
    .btn-secondary-custom {

        width: auto !important;

        display: inline-flex;

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

        white-space: nowrap;
    }


    /* =====================================
       SERVICIOS DERECHA
    ===================================== */

    .hero-services {

        position: absolute !important;

        top: 45px !important;

        right: 20px !important;

        width: 230px !important;
        max-width: 230px !important;

        padding: 0 !important;

        display: block !important;

        z-index: 20;
    }

    .hero-services a {

        display: flex !important;

        flex-direction: row !important;

        align-items: center;

        gap: 18px;

        width: 100%;

        padding: 10px 0;

        margin-bottom: 12px;

        background: transparent !important;

        border-radius: 0;

        box-shadow: none !important;

        font-size: 20px;

        line-height: 1.4;

        text-align: left;
    }

    .hero-services .icon {

        width: 54px;
        height: 54px;

        min-width: 54px;

        flex: 0 0 54px;

        display: flex;

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

        border-radius: 50%;

        background: #fff;

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

        color: #2d8a73;
    }

}
