body {
  font-family: "Anek Latin", system-ui, sans-serif;
}
/* utility for the content container so every section aligns identically */
.wrap {
  width: 100%;
  max-width: 1512px;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media (min-width: 640px) {
  .wrap {
    padding-inline: 2rem;
  }
}
@media (min-width: 1024px) {
  .wrap {
    padding-inline: 3rem;
  }
}
.clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* hide scrollbar on mobile horizontal carousels */
.no-scrollbar {
  scrollbar-width: none;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* ---- Hero slideshow ---- */
.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s ease;
}
.hero-slide.is-active {
  opacity: 1;
}
.hero-slide video,
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* image slides start zoomed & shifted so the left→right pan never reveals edges */
.hero-pan {
  transform: scale(1.12) translateX(4%);
  will-change: transform;
}
.hero-slide.is-active .hero-pan {
  animation: heroPan 9s linear 1ms both;
}
@keyframes heroPan {
  from {
    transform: scale(1.12) translateX(4%);
  }
  to {
    transform: scale(1.12) translateX(-4%);
  }
}
/* loading bar under the headline (fills across one slide duration) */
#heroProgress {
  transition: none;
}
#heroOverlay {
  transition: opacity 1s ease;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
  .hero-slide.is-active .hero-pan {
    animation: none;
  }
}
