Is CiviCRM a good choice for a website front end AND membership management?
welcome to the community.

In short:

Q1. &amp; Q2. are easily met with CiviCRM.

Q3. Can be done with a little effort.

Q4. This would be provided by your Content Management System (CMS). CiviCRM works with Drupal, WordPress, and Joomla!. For this, I'd go with Drupal (with which you could do this through configuration), but this functionality may also be provided by Joomla! and WordPress plugins.

Hope this helps!