/* ==========================================
   Cards Container
========================================== */

.cards{
    max-width:1400px;
    margin:3rem auto;
    padding:0 1rem;

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2rem;
}

/* ==========================================
   Card Link (Reveal Animation)
========================================== */

.card-link{
    display:block;
    text-decoration:none;
    color:inherit;

    opacity:0;
    transform:translateX(-60px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.card-link.show{
    opacity:1;
    transform:translateX(0);
}

/* ==========================================
   Card
========================================== */

.card{
    position:relative;
    height:220px;

    overflow:hidden;
    border-radius:18px;

    border:2px solid transparent;

    cursor:pointer;

    background:#fff;

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

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.card:hover{
    transform:translateY(-8px);

    border-color:#FFD54F;

    box-shadow:0 20px 40px rgba(0,0,0,.20);
}

/* ==========================================
   Image
========================================== */

.card-img{
    width:100%;
    height:100%;

    object-fit:cover;
    display:block;

    transition:transform .6s ease;
}

.card:hover .card-img{
    transform:scale(1.08);
}

/* ==========================================
   Dark Gradient
========================================== */

.card::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:80px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.80),
        rgba(0,0,0,.40),
        transparent
    );

    pointer-events:none;
}

/* ==========================================
   Title
========================================== */

.card-title{
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    z-index:2;
    text-align:center;
    color:#fff;
    font-size:1.5rem;
    font-weight:bold;
    letter-spacing:.5px;
    transition:transform .35s ease;
}

.card:hover .card-title{
    transform:translateY(-4px);
}
