.gallery { background: #eef0ec; }
.gallery-heading { margin-bottom: 42px; }
.gallery-heading > p { max-width: 390px; margin: 0; color: #535962; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.project { position: relative; min-height: 280px; margin: 0; overflow: hidden; background: #1a1d28; }
.project-tall { grid-row: span 2; min-height: 576px; }
.project img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; transition: transform .35s ease; }
.project:hover img { transform: scale(1.035); }
.project figcaption { position: absolute; inset: auto 0 0; padding: 50px 20px 18px; display: flex; justify-content: space-between; gap: 12px; align-items: end; color: white; background: linear-gradient(transparent, rgba(8, 10, 15, .85)); font-size: 12px; }
.project figcaption strong { font-family: Manrope, Arial, sans-serif; font-size: 16px; letter-spacing: -.02em; }
.project figcaption span { color: #bfeac4; font-weight: 700; white-space: nowrap; }
@media (max-width: 800px) { .project-grid { grid-template-columns: 1fr 1fr; } .project-tall { grid-row: span 1; min-height: 330px; } .project { min-height: 250px; } }
@media (max-width: 520px) { .project-grid { grid-template-columns: 1fr; } .project, .project-tall { min-height: 360px; } }
