Для глобальной сетки (взаиморасположение крупных блоков верхнего уровня) можно создать свой блок 
.container, который будет центровщиком, а в разметке его примиксовывать или делать блоком оберткой (когда есть фон на 100%):
<div class="features  container">
    Some content
</div>
<div class="features">
    <div class="container">
      <section class="features__element">
          some content
      </section>
      <section class="features__element">
          some content
      </section>
    </div>
</div>
Затем, блокам сетки задать правила для адаптивности. 
Например…// Каскад от Мобильных к Десктопам
.container {
	width: 280px;
	padding: 0 20px; 
}
@media (min-width: 768px) {
	.container {
		width: 640px; 
		padding: 0 60px; 
	}
}
@media (min-width: 1200px) {
	.container {
		width: 960px; 
		padding: 0 100px; 
	}
}
 
Более мелкие блоки сетки — колонки, можно прописывать в файле конкретного блока, а если расположение колонок часто повторяется, то как элемент блока сетки.