.portfolio-hero.svelte-1xfv7j3{padding:calc(var(--header-height) + var(--space-10)) 0 var(--space-8);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.portfolio-hero__inner.svelte-1xfv7j3{max-width:840px}.portfolio-hero.svelte-1xfv7j3 h1:where(.svelte-1xfv7j3){font-size:clamp(1.85rem,3.5vw,2.5rem);max-width:780px;margin-bottom:var(--space-4)}.portfolio-hero.svelte-1xfv7j3 p:where(.svelte-1xfv7j3){max-width:640px;font-size:var(--font-size-base);line-height:1.55}.portfolio-section.svelte-1xfv7j3{background:var(--color-bg)}.portfolio-grid.svelte-1xfv7j3{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-4)}.project-card.svelte-1xfv7j3{display:flex;flex-direction:column;min-height:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--panel-radius);transition:all var(--transition-base)}.project-card.svelte-1xfv7j3:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);box-shadow:none}.project-card__meta.svelte-1xfv7j3{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.project-card.svelte-1xfv7j3 h2:where(.svelte-1xfv7j3){font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.project-subtitle.svelte-1xfv7j3{color:var(--color-text);margin-bottom:var(--space-3)}.project-card.svelte-1xfv7j3 p:where(.svelte-1xfv7j3):not(.project-subtitle){font-size:var(--font-size-sm);line-height:1.7;margin-bottom:var(--space-4)}.project-tags.svelte-1xfv7j3{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;margin-bottom:var(--space-4)}.project-tags.svelte-1xfv7j3 span:where(.svelte-1xfv7j3){font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary)}.project-link.svelte-1xfv7j3{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.project-link.svelte-1xfv7j3 svg:where(.svelte-1xfv7j3){transition:transform var(--transition-base)}.project-link.svelte-1xfv7j3:hover svg:where(.svelte-1xfv7j3){transform:translate(3px)}
