/* type.css — Thai-aware line breaking & typographic polish (site-wide) */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{word-break:normal;overflow-wrap:break-word;line-break:strict;hyphens:manual;font-kerning:normal}
/* headings: balanced lines, never a single dangling word */
h1,h2,h3,h4,.sc-band h2,.sc-fcard h3,.panel h3,.card h4,.services h2,.tile h4,.fl-txt h3,.fl-next h3,.stat span,.sc-num span,.fl-facts span,.sc-shot figcaption{text-wrap:balance}
/* paragraphs & descriptions: avoid orphans */
p,li,.sub,.fl-lead>p,.fl-txt>p,.panel p,.tile p,.sc-fcard p,.sc-band p,.card time,figcaption,.hub-card p,.f-hero p{text-wrap:pretty}
/* centered hero copy keeps a comfortable measure */
.f-hero p,.slide .sub,.sc-band p,.services p{max-width:min(40em,92vw)}
.f-hero h1,.slide h1,.sc-band h2{max-width:min(18em,94vw);margin-left:auto;margin-right:auto}
/* Thai text is easier to read with slightly open leading */
:lang(th) p,:lang(th) li{line-height:1.75}
:lang(th) h1,:lang(th) h2{line-height:1.25}
:lang(th) h3,:lang(th) h4{line-height:1.35}
.nw{white-space:nowrap}
/* hero notes must stay readable on photos; scroll cue only on roomy screens */
.sc-hero small,.sc-hero .sv-safe,.sc-hero .hb-file{color:rgba(255,255,255,.82)!important}
@media(max-width:720px),(max-height:620px){.sc-cue{display:none}}

/* curriculum title: two deliberate lines */
#cTitle .tl{display:block;white-space:nowrap}
@media(max-width:520px){#cTitle{font-size:clamp(20px,6.4vw,30px)}}
.c-title .tl{display:inline-block;white-space:nowrap}
@media(max-width:520px){.c-title{font-size:15.5px}.c-title .tl{display:block}}
