/* Only new editorial surfaces; existing site typography and price layout are retained. */
.kls-job { max-width: 900px; margin: 0 auto 28px; padding: clamp(20px,4vw,40px); background: #fff; border: 1px solid rgba(20,73,85,.12); border-radius: 12px; }
.kls-job h3 { color: var(--color-deep-green-blue); margin-bottom: 20px; }
.kls-job-body, .kls-news-body { text-align: left; line-height: 1.9; overflow-wrap: anywhere; }
.kls-job-body ul, .kls-job-body ol, .kls-news-body ul, .kls-news-body ol { padding-left: 1.5em; }
.kls-job-body p, .kls-news-body p { margin-bottom: 1em; }
.kls-news-detail { padding-top: 180px; min-height: 65vh; }
.kls-news-detail h1 { margin-bottom: 32px; overflow-wrap: anywhere; }
.kls-news-body { margin-bottom: 40px; }
.kls-news-body h2,.kls-news-body h3,.kls-news-body h4 { color:var(--color-deep-green-blue); margin:1.6em 0 .65em; line-height:1.5; }
.kls-news-body h2 { font-size:clamp(22px,3vw,28px); }
.kls-news-body h3 { font-size:clamp(19px,2.5vw,23px); }
.kls-news-body img { max-width:100%; height:auto; }
.kls-news-body figure,.kls-news-body .wp-caption { max-width:100%; margin:1.5em 0; }
.kls-news-body figcaption,.kls-news-body .wp-caption-text { font-size:.85em; color:#647277; margin:.5em 0 0; }
.kls-news-body a { color:var(--color-deep-green-blue); text-decoration:underline; text-underline-offset:3px; }
.kls-news-body blockquote { margin:1.5em 0; padding:16px 22px; border-left:3px solid #79b9b5; background:#f3f8f7; }
.kls-news-body .alignleft { float:left; max-width:45%; margin:0 1.5em 1em 0; }
.kls-news-body .alignright { float:right; max-width:45%; margin:0 0 1em 1.5em; }
.kls-news-body .aligncenter { display:block; margin:1.5em auto; }
.kls-news-body::after { content:''; display:block; clear:both; }
.gallery-more-wrap [hidden] { display: none !important; }
html[data-lang="en"] .faq-q .faq-question-tail { white-space: nowrap; }
html:is([data-lang="en"], [data-lang="cn"]) [data-kls-cms="overview-4"] { text-wrap: var(--kls-reading-wrap, pretty); }
@media (max-width:600px) {
  html[data-lang="en"] .faq-q.kls-faq-compact { font-size: .9rem; white-space: nowrap; }
  .kls-news-detail { padding-top: 130px; }
  .kls-news-body .alignleft,.kls-news-body .alignright { float:none; max-width:100%; margin:1em 0; }
}
