/* Native CJK font stacks; retain CLEO's existing visual structure. */
html[lang=ja]{--font-body:'Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo','Noto Sans JP',sans-serif;--font-title:var(--font-body)}
html[lang=zh-Hans]{--font-body:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--font-title:var(--font-body)}
:is(html[lang=ja],html[lang=zh-Hans]) body{font-family:var(--font-body);line-height:1.8}
:is(html[lang=ja],html[lang=zh-Hans]) :is(h1,h2,h3,.prep-app,.contact-choice-copy,.desktop-nav a){font-family:var(--font-body);letter-spacing:-.015em}
:is(html[lang=ja],html[lang=zh-Hans]) :is(h1,h2,h3){line-height:1.45;overflow-wrap:anywhere;text-wrap:pretty}
:is(html[lang=ja],html[lang=zh-Hans]) .model-hero h1{font-size:clamp(32px,3.5vw,54px);font-weight:600;line-height:1.45;letter-spacing:-.035em}
:is(html[lang=ja],html[lang=zh-Hans]) .campaign-track .hero-lead{font-size:18px!important;line-height:1.8;word-break:normal}
:is(html[lang=ja],html[lang=zh-Hans]) .slide-copy h2{font-size:clamp(30px,3vw,46px);line-height:1.45}
:is(html[lang=ja],html[lang=zh-Hans]) .slide-copy .director-name{font-size:22px}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.page-intro h1,.events-heading h2){font-size:clamp(30px,3.5vw,48px);font-weight:650;letter-spacing:-.025em}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.section h2,.signature-copy h2,.craft-copy h2,.academy-copy h1,.academy-copy h2,.academy-enquire h2){font-size:clamp(28px,3vw,42px);font-weight:650;line-height:1.45;letter-spacing:-.025em}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.event-card h3,.treatment h3){font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.5}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.page-intro p,.artist p,.signature-copy>p,.craft-copy p,.academy-copy>p,.academy-topics p,.treatment p,.faq p,.step p){font-size:16px;line-height:1.85}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.button,.btn,.text-link){font-size:14px;letter-spacing:0;white-space:normal}
:is(html[lang=ja],html[lang=zh-Hans]) .home-highlights .highlight-card h3{font-family:var(--font-body);font-size:clamp(20px,1.8vw,27px);font-weight:750;line-height:1.45;text-wrap:wrap;white-space:normal}
:is(html[lang=ja],html[lang=zh-Hans]) .prep-app{font-family:var(--font-body);letter-spacing:0}
:is(html[lang=ja],html[lang=zh-Hans]) .prep-options label{min-width:85px}
:is(html[lang=ja],html[lang=zh-Hans]) :is(.prep-card-copy strong,.prep-card-copy small){word-break:normal}
:is(html[lang=ja],html[lang=zh-Hans]) .contact-choice-copy strong{font-size:19px;white-space:normal}
:is(html[lang=ja],html[lang=zh-Hans]) .desktop-nav a{font-size:13px;font-weight:600}
@media(max-width:767px){
 :is(html[lang=ja],html[lang=zh-Hans]) .model-hero h1{font-size:32px;line-height:1.45;margin:20px 0}
 :is(html[lang=ja],html[lang=zh-Hans]) .slide-copy h2{font-size:28px}
 :is(html[lang=ja],html[lang=zh-Hans]) .campaign-track .hero-lead{font-size:17px!important}
 :is(html[lang=ja],html[lang=zh-Hans]) :is(.page-intro h1,.section h2,.signature-copy h2,.academy-copy h1,.academy-copy h2,.academy-enquire h2){font-size:28px}
 :is(html[lang=ja],html[lang=zh-Hans]) .home-highlights .highlight-card h3{font-size:22px}
 :is(html[lang=ja],html[lang=zh-Hans]) .contact-choice-copy strong{font-size:17px}
 :is(html[lang=ja],html[lang=zh-Hans]) .prep-tabs a{white-space:normal;font-size:14px;padding:12px 5px}
 :is(html[lang=ja],html[lang=zh-Hans]) .campaign-track .model-hero .hero-copy .actions>a{font-size:14px}
}
