html.intro-active { overflow: hidden; }
.site-intro { position: fixed; inset: 0; z-index: 100; overflow: hidden; background: #d7d7d5; pointer-events: auto; animation: intro-failsafe 3.2s step-end forwards; }
.site-intro canvas { display: block; width: 100%; height: 100%; }
@keyframes intro-failsafe { 100% { visibility: hidden; pointer-events: none; } }
@media (prefers-reduced-motion: reduce) { .site-intro { display: none; } }
