/* ==== CSS COMPLETO PARA AREAS Y AREAS2 ==== */

/* CONTENEDOR PRINCIPAL */
#areas {
    background: #fff;
    color: #00BFFF;
    padding: 5% 0;
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    background-attachment: scroll !important;
}

#areas2 {
    background: #fff;
    color: #00BFFF;
    padding: 5% 0;
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    background-attachment: scroll !important;
}

/* GRID ANTI-SALTOS PARA AMBAS SECCIONES */
#areas .grid,
#areas2 .grid {
    contain: paint;
    overflow: hidden;
}

#areas .grid.reveal-ready,
#areas2 .grid.reveal-ready {
    contain: layout style paint;
}

/* TÍTULOS */
#areas2 > .grid > h2,
#areas > .grid > h2 {
    color: #000 !important;
    text-align: center;
    width: 100%;
    font-size: 50px;
    margin: 0 0 50px;
}

/* TÍTULOS H3 EN CARDS - SIN ESPACIO INFERIOR */
#areas .grid > div h3,
#areas2 .grid > div h3 {
    margin-bottom: 0 !important;
    margin-top: 10px !important;
}

/* CARDS ESTABLES PARA AMBAS SECCIONES */
#areas2 > .grid > div,
#areas > .grid > div {
    width: 24%;
    border: 1px solid #00BFFF;
    border-radius: 30px;
    padding: 15px;
    position: relative;
    overflow: hidden;
    transition: transform 0.7s ease-in;
    transform: translateZ(0);
    contain: layout style;
}

/* PÁRRAFOS - OCULTOS INICIALMENTE PARA AMBAS SECCIONES */
#areas .grid > div p,
#areas2 .grid > div p {
    color: #000 !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    margin-top: -5px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    /* TRANSICIONES EXTREMADAMENTE LENTAS */
    transition: 
        max-height 15000ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 12000ms cubic-bezier(0.22, 1, 0.36, 1) 1000ms,
        padding-top 15000ms cubic-bezier(0.22, 1, 0.36, 1);
    will-change: max-height, opacity, padding;
    transform: translateZ(0);
}

/* PÁRRAFOS - VISIBLES PARA AMBAS SECCIONES */
#areas .grid > div p.is-visible,
#areas2 .grid > div p.is-visible {
    max-height: 400px !important;
    opacity: 1 !important;
    padding-top: 2px !important;
    transition: 
        max-height 15000ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 12000ms cubic-bezier(0.22, 1, 0.36, 1) 1000ms,
        padding-top 15000ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* BOTONES */
#areas > .btn-mas > .boton,
#areas2 > .btn-mas > .boton {
    background: #00BFFF;
    color: #fff;
    font-size: 25px;
    font-weight: 600;
    border-radius: 35px;
    margin-top: 5%;
    padding: 8px 35px 7px;
}

/* PÁRRAFOS COLOR BASE */
#areas2 > .grid > div > p,
#areas > .grid > div > p {
    color: #000;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    #areas2 > .grid > div,
    #areas > .grid > div {
        width: calc(50% - 10px);
    }
}

@media (max-width: 480px) {
    #areas2 > .grid > div,
    #areas > .grid > div {
        width: 100%;
        margin-bottom: 15px;
    }
    
    #areas2 > .grid > h2,
    #areas > .grid > h2 {
        font-size: 35px;
        margin-bottom: 30px;
    }
}

/* VERSIÓN ULTRA-LENTA PARA AMBAS SECCIONES */
.ultra-slow #areas .grid > div p,
.ultra-slow #areas2 .grid > div p {
    transition: 
        max-height 25000ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 20000ms cubic-bezier(0.22, 1, 0.36, 1) 2000ms,
        padding-top 25000ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ultra-slow #areas .grid > div p.is-visible,
.ultra-slow #areas2 .grid > div p.is-visible {
    padding-top: 2px !important;
    transition: 
        max-height 25000ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 20000ms cubic-bezier(0.22, 1, 0.36, 1) 2000ms,
        padding-top 25000ms cubic-bezier(0.22, 1, 0.36, 1);
}

/* ACCESIBILIDAD PARA AMBAS SECCIONES */
@media (prefers-reduced-motion: reduce) {
    #areas .grid > div p,
    #areas .grid > div p.is-visible,
    #areas2 .grid > div p,
    #areas2 .grid > div p.is-visible {
        transition: none !important;
        max-height: 600px !important;
        opacity: 1 !important;
        padding-top: 15px !important;
    }
}