/* Static opening photograph and the same carousel at the end of the homepage. */
.home-opening,
.home-slideshow{
  --slide-gutter:clamp(12px,2vw,24px);
  --slide-gap:clamp(12px,2vw,32px);
  --slide-width:min(64%,calc((100vh - var(--header-height) - var(--slide-gutter) - var(--slide-gutter)) * .8));
  --slide-width:min(64%,calc((100svh - var(--header-height) - var(--slide-gutter) - var(--slide-gutter)) * .8));
  --slide-ease:cubic-bezier(.4,0,.2,1);
  position:relative;
  isolation:isolate;
  width:100%;
  height:calc(100vh - var(--header-height));
  height:calc(100svh - var(--header-height));
  min-height:240px;
  padding:var(--slide-gutter);
  background:var(--ink)
}
.home-slideshow{
  --carousel-image-height:calc((max(240px,calc(100vh - var(--header-height))) - var(--slide-gutter) - var(--slide-gutter)) * .5);
  --carousel-image-height:calc((max(240px,calc(100svh - var(--header-height))) - var(--slide-gutter) - var(--slide-gutter)) * .5);
  --slide-gap:clamp(6px,1vw,16px);
  --slide-width:min(64%,calc(var(--carousel-image-height) * .8));
  height:calc(var(--carousel-image-height) + var(--slide-gutter) + var(--slide-gutter));
  min-height:0
}
.home-slideshow-window{
  width:50%;
  max-width:calc(var(--carousel-image-height) * 2.4);
  margin-inline:auto;
  height:100%;
  overflow:hidden
}
.home-slideshow-controls{
  position:absolute;
  top:var(--slide-gutter);
  bottom:var(--slide-gutter);
  left:50%;
  width:calc((100% - var(--slide-gutter) - var(--slide-gutter)) * .5);
  max-width:calc(var(--carousel-image-height) * 2.4);
  transform:translateX(-50%)
}
.home-opening-photo{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden
}
.home-opening-promo{
  position:absolute;
  z-index:1;
  top:30%;
  left:50%;
  width:min(88%,1000px);
  height:auto;
  max-width:none;
  object-fit:contain;
  transform:translate(-50%,-50%);
  pointer-events:none
}
.home-opening{
  padding:0
}
.home-opening + .brand-strip{
  margin-block-start:var(--banner-gap,calc(.5lh + 6px))
}
.home-slideshow-track{
  display:flex;
  gap:var(--slide-gap);
  width:100%;
  height:100%;
  transition:transform 1100ms var(--slide-ease)
}
.home-slide{
  flex:0 0 100%;
  min-width:0;
  height:100%;
  background:var(--ink)
}
.slideshow-enhanced .home-slide{
  flex-basis:var(--slide-width);
  opacity:1
}
.home-slideshow.is-repositioning .home-slideshow-track,
.home-slideshow.is-repositioning .home-slide{
  transition:none
}
.home-opening-photo>img:first-child,
.home-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.home-opening-photo>img:first-child{
  transform:scale(1.05);
  transform-origin:center
}
.home-slide-arrow{
  position:absolute;
  top:50%;
  display:grid;
  place-items:center;
  width:52px;
  height:var(--header-action-height);
  min-height:44px;
  padding:6px 12px;
  border:1px solid transparent;
  border-radius:var(--radius);
  background:transparent;
  color:var(--white);
  transform:translateY(-50%);
  transition:color 180ms ease,transform 220ms var(--ease)
}
.home-slide-previous{
  left:8px
}
.home-slide-next{
  right:8px
}
.home-slide-arrow svg{
  width:24px;
  height:36px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:butt;
  stroke-linejoin:miter;
  filter:drop-shadow(1px 1px 1px var(--ink));
  transition:filter 180ms ease
}
@media(hover:hover){
  .home-slide-arrow:hover{
    color:var(--red);
    transform:translateY(calc(-50% - 2px))
  }
  .home-slide-arrow:hover svg{
    filter:drop-shadow(5px 5px 0 var(--ink))
  }
}
.home-slide-arrow:active{
  color:var(--white);
  transform:translate(3px,calc(-50% + 3px))
}
.home-slide-arrow:active svg{
  filter:drop-shadow(2px 2px 0 var(--red))
}
.home-slideshow button:focus-visible{
  outline:3px solid var(--white);
  outline-offset:4px
}
@media(max-width:760px){
  .home-opening + .brand-strip{
    margin-block-start:var(--banner-gap,calc(.5lh + 9px))
  }
  .home-page{
    --home-photo-slideshow-gap:44px
  }
  .home-page .hero{
    padding-bottom:var(--home-photo-slideshow-gap)
  }
  .home-page .home-slideshow{
    margin-bottom:var(--home-photo-slideshow-gap)
  }
  .home-opening,
  .home-slideshow{
    --slide-gutter:0px;
    --slide-gap:10px;
    --slide-width:100%
  }
  .home-opening-promo{
    width:calc(100% - 28px)
  }
  .home-slideshow{
    --carousel-image-height:calc(max(240px,calc(100vh - var(--header-height))) * .4);
    --carousel-image-height:calc(max(240px,calc(100svh - var(--header-height))) * .4);
    --slide-width:40%;
    height:var(--carousel-image-height)
  }
  .home-slideshow-window,
  .home-slideshow-controls{
    width:100%;
    max-width:none
  }
  .home-slide-arrow{
    width:44px;
    padding:6px 10px
  }
  .home-slide-arrow svg{
    stroke-width:3.5
  }
}
@media(prefers-reduced-motion:reduce){
  .home-slideshow-track,
  .home-slide-arrow,
  .home-slide-arrow svg{
    transition:none
  }
}
