.home-gallery { position:relative; }
.home-gallery-window { position:relative; }
.camera-slide { position:absolute; inset:0; opacity:0; animation:none; transition:opacity 2s ease-in-out; }
.camera-slide.is-current { opacity:1; }
.home-gallery figcaption { justify-content:flex-end; }
.camera-caption { margin-right:auto; }
.camera-caption,.camera-dots,.camera-note { opacity:0; transition:opacity .2s ease; }
.home-gallery:not(:hover):not(:focus-within) .camera-dots { pointer-events:none; }
.home-gallery:hover :is(.camera-caption,.camera-dots,.camera-note),
.home-gallery:focus-within :is(.camera-caption,.camera-dots,.camera-note) { opacity:1; }
@media(prefers-reduced-motion:reduce) { .camera-slide,.camera-caption,.camera-dots,.camera-note { transition:none; } }
.home-gallery { padding:0; overflow:hidden; }
.home-gallery .camera-overlay {
  position:absolute; z-index:2; inset:auto 0 0; margin:0;
  display:block; padding:.6rem .4rem .3rem; text-align:center;
  background:linear-gradient(transparent,rgba(9,20,31,.9));
  opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.home-gallery:hover .camera-overlay,.home-gallery:focus-within .camera-overlay { opacity:1; pointer-events:auto; }
@media(prefers-reduced-motion:reduce) { .home-gallery .camera-overlay { transition:none; } }