.filter-row { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; margin-bottom: 44px; }
.filter-row::-webkit-scrollbar { display: none; }
.filter-row .cat-pill {
  flex-shrink: 0;
  background: none;
  cursor: pointer;
  font-family: var(--font-body);
}
.filter-row .cat-pill.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.portfolio-item { display: block; }
.portfolio-item-img { border-radius: var(--radius); overflow: hidden; aspect-ratio: 4/5; margin-bottom: 14px; }
.portfolio-item-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.16,1,0.3,1); }
.portfolio-item:hover .portfolio-item-img img { transform: scale(1.06); }
.portfolio-item-info h3 { font-size: 19px; margin-bottom: 4px; }
.portfolio-item-info span { font-size: 13px; color: var(--ink-soft); text-transform: capitalize; }
.empty-state { text-align: center; padding: 60px 0; color: var(--ink-soft); }

@media (max-width: 900px) {
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 560px) {
  .portfolio-grid { grid-template-columns: 1fr; }
}
