I'm developing a site using SharePoint Server 2010 in Visual Studio 2010. **I'm having trouble determining which Feature Scopes are right for my features.**

1. I have a feature which includes a **custom Master Page, custom CSS for this master page and modifications to the ribbon**. The entire site will use this master page and this CSS. **Is the *Site* scope right for this? Or should I use the *Web Application* scope?**
2. I have a feature which includes **custom Page Layouts**. Most pages on the site will use one of these page layouts. **Is the *Site* scope right for this? Or should I use the *Web Application* scope?**
3. I have a feature which includes **custom Visual Web Parts**. Most pages on the page will contain one or more of these web parts. **Is the *Site* scope right for this? Or should I use the *Web Application* scope?**

Currently I'm going for the *Site* scope for all of them, since I have no real *instances* of anything in my features - just *definitions*. But since either scope works fine when developing and deploying from within Visual Studio 2010, I find it hard to determine which scope is right - and to perceive the implications of the differences between the scopes. And perhaps the *Web Application* scope - or even the *Farm* scope - would be more right for one or more of these features?

(I have no idea what the deployment scenario looks like in terms of farms, servers, sites and so on. I would like for my features to work regardless.)