/* =====================================================
   Kevin: CJK typography for /zh-hans, /zh-hant, /ja, /ko.
   Loaded only by the localised pages, after their own styles.
   Generated with the localised pages; the shared.css block at
   the bottom mirrors shared.css with CJK fonts added.
   ===================================================== */

:root:lang(zh-Hans) { --cjk: "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", "微软雅黑"; }
:root:lang(zh-Hant) { --cjk: "PingFang TC", "Noto Sans CJK TC", "Noto Sans TC", "Source Han Sans TC", "Microsoft JhengHei", "微軟正黑體"; }
:root:lang(ja)      { --cjk: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Noto Sans JP", "Yu Gothic", "YuGothic", "Meiryo"; }
:root:lang(ko)      { --cjk: "Apple SD Gothic Neo", "Noto Sans CJK KR", "Noto Sans KR", "Malgun Gothic", "맑은 고딕"; }

/* Wrapping: Korean breaks between words, Chinese and Japanese follow
   strict kinsoku so punctuation never starts a line. */
body { line-break: strict; overflow-wrap: break-word; }
:root:lang(ko) body { word-break: keep-all; }
:root:lang(ja) :is(h1, h2, h3, .hero-title, .tagline, .lede, .err-head) { line-break: strict; word-break: auto-phrase; }
:is(h1, h2, h3) { text-wrap: balance; }
p, li, .section-body, .hero-sub, .tl-copy p, .log-body { text-wrap: pretty; }

/* CJK body copy reads better with a touch more leading. */
.section-body, .hero-sub, .tl-copy p, .log-body, .memo-body p, .memo-body li, .team-bio, .err-body, .lede { line-height: 1.75; }

/* No synthetic italics on CJK glyphs. */
em, i { font-style: normal; }

/* Small marker for links that lead to English-only pages. */
.en-tag {
  display: inline-block;
  margin-left: 0.4em;
  padding: 0 5px;
  border: 1px solid rgba(92, 61, 79, 0.22);
  border-radius: 4px;
  font-family: 'Courier Prime', 'Courier New', monospace;
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.08em;
  color: #6B5862;
  vertical-align: 0.15em;
  text-transform: none;
  font-style: normal;
}

/* Honest note under the hero price line. */
.lang-note {
  margin: 10px auto 0;
  max-width: 520px;
  font-size: 13px;
  line-height: 1.6;
  color: #6B5862;
  opacity: 0.85;
  text-wrap: balance;
}
:root:lang(ja) .lang-note { word-break: auto-phrase; }

/* ---- shared.css, with CJK fonts ---- */
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, var(--cjk), sans-serif; }
.logo { letter-spacing: 0; }
h1 { letter-spacing: 0; line-height: 1.22; }
h2 { letter-spacing: 0; line-height: 1.22; }
h3 { letter-spacing: 0; }
.footer-caveat { font-family: 'Caveat', var(--cjk), cursive; }
.footer-bottom-line { font-family: 'Caveat', var(--cjk), cursive; font-style: normal; }
.mono { font-family: var(--cjk), 'Courier Prime', 'Courier New', monospace; }
.hand { font-family: 'Caveat', var(--cjk), cursive; }
.paper-card { font-family: var(--cjk), 'Courier Prime', 'Courier New', monospace; }
.nav-menu-eyebrow { font-family: var(--cjk), 'Courier Prime', monospace; letter-spacing: 0.08em; }
.nav-menu-title { letter-spacing: 0; line-height: 1.22; }
.nav-menu-row { letter-spacing: 0; }
.nav-menu-arrow { font-family: var(--cjk), 'Courier Prime', monospace; }
.nav-menu-desc { font-family: var(--cjk), 'Courier Prime', monospace; }
.nav-menu-subtle { font-family: 'Caveat', var(--cjk), cursive; }

/* Localised promo film on the CJK home pages */
.film { text-align: center; }
.film h2 { margin-bottom: 10px; }
.film .section-body { margin: 0 auto 28px; }
.film-frame {
  max-width: 880px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  background: #F4EADB;
  border: 1px solid rgba(92, 61, 79, 0.12);
  box-shadow: 0 24px 60px rgba(70, 40, 60, 0.16);
  aspect-ratio: 16 / 9;
}
.film-frame video { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 600px) { .film-frame { border-radius: 14px; } }
