.h-scroll-wrapper {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  display: flex;
  gap: 1.5rem;
  padding-bottom: 1rem;
}
.h-scroll-wrapper::-webkit-scrollbar {
  height: 4px;
}
.h-scroll-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.h-scroll-wrapper::-webkit-scrollbar-thumb {
  border-radius: 9999px;
  background: currentColor;
  opacity: 0.4;
}
.h-scroll-panel {
  min-width: min(80vw, 420px);
  scroll-snap-align: start;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .h-scroll-panel {
    min-width: 380px;
  }
}
@keyframes scrollHint {
  0%   { transform: translateX(0); opacity: 0.8; }
  50%  { transform: translateX(8px); opacity: 1; }
  100% { transform: translateX(0); opacity: 0.8; }
}
.scroll-hint-icon {
  animation: scrollHint 1.5s ease-in-out infinite;
}
.h-dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 9999px;
  background: currentColor;
  opacity: 0.3;
  transition: opacity 0.2s, width 0.25s;
  cursor: pointer;
}
.h-dot.active {
  opacity: 1;
  width: 1.25rem;
}
.policy-hscroll-small-text {
  font-size: 0.65rem;
}
.policy-hscroll-meta-text {
  font-size: 0.7rem;
}

