/* Seasonal photography keeps the original four-part atelier composition. */
#posMosaic .mz-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1400ms cubic-bezier(.45, 0, .55, 1);
}
#posMosaic .mz-layer.is-visible { opacity: 1; }
#posMosaic .mz:focus-visible .mz-cap { opacity: 1; transform: none; }
#posMosaic .mosaic-playback {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--cream);
  color: var(--ink);
  font: 10px var(--mono);
  letter-spacing: .08em;
  cursor: pointer;
}
#posMosaic .mosaic-playback[hidden] { display: none; }
.process .gallery { min-width: 0; }
.process .gal-caption {
  margin: 0;
  min-height: 2.8em;
  color: var(--ink-2);
  font: 11px/1.4 var(--mono);
  letter-spacing: .04em;
}
.process .gal-thumbs {
  display: flex;
  overflow-x: auto;
  gap: 10px;
  padding: 3px 3px 10px;
  margin: -3px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: var(--accent) transparent;
}
.process .gal-thumb {
  flex: 0 0 calc((100% - 45px) / 5.5);
  scroll-snap-align: start;
}
.process .gal-thumb.active { outline: 2px solid var(--accent); outline-offset: 1px; }
.process .gal-nav { opacity: 1; width: 44px; height: 44px; }
.process .gal-expand { min-height: 44px; }
.process .gal-thumb:focus-visible,
.process .gal-nav:focus-visible,
.process .gal-expand:focus-visible,
.mosaic-playback:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
@media (max-width: 640px) {
  #atelierGallery .gal-main { aspect-ratio: 4 / 5; }
  .process .gal-thumb { flex-basis: calc((100% - 35px) / 4.5); }
  #posMosaic .mosaic-playback { right: 18px; bottom: 18px; }
  #lightbox .lb-cap, #posLb .lb-cap { width: calc(100% - 32px); border-radius: 14px; bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #posMosaic .mz-layer { transition: none; }
  .process .gal-main img { transition: none; }
}
