/**************************************************
                STATS SECTION
**************************************************/

.stats-section{

    position:relative;

    overflow:hidden;

    padding:120px 0;
}

/**************************************************
                HEADER
**************************************************/

.stats-header{

    display:grid;

    grid-template-columns:1fr 460px;

    align-items:center;

    gap:70px;

    margin-bottom:90px;

}

.stats-header-left{

    max-width:620px;

}

.stats-subtitle{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 22px;

    background:#EEF9F8;

    border-radius:50px;

    color:#3E8A72;

    font-weight:600;

    font-size:.82rem;

    letter-spacing:1px;

    text-transform:uppercase;

}

.stats-subtitle i{

    color:#58BDB7;

}

.stats-header h2{

    margin-top:28px;

    font-size:3.4rem;

    line-height:1.15;

    color:#23453D;

    font-weight:700;

}

.stats-header h2 span{

    color:#58BDB7;

}

.stats-header p{

    margin-top:28px;

    font-size:1.05rem;

    color:#66736F;

    line-height:1.9;

}

/**************************************************
                FOTO
**************************************************/

.stats-header-right{

    position:relative;

}

.stats-header-right img{

    width:100%;

    display:block;

    border-radius:120px 35px 120px 35px;

    box-shadow:

    0 35px 70px rgba(0,0,0,.10);

}

/**************************************************
                GRID
**************************************************/

.stats-grid{

    display:grid;

    grid-template-columns:

    repeat(3,1fr);

    gap:35px;

    align-items:start;

}

/**************************************************
                TARJETAS
**************************************************/

.stat-card{

    position:relative;

    overflow:hidden;

    background:#fff;

    border-radius:35px;

    padding:35px;

    text-align:center;

    box-shadow:

    0 20px 45px rgba(0,0,0,.07);

    transition:.35s;

}

.stat-card:hover{

    transform:translateY(-12px);

    box-shadow:

    0 35px 70px rgba(0,0,0,.12);

}

/**************************************************
            DESTACADA
**************************************************/

.stat-card.featured{

    transform:translateY(-25px);

    border:2px solid rgba(88,189,183,.18);

}

.stat-card.featured:hover{

    transform:translateY(-35px);

}

/**************************************************
                BADGE
**************************************************/

.featured-badge{

    position:absolute;

    left:50%;

    top:20px;

    transform:translateX(-50%);

    background:#58BDB7;

    color:white;

    padding:8px 18px;

    border-radius:30px;

    font-size:.78rem;

    font-weight:600;

}

/**************************************************
                CIRCULO
**************************************************/

.stat-circle{

    width:120px;

    height:120px;

    margin:35px auto 25px;

    border-radius:50%;

    background:

    radial-gradient(

        circle,

        #EAF8F6 0%,

        #D7F3F0 100%

    );

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:

    0 15px 35px rgba(88,189,183,.18);

}

.stat-icon{

    width:54px;

}

/**************************************************
                NUMERO
**************************************************/

.stat-number{

    font-size:3rem;

    font-weight:700;

    color:#23453D;

    margin-bottom:12px;

}

.stat-number span{

    color:#58BDB7;

}

/**************************************************
                TITULO
**************************************************/

.stat-card h3{

    font-size:1.45rem;

    color:#23453D;

    margin-bottom:18px;

}

/**************************************************
                TEXTO
**************************************************/

.stat-card p{

    color:#66736F;

    line-height:1.8;

    margin-bottom:35px;

}

/**************************************************
                FOTO INFERIOR
**************************************************/

.stat-image{

    margin-top:auto;

}

.stat-image img{

    width:100%;

    height:170px;

    object-fit:cover;

    border-radius:22px;

    display:block;

}
/**************************************************
                TESTIMONIOS
**************************************************/

.testimonials-section{

    margin-top:120px;

    text-align:center;

    position:relative;

}

.testimonials-section h2{

    font-size:3rem;

    color:#23453D;

    margin-bottom:20px;

    font-weight:700;

}

.testimonials-section h2 span{

    color:#58BDB7;

}

.testimonials-section::after{

    content:"";

    width:90px;

    height:4px;

    background:#58BDB7;

    display:block;

    margin:25px auto 70px;

    border-radius:50px;

}

/**************************************************
            GRID TESTIMONIOS
**************************************************/

.testimonials-grid{

    display:grid;

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

    gap:35px;

}

/**************************************************
            TARJETA
**************************************************/

.testimonial-card{

    background:#ffffff;

    border-radius:35px;

    padding:40px;

    text-align:left;

    box-shadow:

    0 20px 45px rgba(0,0,0,.06);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.testimonial-card:hover{

    transform:translateY(-10px);

    box-shadow:

    0 30px 60px rgba(0,0,0,.10);

}

/**************************************************
            COMILLAS
**************************************************/

.testimonial-card::before{

    content:"“";

    position:absolute;

    right:25px;

    top:10px;

    font-size:90px;

    color:#EAF8F6;

    font-family:Georgia, serif;

    line-height:1;

}

/**************************************************
            ESTRELLAS
**************************************************/

.stars{

    color:#F7C948;

    font-size:1.2rem;

    margin-bottom:25px;

    letter-spacing:2px;

}

/**************************************************
            TEXTO
**************************************************/

.testimonial-card p{

    color:#66736F;

    line-height:1.9;

    margin-bottom:35px;

    font-size:1rem;

}

/**************************************************
            USUARIO
**************************************************/

.testimonial-user{

    display:flex;

    align-items:center;

    gap:18px;

}

.testimonial-user img{

    width:70px;

    height:70px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #EEF9F8;

}

.testimonial-user strong{

    display:block;

    color:#23453D;

    font-size:1rem;

    margin-bottom:4px;

}

.testimonial-user span{

    color:#7D8A86;

    font-size:.9rem;

}

/**************************************************
            DOTS
**************************************************/

.testimonial-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin-top:55px;

}

.testimonial-dots span{

    width:12px;

    height:12px;

    border-radius:50%;

    background:#D6E7E5;

    transition:.3s;

    cursor:pointer;

}

.testimonial-dots span.active{

    width:36px;

    border-radius:30px;

    background:#58BDB7;

}
/**************************************************
                    CTA
**************************************************/

.stats-cta{

    position:relative;

    overflow:hidden;

    margin-top:120px;

    background:linear-gradient(
        135deg,
        #F7FCFB 0%,
        #EEF9F8 100%
    );

    border-radius:45px;

    padding:90px 70px;

    box-shadow:
        0 25px 60px rgba(0,0,0,.08);

}

/**************************************************
            CONTENIDO
**************************************************/

.cta-content{

    position:relative;

    z-index:5;

    max-width:650px;

}

.cta-icon{

    width:75px;

    height:75px;

    border-radius:50%;

    background:#58BDB7;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    margin-bottom:30px;

    box-shadow:
        0 15px 35px rgba(88,189,183,.35);

}

.cta-content h3{

    font-size:3rem;

    line-height:1.2;

    color:#23453D;

    margin-bottom:25px;

}

.cta-content p{

    font-size:1.08rem;

    color:#66736F;

    line-height:1.9;

    max-width:560px;

    margin-bottom:45px;

}

/**************************************************
                BOTONES
**************************************************/

.stats-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

}

.btn-stats-primary{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:18px 34px;

    background:#58BDB7;

    color:#fff;

    text-decoration:none;

    border-radius:60px;

    font-weight:600;

    transition:.35s;

    box-shadow:
        0 18px 35px rgba(88,189,183,.28);

}

.btn-stats-primary:hover{

    background:#3F9D98;

    transform:translateY(-4px);

}

.btn-stats-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border-radius:60px;

    border:2px solid #58BDB7;

    color:#58BDB7;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

    background:#fff;

}

.btn-stats-secondary:hover{

    background:#58BDB7;

    color:#fff;

}

/**************************************************
                SILLÓN
**************************************************/

.cta-chair{

    position:absolute;

    right:30px;

    bottom:0;

    width:360px;

    z-index:1;

    opacity:.95;

    pointer-events:none;

}

/**************************************************
                HOJA IZQUIERDA
**************************************************/

.cta-leaf-left{

    position:absolute;

    left:-30px;

    bottom:-20px;

    width:190px;

    opacity:.14;

    transform:rotate(-8deg);

}

/**************************************************
            DECORACIÓN SUPERIOR
**************************************************/

.stats-cta::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(88,189,183,.08);

    top:-170px;

    right:-140px;

}

/**************************************************
            DECORACIÓN INFERIOR
**************************************************/

.stats-cta::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(88,189,183,.05);

    bottom:-120px;

    left:-100px;

}

/**************************************************
            EFECTO SUAVE
**************************************************/

.stats-cta *{

    position:relative;

    z-index:3;

}
/**************************************************
            ACUARELAS
**************************************************/

.stats-watercolor{

    position:absolute;

    z-index:0;

    pointer-events:none;

    opacity:.35;

}

.watercolor-top-left{

    width:320px;

    top:-60px;

    left:-80px;

}

.watercolor-bottom-right{

    width:340px;

    bottom:-90px;

    right:-90px;

    transform:rotate(180deg);

}

/**************************************************
                HOJAS
**************************************************/

.stats-leaf{

    position:absolute;

    z-index:0;

    pointer-events:none;

    opacity:.15;

}

.leaf-left{

    width:170px;

    left:-40px;

    top:45%;

    transform:rotate(-18deg);

}

.leaf-right{

    width:190px;

    right:-45px;

    top:18%;

    transform:rotate(20deg);

}

/**************************************************
            ANIMACIONES
**************************************************/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.stats-header,
.stat-card,
.testimonial-card,
.stats-cta{

    animation:fadeUp .8s ease both;

}

.stat-card:nth-child(2){

    animation-delay:.15s;

}

.stat-card:nth-child(3){

    animation-delay:.30s;

}

.testimonial-card:nth-child(2){

    animation-delay:.15s;

}

.testimonial-card:nth-child(3){

    animation-delay:.30s;

}

/**************************************************
            HOVER IMÁGENES
**************************************************/

.stat-image{

    overflow:hidden;

    border-radius:22px;

}

.stat-image img{

    transition:transform .45s ease;

}

.stat-card:hover .stat-image img{

    transform:scale(1.08);

}

.testimonial-user img{

    transition:.35s;

}

.testimonial-card:hover .testimonial-user img{

    transform:scale(1.08);

}

/**************************************************
                RESPONSIVE
**************************************************/

@media (max-width:1200px){

.stats-header{

    grid-template-columns:1fr;

    text-align:center;

    gap:45px;

}

.stats-header-left{

    margin:auto;

}

.stats-header-right{

    max-width:500px;

    margin:auto;

}

.stats-grid{

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

}

.testimonials-grid{

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

}

.stats-cta{

    padding:70px 50px;

}

.cta-chair{

    width:280px;

    opacity:.20;

}

}

@media (max-width:768px){

.stats-section{

    padding:80px 0;

}

.stats-header h2{

    font-size:2.3rem;

}

.testimonials-section h2{

    font-size:2.2rem;

}

.cta-content h3{

    font-size:2.2rem;

}

.stats-grid{

    grid-template-columns:1fr;

}

.testimonials-grid{

    grid-template-columns:1fr;

}

.stat-card.featured{

    transform:none;

}

.stat-card.featured:hover{

    transform:translateY(-10px);

}

.stats-buttons{

    flex-direction:column;

}

.btn-stats-primary,
.btn-stats-secondary{

    width:100%;

    justify-content:center;

}

.stats-cta{

    padding:50px 30px;

}

.cta-chair{

    display:none;

}

.watercolor-top-left,
.watercolor-bottom-right{

    width:180px;

}

.leaf-left,
.leaf-right{

    display:none;

}

}

@media (max-width:480px){

.stats-header h2{

    font-size:1.9rem;

}

.stat-number{

    font-size:2.4rem;

}

.stat-card{

    padding:28px;

}

.testimonial-card{

    padding:28px;

}

.cta-content h3{

    font-size:1.8rem;

}

.stats-subtitle{

    font-size:.72rem;

    padding:8px 16px;

}

}
