/* Backdrop: the lit surface behind the page. Canvas sits under all content. */
.backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
html{background:#111214}
.portfolio-page main,.portfolio-page footer{position:relative}
/* No WebGL: the same indigo / teal / violet field, drifting in CSS. */
.backdrop-fallback body::before{content:'';position:fixed;inset:-20%;z-index:-1;pointer-events:none;
 background:radial-gradient(40% 45% at 20% 30%,rgba(79,97,205,.30),transparent 70%),radial-gradient(35% 40% at 80% 70%,rgba(24,120,130,.24),transparent 70%),radial-gradient(30% 35% at 55% 95%,rgba(130,60,170,.20),transparent 70%);
 animation:backdrop-drift 38s ease-in-out infinite alternate}
@keyframes backdrop-drift{to{transform:translate3d(6%,-4%,0) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.backdrop-fallback body::before{animation:none!important}}
.tools__grid{max-width:none}
.backdrop-on body,.backdrop-fallback body{background:transparent}
