Gareth,
I looked at your suggested code in your styles.css, and I think that I discovered that you might be using some incorrect arguments for these CSS styles.
word-break: break-word;
overflow-wrap: break-word;
word-wrap: break-word;
You were able to cause me to explore these CSS properties, and I discovered the correct arguments and came upon a solution that works in Safari, Chrome, IE11, Firefox, and Safari on my iPhone. I put this code in the CSS box of MORE (2.7), and it worked. I am not sure if you would want to integrate these changes in CT styles.css. By the way, apparently word-wrap might now be superseded by overflow-wrap, so having both in here might be redundant. I am not sure about this, so I am including both.
.course-content ul.ctopics li.section .content .toggle a h3,
.course-content ul.ctopics li.section .content.sectionhidden h3 {
word-wrap: normal;
overflow-wrap: normal;
word-break: normal;
}