html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: clip; max-width: 100vw; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }

/* Hero carousel */
.hero-slide {
  opacity: 0;
  z-index: 0;
  transition: opacity 0.7s ease;
  pointer-events: none;
}
.hero-slide.is-active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}
.hero-content {
  display: none;
}
.hero-content.is-active {
  display: block;
  animation: heroFade 0.5s ease;
}
.hero-dot {
  width: 0.625rem;
  background: rgba(255, 255, 255, 0.45);
}
.hero-dot:hover {
  background: rgba(255, 255, 255, 0.7);
}
.hero-dot.is-active {
  width: 2rem;
  background: #fff;
}
@keyframes heroFade {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
