/* One header for every reading page (about, contact, project details): the same horizontal
   header as the home and projects pages, as wide as the projects page, while the text column
   stays narrow. Product pages keep their own header. */
body:not(.home-page):not(.catalog-page):not(.product-page) > .site-header,
body:not(.home-page):not(.catalog-page):not(.product-page) > .header-rule {
  width: min(1040px, calc(100vw - 64px)); margin-left: 50%; transform: translateX(-50%);
}
body:not(.home-page):not(.catalog-page):not(.product-page) > .site-header {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; margin-top: 32px;
}
body:not(.home-page):not(.catalog-page):not(.product-page) .site-header .name { flex-direction: row; align-items: center; gap: 12px; padding-top: 0; font-size: 26px; }
body:not(.home-page):not(.catalog-page):not(.product-page) .site-header .brand-mark { width: 44px; height: 44px; margin: 0; }
body:not(.home-page):not(.catalog-page):not(.product-page) > .header-rule { margin-top: 20px; margin-bottom: 36px; }
@media (max-width: 760px) {
  body:not(.home-page):not(.catalog-page):not(.product-page) > .site-header,
  body:not(.home-page):not(.catalog-page):not(.product-page) > .header-rule { width: 100%; margin-left: 0; transform: none; }
  body:not(.home-page):not(.catalog-page):not(.product-page) > .site-header { margin-top: 24px; }
  body:not(.home-page):not(.catalog-page):not(.product-page) .site-header nav { width: 100%; }
  body:not(.home-page):not(.catalog-page):not(.product-page) > .header-rule { margin-top: 10px; margin-bottom: 24px; }
}
/* Projects page: project names a step below the section headings. */
.catalog-page .tool-card h3 { font-size: 20px; }
/* Projects page with client projects first: no extra gap above them, a clear break before own tools. */
.catalog-page .client-catalog.client-first { margin-top: 0; }
.catalog-page .own-tools { margin-top: 72px; }
@media (max-width: 760px) { .catalog-page .own-tools { margin-top: 48px; } }
/* Nav labels sit evenly: short labels like 关于 were left-aligned inside a 44px tap target. */
nav a, nav .language { justify-content: center; }
