/* Animated underline for unboxed calls to action. */
.service-card > a,
.inline-link,
.insights-head > a,
.insight-grid a {
  width: fit-content;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  padding-bottom: 3px;
  transition: background-size 320ms ease;
}

.service-card > a:hover,
.service-card > a:focus-visible,
.inline-link:hover,
.inline-link:focus-visible,
.insights-head > a:hover,
.insights-head > a:focus-visible,
.insight-grid a:hover,
.insight-grid a:focus-visible {
  background-size: 100% 1px;
}

@media (prefers-reduced-motion: reduce) {
  .service-card > a,
  .inline-link,
  .insights-head > a,
  .insight-grid a { transition: none; }
}

/* Carry the same line treatment through the main, dropdown and footer menus. */
.site-header nav > a:not(.nav-button),
.site-header .services-trigger,
.mega-column strong,
.mega-feature b,
footer a {
  width: fit-content;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  transition: background-size 320ms ease;
}

.site-header nav > a:not(.nav-button):hover,
.site-header nav > a:not(.nav-button):focus-visible,
.site-header .services-trigger:hover,
.site-header .services-trigger:focus-visible,
.mega-column a:hover strong,
.mega-column a:focus-visible strong,
.mega-feature:hover b,
.mega-feature:focus-visible b,
footer a:hover,
footer a:focus-visible {
  background-size: 100% 1px;
}

@media (prefers-reduced-motion: reduce) {
  .site-header nav > a:not(.nav-button),
  .site-header .services-trigger,
  .mega-column strong,
  .mega-feature b,
  footer a { transition: none; }
}
