/* Типографика китайской версии (zh-Hans). Подключается после main.css/blog.css
   только на страницах /zh/. Правки из аудита §5.5 и ресёрча §7.

   Принципы:
   - латинское семейство в стеке первым: латиница и цифры остаются фирменными,
     иероглифы автоматически проваливаются в системный CJK-шрифт;
   - на CJK нет letter-spacing, курсива и синтетического жирного;
   - интерлиньяж прозы 1,7–1,8 вместо 1,62. */

html[lang="zh-Hans"] {
  --cjk: "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB",
         "Microsoft YaHei", "\5FAE\8F6F\96C5\9ED1", "Source Han Sans SC",
         "Noto Sans CJK SC", "Noto Sans SC", "WenQuanYi Micro Hei",
         "WenQuanYi Zen Hei", sans-serif;
  --display: "Bw Gradual", "Manrope", var(--cjk);
  --head: "Craftwork Grotesk", "Manrope", var(--cjk);
  --text: "Manrope", var(--cjk);
}

/* Никакого синтетического наклона и утолщения — иероглиф от них разваливается */
html[lang="zh-Hans"] body,
html[lang="zh-Hans"] * {
  font-synthesis: none;
}
html[lang="zh-Hans"] i,
html[lang="zh-Hans"] em,
html[lang="zh-Hans"] cite,
html[lang="zh-Hans"] blockquote,
html[lang="zh-Hans"] .manifesto-quote {
  font-style: normal;
}

/* ---------- Разрядка ----------
   Обнуляем там, где встанет китайский. Латинские по замыслу строки
   (hero-имя, чипы, водяные знаки, бренд, годы карьеры, marquee) сохраняют
   фирменную разрядку — это решение §5.4 аудита и §7.3 ресёрча. */

html[lang="zh-Hans"] .section-head .index,
html[lang="zh-Hans"] .section-head .label,
html[lang="zh-Hans"] .h2,
html[lang="zh-Hans"] .site-nav a,
html[lang="zh-Hans"] .hero-kicker,
html[lang="zh-Hans"] .hero-meta,
html[lang="zh-Hans"] .marquee-note,
html[lang="zh-Hans"] .case-num,
html[lang="zh-Hans"] .case-facts dt,
html[lang="zh-Hans"] .archive-title,
html[lang="zh-Hans"] .archive-row .tag,
html[lang="zh-Hans"] .ai-card .role,
html[lang="zh-Hans"] .manifesto-quote,
html[lang="zh-Hans"] .manifesto-cite,
html[lang="zh-Hans"] .bio-strip figure figcaption,
html[lang="zh-Hans"] .service-row h3 .n,
html[lang="zh-Hans"] .service-row .deliver,
html[lang="zh-Hans"] .contact-line .k,
html[lang="zh-Hans"] .case-hero h1,
html[lang="zh-Hans"] .case-hero .meta-grid dt,
html[lang="zh-Hans"] .case-body .side .h,
html[lang="zh-Hans"] .case-next .k,
html[lang="zh-Hans"] .bj-wm,
html[lang="zh-Hans"] .bj-counter,
html[lang="zh-Hans"] .bj-title-h,
html[lang="zh-Hans"] .bj-chip,
html[lang="zh-Hans"] .bj-chip b,
html[lang="zh-Hans"] .bj-typo-word,
html[lang="zh-Hans"] .bj-meta,
html[lang="zh-Hans"] .bj-title,
html[lang="zh-Hans"] .bj-kicker,
html[lang="zh-Hans"] .bp-meta,
html[lang="zh-Hans"] .bp-h1,
html[lang="zh-Hans"] .bp-side .h,
html[lang="zh-Hans"] .bp-toc a::before,
html[lang="zh-Hans"] .bp-prose h2,
html[lang="zh-Hans"] .bp-prose h3,
html[lang="zh-Hans"] .bp-prose ol li::before,
html[lang="zh-Hans"] .bp-prose hr::before,
html[lang="zh-Hans"] .bp-after-k,
html[lang="zh-Hans"] .bp-rel-meta,
html[lang="zh-Hans"] .lab-kicker,
html[lang="zh-Hans"] .dl-quack,
html[lang="zh-Hans"] .lang-switch a {
  letter-spacing: 0;
}

/* ---------- Капс: к иероглифам неприменим, но ломает латинские вставки ---------- */

html[lang="zh-Hans"] .section-head .label,
html[lang="zh-Hans"] .hero-kicker,
html[lang="zh-Hans"] .hero-meta,
html[lang="zh-Hans"] .marquee-note,
html[lang="zh-Hans"] .case-facts dt,
html[lang="zh-Hans"] .archive-title,
html[lang="zh-Hans"] .archive-row .tag,
html[lang="zh-Hans"] .ai-card .role,
html[lang="zh-Hans"] .manifesto-cite,
html[lang="zh-Hans"] .bio-strip figure figcaption,
html[lang="zh-Hans"] .service-row .deliver,
html[lang="zh-Hans"] .contact-line .k,
html[lang="zh-Hans"] .case-hero .meta-grid dt,
html[lang="zh-Hans"] .case-body .side .h,
html[lang="zh-Hans"] .case-next .k,
html[lang="zh-Hans"] .bj-counter,
html[lang="zh-Hans"] .bj-meta,
html[lang="zh-Hans"] .bj-kicker,
html[lang="zh-Hans"] .bp-meta,
html[lang="zh-Hans"] .bp-side .h,
html[lang="zh-Hans"] .bp-after-k,
html[lang="zh-Hans"] .bp-rel-meta {
  text-transform: none;
}

/* ---------- Ритм прозы ---------- */

html[lang="zh-Hans"] body { line-height: 1.7; }
html[lang="zh-Hans"] p,
html[lang="zh-Hans"] .lead,
html[lang="zh-Hans"] li,
html[lang="zh-Hans"] dd,
html[lang="zh-Hans"] .bp-prose p,
html[lang="zh-Hans"] .bj-excerpt {
  line-height: 1.78;
  line-break: strict;
  overflow-wrap: break-word;
}
/* Заголовкам при 1.0 строки слипаются: у CJK нет свисающих элементов.
   Дисплейные строки (.display, hero) остаются латиницей — их ритм не трогаем. */
html[lang="zh-Hans"] h1:not(.display),
html[lang="zh-Hans"] h2:not(.display),
html[lang="zh-Hans"] h3:not(.display) { line-height: 1.25; }

/* Прогрессивное улучшение: поджим полноширинной пунктуации, где поддерживается */
html[lang="zh-Hans"] .bp-prose,
html[lang="zh-Hans"] .lead,
html[lang="zh-Hans"] p {
  text-spacing-trim: trim-start;
}

/* Длинный китайский заголовок в hero — одна неразрывная строка .w; разрешаем перенос */
html[lang="zh-Hans"] .hero-title .w { white-space: normal; }
