.gallery-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: dense; gap: 18px; align-items: stretch; }
.gallery-item { border: 0; padding: 0; background: transparent; cursor: pointer; overflow: hidden; border-radius: var(--radius-lg); min-height: 230px; box-shadow: var(--shadow-card); transition: transform .35s ease, box-shadow .35s ease; }
.gallery-item.shape-0 { grid-column: span 3; grid-row: span 2; }
.gallery-item.shape-1 { grid-column: span 3; }
.gallery-item.shape-2 { grid-column: span 2; }
.gallery-item.shape-3 { grid-column: span 4; }
.gallery-item.shape-4 { grid-column: span 2; grid-row: span 2; }
.gallery-item.shape-5 { grid-column: span 3; }
.gallery-item img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.gallery-item:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: var(--shadow-lift); }
.gallery-item:hover img { transform: scale(1.07); filter: saturate(1.1); }
.lightbox { position: fixed; inset: 0; z-index: 80; display: none; place-items: center; background: rgba(28,27,46,.88); padding: 28px; }
.lightbox.open { display: grid; }
.lightbox img { max-height: 82vh; border-radius: var(--radius-lg); box-shadow: var(--shadow-lift); }
.lightbox button { position: absolute; border: 0; background: var(--warm-white); color: var(--navy); border-radius: 50%; width: 42px; height: 42px; cursor: pointer; }
#lightbox-close { top: 22px; right: 22px; }
#lightbox-prev { left: 22px; }
#lightbox-next { right: 22px; }
@media (max-width: 900px) {
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-item, .gallery-item.shape-0, .gallery-item.shape-1, .gallery-item.shape-2, .gallery-item.shape-3, .gallery-item.shape-4, .gallery-item.shape-5 { grid-column: span 1; grid-row: span 1; min-height: 190px; }
}
