.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: #2f5b1f;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition:
    transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
    gap 240ms cubic-bezier(0.22, 1, 0.36, 1),
    color 220ms ease,
    text-shadow 220ms ease;
  animation: backLinkEnter 360ms cubic-bezier(0.22, 1, 0.36, 1) 35ms both;
  -webkit-tap-highlight-color: transparent;
}

@keyframes backLinkEnter {
  from {
    opacity: 0;
    transform: translateX(-14px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.back-link:hover,
.back-link:focus-visible {
  color: #1f4d12;
  gap: 0.56rem;
  transform: translateX(1px);
  text-shadow: 0 0 14px rgba(74, 163, 56, 0.28);
  outline: none;
}

.back-link:active {
  transform: translateX(0);
  text-shadow: none;
}

.back-link-arrow {
  display: inline-block;
  transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.back-link:hover .back-link-arrow,
.back-link:focus-visible .back-link-arrow {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .back-link,
  .back-link-arrow {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
