Step 1: Picture what an orthogonal matrix does geometrically.
An orthogonal matrix with orthonormal columns represents a rigid transformation: it can rotate or reflect vectors, but it never stretches, shrinks, or changes angles between them. This single geometric fact settles every option.
Step 2: Use the no stretching idea for the determinant.
A rigid transformation does not change volumes, only orientation. Volume scaling equals $|\det(A)|$, so $|\det(A)|=1$, meaning $\det(A)=\pm1$. A pure rotation gives $+1$; a reflection gives $-1$. Either way, statement (A) holds.
Step 3: Use the no stretching idea for eigenvalues.
If $v$ is an eigenvector with eigenvalue $\lambda$, applying $A$ scales $v$ by $\lambda$. A rigid transformation cannot change the length of any vector it acts on, so the scaling factor must satisfy $|\lambda|=1$. This confirms statement (B).
Step 4: Use the angles preserved idea for the inner product.
Preserving lengths and angles together means $\|Ax\|=\|x\|$ and $(Ax)^T(Ay)=x^Ty$ for every pair of vectors $x,y$, not merely distinct ones. This is exactly what a rigid transformation means, and it matches statement (D) word for word.
Step 5: Rule out statement (C) using the same idea.
Statement (C) says the inner product changes for distinct $x,y$. But a rigid map keeps every inner product fixed, including for distinct vectors. So (C) is false; it would only apply to a transformation that is not rigid, which an orthogonal matrix is not.
Step 6: Conclude.
\[ \boxed{\text{(A), (B), and (D) are correct}} \]