/* Shared language controls and language-specific typesetting. */
.locale-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:14px;max-width:100%}.locale-switch .locale-label{color:#c7cbc5;margin-right:2px}.locale-switch a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.locale-switch a[aria-current=true]{text-decoration:underline;text-underline-offset:5px}.locale-switch a:focus-visible{outline:2px solid currentColor;outline-offset:5px}footer{flex-wrap:wrap;gap:20px 32px}.locale-switch{order:2}footer>a{order:3}
html[lang=de] h1,html[lang=de] h2,html[lang=fr] h1,html[lang=fr] h2,html[lang=es] h1,html[lang=es] h2{text-wrap:balance;overflow-wrap:break-word}html[lang=de] .detail-hero h1{font-size:clamp(36px,4.2vw,66px)}html[lang=fr] .detail-hero h1,html[lang=es] .detail-hero h1{font-size:clamp(36px,4.2vw,66px)}html:not([lang=en]) .project-caption .type{line-height:1.4}html:not([lang=en]) .project-references{overflow-wrap:anywhere}html:not([lang=en]) .process-copy p,html:not([lang=en]) .about-copy p{hyphens:auto}
@media(max-width:760px){.locale-switch{flex-basis:100%;gap:6px 18px}.locale-switch .locale-label{flex-basis:100%;font-size:12px}html:not([lang=en]) .contact-intro h2{font-size:clamp(32px,8.5vw,44px)}html:not([lang=en]) .detail-hero h1{font-size:clamp(32px,8.5vw,44px)}html:not([lang=en]) .process-row h2{font-size:clamp(27px,7vw,36px)}}

/* CJK language-specific typesetting. Frames and crop rules stay in the original shared site styles. */
.locale-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;font-size:14px;max-width:100%}.locale-switch .locale-label{color:#c7cbc5;margin-right:2px}.locale-switch a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.locale-switch a[aria-current=true]{text-decoration:underline;text-underline-offset:5px}.locale-switch a:focus-visible{outline:2px solid currentColor;outline-offset:5px}footer{flex-wrap:wrap;gap:20px 32px}.locale-switch{order:2}footer>a{order:3}
html[lang="zh-Hant-HK"]{--cjk-font:"PingFang HK","PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif}
html[lang="ja"]{--cjk-font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,"Noto Sans JP",sans-serif}
html[lang="zh-Hant-HK"] body,html[lang="ja"] body{font-family:var(--cjk-font)!important;line-height:1.85;line-break:strict;word-break:normal;overflow-wrap:normal;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html[lang="zh-Hant-HK"] body *,html[lang="ja"] body *{font-family:var(--cjk-font)!important;letter-spacing:normal!important;hyphens:none}
html[lang="zh-Hant-HK"] :is(p,li,address,figcaption),html[lang="ja"] :is(p,li,address,figcaption){line-height:1.85;line-break:strict;word-break:normal}
html[lang="zh-Hant-HK"] :is(h1,h2,h3),html[lang="ja"] :is(h1,h2,h3){line-height:1.3;text-wrap:balance;font-style:normal;line-break:strict;word-break:normal;overflow-wrap:break-word}
html[lang="zh-Hant-HK"] .hero-benefit,html[lang="ja"] .hero-benefit{font-size:clamp(36px,5vw,70px);line-height:1.3;max-width:16em}
html[lang="zh-Hant-HK"] .detail-hero h1,html[lang="ja"] .detail-hero h1{font-size:clamp(32px,4.2vw,64px)}
html[lang="zh-Hant-HK"] .page-opening h1,html[lang="ja"] .page-opening h1{font-size:clamp(32px,4.5vw,66px)}
html[lang="zh-Hant-HK"] .detail-lead,html[lang="ja"] .detail-lead{line-height:1.85}
html[lang="zh-Hant-HK"] .project-caption,html[lang="ja"] .project-caption{line-height:1.55}
html[lang="zh-Hant-HK"] .project-caption .type,html[lang="ja"] .project-caption .type{line-height:1.6}
html[lang="zh-Hant-HK"] :is(.project-references,.contact-details,.studio-reference-grid),html[lang="ja"] :is(.project-references,.contact-details,.studio-reference-grid){overflow-wrap:anywhere}
html[lang="zh-Hant-HK"] .contact-intro h2,html[lang="ja"] .contact-intro h2{font-size:clamp(34px,4.8vw,66px);line-height:1.35}
html[lang="zh-Hant-HK"] .header-links a,html[lang="ja"] .header-links a{white-space:nowrap}
@media(max-width:760px){.locale-switch{flex-basis:100%;gap:6px 18px}.locale-switch .locale-label{flex-basis:100%;font-size:12px}html[lang="zh-Hant-HK"] .contact-intro h2,html[lang="ja"] .contact-intro h2{font-size:clamp(30px,7.5vw,44px)}html[lang="zh-Hant-HK"] .process-row h2,html[lang="ja"] .process-row h2{font-size:clamp(26px,6.5vw,36px)}html[lang="zh-Hant-HK"] .hero-benefit,html[lang="ja"] .hero-benefit{font-size:clamp(32px,7.5vw,48px)}}
/* Japanese Expertise intro: keep the ten-character first phrase intact on narrow phones. */
@media(max-width:480px){html[lang="ja"] body.expertise-page .page-opening>h1{font-size:clamp(25px,8vw,30px)}}

/* Thai shaping and dictionary-based wrapping; original image frames are retained. */
html[lang="th"]{--thai-font:"Leelawadee UI","Noto Sans Thai",Tahoma,sans-serif}
html[lang="th"] body{font-family:var(--thai-font)!important;line-height:1.8;word-break:normal;overflow-wrap:break-word;text-size-adjust:100%;-webkit-text-size-adjust:100%}
html[lang="th"] body *{font-family:var(--thai-font)!important;letter-spacing:normal!important;hyphens:none}
html[lang="th"] :is(p,li,address,figcaption){line-height:1.8;word-break:normal}
html[lang="th"] :is(h1,h2,h3){line-height:1.45;text-wrap:balance;word-break:normal;font-style:normal;overflow-wrap:break-word}
html[lang="th"] .hero-benefit{font-size:clamp(32px,4.5vw,66px);line-height:1.5;max-width:22em}
html[lang="th"] .detail-hero h1{font-size:clamp(30px,3.8vw,60px);line-height:1.35}
html[lang="th"] .page-opening h1{font-size:clamp(32px,4.2vw,64px);line-height:1.45}
html[lang="th"] .detail-lead{line-height:1.8}
html[lang="th"] .project-caption .type{line-height:1.7}
html[lang="th"] :is(.project-references,.contact-details){overflow-wrap:anywhere}
html[lang="th"] .header-links a{white-space:nowrap}
html[lang="th"] .contact-intro h2{font-size:clamp(30px,4.3vw,62px);line-height:1.5}
@media(max-width:760px){html[lang="th"] .hero-benefit{font-size:clamp(30px,7.8vw,46px)}html[lang="th"] .contact-intro h2{font-size:clamp(29px,7.5vw,42px)}html[lang="th"] .process-row h2{font-size:clamp(25px,6.5vw,34px)}}
