.projects-section{width:min(1160px,100%);margin:0 auto}.project-grid{gap:1.25rem;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(160deg, var(--card-cool), transparent 35%), var(--card-bg);min-width:0;box-shadow:var(--shadow);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:1.8rem;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);border-color:#2280b047;transform:translateY(-5px)}.project-card a{background:var(--interactive-bg);display:block;overflow:hidden}.project-card img{aspect-ratio:16/11;object-fit:contain;width:100%;transition:transform .52s var(--ease-out), filter .52s var(--ease-out)}.project-card:hover img{filter:saturate(1.08)contrast(1.03);transform:scale(1.03)}.project-copy{padding:1.25rem 1.25rem 1.4rem}.project-copy h3{overflow-wrap:break-word;margin-bottom:.75rem;font-size:1.25rem}.project-copy p{color:var(--muted);overflow-wrap:break-word;line-height:1.8}.project-tag{border:1px solid var(--line-strong);background:var(--interactive-bg);max-width:calc(100% - 2rem);color:var(--accent-soft);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:break-word;transition:border-color var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease;border-radius:999px;margin:1rem 1rem 0;padding:.45rem .7rem;font-size:.78rem;display:inline-flex}.project-card:hover .project-tag{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:var(--interactive-bg-hover);color:var(--text)}@media (width>=768px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
