.theme-transitions .profile-page,
.theme-transitions .profile-card,
.theme-transitions .contact-action,
.theme-transitions .social-action,
.theme-transitions .location__route,
.theme-transitions .trust-boundary,
.theme-transitions .mobile-action-dock,
.theme-transitions .mobile-action-dock__link,
.theme-transitions .profile-details,
.theme-transitions .share-utility,
.theme-transitions .share-utilities__manual input,
.theme-transitions .channel-dialog,
.theme-transitions .channel-option,
.theme-transitions .channel-dialog__close,
.theme-transitions .theme-toggle__track {
  transition-duration: 220ms;
  transition-property: background-color, border-color, color;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.theme-transitions .portrait-frame__image {
  transition:
    filter 420ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.contact-action:focus-visible .contact-action__arrow,
.social-action:focus-visible .social-action__arrow,
.location__route:focus-visible .location__route-arrow,
.mobile-action-dock__link:focus-visible .mobile-action-dock__arrow {
  transform: translate(0.12rem, -0.12rem);
}

@media (prefers-reduced-motion: no-preference) {
  h1 {
    animation: hero-copy-enter 520ms cubic-bezier(0.22, 1, 0.36, 1) 20ms 1 backwards;
  }

  .professional-title {
    animation: hero-copy-enter 560ms cubic-bezier(0.22, 1, 0.36, 1) 70ms 1 backwards;
  }

  .positioning {
    animation: hero-copy-enter 560ms cubic-bezier(0.22, 1, 0.36, 1) 120ms 1 backwards;
  }

  .contact-action--primary {
    animation: primary-action-enter 600ms cubic-bezier(0.22, 1, 0.36, 1) 160ms 1 backwards;
  }

  .portrait-frame__image {
    animation: portrait-enter 680ms cubic-bezier(0.22, 1, 0.36, 1) 1 backwards;
  }
}

@keyframes hero-copy-enter {
  from {
    opacity: 0.74;
    transform: translateY(0.55rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes primary-action-enter {
  from {
    opacity: 0.8;
    transform: translateY(-0.35rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes portrait-enter {
  from {
    opacity: 0.84;
    transform: scale(1.06);
  }

  to {
    opacity: 1;
    transform: scale(var(--portrait-scale));
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-transitions .profile-page,
  .theme-transitions .profile-card,
  .theme-transitions .contact-action,
  .theme-transitions .social-action,
  .theme-transitions .location__route,
  .theme-transitions .trust-boundary,
  .theme-transitions .mobile-action-dock,
  .theme-transitions .mobile-action-dock__link,
  .theme-transitions .profile-details,
  .theme-transitions .share-utility,
  .theme-transitions .share-utilities__manual input,
  .theme-transitions .channel-dialog,
  .theme-transitions .channel-option,
  .theme-transitions .channel-dialog__close,
  .theme-transitions .theme-toggle__track,
  .theme-toggle__thumb,
  .theme-toggle__icon,
  .portrait-frame__orb,
  .theme-transitions .portrait-frame__image {
    transition-duration: 0.01ms;
  }

  h1,
  .professional-title,
  .positioning,
  .contact-action--primary,
  .portrait-frame__image {
    animation: none;
  }
}
