/* One geometry for the static site, blog, membership and Newsletter reader. */
html { scrollbar-gutter: stable; }
/* Existing reader templates may retain the browser default body margin. */
body:has(> .hx-official-header) { margin: 0 !important; }
@supports not (scrollbar-gutter: stable) { html { overflow-y: scroll; } }
.site-header, header.header, .hx-official-header {
  box-sizing: border-box !important;
  width: min(1328px, calc(100% - 48px)) !important;
  max-width: none !important;
  height: 78px !important;
  min-height: 78px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 170px minmax(0, 1fr) !important;
  grid-template-rows: 78px !important;
  column-gap: 24px !important;
  row-gap: 0 !important;
  align-items: center !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  border: 0 !important;
  border-bottom: 1px solid #e4e7e9 !important;
  background: #fafafa !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
.site-header .wordmark, header.header a.brand, .hx-official-header .hx-official-brand {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 170px !important;
  height: 42.11px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  line-height: 0 !important;
  flex: none !important;
}
.site-header .brand-logo, .site-header .official-logo, header.header .official-logo, .hx-official-header img {
  display: block !important;
  width: 170px !important;
  height: 42.11px !important;
  max-width: none !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}
.site-header nav[aria-label="主导航"], header.header nav.official-nav, .hx-official-header > nav {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 36px 0 0 !important;
  gap: 10px !important;
}
.site-header nav[aria-label="主导航"] > *, header.header nav.official-nav > *, .hx-official-header > nav > * {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 650 !important;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  color: #48515b !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.site-header nav > [aria-disabled="true"], header.header .official-nav > [aria-disabled="true"] { color: #8b939e !important; }
.reader-account-strip {
  box-sizing: border-box;
  width: min(1328px, calc(100% - 48px));
  min-height: 44px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.reader-account-strip .reader-tools { display: flex; align-items: center; gap: 16px; font-size: 12px; }
#consultation, #agent-course { scroll-margin-top: 98px; }
@media (max-width: 900px) {
  .site-header, header.header, .hx-official-header {
    height: 120px !important;
    min-height: 120px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 42px 48px !important;
    padding: 12px 0 !important;
    row-gap: 6px !important;
  }
  .site-header .wordmark, header.header a.brand, .hx-official-header .hx-official-brand { width: 159px !important; height: 39.48px !important; }
  .site-header .brand-logo, .site-header .official-logo, header.header .official-logo, .hx-official-header img { width: 159px !important; height: 39.48px !important; }
  .site-header nav[aria-label="主导航"], header.header nav.official-nav, .hx-official-header > nav { justify-content: flex-start !important; gap: 12px !important; padding: 0 !important; }
  .site-header nav[aria-label="主导航"] > *, header.header nav.official-nav > *, .hx-official-header > nav > * { padding: 0 7px !important; font-size: 16px !important; }
  #consultation, #agent-course { scroll-margin-top: 140px; }
}

/* Selection changes only paint, never the shared navigation geometry. */
.site-header nav[aria-label="主导航"] > a[aria-current="page"],
header.header nav.official-nav > a[aria-current="page"],
.hx-official-header > nav > a[aria-current="page"] {
  color: #1647d7 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.site-footer > .wordmark > .brand-logo { width: 170px; height: auto; }
/* The composed lockup crops the name from the approved full bitmap.
   Match the working header geometry rather than enlarging inside its crop. */
.site-footer .brand-symbol .brand-logo {
  display: block;
  width: 148.15px;
  height: 39px;
  max-width: none;
  object-fit: contain;
  flex: none;
}



/* Full-width bar shared by the public site, membership and reader shells. */
.site-header.site-header, header.header, .hx-official-header.hx-official-header {
  --hx-content-width: 1240px;
  --hx-content-gutter: 36px;
  container-type: inline-size;
  width: 100% !important;
  padding-inline: max(24px, calc((100% - 1328px) / 2)) !important;
}
.site-header.site-header .wordmark, header.header a.brand,
.hx-official-header.hx-official-header .hx-official-brand {
  width: 203px !important;
  height: 39px !important;
  gap: 10px !important;
  transform: translateX(max(calc(var(--hx-content-gutter) - 24px), calc((100cqw - var(--hx-content-width)) / 2)));
}
/* Older page bundles keep their accessible image while painting the same lockup. */
.site-header .wordmark:not(:has(.brand-lockup)), header.header a.brand,
.hx-official-header.hx-official-header .hx-official-brand {
  position: relative;
  background: none !important;
}
.site-header .wordmark:not(:has(.brand-lockup)) > img,
header.header a.brand > img, .hx-official-header .hx-official-brand > img {
  position: absolute;
  opacity: 0;
}
.site-header .wordmark:not(:has(.brand-lockup))::before,
header.header a.brand::before, .hx-official-header .hx-official-brand::before {
  content: "";
  display: block;
  flex: 0 0 85px;
  width: 85px;
  height: 39px;
  background: url("/brand/hanxu-logo-p-v1.png") left center / 148.15px 39px no-repeat;
}
.site-header .wordmark:not(:has(.brand-lockup))::after,
header.header a.brand::after, .hx-official-header .hx-official-brand::after {
  content: "AI Native\A个人商业系统";
  display: block;
  color: #17232c;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0;
  white-space: pre;
}
.site-header .brand-lockup { display: inline-flex; align-items: center; gap: 10px; }
.site-header .brand-symbol { display: block; width: 85px; height: 39px; overflow: hidden; flex: none; }
.site-header .brand-symbol .brand-logo { width: 148.15px !important; height: 39px !important; }
.site-header .brand-copy { display: flex; flex-direction: column; gap: 1px; text-align: left; }
.site-header .brand-copy > span { color: #17232c; font-size: 18px; line-height: 1.05; font-weight: 600; white-space: nowrap; }
body:has(#consultation) .site-header { --hx-content-width: 1180px; --hx-content-gutter: 24px; }
body:has(.legal-page) .site-header { --hx-content-width: 820px; }
body:has(.jingjin-shell) header.header { --hx-content-width: 1200px; --hx-content-gutter: 24px; }
body:has(.reading-shell) header.header { --hx-content-width: 720px; --hx-content-gutter: 20px; }
@media (max-width: 760px) {
  .site-header.site-header { --hx-content-gutter: 18px; }
  body:has(#consultation) .site-header { --hx-content-gutter: 24px; }
  body:has(.jingjin-shell) header.header { --hx-content-gutter: 20px; }
  body:has(.reading-shell) header.header { --hx-content-gutter: 22px; }
}

/* Mobile reading and touch comfort; desktop keeps the approved single-line layout. */
@media (max-width: 760px) {
  .site-header.site-header, header.header, .hx-official-header.hx-official-header {
    height: 104px !important;
    min-height: 104px !important;
    grid-template-rows: 39px 44px !important;
    row-gap: 4px !important;
    padding-block: 8px !important;
  }
  .site-header nav[aria-label="主导航"], header.header nav.official-nav, .hx-official-header > nav,
  .site-header nav[aria-label="主导航"] > *, header.header nav.official-nav > *, .hx-official-header > nav > * {
    height: 44px !important;
    min-height: 44px !important;
  }
  #consultation, #agent-course, #method, #about, #social { scroll-margin-top: 120px; }
  a[class*="mobileAction"] { display: none !important; }
  main:has(#hero-title) { padding-bottom: 0 !important; }
  main:has(#hero-title) .site-footer:not(.shared-footer) { padding-bottom: max(32px, env(safe-area-inset-bottom)) !important; }
  #hero-title { font-size: clamp(26px, 8vw, 36px); }
  #about-title { font-size: 24px; line-height: 1.45; white-space: normal; text-wrap: pretty; }
  #method article h3 { font-size: 16px; line-height: 1.6; white-space: normal; }
  #method article svg { max-width: 320px; }
  #method svg text[font-size="11"] { font-size: 13px; }
  #method svg text[font-size="13"] { font-size: 14px; }
  #method svg text[font-size="14"] { font-size: 15px; }
  #consultation h2, #agent-course h2 { font-size: clamp(22px, 6.1vw, 26px); }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] > div {
    display: grid; grid-template-columns: 36px minmax(0, 1fr); column-gap: 12px; padding: 14px; text-align: left; align-items: center;
  }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] > div::after { display: none; }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] svg { grid-row: 1 / span 2; width: 32px; height: 32px; margin: 0; }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] h3 { font-size: 16px; margin: 0; }
  #consultation [aria-label="1V1咨询 + 线上课程 + Agent和skill"] p { font-size: 13px; line-height: 1.6; margin: 4px 0 0; }
  #consultation [aria-label="咨询学习与应用路径"] { flex-direction: column; gap: 2px; font-size: 14px; }
  #consultation [aria-label="咨询学习与应用路径"] b { transform: rotate(90deg); line-height: 1; }
  .reader-account-strip button, .login-modal button, .login-modal a.button { min-height: 44px; }
  .login-modal input, .login-modal textarea, .login-modal select { font-size: 16px; min-height: 44px; }
  .modal-backdrop { padding: 16px; }
  .login-modal { max-height: calc(100dvh - 32px); padding: 24px 20px; }
  .login-modal .modal-close { width: 44px; height: 44px; }
  .login-modal .scan-login::before {
    content: "手机端建议在微信内打开本页，使用“微信登录”。";
    display: block; margin: 12px 0; padding: 12px; border-radius: 8px;
    color: #334550; background: #f2f6fc; font-size: 14px; line-height: 1.7;
  }
}
@media (max-width: 375px) {
  #agent-course [aria-label="两天实战课的四个模块：商业模式、内容IP、产品设计、系统连接"] { grid-template-columns: minmax(0, 1fr); }
}

/* Global approved P lockup normalization */
/* One visible P lockup for both composed and whole-image legacy page shells.
   Original accessible labels/images stay in the DOM; no runtime DOM replacement. */
:is(.site-header.site-header, header.header, .hx-official-header.hx-official-header) {
  --hx-content-width: 1240px !important;
  --hx-content-gutter: 36px !important;
}
:is(.site-header.site-header .wordmark, header.header a.brand, .hx-official-header.hx-official-header .hx-official-brand, .site-footer .wordmark) {
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  gap: 10px !important;
  width: 203px !important;
  min-width: 203px !important;
  max-width: 203px !important;
  height: 39px !important;
  min-height: 39px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  text-decoration: none !important;
  overflow: visible !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
:is(.site-header.site-header .wordmark, header.header a.brand, .hx-official-header.hx-official-header .hx-official-brand, .site-footer .wordmark) > * {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
:is(.site-header.site-header .wordmark, header.header a.brand, .hx-official-header.hx-official-header .hx-official-brand, .site-footer .wordmark)::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  flex: 0 0 85px !important;
  width: 85px !important;
  height: 39px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  background: url("/brand/hanxu-logo-p-v1.png") left center / 148.15px 39px no-repeat !important;
}
:is(.site-header.site-header .wordmark, header.header a.brand, .hx-official-header.hx-official-header .hx-official-brand, .site-footer .wordmark)::after {
  content: "AI Native\A个人商业系统" !important;
  position: static !important;
  display: block !important;
  flex: 0 0 108px !important;
  width: 108px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #17232c !important;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 19.4px !important;
  letter-spacing: 0 !important;
  white-space: pre !important;
  text-align: left !important;
  opacity: 1 !important;
  transform: none !important;
  background: none !important;
}
@media (max-width: 760px) {
  :is(.site-header.site-header, header.header, .hx-official-header.hx-official-header) { --hx-content-gutter: 18px !important; }
}

/* Consultation is a distinct public section; six links remain visible on phones. */
@media (max-width: 760px) {
  .site-header nav[aria-label="主导航"], header.header nav.official-nav, .hx-official-header > nav { gap: 0 22px !important; }
  .site-header nav[aria-label="主导航"] > *, header.header nav.official-nav > *, .hx-official-header > nav > * { font-size: 16px !important; padding: 0 !important; }
}
@media (max-width: 360px) {
  .site-header nav[aria-label="主导航"], header.header nav.official-nav, .hx-official-header > nav { gap: 0 18px !important; }
  .site-header nav[aria-label="主导航"] > *, header.header nav.official-nav > *, .hx-official-header > nav > * { font-size: 15px !important; padding: 0 !important; }
}

/* The public header comes from public/brand/official-header-v6.css.
   Column reading surfaces use the same brand palette and rounded cards. */
.column-app {
  --blue: #1647d7;
  --muted: #606974;
  --border: #e4e7e9;
  min-height: 100vh;
  color: #17232c;
  background: #fafafa;
}
.column-app .reading-shell {
  width: min(880px, calc(100% - 72px));
  max-width: none;
  margin: 48px auto 72px;
  padding: 0;
}
.column-heading {
  display: block;
  margin-bottom: 32px;
}
.column-heading h1 { color: var(--blue); font-size: clamp(30px, 4vw, 42px); font-weight: 750; line-height: 1.35; }
.column-heading > span { display: block; max-width: none; text-align: left; margin-top: 12px; font-size: 16px; line-height: 1.8; }
.column-app .post-card,
.column-app .post-detail {
  margin-bottom: 24px;
  padding: 32px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: #fff;
}
.column-app .post-card:focus-within { border-color: #1647d7; }
.column-app .post-card .post-content { cursor: pointer; }
.column-app .post-meta { color: var(--muted); }
.column-app .reading-body { color: #303b4a; font-size: 18px; line-height: 1.95; }
.column-app .reading-body img { max-width: 100%; height: auto; border-radius: 12px; }
.column-app .reading-shell > .reading-body { padding: 32px; border: 1px solid var(--border); border-radius: 22px; background: #fff; }
.column-app :is(.empty, .paywall) { border-radius: 22px; border-color: var(--border); background: #f0f4ff; }
.column-app :is(button, .button) { border-radius: 999px; min-height: 44px; }
.column-app :is(button, .button).primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.footer.site-footer {
  width: min(1240px, calc(100% - 72px));
  max-width: none;
  margin: 72px auto 0;
  padding: 32px 0;
  color: #606974;
  font-size: 13px;
  align-items: center;
  gap: 20px;
}
.footer.site-footer > p { margin: 0; }
.footer.site-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.footer.site-footer nav a:hover { color: var(--blue); }
@media (max-width: 760px) {
  .column-app .reading-shell { width: calc(100% - 36px); margin-top: 32px; margin-bottom: 48px; }
  .column-heading { margin-bottom: 24px; }
  .column-heading > span { font-size: 15px; }
  .column-app .post-card,
  .column-app .post-detail { padding: 22px 20px; margin-bottom: 18px; border-radius: 18px; }
  .column-app .reading-body { font-size: 17px; line-height: 1.9; }
  .column-app .reading-shell > .reading-body { padding: 22px 20px; border-radius: 18px; }
  .footer.site-footer { width: calc(100% - 36px); margin-top: 48px; gap: 16px; }
  .footer.site-footer nav { align-items: flex-start; flex-direction: column; gap: 10px; }
}
