/* Captions stay visible on desktop and touch screens. */
.gallery-page .gallery-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.gallery-page .gallery-item { aspect-ratio: auto; cursor: default; background: rgba(255,255,255,0.04); }
.gallery-page .gallery-item figure { display: flex; flex-direction: column; }
.gallery-page .gallery-image-link { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #101010; }
.gallery-page .portrait-item img { object-fit: contain; }
.gallery-page .gallery-image-link:focus-visible { outline: 3px solid var(--accent-color); outline-offset: -3px; }
.gallery-page .gallery-item figcaption { padding: 1.25rem; }
.gallery-page .gallery-item figcaption h2 { font-size: 1.1rem; line-height: 1.4; margin-bottom: .5rem; }
.gallery-page .gallery-item figcaption p { font-size: .9rem; color: var(--text-secondary); }
.gallery-page .section-title a { color: var(--accent-color); }
