.floor-energy{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}
.floor-cable{fill:none;stroke:#e3262a;stroke-width:1;opacity:.16}
.floor-current{fill:none;stroke:#ff4b43;stroke-width:2;stroke-linecap:round;stroke-dasharray:.2 .8;stroke-dashoffset:.2;opacity:0;filter:drop-shadow(0 0 4px #ff3a30)}
@media(prefers-reduced-motion:no-preference){
 .current-playing .current-trunk{animation:floor-flow 1.6s linear both}
 .current-playing .current-branch{animation:floor-flow 3.6s cubic-bezier(.2,.5,.4,1) 1.1s both}
 .current-playing .current-terminal{animation-delay:1.2s}
 .button>span,.text-link>span{display:inline-block;transition:transform .22s ease}
 .button:hover>span,.button:focus-visible>span,.text-link:hover>span,.text-link:focus-visible>span{transform:translate(3px,-3px)}
 .service-card,.project-card{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1),border-color .2s}
 .service-card.reveal-pending,.project-card.reveal-pending{opacity:0;transform:translateY(22px)}
}
@keyframes floor-flow{0%{opacity:0;stroke-dashoffset:.2}12%{opacity:.85}80%{opacity:.85}100%{opacity:0;stroke-dashoffset:-1}}
@media(max-width:760px){.floor-energy{display:none}}
@media(prefers-reduced-motion:reduce){.floor-energy{display:none}.reveal-pending{opacity:1!important;transform:none!important}}
