.asp-grid{
display:grid;
gap:24px;
}

.asp-grid.columns-3{
grid-template-columns:repeat(3,1fr);
}

.asp-grid.columns-2{
grid-template-columns:repeat(2,1fr);
}

.asp-grid.columns-4{
grid-template-columns:repeat(4,1fr);
}

.asp-card{
position:relative;
height:260px;
border-radius:20px;
overflow:hidden;
background-size:cover;
background-position:center;
display:flex;
align-items:flex-end;
text-decoration:none;
}

.asp-overlay{
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.45);
transition:.3s;
}

.asp-card:hover .asp-overlay{
background:rgba(0,0,0,0.65);
}

.asp-content{
position:relative;
padding:24px;
color:#fff;
}

.asp-content h3{
margin:0;
font-size:22px;
font-weight:600;
}

.asp-content p{
margin-top:6px;
font-size:14px;
line-height:1.4;
}

@media(max-width:1024px){
.asp-grid.columns-3{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:767px){
.asp-grid{grid-template-columns:1fr;}
}
