.filters.svelte-hvis0s{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filter-pill.svelte-hvis0s{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:9999px;border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.filter-pill.svelte-hvis0s:hover{border-color:var(--color-secondary-primary);color:var(--color-secondary-primary);background:var(--color-secondary-subtle);transform:translateY(-1px)}.filter-pill.active.svelte-hvis0s{background:var(--color-secondary-primary);border-color:var(--color-secondary-primary);color:#fff;box-shadow:0 4px 12px #0d948840}.results-bar.svelte-hvis0s{display:flex;align-items:center;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.results-count.svelte-hvis0s{font-size:.875rem;color:var(--color-text-muted)}.results-count.svelte-hvis0s strong:where(.svelte-hvis0s){color:var(--color-text-primary);font-weight:700;font-size:1rem}.results-filter.svelte-hvis0s{margin-left:.25rem}.results-filter.svelte-hvis0s em:where(.svelte-hvis0s){color:var(--color-secondary-primary);font-style:normal;font-weight:600}.no-projects.svelte-hvis0s{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 1rem;color:var(--color-text-muted)}.no-projects.svelte-hvis0s p:where(.svelte-hvis0s){font-size:1rem}.projects-grid.svelte-hvis0s{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:640px){.projects-grid.svelte-hvis0s{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.projects-grid.svelte-hvis0s{grid-template-columns:repeat(3,1fr)}}.project-card.svelte-hvis0s{display:flex;flex-direction:column;border-radius:1rem;border:1px solid var(--color-border);background:var(--color-bg-elevated);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .25s,box-shadow .25s,transform .25s;opacity:0}.project-card.svelte-hvis0s:hover{border-color:var(--color-secondary-light);box-shadow:0 12px 40px #0d94881a;transform:translateY(-4px)}.card-image.svelte-hvis0s{position:relative;aspect-ratio:16 / 10;overflow:hidden}.card-image.svelte-hvis0s img:where(.svelte-hvis0s){width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card.svelte-hvis0s:hover .card-image:where(.svelte-hvis0s) img:where(.svelte-hvis0s){transform:scale(1.05)}.card-badge.svelte-hvis0s{position:absolute;top:.75rem;left:.75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .75rem;border-radius:9999px;background:#0000008c;backdrop-filter:blur(8px);color:#f1f5f9;border:1px solid rgba(255,255,255,.1)}.card-overlay.svelte-hvis0s{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem;padding:1.25rem;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 50%,transparent 100%);opacity:0;transition:opacity .3s ease}.project-card.svelte-hvis0s:hover .card-overlay:where(.svelte-hvis0s){opacity:1}.card-overlay.svelte-hvis0s p:where(.svelte-hvis0s){color:#ffffffe6;font-size:.8125rem;line-height:1.5}.overlay-cta.svelte-hvis0s{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#fff;transition:gap .2s}.project-card.svelte-hvis0s:hover .overlay-cta:where(.svelte-hvis0s){gap:.625rem}.card-body.svelte-hvis0s{flex:1;display:flex;flex-direction:column;padding:1.25rem}.card-title.svelte-hvis0s{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;color:var(--color-text-primary);margin-bottom:.5rem;line-height:1.3}.card-desc.svelte-hvis0s{font-size:.8125rem;line-height:1.5;color:var(--color-text-muted);margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags.svelte-hvis0s{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.tag.svelte-hvis0s{display:inline-flex;align-items:center;gap:.3rem;font-size:.6875rem;padding:.25rem .5rem;border-radius:9999px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-weight:500;font-family:var(--font-mono);letter-spacing:-.01em}.tag-dot.svelte-hvis0s{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tag-more.svelte-hvis0s{background:var(--color-bg-secondary);color:var(--color-text-muted);font-family:var(--font-sans)}@media(max-width:640px){.filter-pill.svelte-hvis0s{font-size:.75rem;padding:.375rem .75rem}}
