В зависимости от того, какой шрифт вы используете, вы можете установить max-width
для абзаца с вычисленным значением. Это не будет точным, но я обнаружил, что в большинстве случаев это не имеет значения.
p {
max-width: calc(30em * 0.5);
}
Число, на которое вы умножаетесь, зависит от того, какой это шрифт и сколько символов занимает квадрат. Больше символов = менее точно.