How to limit camera rotation?

How to limit camera rotation to make it look like in the example (https://2018.craftedbygc.com/#enter)?
I tried another solution, which works similarly, but it uses lookAt… https://threejs.org/examples/webgl_camera_logarithmicdepthbuffer.html

How about using the controls of: https://threejs.org/examples/webgl_materials_normalmap

You only have to add a zoom event listener which translates the camera along the z-axis.

Thx for responce, but this example rotates mesh, it doesn’t change the camera. Please take a look at my example.

I’ve just started using FirstPersonControls, it works good, but supports only constrainVertical, but I need a constrainHorizontal too.