/* 全站字体规范 v146（来科信尺度）
   加载于各页 <style> 之后，统一覆盖页内字号
   HTML 标签字号只在此文件定义，页面内不得单独设置
   来科信：body 16/26，p 18/30
   首屏标题 72 / 区块标题 60 / 导语 18
   ══════════════════════════════════════ */

html, body {
  font-family: var(--body-font) !important;
  font-size: var(--fs-body) !important;
  line-height: var(--lh-body) !important;
  font-weight: 400 !important;
}

h1, h2, h3, h4, h5, h6,
.sec-title, .section-title {
  font-family: var(--heading-font) !important;
}

/* 区块导语 / 首屏副标题（标题下说明文案，全站统一 --fs-lead） */
.sec-sub, .section-sub,
.sec-head .sec-sub, .sec-head .section-sub,
.hero-desc, .hero-lead, .hero-sub, .ai-hero-desc,
.sw-hero-copy > p, .sw-hero-copy .lead,
.mp-hero-copy > p, .app-hero-copy > p, .sd-hero-copy > p,
.ai-hero-copy > p, .ai-hero-inner > div > p,
.hero-content-left > p, .hero-content-left .hero-lead,
.ph > p, .page-hero > p,
.sw-hero > .pw > p, .sd-hero > .pw > p, .mp-hero > .pw > p,
.app-hero > .pw > p, .cs-hero > .pw > p, .ai-hero > .pw > p,
.ab-hero > .pw > p, .detail-hero > p,
.hero-section > .max-w-7xl > p,
.cta-ban .cta-sub, .cta-banner .cta-sub, .cta-float .cta-sub, .ctab-ban .cta-sub {
  font-size: var(--fs-lead) !important;
  line-height: var(--lh-lead) !important;
}

/* 正文段落统一（来科信 p=18px / lh=30px） */
p {
  font-size: var(--fs-p) !important;
  line-height: var(--lh-p) !important;
}

/* 标题层级 */
h1 {
  font-size: var(--fs-h1) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

h2,
.sec-title, .section-title,
h2.sec-title {
  font-size: var(--fs-h2) !important;
  line-height: 1.13 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
}

/* 全站 h3 统一（含卡片内标题 / 文字型 stat 卡） */
h3,
.stat-card h3,
.svc-card h3, .type-card h3, .pain-card h3, .case-card h3,
.kb-card h3, .cap-card h3, .fit-card h3, .ai-fit-case h3,
.svc-vis h3, .adv-item h3, .why-card h3, .case-body h3,
.flow6-item h3, .deliver-item h3, .deliver-card h3, .fcard h3, .scard h3,
.scope-card h3, .ind-card h3, .service-card h3, .flow-step h3,
.ai-dev-card h3, .ai-scene-card h3, .access-board h3, .diag-way h3,
.diag-check h3, .diag-path-item h3, .risk-item h3, .faq-item h3,
.guide-box h3, summary h3 {
  font-size: var(--fs-h4) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.aitem h3 {
  font-size: var(--fs-h4) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

/* 文字型能力卡说明：走全局 p，压过 .stat-title 旧字号 */
.stat-card p {
  font-size: var(--fs-p) !important;
  line-height: var(--lh-p) !important;
}

h4, h6 {
  font-size: var(--fs-h4) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

h5 {
  font-size: var(--fs-h5) !important;
  line-height: var(--lh-lead) !important;
  font-weight: 500 !important;
}

/* 首屏 Hero 大标题 */
.ph h1, .page-hero h1, .hero-section h1,
.sw-hero-copy h1, .hero-content-left h1, .ai-hero-copy h1,
.sw-hero h1, .sd-hero h1, .mp-hero h1, .app-hero h1,
.cs-hero h1, .ai-hero h1, .ab-hero h1, .detail-hero h1,
#ai-hero h1, .hero-home-grid h1 {
  font-size: var(--fs-h1-hero) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

/* 小标签 / 区块 eyebrow */
.stag, .section-tag, .subtitle-one,
.sw-hero-eyebrow, .hero-eyebrow, .access-badge,
.hero-chip, .sec-tag {
  font-size: var(--fs-tag) !important;
  font-weight: 500 !important;
}

/* 导航 */
.nav-link, #main-nav .nav-link, nav .nav-link {
  font-size: var(--fs-nav) !important;
  font-weight: 500 !important;
}
#main-nav.scrolled .nav-link,
nav.scrolled .nav-link {
  font-size: var(--fs-nav) !important;
}
#nav-phone {
  font-size: var(--fs-nav-sub) !important;
}

/* 关于我们：联系方式比正文更醒目 */
#intro .intro-phone,
#intro .intro-phone a {
  font-size: var(--fs-h4) !important;
  line-height: 1.5 !important;
}
#mobile-menu a {
  font-size: var(--fs-nav) !important;
}
.nav-dropdown-panel a,
.nav-dd-item,
.nav-submenu a,
.nav-mega a {
  font-size: var(--fs-nav-sub) !important;
}

/* 按钮 */
.btn-primary, a.btn-primary, button.btn-primary,
.btn-outline, a.btn-outline,
.btn-secondary, .btn-two, .btn-three,
.cta-ban .btn-primary, .cta-banner .btn-primary {
  font-size: var(--fs-btn) !important;
  font-weight: 700 !important;
}

/* 卡片正文与全局 p 一致 */
.svc-card p, .type-card p, .pain-card p, .case-card p,
.kb-card p, .cap-card p, .fit-card p, .ai-fit-case p,
.svc-vis p, .adv-item p, .why-card p, .flow6-item p,
.scope-card p, .ind-card p, .deliver-card p, .deliver-item p,
.flow-step p, .faq-item p,
.why-std-head p, .why-std-desc, .why-std-left .sec-sub {
  font-size: var(--fs-p) !important;
  line-height: var(--lh-p) !important;
}

/* 页脚：全站统一字号（以软件定制页为基准） */
.site-footer p,
#site-footer p,
footer.site-footer p,
.site-footer li,
#site-footer li,
.site-footer a,
#site-footer a,
footer.site-footer a,
.site-footer .text-sm,
.site-footer .text-xs,
#site-footer .text-sm,
#site-footer .text-xs,
footer .text-sm,
footer .text-xs,
.site-footer .footer-links,
.site-footer .footer-links span,
#site-footer .footer-links,
#site-footer .footer-links span,
.site-footer .footer-qr-label,
#site-footer .footer-qr-label {
  font-size: var(--fs-body) !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}
.site-footer h3,
#site-footer h3,
footer.site-footer h3 {
  font-size: var(--fs-h5) !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

/* 区块标题弧形装饰（可选 class） */
.sec-title-line::after,
h2.sec-title-line::after {
  content: '';
  display: block;
  width: 110px;
  height: 10px;
  margin: 14px auto 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 10' fill='none'%3E%3Cpath d='M2 7C30 2 80 2 108 7' stroke='%237DD3FC' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* 终态锁定：首屏大标题 / 标题下副标题（压过 site-common 旧 clamp；响应式规则在其后覆盖） */
.sw-hero-inner > div:first-child > h1,
.sd-hero-inner > div:first-child > h1,
.mp-hero-inner > div:first-child > h1,
.app-hero-inner > div:first-child > h1,
.cs-hero-inner > div:first-child > h1,
.ai-hero-inner > div:first-child > h1,
.ab-hero-inner > div:first-child > h1,
.sw-hero-copy h1,
.sd-hero-copy h1,
.mp-hero-copy h1,
.app-hero-copy h1,
.hero-content-left h1,
.ph-content h1,
.page-hero h1,
.detail-hero h1,
.hero-section h1,
.hero-home-grid h1 {
  font-size: var(--fs-h1-hero) !important;
  line-height: 1.2 !important;
}

.sw-hero-inner > div:first-child > p,
.sd-hero-inner > div:first-child > p,
.mp-hero-inner > div:first-child > p,
.app-hero-inner > div:first-child > p,
.cs-hero-inner > div:first-child > p,
.ai-hero-inner > div:first-child > p,
.ab-hero-inner > div:first-child > p,
.sw-hero-copy > p,
.sd-hero-copy > p,
.mp-hero-copy > p,
.app-hero-copy > p,
.hero-content-left > p,
.hero-content-left .hero-lead,
.ph-content p,
.page-hero p,
.detail-hero p,
.sec-sub,
.section-sub,
.hero-lead,
.hero-desc,
.hero-sub,
.ai-hero-desc,
.cta-ban .cta-sub,
.cta-banner .cta-sub,
.cta-float .cta-sub,
.ctab-ban .cta-sub {
  font-size: var(--fs-lead) !important;
  line-height: var(--lh-lead) !important;
}

/* ── 响应式（来科信断点） ── */
@media (max-width: 1399px) {
  h2, .sec-title, .section-title, h2.sec-title,
  [id] h2.sec-title, [id] .sec-title,
  .ai-path-sec .sec-title, .ai-signal-sec .sec-title,
  .ai-band-dark h2.sec-title,
  #faq .sec-title, #faq h2.sec-title,
  .ai-faq-sec .sec-title, .ai-faq-sec h2.sec-title {
    font-size: 45px !important;
  }
}

@media (max-width: 767px) {
  h2, .sec-title, .section-title, h2.sec-title,
  [id] h2.sec-title, [id] .sec-title,
  #faq .sec-title, #faq h2.sec-title,
  .ai-faq-sec .sec-title, .ai-faq-sec h2.sec-title {
    font-size: 32px !important;
  }
  .ph h1, .page-hero h1, .hero-section h1,
  .sw-hero-copy h1, .hero-content-left h1, .ai-hero-copy h1,
  .sw-hero h1, .sd-hero h1, .mp-hero h1, .app-hero h1,
  .cs-hero h1, .ai-hero h1, .ab-hero h1, .detail-hero h1,
  #ai-hero h1, .hero-home-grid h1,
  .sw-hero-inner > div:first-child > h1,
  .sd-hero-inner > div:first-child > h1,
  .mp-hero-inner > div:first-child > h1,
  .app-hero-inner > div:first-child > h1,
  .cs-hero-inner > div:first-child > h1,
  .ai-hero-inner > div:first-child > h1,
  .ab-hero-inner > div:first-child > h1,
  .sd-hero-copy h1, .mp-hero-copy h1, .app-hero-copy h1 {
    font-size: 34px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 535px) {
  .ph h1, .page-hero h1, .hero-section h1,
  .sw-hero-copy h1, .hero-content-left h1, .ai-hero-copy h1,
  .sw-hero h1, .sd-hero h1, .mp-hero h1, .app-hero h1,
  .cs-hero h1, .ai-hero h1, .ab-hero h1, .detail-hero h1,
  #ai-hero h1, .hero-home-grid h1,
  .sw-hero-inner > div:first-child > h1,
  .sd-hero-inner > div:first-child > h1,
  .mp-hero-inner > div:first-child > h1,
  .app-hero-inner > div:first-child > h1,
  .cs-hero-inner > div:first-child > h1,
  .ai-hero-inner > div:first-child > h1,
  .ab-hero-inner > div:first-child > h1,
  .sd-hero-copy h1, .mp-hero-copy h1, .app-hero-copy h1 {
    font-size: 28px !important;
    line-height: 1.28 !important;
  }
}

@media (max-width: 420px) {
  h2, .sec-title, .section-title, h2.sec-title,
  [id] h2.sec-title, [id] .sec-title,
  #faq .sec-title, #faq h2.sec-title,
  .ai-faq-sec .sec-title, .ai-faq-sec h2.sec-title {
    font-size: 28px !important;
  }
  .ph h1, .page-hero h1, .hero-section h1,
  .sw-hero-copy h1, .hero-content-left h1, .ai-hero-copy h1,
  .sw-hero h1, .sd-hero h1, .mp-hero h1, .app-hero h1,
  .cs-hero h1, .ai-hero h1, .ab-hero h1, .detail-hero h1,
  #ai-hero h1, .hero-home-grid h1,
  .sw-hero-inner > div:first-child > h1,
  .sd-hero-inner > div:first-child > h1,
  .mp-hero-inner > div:first-child > h1,
  .app-hero-inner > div:first-child > h1,
  .cs-hero-inner > div:first-child > h1,
  .ai-hero-inner > div:first-child > h1,
  .ab-hero-inner > div:first-child > h1,
  .sd-hero-copy h1, .mp-hero-copy h1, .app-hero-copy h1 {
    font-size: 26px !important;
  }
}

/* 移动端页脚：为底部咨询栏留空，避免版权/友情链接被挡住 */
@media (max-width: 1023px) {
  .site-footer,
  footer.py-12,
  body > footer,
  #site-footer .site-footer,
  #site-footer > footer,
  #site-footer footer {
    padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 移动端流程卡：编号与功能图标同一行 */
@media (max-width: 900px) {
  #process .flow-step .n,
  #process .flow-step:nth-child(even) .n,
  #process.ai-process-sec .flow-step .n,
  #process.app-process-sec .flow-step .n {
    position: absolute !important;
    left: 16px !important;
    top: 16px !important;
    width: 44px !important;
    height: 44px !important;
    transform: none !important;
    z-index: 3 !important;
  }
  #process .flow-card,
  #process.ai-process-sec .flow-card,
  #process.app-process-sec .flow-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 16px 16px 20px !important;
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #process .flow-card .fico,
  #process.ai-process-sec .flow-card .fico,
  #process.app-process-sec .flow-card .fico {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0 0 12px 56px !important;
  }
}

/* 移动端 FAQ：仅缩小问题条目，区块标题跟全站 sec-title 走同一套响应式 */
@media (max-width: 900px) {
  .faq-item h3,
  .faq-item summary h3,
  #faq .faq-item summary h3,
  summary h3 {
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
  }
  .faq-item p,
  #faq .faq-item p {
    font-size: var(--fs-p) !important;
    line-height: var(--lh-p) !important;
  }
}
