/* =========================================================
   ACCESOS RAPIDOS
========================================================= */

.compact-section{

    margin-top:18px;

    margin-bottom:12px;

}

.compact-head{

    margin-bottom:18px;

}

.compact-section .section-head{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:24px;

    margin-bottom:20px;

}

.compact-section .section-head small{

    display:block;

    font-size:12px;

    font-weight:800;

    letter-spacing:.8px;

    color:#003e83;

    text-transform:uppercase;

    margin-bottom:3px;

}

.compact-section .section-head h2{

    font-size:22px;

    line-height:1;

    font-weight:900;

    color:#003e83;

    margin:0 0 5px;

}

.compact-section .section-head p{

    font-size:12px;

    line-height:1.5;

    color:#7b8794;

    margin:0;

    max-width:540px;

    text-align:right;

}

/* =========================================================
   GRID
========================================================= */

.access-grid{

    display:grid;

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

    gap:14px;

}

/* =========================================================
   CARD
========================================================= */

.access-card{

    position:relative;

    background:#ffffff;

    border-radius:18px;

    padding:18px;

    border:1px solid #e9eef5;

    text-decoration:none;

    transition:.25s ease;

    overflow:hidden;

    min-height:170px;

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    box-shadow:0 4px 12px rgba(15,23,42,.04);

}

.access-card:hover{

    transform:translateY(-4px);

    border-color:#cfe0f6;

    box-shadow:0 14px 28px rgba(15,23,42,.10);

}

/* =========================================================
   ICONO
========================================================= */

.access-image{

    width:58px;

    height:58px;

    border-radius:16px;

    background:linear-gradient(135deg,#004694,#0f5ec9);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:16px;

    box-shadow:0 10px 20px rgba(0,70,148,.18);

}

.access-image i{

    font-size:24px;

    color:#ffffff;

}

/* =========================================================
   INFO
========================================================= */

.access-info{

    display:flex;

    flex-direction:column;

    flex:1;

}

.access-info strong{

    font-size:15px;

    line-height:1.2;

    font-weight:900;

    color:#003e83;

    margin-bottom:10px;

    letter-spacing:-0.2px;

}

.access-info span{

    font-size:12px;

    line-height:1.55;

    color:#64748b;

}

/* =========================================================
   FLECHA
========================================================= */

.access-card::after{

    content:"›";

    position:absolute;

    right:16px;

    bottom:14px;

    width:30px;

    height:30px;

    border-radius:50%;

    background:#f1f5f9;

    color:#004694;

    font-size:18px;

    font-weight:900;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.25s ease;

}

.access-card:hover::after{

    background:#004694;

    color:#ffffff;

}

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

@media screen and (max-width: 1200px){

    .access-grid{

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

    }

}

@media screen and (max-width: 900px){

    .compact-section .section-head{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

    }

    .compact-section .section-head p{

        text-align:left;

        max-width:100%;

    }

    .access-grid{

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

    }

}

@media screen and (max-width: 640px){

    .access-grid{

        grid-template-columns:1fr;

    }

}