/* Keep words intact; avoid automatic syllable breaks in all supported languages. */
h1,h2,h3,h4,p,li,a,button,label,summary,blockquote{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal;overflow-wrap:break-word}
.back-to-top{position:fixed;left:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:12px 16px;border-radius:24px;background:var(--navy);color:#fff;box-shadow:0 4px 18px #061b3d30;text-decoration:none;font-size:14px;font-weight:600}
.back-to-top[hidden]{display:none}
.back-to-top:hover{background:var(--brand);color:#fff}
.back-to-top:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
#page-top{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;outline:none}
@media(max-width:750px){.back-to-top{left:12px;bottom:max(14px,env(safe-area-inset-bottom));padding:12px}.back-to-top span{display:none}}
/* Never strand individual letters. Long headings are fitted to their container. */
h1,h2,h3,h4,h5,h6,p,li,button,label,summary,blockquote{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;-webkit-hyphens:none!important}
h1,h2,h3,h4,h5,h6{min-width:0;max-width:100%}
h1 a,h2 a,h3 a,h4 a{overflow-wrap:normal!important;word-break:normal!important}
.hero-copy,.phero .container,.svc-card__body,.directory-card{min-width:0}
.contact-list a,.location-contact__details>a,.reference-figure figcaption a{overflow-wrap:anywhere}
/* Give the original Hero typography space; never resize the text in JavaScript. */
@media(min-width:751px){
 .video-journey .hero-copy,.video-journey[data-scene="5"] .hero-copy{width:min(72vw,860px);max-width:none}
 .video-journey .hero-copy h1{max-width:none}
}
@media(max-width:750px){
 .video-journey .hero-copy{left:12px;width:calc(100% - 24px);max-width:none}
 .video-journey .hero-copy h1{max-width:none}
}
