/* Reviewed phrase boundaries, shared by every page. Keep the existing type scale. */
main .ty-heading { word-break:normal; overflow-wrap:normal; line-break:strict; text-wrap:balance; }
/* Neutralise legacy `h2 span` presentation only on these semantic wrappers. */
.ty-heading .ty-run,.ty-heading .ty-phrase { all:unset!important; }
.ty-heading .ty-run { min-width:0!important; white-space:normal!important; }
.ty-heading .ty-phrase { display:inline-block!important; white-space:nowrap!important; }
.ty-heading .ty-run::before,.ty-heading .ty-run::after,
.ty-heading .ty-phrase::before,.ty-heading .ty-phrase::after { content:none!important; }
/* The icon remains one flex item; its adjacent copy can wrap as a sentence. */
.gd-block h2.ty-heading .ty-run { flex:1 1 auto!important; }
@supports(word-break:auto-phrase){
 main :is(p,dd,dt,figcaption) { word-break:auto-phrase; line-break:strict; }
}

/* Preserve the complete quoted phrase even on a 320px phone. */
@media(max-width:360px){.bn-hero h1.ty-heading{font-size:28px}}

/* auto-phrase に未対応のブラウザ（Chrome 系以外・iPhone の Safari など）：短い説明文だけ、語の途中で折り返さない。
   長い段落には掛けない（日本語の長文が横にはみ出すため）。はみ出す時は break-word で折り返す。 */
@supports not (word-break:auto-phrase){
 main :is(.sv-lead,.sc-real-intro,.mv-work-lead,.sd-assess-lead,.lr-caption,.bn-hero__intro>p) { word-break:keep-all; overflow-wrap:break-word; line-break:strict; }
}
