/* Isolated enhancement for the first section only. */
#section-1 .hero-carousel {
  position: relative;
  z-index: 0;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}
#section-1 .hero-carousel-track {
  display: flex;
  transition: transform 350ms ease;
}
#section-1 .hero-carousel-slide {
  flex: 0 0 100%;
  min-width: 0;
}
#section-1 .hero-carousel-slide img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
}
#section-1.hero-carousel-enabled .hero-carousel-original-headline {
  /* Keep the original heading accessible without duplicating the image text. */
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
#section-1.hero-carousel-enabled {
  touch-action: pan-y pinch-zoom;
}
#section-1 .hero-carousel-controls {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
#section-1 .hero-carousel-button {
  pointer-events: auto;
  display: grid;
  place-items: center;
  color: #fffbdc;
  background: rgba(26, 43, 76, .75);
  border: 1px solid #cfaa6e;
  cursor: pointer;
  padding: 0;
}
#section-1 .hero-carousel-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
}
#section-1 .hero-carousel-dot {
  width: 28px;
  height: 44px;
  background: transparent;
  border: 0;
  border-radius: 50%;
}
#section-1 .hero-carousel-dot::before {
  content: '';
  width: 9px;
  height: 9px;
  border: 1px solid #b5b19a;
  background: #b5b19a;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(26, 43, 76, .3);
}
#section-1 .hero-carousel-dot[aria-current="true"]::before {
  width: 12px;
  height: 12px;
  border-color: #fffbdc;
  background: #fffbdc;
}
#section-1 .hero-carousel-button:focus-visible {
  outline: 3px solid white;
  outline-offset: 3px;
}
@media (min-width: 1024px) {
  #section-1 .hero-carousel {
    width: 100%;
    max-height: 100vh;
    background: #1a2b4c;
  }
  #section-1 .hero-carousel-slide picture {
    display: flex;
    align-items: center;
    max-height: 100vh;
    overflow: hidden;
  }
  #section-1 .hero-carousel-slide img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
  }
}
@media (max-width: 767px) {
  /* Let taps through the feature panel's decorative gradient and padding. */
  #section-1.hero-carousel-enabled .hero-mobile-features {
    pointer-events: none;
  }
  #section-1.hero-carousel-enabled .hero-mobile-features > * {
    pointer-events: auto;
  }
  #section-1 .hero-carousel {
    background: #fffbdc;
  }
  /* A stationary fade stays visible over every slide, including loop copies. */
  #section-1 .hero-carousel::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100px;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(255, 251, 220, 0), #fffbdc);
  }
  #section-1 .hero-carousel-dots {
    bottom: 8%;
  }
}
@media (prefers-reduced-motion: reduce) {
  #section-1 .hero-carousel-track { transition: none; }
}
