html, body { margin:0; }
.crt-hero-section { position:relative; width:100%; height:100vh; background:#000; overflow:hidden; }
.crt-hero-canvas { width:100%; height:100%; }
.crt-hero-canvas canvas { display:block; width:100%; height:100%; }
.crt-fallback-static { width:100%; height:80vh; background-size:cover; background-position:center; position:relative; }
.crt-fallback-static::after { content:''; position:absolute; inset:0;
  background-image: repeating-linear-gradient(to bottom, rgba(0,0,0,.12) 0, rgba(0,0,0,.12) 1px, transparent 2px, transparent 4px);
}
.crt-fadein canvas { animation: crtFade 1s ease both; }
@keyframes crtFade { from { opacity:0; transform:scale(1.03); } to { opacity:1; transform:scale(1); } }