.home .project-link { position:relative; }

:root {
 --project-hover-surface: color-mix(in srgb, var(--text) 6%, var(--bg));
 --project-hover-edge: color-mix(in srgb, var(--text) 20%, var(--bg));
}
.home .project-link { border-radius: 9px; background: transparent; transition: none; }
.home .project-link:is(:hover,:focus-visible) { background: transparent; }
.home .project-link:is(:hover,:focus-visible) .name-row { text-decoration: none; }
.home .project-link .name-row { align-items: center; }
.home .project-link > span { position: relative; z-index: 1; }
.home .project-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity 150ms ease-out; }
.home .project-link .project-arrow { color: var(--text); display: grid; place-items: center; width: 24px; height: 24px; flex-shrink: 0; text-decoration: none; }
.project-arrow svg { display: block; transition: transform 150ms ease-out; }
.home .project-link:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
.home .project-link:is(:focus-visible)::after { opacity: 1; }
.home .project-link:focus-visible::after,.home .project-link:focus-visible svg { transition: none; }
@media(hover:hover) and (pointer:fine) {
 .home .project-link:hover::after { opacity: 1; }
 .home .project-link:hover .project-arrow svg { transform: translate(2px,-2px); }
}
@media(prefers-reduced-motion:reduce) {
 .home .project-link::after,.project-arrow svg { transition: none; }
 .home .project-link:is(:hover,:focus-visible) svg { transform: none; }
}

.home .project-link::after { background: var(--project-hover-surface); box-shadow: inset 0 0 0 1px var(--project-hover-edge); }
.home .project-link.is-engaged::after { opacity:1; }
.home .project-link .name-row { text-decoration:none; }
.project-title { position:relative; }
.glitch-copy { position:absolute;inset:0;opacity:0;pointer-events:none;user-select:none;clip-path:inset(12% 0 50%);color:var(--text); }
.glitch-copy + .glitch-copy { clip-path:inset(58% 0 8%); }
.home .project-link:active .project-arrow svg { transform:scale(.96); }
@media(prefers-reduced-motion:reduce) {
 .glitch-copy { display:none; }
 .home .project-link:active .project-arrow svg { transform:none; }
}
