*{
margin:0;
padding:0;
box-sizing:border-box;
max-width:100%;
font-family:var(--ff1) !important;
}
body{
background:var(--bg1);
color:var(--cl2);
line-height:var(--lh1);
font-size:var(--fz2);
}
a{
text-decoration:none;
color:inherit;
}
.portfolio{
width:var(--pw1);
max-width:var(--max);
margin:0 auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:var(--gap);
}
.pt-item{
background:var(--bg1);
border:2px solid var(--bc1);
border-radius:var(--br1);
overflow:hidden;
display:flex;
flex-direction:column;
}
.pt-img{
height:280px;
display:flex;
align-items:center;
justify-content:center;
font-weight:var(--fw4);
font-size:var(--fz3);
letter-spacing:var(--ls1);
overflow:hidden;
user-select:none;
flex-shrink:0;
}
.pt-img img{
width:100%;
height:100%;
object-fit:cover;
transition:150ms;
}
.pt-img img:hover{
transform:scale(1.05);
}
.pt-txt{
padding:35px;
text-align:center;
flex:1;
display:flex;
flex-direction:column;
align-items:center;
}
.pt-txt .category{
color:var(--cl1);
font-size:var(--fz1);
font-weight:var(--fw2);
letter-spacing:var(--ls2);
text-transform:uppercase;
margin-bottom:15px;
}
.pt-txt h3{
font-size:var(--fz3);
font-weight:var(--fw2);
letter-spacing:var(--ls2);
margin-bottom:8px;
}
.pt-txt p{
color:var(--cl3);
line-height:var(--lh4);
margin-bottom:25px;
flex:1;
}
.pt-btn{
display:inline-block;
border:2px solid var(--cl1);
color:var(--cl1);
padding:14px 35px;
font-family:var(--ff1);
font-weight:var(--fw2);
font-size:var(--fz1);
border-radius:var(--br2);
user-select:none;
}
.pt-btn:hover{
background:var(--cl1);
color:var(--cl2);
}