.filterable-projects.svelte-1ov1t48{width:100%}.filters.svelte-1ov1t48{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}@media (min-width:768px){.filters.svelte-1ov1t48{flex-direction:row;gap:1rem}}.filter-group.svelte-1ov1t48{flex:1}.filter-title.svelte-1ov1t48{font-size:1rem;font-weight:var(--font-body-bold);color:var(--color-brand-100);margin:0 0 1rem}.filter-dropdown.svelte-1ov1t48{display:block}@media (min-width:768px){.filter-dropdown.svelte-1ov1t48{display:none}}.filter-dropdown.svelte-1ov1t48 select:where(.svelte-1ov1t48){background:var(--color-elevation-1);color:var(--color-text-primary);border:1px solid var(--color-neutral-20);cursor:pointer;border-radius:6px;width:100%;padding:.75rem;font-size:.875rem;transition:all .2s}.filter-dropdown.svelte-1ov1t48 select:where(.svelte-1ov1t48):hover{background:var(--color-secondary-150)}.filter-dropdown.svelte-1ov1t48 select:where(.svelte-1ov1t48):focus{outline:2px solid var(--color-brand-100);outline-offset:2px}.filter-dropdown.svelte-1ov1t48 select:where(.svelte-1ov1t48) option:where(.svelte-1ov1t48):disabled{color:var(--color-text-secondary);opacity:.5}.filter-buttons.svelte-1ov1t48{display:none}@media (min-width:768px){.filter-buttons.svelte-1ov1t48{display:flex}}.filter-button.svelte-1ov1t48{background:var(--color-elevation-1);color:var(--color-text-primary);cursor:pointer;border:0;align-items:center;gap:.25rem;padding:.5rem;font-size:.875rem;transition:all .2s;display:flex}.filter-button.svelte-1ov1t48:first-of-type{border-radius:6px 0 0 6px}.filter-button.svelte-1ov1t48:last-of-type{border-radius:0 6px 6px 0}.filter-button.svelte-1ov1t48+.filter-button:where(.svelte-1ov1t48){border-left:1px solid var(--color-elevation-3)}.filter-button.svelte-1ov1t48:hover:not(:disabled){background:var(--color-secondary-150)}.filter-button.active.svelte-1ov1t48{background:var(--color-secondary-200)}.filter-button.disabled.svelte-1ov1t48,.filter-button.svelte-1ov1t48:disabled{opacity:.5;cursor:not-allowed;background:var(--color-elevation-1)}.filter-button.svelte-1ov1t48 .count:where(.svelte-1ov1t48){opacity:.8;font-size:.75rem}.filter-button.active.svelte-1ov1t48 .count:where(.svelte-1ov1t48){opacity:.9}.projects-grid.svelte-1ov1t48{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;display:grid}.project-card.svelte-1ov1t48{background:var(--color-elevation-1);border:1px solid var(--color-neutral-20);border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}@media (min-width:768px){.project-card.svelte-1ov1t48{padding:2rem}}.project-card.svelte-1ov1t48:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-card__title-group.svelte-1ov1t48{flex:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-card__title.svelte-1ov1t48{color:var(--color-brand-100);margin:0;font-size:1.25rem}.project-card__title.svelte-1ov1t48 a:where(.svelte-1ov1t48){color:inherit;text-decoration:none;transition:color .2s}.project-card__title.svelte-1ov1t48 a:where(.svelte-1ov1t48):hover{color:var(--color-brand-125);text-decoration:underline}.project-card__meta.svelte-1ov1t48{gap:.5rem;display:flex}@media (max-width:768px){.project-card__meta.svelte-1ov1t48{flex-wrap:wrap}}.project-card__meta-pill.svelte-1ov1t48{background:var(--color-elevation-2);color:var(--color-neutral-5);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.project-card__role.svelte-1ov1t48{color:var(--color-brand-50);font-weight:var(--font-body-bold)}.project-card__type.svelte-1ov1t48{color:var(--color-neutral-50)}.project-card__description.svelte-1ov1t48{margin-bottom:1.5rem;line-height:1.5}.project-card__tech.svelte-1ov1t48{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tag.svelte-1ov1t48{background:var(--color-elevation-2);color:var(--color-neutral-50);border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.no-results.svelte-1ov1t48{text-align:center;background:var(--color-elevation-1);border:1px solid var(--color-neutral-20);border-radius:8px;padding:3rem}.no-results.svelte-1ov1t48 p:where(.svelte-1ov1t48){color:var(--color-text-secondary);margin:0;font-style:italic}.portfolio-note[data-astro-cid-hcjuqwdu]{background:var(--color-elevation-1);border-left:4px solid var(--color-brand-100);border-radius:8px;margin-top:2rem;padding:1.5rem}.portfolio-note[data-astro-cid-hcjuqwdu] p[data-astro-cid-hcjuqwdu]{margin:0}.portfolio-note[data-astro-cid-hcjuqwdu] a[data-astro-cid-hcjuqwdu]{color:var(--color-brand-100)}.specializations[data-astro-cid-hcjuqwdu]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:1rem;display:grid}.specialization[data-astro-cid-hcjuqwdu] h3[data-astro-cid-hcjuqwdu]{color:var(--color-brand-100);margin-bottom:.5rem}.specialization[data-astro-cid-hcjuqwdu] p[data-astro-cid-hcjuqwdu]{margin:0;line-height:1.5}