.project-gallery { border-top: 1px solid var(--line); scroll-margin-top: 125px; }
.project-gallery .section-head h2 { margin-top: 16px; }
.project-gallery .section-head > p { max-width: 360px; }
.project-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.project-gallery-grid figure { min-width: 0; margin: 0; }
.project-gallery-grid a { position: relative; display: block; overflow: hidden; border-radius: 8px; background: #edf0eb; }
.project-gallery-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3/4; object-fit: contain; }
.project-gallery-grid figcaption { padding: 16px 0 0; color: var(--ink); font-size: 1rem; font-weight: 600; }
.gallery-enlarge { position: absolute; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid #ffffffaa; border-radius: 50%; background: #ffffffed; color: #173f46; font-size: 22px; line-height: 1; }
.project-gallery-grid a:hover .gallery-enlarge { background: #d8eedf; }
.project-gallery-grid a:focus-visible { outline: 3px solid #34785e; outline-offset: 4px; }
@media(max-width:1000px){.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:480px){.project-gallery-grid{grid-template-columns:1fr;gap:28px}.project-gallery .section-head{gap:20px}.project-gallery-grid figcaption{padding-top:12px}}
