/* Responsive image layers retain the original slideshow framing. */
.home-page .w-slide { background-image: none !important; overflow: hidden; }
.home-slide-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  pointer-events: none;
}
.home-page .slide-boson .home-slide-image,
.home-page .slide-ukor .home-slide-image { object-position: 50% 60%; }
.home-page .w-slide > .link-block { position: relative; z-index: 1; }
.home-page .project-title.description { z-index: 2; pointer-events: none; }

@media (max-width: 991px) {
  .home-page .slide-hibird .home-slide-image,
  .home-page .slide-humidity .home-slide-image { object-position: 35% 50%; }
  .home-page .slide-treemme .home-slide-image { object-position: 82% 50%; }

}
@media (max-width: 767px) {
  .home-page .slide-hibird .home-slide-image,
  .home-page .slide-humidity .home-slide-image { object-position: 24% 50%; }
  .home-page .slide-treemme .home-slide-image { object-position: 67% 50%; }
  .home-page .slide-boson .home-slide-image,
  .home-page .slide-ukor .home-slide-image { object-position: 50% 50%; }
}
@media (max-width: 479px) {
  .home-page .slide-hibird .home-slide-image,
  .home-page .slide-humidity .home-slide-image { object-position: 26% 50%; }
  .home-page .slide-treemme .home-slide-image { object-position: 52% 50%; }
  .home-page .slide-boson .home-slide-image {
    inset: -18% auto auto 73%;
    width: auto;
    max-width: none;
    height: 125%;
    transform: translateX(-73%);
  }
}
/* When both billboards no longer fit, frame only the woman's poster.
   The minimum zoom keeps the left billboard outside the viewport. */
@media (max-aspect-ratio: 17/20) {
  .home-page .slide-ukor .home-slide-image {
    inset: 50% auto auto 50%;
    width: auto;
    max-width: none;
    height: max(100%, 195vw);
    transform: translate(-64.3%, -54%);
  }
}
/* Keep logo padding outside its square image dimensions. */
.home-page .header .logo .image-2 {
  box-sizing: content-box;
  width: 32px;
  height: 32px;
  max-width: none;
  object-fit: contain;
}


/* Captions stay fixed and change immediately with the active slide. */
.home-page .has-fixed-caption .w-slide .project-title.description { display: none; }
.home-page .has-fixed-caption > .home-fixed-caption {
  z-index: 3;
  pointer-events: none;
  opacity: 1;
  transition: none;
  animation: none;
}
