/* OVERCLOCK signature: the lab's hover-to-corrupt glitch. The wordmark is solid
   electric violet (#7A1FFF); two data-text layers (electric + hot magenta
   #F23DBE) sit hidden at rest and RGB-split on hover/focus. Reduced-motion:
   clean and still. Always fully legible (additive layers, never a clip). */
.hero .wordmark,.site-foot .fw{position:relative}
.hero .wordmark::before,.hero .wordmark::after,.site-foot .fw::before,.site-foot .fw::after{
  content:attr(data-text);position:absolute;top:0;left:0;width:100%;
  -webkit-text-fill-color:initial;background:none;pointer-events:none;opacity:0;
  overflow-wrap:break-word;max-width:inherit;letter-spacing:.005em}
.hero .wordmark::before,.site-foot .fw::before{color:#7A1FFF;mix-blend-mode:screen}
.hero .wordmark::after,.site-foot .fw::after{color:#F23DBE;mix-blend-mode:screen}
@media (prefers-reduced-motion:no-preference){
  @keyframes oc-shift{0%{transform:translate(-3px,0)}50%{transform:translate(2px,-1px)}100%{transform:translate(-3px,0)}}
  @keyframes oc-shift-rev{0%{transform:translate(3px,0)}50%{transform:translate(-2px,1px)}100%{transform:translate(3px,0)}}
  .hero .wordmark:hover::before,.hero .wordmark:focus-visible::before,.site-foot .fw:hover::before,.site-foot .fw:focus-visible::before{opacity:.92;animation:oc-shift .42s steps(2,end) infinite}
  .hero .wordmark:hover::after,.hero .wordmark:focus-visible::after,.site-foot .fw:hover::after,.site-foot .fw:focus-visible::after{opacity:.92;animation:oc-shift-rev .42s steps(2,end) infinite}
  .hero .hero-plate::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;
    background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}
}
