*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  background: #000;
  color: #fff;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

#main-content {
  opacity: 0;
  transform: translateY(22px);
  height: 100%;
}

/*
 * Scroll stage — fixed 100vh viewport, JS writes scrollTop
 * manually every frame. No scroll-snap (we snap via JS).
 * Scrollbar hidden for clean cinematic look.
 */
#scroll-stage {
  height: 100vh;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  touch-action: none; /* hand all touch gestures to pointer events, not native scroll */
}

#scroll-stage::-webkit-scrollbar {
  display: none;
}
