Вы действительно можете перехватить входящий запрос, узнать, что это устройство iPhone / SmartPhone / Mobile, и соответственно обработать другие файлы CSS.
Я бы не определял дополнительные специфичные для мобильных устройств правила / селекторы в файле CSS, а использовал бы другой, урезанный и подготовленный файл CSS.
Но это только изменит внешний вид вашего HTML, а не то, что вы обслуживаете клиенту, в данном случае мобильное устройство.
В основном мы обслуживаем и другой HTML, поскольку вам необходимо учитывать пропускную способность. Мы предоставляем «меньше» HTML, то есть урезанную версию исходной страницы, мобильным устройствам.
Посмотрите, что Twitter делает для мобильных устройств: http://m.twitter.com/login
Они не только служат другому внешнему виду, они также служат другим HTML и менее функциональны (или менее функциональны на одной странице).