Для поворота горизонтального сайта на 90° в CSS можно использовать следующий код:
```
@media screen and (max-width: 768px) {
body {
transform: rotate(90deg);
transform-origin: top left;
width: 100vh;
height: 100vw;
overflow-x: hidden;
position: absolute;
top: 100%;
left: 0;
}
}
```
Этот код будет применяться только на устройствах с шириной экрана до 768px (портретная ориентация смартфона), и повернет содержимое сайта на 90° для лучшего просмотра.
Чтобы браузер корректно открывал горизонтальный сайт на смартфоне в вертикальном режиме без сдвига содержимого, можно добавить следующие CSS свойства:
```
body {
width: 100vh;
height: 100vw;
transform-origin: top left;
transform: rotate(-90deg) translateY(-100%);
overflow-x: hidden;
position: absolute;
}
```
Этот код позволит корректно отобразить горизонтальный сайт в вертикальном режиме браузера, без смещения содержимого в сторону.