/* ============================================================
   The world: one fixed WebGL canvas behind the whole site.
   Sections scroll over it; most of them are transparent.
   ============================================================ */
.world-canvas {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  display: block;
  width: 100%;
  height: 100%;
  background: #050304;
  transition: opacity 1.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.world-canvas.is-hidden { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .world-canvas { transition-duration: 0.01s; }
}
