#services .ios-portal .call-player.is-playing .call-wave i {
  animation: call-wave-pulse 1.2s ease-in-out infinite alternate;
  animation-delay: calc(-1 * var(--bar-delay));
  transform-origin: center;
}

@keyframes call-wave-pulse {
  from { transform: scaleY(.65); }
  to { transform: scaleY(1); }
}

#services .ios-portal .call-transcript p { display: grid; }
#services .ios-portal .call-transcript p > .call-transcript-reserve,
#services .ios-portal .call-transcript p > .call-transcript-text {
  grid-area: 2 / 1;
  font: inherit;
  color: inherit;
  margin: 0;
}
#services .ios-portal .call-transcript-reserve { visibility: hidden; }
#services .ios-portal .call-transcript p.is-typing .call-transcript-text::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 1em;
  margin-left: 2px;
  background: #007aff;
  vertical-align: -0.12em;
  animation: call-transcript-caret .8s step-end infinite;
}

@keyframes call-transcript-caret {
  50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  #services .ios-portal .call-player.is-playing .call-wave i {
    animation: none;
  }
  #services .ios-portal .call-transcript p.is-typing .call-transcript-text::after {
    animation: none;
  }
}
