.projects{padding-top:clamp(3rem,8vw,6rem);padding-bottom:clamp(3rem,8vw,6rem)}.projects-group{margin-top:2.5rem}.projects-group:first-of-type{margin-top:2rem}.projects-group-title{font-family:var(--font-mono);font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.projects-group-icon{color:var(--accent)}.projects-list{list-style:none;display:grid;gap:1rem}@media (min-width: 640px){.projects-list{grid-template-columns:repeat(2,1fr)}}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.project-card:hover{border-color:#00d4aa4d;box-shadow:0 8px 32px #0000004d}.project-card-inner{display:flex;flex-direction:column;height:100%}.project-card-image{display:block;aspect-ratio:16/10;background:var(--bg-elevated);border-bottom:1px solid var(--border);overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}.project-card:hover .project-card-image img{transform:scale(1.03)}.project-card-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;flex:1}.project-card-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.project-card-title a{color:var(--text)}.project-card-title a:hover{color:var(--accent)}.project-card-desc{color:var(--text-muted);font-size:.9375rem;line-height:1.55;margin-bottom:1rem;flex:1}.project-card-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.project-card-tag{font-family:var(--font-mono);font-size:.75rem;padding:.25rem .5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-muted)}.project-card-links{display:flex;flex-wrap:wrap;gap:1.25rem}.project-card-link{font-family:var(--font-mono);font-size:.8125rem;font-weight:500}.project-card-link-muted{color:var(--text-muted)}
