@charset "utf-8";
/* ═══════════════════════════════════════════════════════════════
   及核官网 · v17.29.0 移动端整体重设计
   ───────────────────────────────────────────────────────────────
   本文件是全站最后加载的样式表（index 与子页均置尾引入），
   专责 ≤760px（含 480/420 细分）的移动端排版，PC 端零影响。

   设计原则（不是把 PC 内容纵向堆过去）：
   ① 壳层三件套：紧凑页头 / 底部固定操作栏 / 页脚两列栅格重组
   ② 节奏重排：区块留白、标题层级、触控目标按移动端重设
   ③ 长列表改横滑：首页案例卡与动态卡变为 swipe 卡片；
      动态列表页改为「小图行式」紧凑卡；品牌墙/资质保持横滑
   ④ 数据组件压缩留白、保留全部数据，不删内容
   ═══════════════════════════════════════════════════════════════ */

/* —— 移动端底部操作栏（PC 隐藏） —— */
.mbar{display:none}

@media (max-width:760px){

  /* ═══ 0 · 基础 ═══ */
  html{font-size:62.5%}
  body{font-size:15px;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  .wrap{padding:0 20px}
  .btn{height:44px;padding:0 22px;font-size:var(--f14);border-radius:8px}
  .btn--sm{height:36px;padding:0 14px;font-size:13px}

  /* ═══ 1 · 壳层：底部操作栏 + 悬浮客服收编 ═══ */
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:10px;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.97);border-top:1px solid var(--line);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .mbar__b{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
    height:42px;border-radius:10px;border:1px solid var(--line);
    background:#fff;color:var(--t1);font-size:14px;font-weight:500}
  .mbar__b svg{flex:none}
  .mbar__b--pri{background:var(--brand-d);border-color:var(--brand-d);color:#fff}
  .svc{display:none}

  /* ═══ 2 · 节奏：区块 / 标题 / 留白 ═══ */
  .sec{padding:44px 0}
  .sec__hd{margin-bottom:26px}
  .sec__t{font-size:22px;letter-spacing:0}
  .sec__t::after{width:22px;height:2px;margin-top:10px}
  .sec__lead{font-size:13.5px;margin-top:10px;line-height:1.8}

  /* ═══ 3 · 页头 / 抽屉 ═══ */
  .hd__in{height:56px}
  .hd__logo{height:26px}
  .mnav{max-height:calc(100vh - 56px)}
  .mnav__links{padding:2px 20px}
  .mnav__links a{padding:14px 2px;font-size:14.5px}
  .mnav__ft{padding:12px 20px 18px}

  /* ═══ 4 · 首屏 ═══ */
  .hero{padding:26px 0 0}
  .hero__in{gap:26px}
  .badge{font-size:12px;padding:5px 12px;margin-bottom:16px}
  .hero__t{font-size:clamp(26px,7.4vw,33px)}
  .hero__sub{font-size:14px;margin-top:12px}
  .hero__cta{margin-top:20px}
  .hero__cta .btn{flex:1}
  .rail{margin-top:20px}
  .rail__v{font-size:13px}
  /* 平台名 span 相邻无空白不可折行 → 改 flex 芯片换行 */
  .rail__v{display:flex;flex-wrap:wrap;gap:3px 12px}
  .rail__v span+span::before{content:none}

  /* —— 首屏看板：压缩留白，保留全部数据 —— */
  .dash{gap:10px}
  .dash__eng{padding:8px 12px;gap:8px}
  .dash__engk{font-size:11px}
  .dash__flow{gap:6px}
  .dash__flow span{font-size:11px}
  .dash__flow i{flex:0 0 10px}
  .kpi{padding:12px 14px 10px}
  .kpi__v{font-size:16px;margin-top:5px}
  .kpi__sp{height:22px;margin-top:2px}
  .kpi__sp svg{height:22px}
  .panel{padding:12px 14px}
  .panel__hd{margin-bottom:10px}
  /* 图表保持可读：容器内横滑而不是整图缩小。
     关键：1fr 轨道必须改 minmax(0,1fr)，否则 svg min-width 会把
     网格轨道的最小内容宽度撑到 520+，整屏 hero 列被撑爆（390 视口截断） */
  .hero__in{grid-template-columns:minmax(0,1fr)}
  .hero__in>*{min-width:0}
  .dash__row--kpi,.dash__row--sum{grid-template-columns:minmax(0,1fr)}
  .dash__row--kpi>*,.dash__row--sum>*,.dash>*{min-width:0}
  .chart__w{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .chart__w::-webkit-scrollbar{display:none}
  .chart__svg{width:560px;max-width:none}
  .rec__i{grid-template-columns:78px 1fr 76px;gap:7px}
  .vch__i{grid-template-columns:74px 1fr auto;gap:7px}
  .rec__ft,.vch__ft{margin-top:8px;padding-top:8px}

  /* —— 数据带：2 列 + 末项通栏 —— */
  .dbar{margin-top:26px}
  .dbar__it{padding:16px 14px}
  .dbar__it:last-child{grid-column:1/-1}
  .dbar__ic{width:18px;height:18px;margin-bottom:8px}
  .dbar__n{font-size:22px;letter-spacing:0}
  .dbar__n i{font-size:12px}
  .dbar__n--txt{font-size:17px}
  .dbar__l{font-size:12px;margin-top:4px}

  /* ═══ 5 · 价值卡 / 产品卡：收紧 ═══ */
  .vgrid{gap:12px}
  .vcard{padding:20px 18px 18px}
  .vcard h3{font-size:17px;margin:10px 0 8px}
  .vcard p{font-size:13px}
  .vcard__ch{padding-top:14px;padding-bottom:14px}
  .vcard__ft{padding-top:10px}
  .pgrid{gap:12px}
  .eng{padding:22px 18px 20px}
  .eng h3{font-size:20px}
  .eng p{font-size:13px;margin-top:12px;padding-top:12px}

  /* —— 对接能力条：1 列 → 2×2 —— */
  .linkstrip{grid-template-columns:1fr 1fr;margin-top:14px}
  .linkstrip__i{padding:16px 14px;border-right:0;border-bottom:1px solid var(--line2)}
  .linkstrip__i:nth-child(2n){border-left:1px solid var(--line2)}
  .linkstrip__i:nth-child(n+3){border-bottom:0}
  .linkstrip__n{font-size:22px}

  /* ═══ 6 · 首页案例：堆叠 → 横滑卡片 ═══ */
  #cases .cg{margin-top:0}
  #cases .cg__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;
    padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}
  #cases .cg__grid::-webkit-scrollbar{display:none}
  #cases .cg__c{flex:0 0 82%;scroll-snap-align:center}
  #cases .cg__img{aspect-ratio:16/9}
  #cases .cg__t{font-size:13px;padding:11px 14px;white-space:normal;line-height:1.6;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

  /* —— 品牌墙：小瓦片 —— */
  .bwall{margin-top:34px;padding-top:26px}
  .bwall__h b{font-size:15px}
  .bwall__i{width:126px;height:66px;padding:10px}
  .bwall__i img{max-height:38px}

  /* ═══ 7 · 首页动态：堆叠 → 横滑卡片 ═══ */
  #news .news{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;
    padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}
  #news .news::-webkit-scrollbar{display:none}
  #news .news__c{flex:0 0 82%;scroll-snap-align:center}
  #news .news__img{aspect-ratio:16/9}
  #news .news__bd{padding:13px 14px 15px}
  #news .news__t{font-size:14px}
  .news__more{margin-top:12px}

  /* ═══ 8 · CTA / 页脚 ═══ */
  .cta{padding:44px 0}
  .cta__in h2{font-size:21px}
  .cta__in p{font-size:13.5px;margin-top:12px}
  .cta__in .btn{margin-top:20px;width:100%}

  /* 页脚：品牌通栏 → 产品|资源 并排 → 联系|二维码 并排 */
  .ft{padding:36px 0 26px}
  .ft__in{grid-template-columns:1fr 1fr;gap:26px 18px}
  .ft__brand{grid-column:1/-1;padding-bottom:18px;border-bottom:1px solid var(--line2)}
  .ft__logo{height:28px;margin-bottom:10px}
  .ft__logolink{margin-bottom:10px}
  .ft__slog{font-size:16px;margin-bottom:8px}
  .ft__brand p{font-size:12.5px}
  .ft h4{font-size:14px;margin-bottom:10px}
  .ft li{font-size:13px;margin-bottom:10px;line-height:1.6}
  .ft li a span{display:none}
  .ft__qr img{width:74px;height:74px}
  .ft__qr p{font-size:11.5px}
  .ft__bot{margin-top:24px;padding-top:16px;flex-direction:column;align-items:center;gap:4px;text-align:center}

  /* ═══ 9 · 子页 banner（pbnr 在 banner.css，加权覆盖） ═══ */
  main section.pbnr{padding:30px 0 34px}
  main .pbnr__in{gap:24px}
  main .crumbs{margin-bottom:12px}
  main .pbnr__t{font-size:24px;margin-top:12px;letter-spacing:0}
  main .pbnr__s{font-size:13.5px;margin-top:10px;line-height:1.8}
  main .pbnr__k{gap:8px;margin-top:14px}
  main .pbnr__k span{font-size:11.5px;padding:5px 11px}
  main .bcard{padding:14px 14px 12px}

  /* ═══ 10 · 通用卡片 / 栅格 ═══ */
  .g3,.g4,.g5,.g2,.g2x{gap:12px}
  .qd{gap:12px}
  .kcard{padding:18px 16px 16px}
  .kcard h3{font-size:16px;margin:12px 0 8px}
  .kcard p{font-size:13px}
  .kcard__k--n{font-size:18px}
  .scap{padding:20px 18px 18px}
  .scap__g{grid-template-columns:1fr 1fr}
  .deng__c{padding:18px}
  .vmv__c{padding:22px 18px 20px}
  .vmv__c h3{font-size:18px}
  .credo__c{padding:20px 18px}
  .steps__i{padding:16px 14px}
  .way__c{padding:18px 16px 16px}
  table.tbl th,table.tbl td{padding:11px 12px;font-size:13px}
  .ba__h,.ba__r{padding:12px 14px}

  /* ═══ 11 · 架构分层 / 链路 ═══ */
  .archx__r{padding:14px 16px}
  .archx__l b{font-size:14px}
  .archx__c span{padding:6px 10px}
  .lay__r{padding:16px 18px}
  .hand__c{padding:18px}
  .chain{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .chain__c{display:none}
  .chain__i{padding:14px 12px}
  .chain__i + .chain__i{margin-top:0}
  .chain__i b{font-size:14px}

  /* ═══ 12 · 场景卡 scn（隐藏巨型水印、收紧） ═══ */
  .scn__num{display:none}
  .scn__head{padding:18px 18px 14px}
  .scn__head h3{font-size:18px;margin-top:8px}
  .scn__head p{font-size:12.5px}
  .scn__tags{margin-top:10px}
  .scn__body{padding:14px 18px 4px}
  .scn__sol{padding-left:0}
  .scn__act{margin:10px 18px 0}
  .scn__band{margin-top:10px}
  .scn__kv{padding:10px 12px}
  .scn__kv i{font-size:17px}
  .scn__kv span{font-size:11px}
  .bpr{grid-template-columns:44px minmax(0,1fr) auto;column-gap:10px}

  /* ═══ 13 · 平台墙（3 列大瓦片） ═══ */
  .rwall{gap:18px}
  .rwall__g{padding:18px 14px 16px}
  .rwall__h{margin-bottom:14px;padding-bottom:12px}
  .rwall__t{grid-template-columns:repeat(3,1fr);gap:8px}
  .rwall__i{height:88px}
  .pwall__t{grid-template-columns:repeat(3,1fr)}
  .pwall__i{height:58px}
  .lgd__sum{padding:18px}
  .lgd__t i{font-size:34px}
  .lgd__g{grid-template-columns:1fr 1fr;gap:10px}
  .lgd__c{padding:16px}
  .lgd__n{font-size:26px}

  /* ═══ 14 · 关于页 ═══ */
  .abintro{gap:24px}
  .abintro__txt h3{font-size:21px}
  .abintro__txt p{font-size:13px}
  .abnum{padding:24px 10px 22px 22px}
  .abnum b{font-size:28px}
  .abnum::after{left:22px;bottom:18px}
  .credo{margin-bottom:18px}
  .mile__txt{padding:22px 20px}
  .mile__txt h3{font-size:18px}
  .mile__pic{width:calc(100% - 40px);margin:0 20px 18px;height:180px}
  .tmr__c{flex:0 0 280px}
  /* 荣誉 / 团建 / 资质：两列（覆盖 v17.28 的 1 列） */
  .honor,.culture{grid-template-columns:1fr 1fr}
  .hgrid{grid-template-columns:1fr 1fr;gap:10px}
  .hgrid__i img{height:110px}
  .tml{grid-template-columns:1fr;gap:10px}
  .tml__c{padding:16px 14px}
  .qd--3{gap:18px}
  .kpi2__n{font-size:22px}
  .dl2__c{padding:18px}
  .qstrip__i b{font-size:17px}
  .kpiq__n{font-size:24px}
  .kpiq__ic{flex:0 0 40px;width:40px;height:40px}

  /* ═══ 15 · 文章 / 案例详情 ═══ */
  .asec{padding:34px 0 4px}
  .art__t{font-size:21px}
  .art__cv{margin:20px 0 0}
  .art__bd{margin-top:24px;font-size:14px;line-height:1.95}
  .art__bd h2{font-size:17px;margin:30px 0 14px}
  .art__bd h3{font-size:15.5px;margin:24px 0 12px}
  .art__nv{margin-top:32px}
  .art__nv a,.art__nv span{padding:14px 16px;font-size:12.5px}
  .art__back{margin:22px 0 48px}
  .npg{margin-top:24px}

  /* ═══ 16 · 案例页列表 + 筛选 ═══ */
  #cg .cg__grid{gap:12px}
  #cg .cg__img{aspect-ratio:16/9}
  #cg .cg__t{font-size:13px;padding:11px 14px}
  .cfilter{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-bottom:20px;
    padding-bottom:2px;scrollbar-width:none}
  .cfilter::-webkit-scrollbar{display:none}
  .cfilter button{flex:0 0 auto;height:34px;padding:0 14px;font-size:13px}

  /* ═══ 17 · 动态页列表：大图堆叠 → 小图行式卡 ═══ */
  #newslist .news{gap:12px}
  #newslist .news__c{flex-direction:row;align-items:stretch;gap:14px;padding:13px}
  #newslist .news__img{flex:0 0 122px;aspect-ratio:4/3;border-radius:8px}
  #newslist .news__bd{padding:2px 0;gap:7px;justify-content:center}
  #newslist .news__t{font-size:13.5px;line-height:1.6;display:-webkit-box;
    -webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

  /* ═══ 18 · 弹窗 ═══ */
  .dmo__box{margin:3vh 10px 0;max-width:none}
}

@media (max-width:420px){
  .wrap{padding:0 16px}
  .scn__kv{flex:1 1 44%}
  .dbar__n{font-size:20px}
}
