/* project type tags: filter row (Projects page) and tag links (project pages) */
.filters { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 18px var(--gutter) clamp(26px, 3vw, 44px); }
.filters button { position: relative; padding: 4px 0; color: var(--mute); transition: color .3s; }
.filters button::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--ink);
  transform: scaleX(0); transform-origin: 100% 50%; transition: transform .5s var(--ease); }
.filters button:hover, .filters button.on { color: var(--ink); }
.filters button:hover::after, .filters button.on::after { transform: scaleX(1); transform-origin: 0 50%; }
.grid .card.filtered-out { display: none; }
.ptags { display: flex; flex-wrap: wrap; gap: 8px 18px; padding-top: 12px; }
.ptags a, .ptags span { padding: 2px 0; border-bottom: 1px solid var(--line); transition: border-color .3s; }
.ptags a:hover { border-color: var(--ink); }
.grid.filtering a:nth-child(even) { margin-top: 0; }
.grid.filtering a.shift { margin-top: clamp(40px, 9vw, 150px); }
@media (max-width: 860px) { .grid.filtering a.shift { margin-top: 0; } }