.ProjectCard-module___tXLGG__card{background-color:var(--color-surface);border:1px solid var(--color-border);transition:border-color var(--duration-micro) ease;border-radius:4px;overflow:hidden}.ProjectCard-module___tXLGG__card:hover,.ProjectCard-module___tXLGG__card:focus-within{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent)}.ProjectCard-module___tXLGG__cardLink{color:inherit;text-decoration:none;display:block}.ProjectCard-module___tXLGG__cardLink:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ProjectCard-module___tXLGG__imageWrap{aspect-ratio:3/2;background-color:var(--color-bg-subtle);overflow:hidden}.ProjectCard-module___tXLGG__image{object-fit:contain;width:100%;height:100%;padding:var(--space-4);transition:transform .2s;display:block}.ProjectCard-module___tXLGG__card:hover .ProjectCard-module___tXLGG__image,.ProjectCard-module___tXLGG__card:focus-within .ProjectCard-module___tXLGG__image{transform:scale(1.02)}.ProjectCard-module___tXLGG__body{padding:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.ProjectCard-module___tXLGG__category{font-family:var(--font-mono);font-size:var(--text-mono);background-color:var(--color-accent-subtle);color:var(--color-accent);border-radius:3px;align-self:flex-start;padding:2px 8px;display:inline-block}.ProjectCard-module___tXLGG__title{margin-top:var(--space-1);font-size:var(--text-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.ProjectCard-module___tXLGG__description{font-size:var(--text-body-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}@media (prefers-reduced-motion:reduce){.ProjectCard-module___tXLGG__card,.ProjectCard-module___tXLGG__image{transition:none}}
.ProjectsGrid-module__rbN8FG__grid{max-width:var(--container-max);padding:var(--space-8) var(--container-padding) var(--space-24);gap:var(--space-8);grid-template-columns:1fr;margin-inline:auto;display:grid}@media (min-width:768px){.ProjectsGrid-module__rbN8FG__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
