Let $X$ be a finite-dimensional normed space, and $V\subset X$ a vector subspace. For a point $x\in X$ we define a closest projection of $x$ onto $V$ to be a minimizer $v^\star$ of $\|v-x\|$ amongst $v\in V$.
Under what conditions on the norm, can we guarantee that for all $V$ and $x$ there exist a projection $v^\star$ of $x$ onto $V$ for which furthermore there holds $\|v^\star\|\leq \|x\|$?
note based on comments It's obvious that $\|v^\star - x\|\leq \|x\|$, but I didn't ask that. (removed some inaccurate/outdated comments)
Additional facts found later, and a conjecture (23 may 2024):
In general we can always prove $||v^\star||\leq 2||x||$.
To see this, note that the projection of $x$ to a subspace is in the intersection of that subspace with the smallest ball centered at $x$ that intersects it (a "tangent" ball if you wish, with possibly higher cardinality tangent set). Then the projection to any subspace, is contained into the ball $B_x:=B_{||\cdot||}(x, ||x||)=\{y:\ ||x-y||\leq ||x||\}$ because $B_x$ intersects any vector subspace. Then, it is easy to see that $B_{||\cdot||}(x,||x||)\subseteq B_{||\cdot||}(0,2||x||)$ by triangle inequality, as desired.
Thus, for any norm there exists a constant $1\leq C\geq 2$ such that any projection $v^\star$ of a point $x$ onto a subspace satisfies $||v^\star||\leq C||x||$.
Furthermore, it is easy to see that Pythagoras theorem allows to show $C=1$ for Hilbert norms.
One can show that can't do better than $C=2$ for $\ell_1, \ell_\infty$ (take $x=e_1$ in the first case, and $x=(1,\dots, 1)$ in the second case, and $V$ approaching a facet of the ball $B_{||\cdot||}(x,||x||)$ from the inside).
Open questions:
1. I would conjecture (this was hinted by fedja's comment) that Hilbert norms are the only ones for which $C=1$ and the unit ball is strictly convex, in $2$-dimensional spaces at least.
2. Without strict convexity, I think that unit ball a regular hexagon has $C=1$, are there other 2D examples?
3. I don't know how to characterize cases in which $C=2$.
Please if you put a downvote, kindly explain why, so that I understand my own errors?