.campus-life-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    margin-top:40px;
}

.life-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    min-height:460px;
    background:#000;
    cursor:pointer;
    box-shadow:0 15px 45px rgba(0,0,0,.10);
    transition:all .45s ease;
}

.life-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.18);
}

.life-card img{
    width:100%;
    height:460px;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.life-card:hover img{
    transform:scale(1.1);
}

.life-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.55) 45%,
        rgba(0,0,0,.18) 75%,
        transparent 100%
    );
}

.life-content{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2;
}

.life-badge{
    display:inline-block;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
    color:#fff;
    padding:8px 14px;
    border-radius:999px;
    font-size:.72rem;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:14px;
}

.life-content h3{
    color:#fff;
    font-size:1.4rem;
    margin-bottom:10px;
    line-height:1.2;
}

.life-content p{
    color:#E8CBA6;
    font-size:.92rem;
    line-height:1.7;
}

@media (max-width:1200px){
    .campus-life-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:768px){

    .campus-life-grid{
        grid-template-columns:1fr;
    }

    .life-card,
    .life-card img{
        height:340px;
        min-height:340px;
    }

    .life-content{
        left:20px;
        right:20px;
        bottom:20px;
    }

    .life-content h3{
        font-size:1.2rem;
    }
}