How to Style in Drupal
The problem you are facing is that Drupal is so versatile that you may feel swamped by the many ways to accomplish this goal.

The things you need to do:


provide the correct body class
override the correct theme template at the appropriate context
inject the correct style sheet at the appropriate context (optional)


This is how you do it:

You must make sure that you have a body class that identifies the page you want to CSS style. Front page already has 'front' class. You can inject body class via template_preprocess_html (example here). Your CSS can then target the body class in the same style sheet (no need for separate style sheet). 

To provide separate style sheets you need to inject different style sheet for different contexts. When using the info file the style sheet is always loaded. To do it conditionally, you will need to use drupal_add_css, and as you wish to do it at a page level you need to add that function probably in template_preprocess_html. You will need to detect the page that you are on by inspecting the url, then load the CSS file that you need. Example here: Adding style sheets

Style sheets can also be removed/altered via hook_css_alter

To target different layouts for different pages, look at Drupal 7 Template (Theme Hook) Suggestions. You can use the available theme suggestions, and you can also add your own (by ading to the theme_hook_suggestions key in an appropriate preprocess_function.)

If some of this sounds too complicated, just go with the Context module. That module has a slew of plugins that can do everything I described above. There are many tutorials, as in Drupal 7 Context module - Daily Dose of Drupal episode 72.

There are also many video tutorials available on theming with Drupal Zen and Zen Grids