  For an undirected edge-weighted graph $G$ and a set $R$ of pairs of vertices
called pairs of terminals, a multicut is a set of edges such that removing
these edges from $G$ disconnects each pair in $R$. We provide an algorithm
computing a $(1+\varepsilon)$-approximation of the minimum multicut of a graph
$G$ in time $(g+t)^{(O(g+t)^3)}\cdot(1/\varepsilon)^{O(g+t)} \cdot n \log n$,
where $g$ is the genus of $G$ and $t$ is the number of terminals.
  This result is tight in several aspects, as the minimum multicut problem is
both APX-hard and W[1]-hard (parameterized by the number of terminals), even on
planar graphs (equivalently, when $g=0$).
  In order to achieve this, our article leverages on a novel characterization
of a minimum multicut as a family of Steiner trees in the universal cover of a
surface on which $G$ is embedded. The algorithm heavily relies on topological
techniques, and in particular on the use of homotopical tools and computations
in covering spaces, which we blend with classic ideas stemming from
approximation schemes for planar graphs and low-dimensional geometric inputs.
