.button,
.nav-cta,
.lang-switch,
.chapter-rail a,
.nav a::after {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.button:hover,
.nav-cta:hover { transform: translate(-3px, -3px); box-shadow: 4px 4px 0 var(--bone); }
.button-ghost:hover { background: var(--bone); color: var(--ink); }
.button-bone:hover { box-shadow: 4px 4px 0 var(--ink); }
.lang-switch:hover { border-color: var(--pink); color: var(--pink); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .depth-layer { translate: 0 0; }
  .zombie { min-height: 840px; }
  .zombie-sticky { position: relative; min-height: 840px; }
}
