.home-page .section-rule,
.home-page .route-connector {
  transform-origin: left center;
}

.home-page .ticket-paper {
  transform-origin: 50% 100%;
}

.home-page .stream-section::before {
  animation: footer-grid-pan 28s linear infinite;
}

.home-page [data-home-motion-paused]::before {
  animation-play-state: paused;
}

.home-page .text-link {
  transition: color .2s, border-color .2s;
}

.home-page .text-link:is(:hover, :focus-visible) {
  color: var(--pink);
  border-color: var(--purple);
}

.home-page .button.pink:focus-visible {
  box-shadow: 2px 2px 0 var(--ink);
  transform: translate(2px, 2px);
}

.home-page .closing .closing-button:focus-visible {
  background: #ffb7dc;
  box-shadow: 1px 1px 0 var(--ink);
  transform: translate(4px, 4px);
}

.home-page .closing-button > span {
  display: inline-block;
  transition: transform .25s;
}

.home-page .closing-button:is(:hover, :focus-visible) > span {
  transform: translateX(4px);
}

.home-page .footer-x-link:focus-visible {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .home-page .button:is(:hover, :focus-visible),
  .home-page .ticket:hover,
  .home-page .footer-x-link:is(:hover, :focus-visible),
  .home-page .closing-button:is(:hover, :focus-visible) > span {
    transform: none;
  }
}
