Есть несколько вариантов подхода верстки разных версий сайта. На мой взгляд, если сайт разрабатывается с нуля, то наиболее правильным будет подход Mobile first. Смысл в том, что вы изначально делаете сайт под мобильные устройства, а уже после, с помощью медиа выражений, добавляете функционал на страницу для ПК и больших экранов.
Вот неплохая статья на данную тему:
https://m.habr.com/ru/post/269419/
Ps. Что вы имели ввиду под "программой для верстки" не очень понял. Верстать можно и в блокноте, и в ide (интегрированная среда разработки), но и там и там нужны как минимум базовые понятия разметки html и стилизации css, в данном случае последняя (ide) просто позволяет упростить и ускорить саму разработку и тестирование, но писать в любом случае придется ручками.