.profile-gallery { border-top: 1px solid var(--page-line); padding-block: 64px; }
.profile-gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.profile-gallery-heading .eyebrow { margin-bottom: 12px; }
.profile-gallery-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); }
.profile-gallery-heading .demo-note { max-width: 38ch; }
.profile-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.profile-gallery-item { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--page-line); border-radius: 8px; background: var(--page-bg); }
.gallery-photo { position: relative; overflow: hidden; aspect-ratio: 3 / 2; }
.gallery-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.profile-gallery-item figcaption { padding: 12px 16px; color: var(--page-body); font-size: 12px; }
.gallery-thumbnail { position: absolute; inset: 0; display: grid; place-items: end start; width: 100%; padding: 16px; border: 0; background: linear-gradient(0deg, rgb(0 0 0 / .52), transparent 45%); color: #fff; font: inherit; cursor: pointer; text-align: left; text-decoration: none; }
.gallery-thumbnail img { filter: invert(1); margin-left: 12px; }
.gallery-thumbnail span { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 14px; border: 1px solid rgb(255 255 255 / .62); border-radius: 6px; background: rgb(9 10 11 / .72); font-size: 13px; }
.gallery-photo:has(.gallery-thumbnail:hover) > img { transform: scale(1.02); }
@media (max-width: 700px) {
  .profile-gallery { padding-block: 48px; }
  .profile-gallery-heading { display: block; }
  .profile-gallery-heading .demo-note { margin-top: 16px; }
  .profile-gallery-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .profile-gallery-item img { transition: none; } }
