.home-carousel {
  width: 100%;
  min-width: 0;
  position: relative;
  scroll-margin-top: 6rem;
  overflow-x: clip;
  margin-top: clamp(1.8rem, 4vw, 2.5rem);
}
.home-carousel:first-of-type { margin-top: 0; }
.carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 1.25rem;
}
.carousel-counter {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.carousel-dots { display: flex; gap: 0.15rem; }
.carousel-dot {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.carousel-dot::before {
  content: '';
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  border: 1px solid var(--gold);
  background: transparent;
}
.carousel-dot[aria-current="true"]::before,
.carousel-dot:hover::before { background: var(--gold); }
.carousel-dot:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.carousel-ready > .feature-section {
  margin-top: 0;
  min-height: var(--carousel-slide-height, 0);
  align-content: start;
}
.home-carousel > .carousel-measure-slide {
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  min-height: 0;
  visibility: hidden;
  pointer-events: none;
  animation: none;
  transform: none;
}
.home-carousel > .trust-showcase {
  width: min(68rem, 100%);
  margin-inline: auto;
}
.carousel-ready > .carousel-enter {
  animation: titan-carousel-slide 220ms ease-out;
}
@keyframes titan-carousel-slide {
  from { opacity: 0.5; transform: translateX(calc(var(--carousel-direction, 1) * 1.5rem)); }
  to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .carousel-ready > .carousel-enter { animation: none; }
}
