*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;
background:#08080d;
color:#fff;

}

.portfolio{

padding:80px 0;

}

.container{

width:92%;
max-width:1450px;
margin:auto;

}

.top{

display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:45px;
gap:40px;
flex-wrap:wrap;

}

.heading{

max-width:520px;
color:#9b9cab;
font-size:17px;
line-height:1.8;

}

.filter{

display:flex;
gap:10px;

padding:10px;

border-radius:60px;

background:#12121b;

border:1px solid rgba(255,255,255,.06);

}

.filter button{

background:transparent;

border:none;

padding:14px 28px;

color:#9fa2b4;

font-size:15px;

font-weight:500;

border-radius:50px;

cursor:pointer;

transition:.4s;

}

.filter button.active{

background:linear-gradient(90deg,#8a2be2,#16c6ff);

color:#fff;

}

.filter button:hover{

background:#1f2030;

color:#fff;

}

.grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:32px;

}

.card{

position:relative;

overflow:hidden;

border-radius:30px;

background:#111;

cursor:pointer;

}

.card img{

width:100%;

display:block;

transition:.6s;

}

.card:hover img{

transform:scale(1.08);

}

.card.large{

height:520px;

}

.card.large img{

height:100%;

object-fit:cover;

}

.card:not(.large){

height:380px;

}

.card:not(.large) img{

height:100%;

object-fit:cover;

}

.overlay{

position:absolute;

left:0;

right:0;

bottom:0;

padding:45px;

background:linear-gradient(transparent,rgba(0,0,0,.85));

}

.overlay span{

font-size:13px;

color:#8e8fff;

letter-spacing:2px;

text-transform:uppercase;

}

.overlay h2{

margin-top:18px;

font-size:44px;

font-weight:700;

}

.overlay a{

display:inline-block;

margin-top:18px;

color:#20bfff;

text-decoration:none;

font-weight:600;

}

.card::before{

content:"";

position:absolute;

inset:0;

background:linear-gradient(180deg,
transparent,
rgba(0,0,0,.1),
rgba(0,0,0,.7));

opacity:0;

transition:.5s;

}

.card:hover::before{

opacity:1;

}

@media(max-width:992px){

.grid{

grid-template-columns:1fr;

}

.top{

flex-direction:column;
align-items:flex-start;

}

.filter{

overflow:auto;

width:100%;

}

}
