/**
 * W20-D — hover transition rhythm from reference (*_dc.html x4).
 *
 * Inventory (dominant patterns):
 *   content color     -> color 620ms ease
 *   chips / buttons   -> color|border|background 320-340ms ease
 *   opacity fades     -> 420-520ms ease
 *   transforms        -> cubic-bezier(.16,1,.3,1) 420-1100ms (component CSS)
 *
 * Rule: declare transition on the resting element (not only :hover)
 * so leave is as smooth as enter. prefers-reduced-motion stays in base.css
 * (project convention: collapse all durations).
 */

/* Default content anchors — color 620ms (reference a:hover -> steel / data-fw rhythm). */
:where(.ax-site) a {
  transition: color 620ms ease;
}

/* Display phones / emails / footer column links — content-scale color. */
.ax-site .ax-footer__phone,
.ax-site .ax-footer__email,
.ax-site .ax-footer__col a,
.ax-site .ax-footer__legal-links a,
.ax-site a.ax-menu__phone,
.ax-site a.ax-phone--display,
.ax-contact-phone__tel,
.ax-contact-team__office-phone {
  transition: color 620ms ease;
}

/* Overlay menu — large typographic links = content 620 (was 280). */
.ax-menu__link {
  transition: color 620ms ease;
}

/* File list rows — title color inherits; arrow transform stays on child. */
.ax-files__row {
  transition: color 620ms ease;
}

@media (hover: hover) and (pointer: fine) {
.ax-files__row:hover {
  color: var(--ax-steel);
}
}


/* News index rows — list titles. */
.ax-news-index__row {
  transition: color 620ms ease;
}

/*
 * Person / team tel with underline border — reference:
 * transition:color 320ms ease[, border-color 320ms ease]
 * (control-speed accent, not content 620).
 */
.ax-site a[data-tel],
.ax-site [data-person] a[href^="tel:"],
.ax-contact-team__person-tel,
.ax-team-grid__tel {
  transition: color 320ms ease, border-color 320ms ease;
}

.ax-contact-team__person-email {
  transition: color 620ms ease;
}
