/* Homepage language control, placed beside the existing small-screen menu. */
.language-switch {
  position: fixed;
  z-index: 100;
  top: 24px;
  right: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  color: #68717a;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.language-icon { display: block; width: 20px; height: 20px; transition: color 160ms ease; }
.language-switch:hover { color: #0c131b; }
.language-switch:focus-visible { outline: 2px solid #0c131b; outline-offset: 4px; border-radius: 999px; }

/* Let the approved card copy wrap without altering the existing media. */
#project .framer-C4g7w.framer-yf5jy7 { height: auto; min-height: 330px; }
#project .framer-C4g7w .framer-12rsg22 { flex: none; height: auto; min-height: 330px; padding-bottom: 220px; }
#project .framer-C4g7w .framer-6xa0wc { padding-left: 24px; padding-right: 24px; }
#project .framer-C4g7w .framer-c81qtb { width: 100%; }
#project .framer-C4g7w .framer-axf96x,
#project .framer-C4g7w .framer-1pmup47 {
  flex: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}
#project .framer-C4g7w .framer-15fv58c { flex-wrap: wrap; gap: 6px 10px; }
html[lang="zh-CN"] #project [data-i18n="canvo-description"] { line-height: 1.6; }

@media (min-width: 1400px) {
  #project .framer-C4g7w.framer-yf5jy7,
  #project .framer-C4g7w .framer-12rsg22 { min-height: 400px; }
  #project .framer-C4g7w .framer-12rsg22 { padding-bottom: 268px; }
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  .language-switch { right: 92px; }
}
@media (max-width: 809.98px) {
  .language-switch { top: 16px; right: 64px; width: 36px; height: 36px; }
  #project .framer-C4g7w.framer-yf5jy7,
  #project .framer-C4g7w .framer-12rsg22 { min-height: 400px; }
  #project .framer-C4g7w .framer-12rsg22 { padding-bottom: 204px; }
  #project .framer-C4g7w .framer-6xa0wc { padding-left: 16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .language-icon { transition: none; }
}

/* 语言落定前先藏住正文。translate 脚本是 defer 的，要等整页解析完才跑，
   中间浏览器已经把英文原文画出来一帧了——中文访客看到的就是那下闪烁。
   .lang-pending 由 <head> 里的引导脚本加，只在需要换成中文时才加；
   home-language.js 换完立刻摘掉，引导脚本另有 2s 超时兜底。
   用 visibility 而不是 display，布局照常算，摘掉时不会跳。 */
html.lang-pending { background: var(--token-5977f71f-2f3d-47ea-9060-b0d7206223d8, #f8fafc); }
html.lang-pending body { visibility: hidden; }
