.portfolio{padding:110px 0;}
.filter-chips{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px;}
.chip{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:10px 18px;
  border:1px solid var(--border-strong); border-radius:100px; color:var(--text-dim); cursor:pointer; transition:all .3s var(--ease);
  background:transparent;
}
body[data-theme="artist"] .chip{font-family:var(--font-display); font-style:italic; text-transform:none; letter-spacing:.02em; font-size:.9rem;}
.chip.active, .chip:hover{background:var(--accent); color:#0A0A0A; border-color:var(--accent); font-weight:600;}

.project-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px;}
.pcard{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:26px;
  display:flex; flex-direction:column; gap:14px; transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  position:relative; overflow:hidden;
}
.pcard::before{content:"";position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);}
.pcard:hover{transform:translateY(-6px); border-color:var(--border-strong); box-shadow:0 20px 40px -20px rgba(0,0,0,.5);}
.pcard:hover::before{transform:scaleX(1);}
.pcard .pcat{font-family:var(--font-mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent);}
.pcard h3{font-family:var(--font-display); font-size:1.28rem; font-weight:700; line-height:1.2;}
body[data-theme="artist"] .pcard h3{font-style:italic;}
.pcard .porg{font-size:.85rem; color:var(--text-faint); font-family:var(--font-mono);}
body[data-theme="artist"] .pcard .porg{font-family:var(--font-display); font-style:italic;}
.pcard p.pdesc{color:var(--text-dim); font-size:.92rem; flex-grow:1;}
.pcard .prole{font-size:.78rem; color:var(--text-faint); border-top:1px solid var(--border); padding-top:12px;}
.pcard .ptags{display:flex; flex-wrap:wrap; gap:6px;}
.pcard .ptags span{font-family:var(--font-mono); font-size:.64rem; padding:4px 9px; border-radius:5px; background:var(--accent-soft); color:var(--accent);}
