.personal-page .page-intro { max-width: 49rem; margin-bottom: 2.5rem; }
.photo-gallery { display: grid; gap: 2rem; }
.photo-row { display: grid; gap: 1.5rem; align-items: start; }
.photo-row.landscapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.photo-row.portraits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.photo-row.closing { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: center; }
.photo-gallery figure { margin: 0; min-width: 0; }
.photo-gallery figure > a { display: block; border-radius: 8px; }
.photo-gallery img { width: 100%; height: auto; border-radius: 8px; background: var(--surface); }
.photo-gallery a:focus-visible { outline: 3px solid var(--navy); outline-offset: 5px; }
.photo-gallery figcaption { margin-top: 0.7rem; font-size: 0.95rem; line-height: 1.55; color: var(--muted); }
@media (max-width: 760px) {
  .personal-page .page-intro { margin-bottom: 2rem; }
  .photo-gallery { gap: 1.75rem; }
  .photo-row.landscapes, .photo-row.portraits, .photo-row.closing { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
}
