There are different ways to set up a frontpage in drupal. I think the 2 most used ways are panels or context.
Panels allows you to create a page through drag and drop functinality. Almost every piece of content created in drupal (nodes, views, blocks, custom blocks, ...) can be added to a panel. In addition to that, if you use for example "omega" as a base theme, omega has a couple of default (responsive) build in templates you can use with the panels module.
Context allows you to expose content through conditions. So you can expose a block, view, node,... only on your frontpage. You will have to apply css to make your frontpage responsive though...
Both modules have there advantages and disadvantages, you should check them out and decide which is best for you. I'm certain there are other ways to create a frontpage, but this is how I usually get the job done.