Abstract: Let (k[n]) be the set of all k-element subsets of the set 1,…,n and let A,B⊆(k[n]) be two cross-intersecting families, that is, A∩B=∅ for any A∈A and B∈B. The classical cross-intersecting version of the Erdős--Ko--Rado theorem, due to Pyber and Matsumoto--Tokushige, states that if n≥2k, then ∣A∣∣B∣≤(k−1n−1)<sup>2, where the equality holds for $n>2k$ if and only if A=B is a star. In the present paper, we first give a stability result of this theorem by using Filmus's FKN theorem on the slice and linear algebra method as follows: There exists a constant $C>1$ such that if n≥2.07k and ∣A∣∣B∣≥(1−ε)(k−1n−1)<sup>2, where ε≤C<sup>2</sup></sup>n<sup>2</sup>k<sup>2, then there is a star S such that ∣SΔA∣≤Cε(kn) and ∣SΔB∣≤Cε(kn). Moreover, based on this stability result and the eigenvalues of the matrices of the Johnson scheme, we present an Erdős--Ko--Rado theorem for cross-intersecting families in the Euclidean inner product showing that if n≥2k and k≥d≥0, then ⟨vd(A),vd(B)⟩≤(dn−1)(dk)(dk−1)(k−1n−1)<sup>2</sup>+(d−1k−1)(k−dn−d−1)(k−1n−1), together with uniqueness and a corresponding stability result, where vd(A)∈R<sup>(d[n]) is the d-degree vector of A whose U-entry is the number of members in A containing U.