/* Chinese has its own reading measure and semantic line breaks. */
:is([data-lang="zh"],[data-lang="zh-Hant"]) :is(.zh,.zh-hant) { line-break: strict; word-break: normal; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) p { text-wrap: pretty; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .phrase { display: inline-block; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .phrase-line { display: block; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) h2 .phrase,
:is([data-lang="zh"],[data-lang="zh-Hant"]) h2 .phrase-line,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .project-deck .phrase-line { white-space: nowrap; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading h2,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .practice-label h3,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .summary-title { letter-spacing: 0; line-height: 1.5; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading > p { max-width: 23em; line-height: 1.95; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .project-copy > p:not(.project-deck),
:is([data-lang="zh"],[data-lang="zh-Hant"]) .music-copy > p:not(.play-count),
:is([data-lang="zh"],[data-lang="zh-Hant"]) .practice-description > p,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .experience p { line-height: 1.95; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .about { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); column-gap: 8%; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading h2 { font-size: clamp(32px,3.4vw,54px); line-height: 1.5; letter-spacing: 0; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading > p { max-width: 26em; line-height: 1.95; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .copy-paragraph { display: block; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .copy-paragraph + .copy-paragraph { margin-top: .65em; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .focus-note { display: block; }
[data-lang="zh"] .focus-note > .zh, [data-lang="zh-Hant"] .focus-note > .zh-hant { display: block; margin-bottom: 9px; opacity: .8; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .focus-note strong { display: block; font-size: 15px; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .focus-line { display: block; margin-bottom: 5px; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .term-list { display: flex; flex-wrap: wrap; gap: 3px 16px; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .term-list > span { display: inline-block; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .role-line { display: block; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .contact h2 { font-size: clamp(36px,4.4vw,68px); line-height: 1.45; letter-spacing: 0; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .experience h3 { line-height: 1.65; text-wrap: balance; }
@media(max-width:900px) {
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about { grid-template-columns: 1fr; gap: 44px; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading { position: static; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading h2 { font-size: clamp(32px,4.6vw,42px); }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading > p { max-width: 34em; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .experience { max-width: 38em; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .case-intro { grid-template-columns: 1fr; gap: 24px; }
}
@media(min-width:601px) and (max-width:820px) {
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .featured-project { grid-template-columns: .9fr 1.1fr; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .project-copy { padding-left: 8%; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .project-deck { font-size: 23px; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading { grid-template-columns: 1fr; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading > p { justify-self: start; max-width: 30em; }
}
@media(max-width:600px) {
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading h2 { font-size: clamp(28px,7.5vw,32px); }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .hero-intro { font-size: 16px; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .section-heading > p { max-width: 22em; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading h2 { font-size: clamp(29px,8vw,36px); }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .about-heading > p { font-size: 16px; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .project-deck { font-size: clamp(23px,6.5vw,27px); }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .case-intro h3 { font-size: 30px; line-height: 1.5; }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .contact h2 { font-size: clamp(32px,9vw,42px); }
  :is([data-lang="zh"],[data-lang="zh-Hant"]) .experience-role { margin-bottom: 14px; }
}
/* Balance short Chinese paragraphs; keep meaningful names and terms together. */
:is([data-lang="zh"],[data-lang="zh-Hant"]) .copy-paragraph,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .experience p,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .project-copy > p:not(.project-deck),
:is([data-lang="zh"],[data-lang="zh-Hant"]) .practice-description p,
:is([data-lang="zh"],[data-lang="zh-Hant"]) .music-copy > p:not(.play-count),
:is([data-lang="zh"],[data-lang="zh-Hant"]) .strategy-grid p { text-wrap: balance; }
:is([data-lang="zh"],[data-lang="zh-Hant"]) .keep { white-space: nowrap; }
