.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
.project-card { color: inherit; text-decoration: none; display: block; min-width: 0; }
.project-card-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; margin-bottom: 0.65rem; }
.project-card .project-card-heading h3 { margin: 0; font-size: clamp(1rem, 1.3vw, 1.5rem); font-weight: 500; line-height: 1.35; }
.project-year { color: #000; background: #fff; border-radius: 2px; padding: 0.15rem 0.75rem; font-size: 0.875rem; font-weight: 500; white-space: nowrap; line-height: 1.2; }
.project-image { overflow: hidden; background: #111; aspect-ratio: 8 / 5; }
.project-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.project-card:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.project-card:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
@media (max-width: 599px) { .project-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; } }
