/* Smooth navigation scroll — no shake/jank */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* During header nav scroll: no parallax / layout side-effects */
html.is-navigating .hero-copy {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
}

html.is-navigating .particle-canvas,
html.is-navigating .cursor-glow {
  opacity: 0 !important;
  visibility: hidden;
}

/* Manual scroll: pause decorative animations only (no visibility flash) */
html.is-scrolling:not(.is-navigating) .code-wallpaper-track,
html.is-scrolling:not(.is-navigating) .aurora,
html.is-scrolling:not(.is-navigating) .float-badge,
html.is-scrolling:not(.is-navigating) .trust-track {
  animation-play-state: paused !important;
}

html.is-scrolling:not(.is-navigating) .particle-canvas {
  opacity: 0.35;
}

/* Promote decorative layers */
.particle-canvas,
.cursor-glow,
.code-wallpaper,
.scroll-progress {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.particle-canvas,
.cursor-glow {
  pointer-events: none;
  contain: strict;
}

main > section:not(.hero) {
  contain: layout style;
}

.particle-canvas.is-paused {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#home {
  scroll-margin-top: var(--chrome, 80px);
}
