/* world-gl — canvas placement. Pairs with world-scroll.css, which owns the
   fixed .ws-world holder, the Lenis CSS and the section scrims. */
.wgl-canvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block; z-index:1;
}
/* the poster carries the section until WebGL actually constructs, and stays
   as the only fallback for reduced-motion / no-WebGL */
.ws-world.wgl-on .ws-world-poster{ opacity:0; transition:opacity .8s ease-out; }
@media (prefers-reduced-motion: reduce){ .wgl-canvas{ display:none; } }
