.text-link { display:inline-flex; align-items:center; min-height:44px; gap:12px; font-size:14px; }
.text-link, .text-link:hover { text-decoration:none; border-bottom:0; }
.link-label { position:relative; padding-bottom:2px; }
.link-label::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:currentColor; opacity:.4; transform-origin:left; transition:opacity .3s,transform .3s; }
.text-link:hover .link-label::after, .text-link:focus-visible .link-label::after { opacity:1; transform:scaleX(.86); }
.link-arrow { filter:var(--icon-filter); flex-shrink:0; transition:transform .32s cubic-bezier(.22,1,.36,1); }
.text-link:hover .link-arrow, .text-link:focus-visible .link-arrow { transform:translateX(3px) rotate(45deg); }
@media(prefers-reduced-motion:reduce) {
  .link-label::after, .link-arrow { transition:none; }
  .text-link:hover .link-label::after, .text-link:focus-visible .link-label::after,
  .text-link:hover .link-arrow, .text-link:focus-visible .link-arrow { transform:none; }
}
