/* brand glitch effect (navbar only) */
:root{--brand:#1e40af}
.glitch{position:relative;display:inline-block;color:var(--brand);}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;opacity:.9;mix-blend-mode:screen}
.glitch::before{transform:translate(1px,-1px);text-shadow:1px 0 rgba(0,255,255,.6)}
.glitch::after{transform:translate(-1px,1px);text-shadow:-1px 0 rgba(255,0,128,.6)}
@keyframes gshift{0%{clip-path:inset(0 0 0 0)}20%{clip-path:inset(0 0 80% 0)}40%{clip-path:inset(20% 0 60% 0)}60%{clip-path:inset(60% 0 20% 0)}80%{clip-path:inset(85% 0 0 0)}100%{clip-path:inset(0 0 0 0)}}
.glitch::before,.glitch::after{animation:gshift 2.6s steps(12) infinite}
@media (prefers-reduced-motion: reduce){.glitch::before,.glitch::after{animation:none;transform:none;text-shadow:none;opacity:0}}
