.archive-hero--portfolio { padding-bottom: 3.2rem; }
.archive-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.archive-hero__count { margin: 0 0 .65rem; color: var(--dv-muted); font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

.portfolio-toolbar { background: #efebe4; border-top: 1px solid rgba(31,31,28,.08); border-bottom: 1px solid rgba(31,31,28,.08); }
.project-filters { display: flex; flex-wrap: wrap; gap: .7rem 1.8rem; padding: 1.2rem 0; }
.project-filter { position: relative; color: var(--dv-muted); font-size: .67rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.project-filter::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.2rem; height: 1px; background: currentColor; transition: right .2s ease; }
.project-filter:hover, .project-filter.is-active { color: var(--dv-ink); }
.project-filter:hover::after, .project-filter.is-active::after { right: 0; }

.portfolio-grid-section { min-height: 45vh; }
.portfolio-empty { margin: 0; font-family: var(--dv-sans); font-size: clamp(1.8rem, 3vw, 2.8rem); }

.pagination-wrap .nav-links { display: flex; align-items: center; gap: .5rem; margin-top: 1rem; }
.pagination-wrap .page-numbers { min-width: 2.6rem; height: 2.6rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--dv-line); font-size: .75rem; }
.pagination-wrap .page-numbers.current, .pagination-wrap a.page-numbers:hover { background: var(--dv-ink); border-color: var(--dv-ink); color: #fff; }

@media (max-width: 680px) {
    .archive-hero__inner { align-items: start; flex-direction: column; gap: 1.2rem; }
    .archive-hero__count { margin: 0; }
    .project-filters { gap: .7rem 1.15rem; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
    .project-filters::-webkit-scrollbar { display: none; }
    .project-filter { flex: 0 0 auto; }
}
