@charset "utf-8";
/* ==========================================================================
   S15 Lingomere Montréal — 统一皮肤 2026-11-11
   仅追加覆盖，不改动原有内联主题；最后加载，优先级最高。
   作用：修复 <main> 被当成占位框、首屏无版心、头部标记与样式不匹配、
        全局 44px 触控补丁误伤行内链接、悬浮钮造型不统一。
   ========================================================================== */

/* 1. <main> 被误设为 16/10 占位框 —— 还原为普通内容容器 */
main {
  aspect-ratio: auto !important;
  display: block !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: inherit !important;
  overflow: visible !important;
  padding: 0 !important;
  grid-column: auto !important;
}

/* 2. 版心：main > .wrap 与裸挂首屏 */
main > .wrap {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 44px 24px 8px;
  box-sizing: border-box;
}
section > .wrap,
footer > .wrap,
header > .wrap {
  width: 100%;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* 3. 标题与正文基线 */
main h1 {
  color: var(--navy-800, #0a2547) !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -.015em;
  margin: 0 0 14px !important;
  max-width: 900px;
}
main h2 {
  color: var(--navy-800, #0a2547) !important;
  font-size: clamp(21px, 2.1vw, 27px) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -.01em;
  margin: 0 0 8px !important;
}
main h3 {
  color: var(--navy-700, #0f3460) !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}
main p,
main li {
  color: #33404f !important;
  line-height: 1.72 !important;
  font-size: 16px;
}
main > .wrap > p { max-width: 860px; margin: 0 0 6px !important; }

/* 4. 首屏补一条金色细线作视觉落点 */
main > .wrap h1::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 16px;
  border-radius: 2px;
  background: #c9a227;
}

/* 5. 头部：页面标记是 header > .wrap > .brand/.main-nav/.hdr-cta，
      原主题按 .bar 布局，这里按真实标记重排 */
header.m-hdr {
  background: linear-gradient(180deg, #061a33 0%, #0a2547 100%) !important;
  border-bottom: 1px solid rgba(201, 162, 39, .35) !important;
  box-shadow: 0 2px 14px rgba(6, 26, 51, .18);
}
header.m-hdr > .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-height: 74px;
}
header.m-hdr .brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
header.m-hdr .brand img {
  height: 40px !important;
  width: auto !important;
  max-width: 220px;
  object-fit: contain;
  vertical-align: middle !important;
}
header.m-hdr .main-nav {
  display: flex !important;
  align-items: center;
  gap: 2px;
  flex: 1 1 auto;
  justify-content: flex-end;
  padding: 0;
  margin: 0;
}
header.m-hdr .main-nav a {
  display: inline-block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 8px 13px !important;
  color: rgba(255, 255, 255, .90) !important;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 8px;
  white-space: nowrap;
  position: relative;
}
header.m-hdr .main-nav a:hover {
  color: #e8cc7a !important;
  background: rgba(255, 255, 255, .08);
}
header.m-hdr .hdr-cta { flex: 0 0 auto; display: flex; align-items: center; }
header.m-hdr .hdr-cta a {
  display: inline-flex !important;
  align-items: center;
  min-width: 0 !important;
  padding: 11px 20px !important;
  border-radius: 999px;
  background: #c9a227;
  color: #061a33 !important;
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 12px rgba(201, 162, 39, .35);
}
header.m-hdr .hdr-cta a:hover { background: #e0bd55; }

/* 6. 行内链接解除全局 44px 触控补丁的误伤（只保留块级按钮） */
main a:not(.btn):not([class*="btn"]):not([class*="card"]),
footer a:not(.btn):not([class*="btn"]),
header .main-nav a,
.breadcrumb a,
.crumb a,
nav a:not(.btn):not([class*="btn"]) {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline !important;
  background: none !important;
}
header .main-nav a { display: inline-block !important; }
.footer a, footer .cols a, footer ul a {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 2px 0 !important;
  display: inline !important;
  color: rgba(255, 255, 255, .82) !important;
  text-decoration: none;
  font-size: 14.5px !important;
  line-height: 1.9 !important;
}
.footer a:hover, footer .cols a:hover { color: #e8cc7a !important; text-decoration: underline; }

/* 7. 按钮统一 */
.btn, .btn-primary, .btn-secondary, [class*="btn"] {
  border-radius: 10px !important;
  font-weight: 650;
  letter-spacing: .01em;
  box-shadow: none !important;
}
.btn-primary, a.btn-primary, .btn-primary:visited {
  background: #c9a227 !important;
  border-color: #c9a227 !important;
  color: #061a33 !important;
}
.btn-primary:hover { background: #e0bd55 !important; border-color: #e0bd55 !important; }
main .btn-primary {
  min-width: 0 !important;
  padding: 14px 26px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
/* 首屏那枚通栏按钮不再拉满整行 */
main > .wrap .btn-primary { display: inline-flex !important; width: auto !important; min-width: 220px; }

/* 8. 卡片与配图 */
.card, .m-svc .card, .m-cat .card, .m-price .card {
  background: #fff !important;
  border: 1px solid #e3e9f2 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(6, 26, 51, .06);
}
main img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.card img, .m-card img, section img[src*="/assets/"] {
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}

/* 9. 悬浮钮：左侧两枚统一 46px，金色为表单入口；AI 钮保持右下 */
.lingo-float-left {
  left: 16px !important;
  bottom: 18px !important;
  gap: 10px !important;
  display: flex;
  flex-direction: column;
  z-index: 900 !important;
}
.lingo-float-left a,
.lingo-float-left button,
.lingo-float-left .lf-wa,
.lingo-float-left .lf-form {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(6, 26, 51, .22) !important;
  border: 1px solid rgba(255, 255, 255, .35);
}
.lingo-float-left .lf-wa { background: #1f7a44 !important; color: #fff !important; }
.lingo-float-left .lf-form { background: #c9a227 !important; color: #061a33 !important; }
.lingo-float-left svg,
.lingo-float-left svg path {
  width: 22px;
  height: 22px;
  fill: currentColor !important;
  stroke: none !important;
}
/* 表单悬浮钮在桌面端已有头部 CTA，隐藏以免与 WhatsApp 重复堆叠 */
@media (min-width: 901px) {
  .lingo-float-left .lf-form { display: none !important; }
}

/* 10. 404 / 空页兜底：内容直接挂在 main 下也保证有版心 */
main > h1, main > p, main > h2 {
  width: 100%;
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}
main > p { padding-top: 0; }

/* 11. 移动端 */
@media (max-width: 900px) {
  header.m-hdr > .wrap {
    flex-wrap: wrap;
    gap: 8px;
    min-height: 62px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  header.m-hdr .brand img { height: 32px !important; }
  header.m-hdr .hdr-cta a { padding: 9px 15px !important; font-size: 13px; }
  header.m-hdr .main-nav {
    order: 3;
    flex: 1 0 100%;
    justify-content: flex-start;
    gap: 0;
    overflow-x: auto;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  header.m-hdr .main-nav::-webkit-scrollbar { display: none; }
  header.m-hdr .main-nav a {
    padding: 8px 10px !important;
    font-size: 13.5px !important;
  }
  main > .wrap { padding: 26px 18px 8px; }
  section > .wrap { padding-left: 18px; padding-right: 18px; }
  main h1 { font-size: clamp(24px, 6.4vw, 30px) !important; }
  main h2 { font-size: 20px !important; }
  main h3 { font-size: 17px !important; }
  main p, main li { font-size: 15.5px !important; line-height: 1.68 !important; }
  body { padding-bottom: 76px; }
  .lingo-float-left { left: 12px !important; bottom: 12px !important; gap: 8px !important; }
  .lingo-float-left a, .lingo-float-left button {
    width: 44px !important; height: 44px !important;
    min-width: 44px !important; min-height: 44px !important;
  }
}
@media (max-width: 520px) {
  header.m-hdr .hdr-cta a { padding: 8px 12px !important; font-size: 12.5px; }
  main > .wrap .btn-primary { width: 100% !important; }
  .card img, section img[src*="/assets/"] { max-height: 240px; }
}

/* 12. 页面级分区栅格：.split-layout / .reason-grid 等自定义类未被原主题覆盖 */
.split-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  gap: 48px !important;
  align-items: center !important;
}
.split-layout.reverse { direction: ltr; }
.reason-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin-top: 22px !important;
}
.reason-item { min-width: 0 !important; }
.reason-item h3 {
  font-size: 17px !important;
  color: #0f3460 !important;
  margin: 0 0 6px !important;
  padding-top: 12px;
  border-top: 2px solid #c9a227;
  display: inline-block;
}
.reason-item p { font-size: 15.5px !important; }
main *, footer * { word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important; }

/* 13. 内容区视觉占位（本批未配真实图片，做成有意为之的藏青金徽面板） */
.visual-col { min-width: 0; }
.visual-placeholder {
  position: relative;
  min-height: 330px;
  border-radius: 16px;
  background:
    radial-gradient(120% 120% at 85% 15%, rgba(201, 162, 39, .28) 0%, rgba(201, 162, 39, 0) 55%),
    linear-gradient(150deg, #061a33 0%, #0a2547 55%, #123a63 100%);
  border: 1px solid rgba(201, 162, 39, .4);
  box-shadow: 0 14px 34px rgba(6, 26, 51, .18);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.visual-placeholder::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity: .5;
  pointer-events: none;
}
.visual-overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 28px 26px;
  color: #fff !important;
}
.visual-badge {
  display: inline-block;
  background: #c9a227;
  color: #061a33;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: 7px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.visual-overlay .visual-caption {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 650;
  margin: 0 0 6px !important;
}
.visual-overlay p:not(.visual-caption) {
  color: rgba(255, 255, 255, .74) !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* 14. 勾选列表 */
.check-list { list-style: none; margin: 18px 0 22px; padding: 0; }
.check-list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
  color: #33404f !important;
}
.check-list li::before {
  content: "";
  position: absolute; left: 0; top: 6px;
  width: 14px; height: 14px;
  border-radius: 4px;
  background: rgba(201, 162, 39, .16);
  box-shadow: inset 0 0 0 2px #c9a227;
}

/* 15. 按钮宽度不再被主题的块级规则拉满 */
main a.btn, main button.btn, main .btn-primary, main .btn-secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  min-width: 200px;
  padding: 14px 26px !important;
  text-align: center;
  text-decoration: none;
}
main .btn-secondary {
  background: #fff !important;
  color: #0a2547 !important;
  border: 1px solid #c9a227 !important;
}
main .btn-secondary:hover { background: #fdf8e8 !important; }

/* 16. 分栏与三栏卡在窄屏回落单列 */
@media (max-width: 1000px) {
  .split-layout { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
  .reason-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
  .visual-placeholder { min-height: 240px; }
}
/* 17. 三栏理由区在 500px 内容列里排 3 列会挤成字块 —— 改为「左标题 + 右说明」的行式排版 */
.reason-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin-top: 26px !important;
}
.reason-item {
  display: grid !important;
  grid-template-columns: 168px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: start;
  padding: 18px 0 !important;
  border-top: 1px solid #e3e9f2;
}
.reason-item h3 {
  display: block !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
  font-size: 16px !important;
  letter-spacing: .01em;
}
.reason-item p { margin: 0 0 10px !important; }
@media (max-width: 700px) {
  .reason-item { grid-template-columns: minmax(0, 1fr) !important; gap: 6px !important; }
}

/* 18. 按钮在 flex 父容器里不再被拉伸 */
main .btn, main .btn-primary, main .btn-secondary { align-self: flex-start !important; justify-self: start !important; }
/* 19. 理由行内第二段不要掉进左侧标题列；占位图不要被行高拉伸 */
.reason-item p { grid-column: 2 / -1 !important; }
@media (max-width: 700px) { .reason-item p { grid-column: 1 / -1 !important; } }
.visual-col { align-self: center !important; }
.visual-placeholder { max-height: 440px; }
.visual-overlay { background: transparent !important; box-shadow: none !important; }
/* 20. 分区块版心：部分 section 用 .wrap{display:contents} 让内容直接参与栅格，
      结果没有任何左右留白，文字顶到视口 0px */
main > section {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* 21. 头部导航间距被行内链接清零规则覆盖 —— 提到更高优先级 */
html body header.m-hdr .main-nav a {
  padding: 8px 13px !important;
  display: inline-block !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
html body header.m-hdr .main-nav a:hover { background: rgba(255, 255, 255, .08) !important; }

/* 22. 深蓝字标压深蓝导航 —— 统一转为白色剪影，保证可读 */
header.m-hdr .brand img,
footer .brand img {
  filter: brightness(0) invert(1) !important;
  opacity: .95;
}

@media (max-width: 900px) {
  main > section { padding-left: 18px !important; padding-right: 18px !important; }
}
/* 23. 404 等页头部导航用的是 nav.m-nav，需与 .main-nav 同口径 */
html body header.m-hdr nav {
  display: flex !important;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
}
html body header.m-hdr nav a {
  color: rgba(255, 255, 255, .90) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 13px !important;
  border-radius: 8px;
}
html body header.m-hdr nav a:hover { background: rgba(255, 255, 255, .10) !important; color: #fff !important; }
/* 24. 头部导航项彼此贴死：加行内块与外边距，双保险 */
html body header.m-hdr nav a {
  display: inline-block !important;
  margin: 0 6px 0 0 !important;
  padding: 8px 12px !important;
}

/* 25. 页脚：浅底浅字、列被压成竖条 —— 统一深底 + 四列 */
footer.m-ftr {
  background: #0a2547 !important;
  color: #fff !important;
  padding: 44px 0 22px !important;
  margin-top: 0 !important;
}
footer.m-ftr .cols {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  gap: 36px !important;
  align-items: start;
}
footer.m-ftr h4 {
  color: #e8cc7a !important;
  font-size: 13px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin: 0 0 12px !important;
}
footer.m-ftr ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
footer.m-ftr ul li { margin: 0 0 8px !important; }
footer.m-ftr a { color: rgba(255, 255, 255, .84) !important; text-decoration: none !important; font-size: 14.5px !important; }
footer.m-ftr a:hover { color: #e8cc7a !important; }
footer.m-ftr .brandblk p, footer.m-ftr p { color: rgba(255, 255, 255, .74) !important; font-size: 14px !important; line-height: 1.7 !important; }
footer.m-ftr .legal {
  margin-top: 28px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, .14) !important;
}
footer.m-ftr .legal p { color: rgba(255, 255, 255, .6) !important; font-size: 13px !important; }
@media (max-width: 900px) {
  footer.m-ftr .cols { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
}
@media (max-width: 560px) {
  footer.m-ftr .cols { grid-template-columns: 1fr !important; }
}
/* 26. 页脚列容器改弹性布局，避免第四列掉行 */
footer.m-ftr .cols {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 34px !important;
}
footer.m-ftr .cols > div { flex: 1 1 180px; min-width: 0; }
footer.m-ftr .cols > div:first-child { flex: 1.4 1 300px; }
/* 27. 手机端头部重排：字标不断词成两行、导航横向可滑、CTA 不压字标 */
@media (max-width: 900px) {
  header.m-hdr { padding: 10px 0 6px !important; }
  header.m-hdr .wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
  }
  header.m-hdr .brand {
    flex: 0 1 auto !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: baseline;
    gap: 4px;
    max-width: 58%;
  }
  header.m-hdr .brand * { white-space: nowrap !important; font-size: 17px !important; }
  header.m-hdr .brand img { height: 30px !important; max-height: 30px !important; }
  header.m-hdr .hdr-cta { margin-left: auto !important; }
  header.m-hdr .hdr-cta a {
    font-size: 12.5px !important;
    padding: 8px 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
  }
  html body header.m-hdr .main-nav,
  html body header.m-hdr nav.m-nav {
    flex: 1 1 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 2px !important;
    padding: 4px 0 2px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  html body header.m-hdr .main-nav::-webkit-scrollbar { display: none; }
  html body header.m-hdr .main-nav a,
  html body header.m-hdr nav.m-nav a {
    font-size: 13.5px !important;
    padding: 7px 10px !important;
    white-space: nowrap !important;
  }
}
/* 28. 首页用的是另一套头部（header.site-header + ul 导航），补齐桌面与手机端 */
header.site-header { background: linear-gradient(120deg, #061a33 0%, #0a2547 100%) !important; }
header.site-header .wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px 22px !important;
  min-height: 74px;
}
header.site-header .logo {
  display: inline-flex !important;
  align-items: baseline;
  gap: 7px;
  text-decoration: none !important;
  white-space: nowrap !important;
}
header.site-header .logo-text { font-size: 23px !important; font-weight: 800; color: #fff !important; letter-spacing: -.01em; }
header.site-header .logo-sub { font-size: 12px !important; font-weight: 600; color: #e8cc7a !important; letter-spacing: .08em; text-transform: uppercase; }
header.site-header .main-nav { margin-left: auto !important; }
header.site-header .main-nav ul { display: flex !important; list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 2px !important; }
header.site-header .main-nav a {
  display: inline-block !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, .90) !important;
  text-decoration: none !important;
  border-radius: 8px;
  white-space: nowrap !important;
}
header.site-header .main-nav a:hover { background: rgba(255, 255, 255, .10) !important; color: #fff !important; }
header.site-header > .wrap > .btn,
header.site-header .header-inner > .btn { flex: 0 0 auto; }

@media (max-width: 900px) {
  header.site-header .wrap { min-height: 0 !important; padding: 10px 0 8px !important; gap: 6px !important; }
  header.site-header .logo { order: 1; }
  header.site-header .logo-text { font-size: 19px !important; }
  header.site-header .logo-sub { font-size: 10.5px !important; }
  header.site-header .main-nav { order: 3; flex: 1 1 100% !important; margin-left: 0 !important; overflow-x: auto !important; }
  header.site-header .main-nav ul { flex-wrap: nowrap !important; width: max-content; }
  header.site-header .main-nav a { font-size: 13.5px !important; padding: 7px 9px !important; }
  header.site-header .wrap > .btn,
  header.site-header .header-inner > .btn {
    order: 2;
    margin-left: auto !important;
    font-size: 12.5px !important;
    padding: 8px 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }
}
/* 29. 首页头部真实容器是 .header-inner，之前把 flex 加在 .wrap 上没生效 */
header.site-header .header-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 18px !important;
  width: 100%;
  min-height: 74px;
}
header.site-header .header-inner > .logo { flex: 0 0 auto !important; min-width: 0; }
header.site-header .header-inner > .main-nav { display: block !important; flex: 1 1 auto !important; min-width: 0; }
header.site-header .header-inner > .main-nav ul { display: flex !important; }
header.site-header .header-inner > .btn,
header.site-header .header-inner > .hdr-cta { flex: 0 0 auto !important; margin-left: auto !important; }

@media (max-width: 900px) {
  header.site-header .header-inner { min-height: 0 !important; gap: 6px !important; }
  header.site-header .header-inner > .main-nav {
    order: 3;
    flex: 1 1 100% !important;
    overflow-x: auto !important;
  }
  header.site-header .header-inner > .main-nav a { font-size: 13px !important; padding: 7px 9px !important; }
  header.site-header .header-inner > .btn { order: 2; font-size: 12px !important; padding: 8px 11px !important; }
}
/* 30. 手机端 CTA 与字标同排（缩小后不再单独占一行） */
@media (max-width: 520px) {
  header.site-header .header-inner > .btn {
    font-size: 11.5px !important;
    padding: 7px 10px !important;
    border-radius: 7px !important;
  }
  header.site-header .logo-text { font-size: 17.5px !important; }
  header.site-header .logo-sub { font-size: 9.5px !important; }
}
/* 31. 整屏铺开的装饰图改为区块背景 + 深藏青遮罩，正文回到前景 */
section.s15-hero {
  position: relative !important;
  overflow: hidden !important;
  padding: 64px 24px 72px !important;
  margin: 0 !important;
  max-width: none !important;
}
.s15-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  filter: saturate(.85);
  z-index: 0 !important;
}
.s15-hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(6,26,51,.94) 0%, rgba(6,26,51,.72) 52%, rgba(10,37,71,.58) 100%);
}
section.s15-hero > *:not(.s15-hero-bg) { position: relative; z-index: 2; }
section.s15-hero .wrap { max-width: 1140px; margin: 0 auto; padding: 0 !important; }
section.s15-hero h2 { color: #fff !important; }
section.s15-hero h1 { color: #fff !important; }
section.s15-hero p, section.s15-hero li, section.s15-hero h3, section.s15-hero h4 { color: rgba(255,255,255,.90) !important; }
section.s15-hero a.btn, section.s15-hero .btn { background: #c9a227 !important; color: #061a33 !important; }
/* 32. hero 区块内的正文容器与全站版心对齐 */
section.s15-hero > div:not(.s15-hero-bg) {
  max-width: 1140px !important;
  margin: 0 auto !important;
  width: 100% !important;
  padding: 0 !important;
}
section.s15-hero > h1, section.s15-hero > h2, section.s15-hero > p {
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 33. hero 区块段落节奏收口 */
section.s15-hero p { margin: 0 0 14px !important; }
section.s15-hero h2 { margin: 0 0 18px !important; }