body.home .inv-hub .home-carousel-track > section.hp-hero {
  min-height: calc(100svh - var(--site-header-height));
}

.home-carousel { position: relative; background: #f4f5f7; }
.home-carousel-window {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.home-carousel-window::-webkit-scrollbar { display: none; }
.home-carousel-track { display: flex; align-items: flex-start; }
.home-carousel-track > .hp-hero { flex: 0 0 100%; min-width: 0; box-sizing: border-box; scroll-snap-align: start; }
.home-carousel [hidden] { display: none !important; }

.inv-hub section.home-carousel-feature { background: #f4f5f7 !important; }
.home-carousel-feature.hp-hero::before { content: none; }
.home-carousel-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.home-carousel-feature h2 {
  font-size: clamp(2rem, 4.1vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  color: #0f2238;
  margin: 0 0 18px;
}
.home-carousel-kicker {
  font: 600 .8rem/1.4 var(--sans);
  color: #0b5f55;
  margin: 0 0 12px;
}
.home-carousel-feature .inv-hero-copy :is(.inv-lede,.inv-cta) { animation: none; }

.inv-hub section.home-carousel-monitor { background: #23272d !important; }
.home-carousel-monitor .home-carousel-photo { object-position: center 65%; }
.home-carousel-monitor.hp-hero::before {
  content: "";
  inset: 0;
  z-index: 0;
  background: linear-gradient(0deg, rgb(16 19 23 / .98), rgb(16 19 23 / .78) 35%, transparent 82%);
  opacity: 1;
  filter: none;
  animation: none;
}
.hp-hero.home-carousel-monitor > .inv-hero-grid {
  position: relative;
  align-content: end;
  padding-bottom: clamp(52px, 7vh, 84px);
}
.home-carousel-monitor :is(h2,.home-carousel-kicker,.inv-hero-copy .inv-lede) { color: #fff; }

.home-carousel-controls {
  position: absolute;
  z-index: 2;
  inset-inline-start: 50%;
  inset-block-end: 8px;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-carousel-controls button {
  display: grid;
  place-items: center;
  background: transparent;
  border: 0;
  color: #333b42;
  width: 24px;
  height: 32px;
  padding: 0;
  cursor: pointer;
}
.home-carousel-dot::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(51 59 66 / .3);
}
.home-carousel-dot[aria-current="true"]::before {
  background: #333b42;
}
@media (prefers-reduced-motion: reduce) {
  .home-carousel-track { transition: none; }
}


.home-carousel-controls.on-photo .home-carousel-dot::before { background: rgb(255 255 255 / .4); }
.home-carousel-controls.on-photo .home-carousel-dot[aria-current="true"]::before { background: #fff; }
