/* Original 2x source glyphs; no layout or hit-area movement. */
body[data-page="work"] .name-wave-letter{position:absolute;display:block;pointer-events:none;background:currentColor;-webkit-mask:var(--wave-glyph) center/100% 100% no-repeat;mask:var(--wave-glyph) center/100% 100% no-repeat;image-rendering:auto}
body[data-page="work"] .project-name.is-name-wave::after{visibility:hidden}
@media(prefers-reduced-motion:reduce){body[data-page="work"] .name-wave-letter{display:none}body[data-page="work"] .project-name.is-name-wave::after{visibility:visible}}

/* Scale only the visual layer; the name hit box and left edge stay fixed. */
body[data-page="work"] .name-wave-group{position:absolute;inset:0;display:block;pointer-events:none;transform-origin:left center;transform:scale(1);transition:transform 160ms ease-out}
body[data-page="work"] .name-wave-group.is-enlarged{transform:scale(1.025);transition-duration:220ms}

/* Click motion 003: compress, rebound, settle, then follow the existing link. */
@media(min-width:761px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
body[data-page="work"] .project-name.is-name-pressed::after,
body[data-page="work"] .project-name.is-name-pressed .name-wave-group{transform-origin:left center;animation:work-wave-click 280ms cubic-bezier(.22,.61,.36,1) both;transition:none}
@keyframes work-wave-click{
0%,100%{transform:scale(1.025)}
28%{transform:scale(.985)}
64%{transform:scale(1.055)}
}
}
