.portfolio-header.svelte-1uo84gz{text-align:center;margin-bottom:4rem}.page-title.svelte-1uo84gz{font-size:3.5rem;margin-bottom:1rem}.subtitle.svelte-1uo84gz{font-size:1.1rem;color:var(--color-text-muted);margin-bottom:2rem}.filter-bar.svelte-1uo84gz{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;position:relative;z-index:2}.filter-btn.svelte-1uo84gz{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--color-text);padding:.5rem 1.5rem;border-radius:100px;transition:all .3s ease}.filter-btn.svelte-1uo84gz:hover,.filter-btn.active.svelte-1uo84gz{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.projects-grid.svelte-1uo84gz{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card.svelte-1uo84gz{background:var(--color-bg-secondary);border-radius:var(--border-radius);overflow:hidden;border:1px solid rgba(255,255,255,.05);transition:transform .3s ease}.project-card.svelte-1uo84gz:hover{transform:translateY(-5px)}.card-image.svelte-1uo84gz{position:relative;height:250px;overflow:hidden}.card-image.svelte-1uo84gz img:where(.svelte-1uo84gz){width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card.svelte-1uo84gz:hover .card-image:where(.svelte-1uo84gz) img:where(.svelte-1uo84gz){transform:scale(1.1)}.category-tag.svelte-1uo84gz{position:absolute;top:1rem;left:1rem;background:#000000b3;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-primary);border:1px solid var(--color-primary)}.card-content.svelte-1uo84gz{padding:1.5rem}.card-content.svelte-1uo84gz h3:where(.svelte-1uo84gz){margin-bottom:.5rem;font-size:1.25rem}.card-content.svelte-1uo84gz p:where(.svelte-1uo84gz){color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.5rem}.read-more.svelte-1uo84gz{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);padding:.5rem 1rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .3s ease}.read-more.svelte-1uo84gz:hover{background:var(--color-primary);color:#000}.active-tag-display.svelte-1uo84gz{display:flex;align-items:center;gap:1rem;background:#ffffff0d;padding:.5rem 1.5rem;border-radius:100px;border:1px solid var(--color-primary);color:var(--color-primary)}.clear-tag.svelte-1uo84gz{background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;padding:4px;font-size:.9rem;transition:color .3s}.clear-tag.svelte-1uo84gz:hover{color:#fff}
