@charset "utf-8";
/* ============================================================================
   蜀黍家官网 · 移动端样式表（B 方案 · 场景优先）
   ----------------------------------------------------------------------------
   【隔离原则】
   1. 本文件通过 <link rel="stylesheet" href="assets/mobile.css" media="(max-width:767px)">
      引入 —— 宽度 >767px 时浏览器既不下载也不解析本文件，PC 端零影响。
   2. style.css 与各页内联 <style> 一个字都不改，本文件靠「link 置于其后 +
      必要的 !important」覆盖既有移动端规则。
   3. 本文件内所有规则都作用于「真实站点已有的 DOM」，不新增结构；
      唯一新增的 DOM 是底部 Tab Bar（.mtab，自带内联 display:none，PC 端不可见）。
   【断点】≤767px（覆盖既有 720/640 档规则）
   ========================================================================== */

/* ══════════════════════════════════════════════════════════════════════════
   0. 移动端设计令牌
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  /* 尺寸 */
  --m-nav-h: 54px;              /* 顶部导航高度 */
  --m-tab-h: 56px;              /* 底部 Tab Bar 高度 */
  --m-pad: 18px;                /* 内容左右留白 */
  --m-sec-y: 52px;              /* 区块上下间距 */
  --m-gap: 10px;                /* 卡片间距 */
  --m-safe-t: env(safe-area-inset-top, 0px);
  --m-safe-b: env(safe-area-inset-bottom, 0px);
  --m-bottom-avoid: calc(var(--m-tab-h) + var(--m-safe-b) + 8px);

  /* 圆角（比 PC 略收敛，小屏上大圆角显得笨） */
  --m-r-sm: 8px;
  --m-r: 12px;
  --m-r-lg: 14px;

  /* 移动端字号（正文 14，注释不低于 11） */
  --m-fs-h1: 29px;
  --m-fs-h2: 22px;
  --m-fs-h3: 17px;
  --m-fs-body: 14px;
  --m-fs-sm: 13px;
  --m-fs-note: 11.5px;

  /* 覆盖 PC 变量，让 .mnav 等依赖 --nav-h 的元素自动跟上 */
  --nav-h: 54px;
  --max: 100%;
}

/* ══════════════════════════════════════════════════════════════════════════
   1. 全局基础
   ══════════════════════════════════════════════════════════════════════════ */
html {
  /* 锚点跳转时避开固定导航 */
  scroll-padding-top: calc(var(--m-nav-h) + var(--m-safe-t) + 8px);
  -webkit-text-size-adjust: 100%;
}
body {
  /* 防止任何元素把页面撑宽（横向晃动是移动端最刺眼的问题） */
  overflow-x: hidden;
  font-size: var(--m-fs-body);
}
/* 触控体验：去掉点击高亮，但保留 :active 反馈 */
* { -webkit-tap-highlight-color: transparent; }
/* 所有区块内的图片默认不溢出 */
img, svg, video { max-width: 100%; }

.wrap,
.nav-in,
.hero-in {
  padding-left: var(--m-pad) !important;
  padding-right: var(--m-pad) !important;
  max-width: 100% !important;
}

/* 通用区块间距压缩 */
.sec { padding: var(--m-sec-y) 0 !important; }

/* 区块标题：PC 居中大标题 → 移动端左对齐更省纵向空间、更易扫读 */
.sec-h {
  text-align: left !important;
  margin-bottom: 22px !important;
}
.sec-h h2 {
  font-size: var(--m-fs-h2) !important;
  line-height: 1.34 !important;
  margin-bottom: 10px !important;
}
.sec-h p {
  font-size: var(--m-fs-sm) !important;
  line-height: 1.72 !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.sec-tag {
  font-size: 11px !important;
  margin-bottom: 9px !important;
}

/* 按钮：统一到 ≥44px 触控高度 */
.btn {
  height: 44px !important;
  font-size: 14.5px !important;
  padding: 0 18px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   2. 顶部导航
   ══════════════════════════════════════════════════════════════════════════ */
.nav {
  padding-top: var(--m-safe-t);
}
.nav-in {
  height: var(--m-nav-h) !important;
  gap: 10px !important;
}
.nav .logo-img {
  height: 26px !important;
}
/* 「一站式警营文化品牌」标语在手机上占宽且无信息增量，隐藏 */
.nav .logo-tagline { display: none !important; }
/* 菜单项收进抽屉（#mnav），顶部只留汉堡 */
.nav .menu { display: none !important; }
.nav .nav-cta { gap: 8px !important; }
/* 联系我们 → 紧凑金色按钮，保持 44px 触控高度 */
.nav .nav-cta .btn-gold {
  height: 36px !important;
  min-width: 76px;
  padding: 0 14px !important;
  font-size: 13.5px !important;
  border-radius: var(--m-r-sm) !important;
}
.nav .burger {
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
  margin-right: -8px;
}

/* 移动抽屉：从导航下方展开 */
.mnav {
  top: calc(var(--m-nav-h) + var(--m-safe-t)) !important;
  padding: 10px var(--m-pad) 32px !important;
  /* 抽屉自身可滚，且底部不被 TabBar 遮挡 */
  padding-bottom: calc(var(--m-bottom-avoid) + 24px) !important;
}
.mnav a {
  padding: 14px 2px !important;
  font-size: 16px !important;
}
.mnav .mbtn {
  height: 48px !important;
  font-size: 15.5px !important;
  margin-top: 20px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   3. 底部 Tab Bar（新增结构 · PC 端内联 display:none）
   ══════════════════════════════════════════════════════════════════════════ */
.mtab {
  display: flex !important;             /* 覆盖内联 display:none */
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 120;
  height: calc(var(--m-tab-h) + var(--m-safe-b));
  padding-bottom: var(--m-safe-b);
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-top: 1px solid var(--line);
  box-shadow: 0 -1px 12px rgba(12, 26, 48, .05);
}
.mtab-i {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  /* 触控目标：每项 ~78×56，远超 44×44 */
  height: var(--m-tab-h);
  color: var(--ink-4);
  text-decoration: none;
  font-size: 10.5px;                    /* 底栏标签：遵循 iOS 惯例，非注释文字 */
  font-weight: 600;
  letter-spacing: .01em;
  transition: color .18s var(--ease);
  position: relative;
}
.mtab-i svg { width: 22px; height: 22px; display: block; }
.mtab-i.on { color: var(--brand-blue); }
.mtab-i.on::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 2.5px;
  border-radius: 0 0 3px 3px;
  background: var(--brand-blue);
}
.mtab-i:active { background: rgba(0, 48, 144, .05); }

/* ══════════════════════════════════════════════════════════════════════════
   4. 首页 · Hero
   B 方案主张「场景优先」：hero 不再满屏，压缩到内容自然高度，
   让首屏下半段就能看到「您要解决的是哪件事」的场景入口。
   ══════════════════════════════════════════════════════════════════════════ */
.hero {
  min-height: 0 !important;
  display: block !important;
  padding-top: calc(var(--m-nav-h) + var(--m-safe-t));
}
.hero-in {
  padding-top: 26px !important;
  padding-bottom: 26px !important;
}
/* 资质标签行：改为横滑，三项一屏放不下就滑 */
.hero .eyebrow {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  gap: 0;
  padding: 7px 14px !important;
  margin-bottom: 16px !important;
  font-size: 11.5px !important;
  white-space: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.hero .eyebrow::-webkit-scrollbar { display: none; }
.hero .eyebrow span { flex: none; }
.hero .eyebrow .d { flex: none; }

.hero h1 {
  font-size: var(--m-fs-h1) !important;
  line-height: 1.24 !important;
  margin-bottom: 14px !important;
  letter-spacing: -.02em !important;
  max-width: 100% !important;
}
/* 手绘下划线在小屏上位置会飘，收窄一点即可 */
.hero h1 em::after { bottom: .06em !important; }

.hero-lead {
  font-size: var(--m-fs-sm) !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
  max-width: 100% !important;
}

/* 5 格数据：PC 一行 5 列 → 移动端横滑卡片（B 方案的「背书条」） */
.hero .stats {
  display: flex !important;
  overflow-x: auto;
  border-radius: var(--m-r-lg) !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hero .stats::-webkit-scrollbar { display: none; }
.hero .stat {
  flex: 0 0 122px;
  padding: 14px 8px !important;
  scroll-snap-align: start;
  border-right: 1px solid rgba(255, 255, 255, .09);
}
.hero .stat:last-child { border-right: 0; }
.hero .stat b {
  font-size: 21px !important;
  margin-bottom: 5px !important;
}
.hero .stat span {
  font-size: 11px !important;
  line-height: 1.45 !important;
  /* 两行内截断，避免格子高度参差 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════════════════════════
   5. 首页 · 「您要解决的是哪件事」六大场景
   B 方案核心：PC 的「左图右文横卡 × 2 列」→ 移动端「图上文下的 2 列宫格」，
   六个入口一屏扫完，点进去看详情。
   （.gridB/.cB 规则在首页内联 <style> 中，故本文件链接必须置于其后）
   ══════════════════════════════════════════════════════════════════════════ */
.gridB {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--m-gap) !important;
}
.cB {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  border-radius: var(--m-r-lg) !important;
}
.cB-img {
  aspect-ratio: 4 / 3;
  flex: none;
}
/* 编号角标：PC 是左侧长条，移动端改为图片左上角小徽章 */
.cB-no {
  top: 0 !important;
  left: 0 !important;
  font-size: 11px !important;
  padding: 4px 9px 4px 10px !important;
  border-radius: 0 0 9px 0 !important;
  letter-spacing: .1em !important;
}
.cB-b {
  padding: 11px 12px 13px !important;
  flex: 1;
  justify-content: flex-start !important;
}
.cB-b h3 {
  font-size: 14px !important;
  line-height: 1.38 !important;
  /* 标题最多两行，保证卡片等高 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cB-b h3 i { font-size: 11.5px !important; margin-right: 5px !important; }
.cB-b p {
  margin: 6px 0 0 !important;
  font-size: 11.8px !important;
  line-height: 1.6 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 三个标签在 172px 宽的格子里必然折行 → 隐藏，详情在解决方案页完整呈现 */
.cB-tags { display: none !important; }
/* 悬浮位移在触屏无意义，去掉以免点击时跳一下 */
.cB:hover { transform: none !important; box-shadow: none !important; }
.cB:active { transform: scale(.985) !important; }

/* ══════════════════════════════════════════════════════════════════════════
   6. 首页 · 四段能力 / 案例 / 产品 / 教育
   ══════════════════════════════════════════════════════════════════════════ */
/* 四段能力：4 列 → 2×2 */
.ability {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--m-gap) !important;
}
.ab {
  padding: 16px 14px 18px !important;
  border-radius: var(--m-r) !important;
}
.ab h4 {
  font-size: 15px !important;
  margin-bottom: 7px !important;
}
.ab p {
  font-size: 12px !important;
  line-height: 1.68 !important;
}
.ab:hover { transform: none !important; }

/* 案例：3 列 → 单列纵排 */
.cases {
  grid-template-columns: 1fr !important;
  gap: var(--m-gap) !important;
}
.cs { border-radius: var(--m-r-lg) !important; }
.cs:hover { transform: none !important; box-shadow: none !important; }
.cs:active { transform: scale(.99) !important; }

/* 产品：左图右文 → 上图下文 */
.prod {
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}
.prod-g { gap: 9px !important; }
.prod-t h3 {
  font-size: 20px !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}
.prod-t p {
  font-size: 13px !important;
  line-height: 1.76 !important;
  margin-bottom: 16px !important;
}

/* 教育 4 格：2×2，去掉格间竖线改用间距（小屏上 4 条竖线很碎） */
.edu {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1px !important;
  border-radius: var(--m-r-lg) !important;
}
.edu-c {
  padding: 16px 10px !important;
}
.edu-c b {
  font-size: 21px !important;
  margin-bottom: 4px !important;
}
.edu-c span {
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   7. 联系表单
   ══════════════════════════════════════════════════════════════════════════ */
.cta-form {
  padding: 20px 16px 22px !important;
  border-radius: var(--m-r-lg) !important;
  max-width: 100% !important;
}
/* 两列输入 → 单列（小屏并排两列，输入中文时会挤到看不清） */
.frow {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.frow input,
.cta-form input,
.cta-form textarea {
  font-size: 15px !important;   /* ≥16px 可防 iOS 聚焦缩放；15px 兼顾密度，配合下方 -webkit-text-size-adjust */
  padding: 12px 13px !important;
}
.cta-form textarea {
  min-height: 88px !important;
  margin-bottom: 16px !important;
}
.cta-form .btn { height: 48px !important; font-size: 15.5px !important; }
.fnote { font-size: 11.5px !important; margin-top: 12px !important; }

/* ══════════════════════════════════════════════════════════════════════════
   8. 页脚
   ══════════════════════════════════════════════════════════════════════════ */
.foot {
  padding: 40px 0 0 !important;
  /* 深色背景延伸到 Tab Bar 之下，避免底部出现一条白带 */
  padding-bottom: var(--m-bottom-avoid) !important;
}
.foot-g {
  grid-template-columns: 1fr !important;
  gap: 26px !important;
  padding-bottom: 26px !important;
}
.foot-mid {
  /* 页脚导航双列排布，省一半纵向空间 */
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 20px !important;
}
.foot h5 { font-size: 13.5px !important; margin-bottom: 10px !important; }
.foot li { font-size: 13px !important; padding: 6px 0 !important; }
.foot p { font-size: 12.5px !important; line-height: 1.8 !important; }
.foot .ct { font-size: 21px !important; }
.foot-b {
  flex-direction: column !important;
  gap: 6px !important;
  padding: 16px 0 6px !important;
  font-size: 11.5px !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   9. 网格防撑破总闸（关键）
   病因：多列 Grid 的 1fr 默认 min-width:auto，网格项内容不可压缩时会把
   列宽顶到内容宽度，进而撑宽整个文档 → 布局视口从 390 变成 634
   → position:fixed 的导航被拉长 → 整页可左右晃动。
   对策：所有网格项显式允许收缩。
   ══════════════════════════════════════════════════════════════════════════ */
.gridB > *, .cB > *, .ability > *, .cases > *, .edu > *, .data-g > *, .ph-metrics > *,
.meth-g > *, .flow > *, .flow-5 > *, .flow-6 > *, .bento > *, .playout > *, .prail > *,
.projects > *, .gal-thumbs > *, .cgrid > *, .kpis > *, .ach > *, .ach-side > *, .biz-g > *,
.biz-in > *, .fac-g > *, .fac-list > *, .course-g > *, .scene-imgs > *, .campus-g > *,
.quote-g > *, .chC-g > *, .chC-strip > *, .chC-imgs > *, .chS-row > *, .chS-shots > *,
.mode-g > *, .ab-intro > *, .ab-thumbs > *, .edu-5 > *, .tl-i > *, .honor > *, .cbox > *,
.detail > *, .found > *, .deliver > *, .sol-cases > *, .team-g > *, .impact-g > *, .cov-g > *,
.team-num > *, .ip-grid > *, .dir-grid > *, .case-grid > *, .ch-grid > *, .comm-grid > * {
  min-width: 0;
}
/* 网格内所有图片/媒体同样不许溢出 */
.gridB img, .cases img, .cgrid img, .bento img, .projects img, .gal-thumbs img,
.scene-imgs img, .chC-imgs img, .chS-shots img, .ab-thumbs img, .campus-g img,
.ach img, .edu-5 img, .kpis img, .biz-g img, .fac-g img { max-width: 100%; }

/* ══════════════════════════════════════════════════════════════════════════
   10. 内页通用（9 个内页共用）
   ══════════════════════════════════════════════════════════════════════════ */
/* 子页首屏：PC 上下留白极厚（nav+80 / 100），移动端压紧 */
.phero,
.phero-dark {
  padding: calc(var(--m-nav-h) + var(--m-safe-t) + 26px) 0 34px !important;
}
.phero-dark .crumb {
  font-size: 11.5px !important;
  margin-bottom: 14px !important;
  line-height: 1.6 !important;
}
.phero h1,
.phero-dark h1 {
  font-size: 26px !important;
  line-height: 1.3 !important;
  margin-bottom: 12px !important;
  max-width: 100% !important;
}
.phero p,
.phero-dark > p {
  font-size: var(--m-fs-sm) !important;
  line-height: 1.72 !important;
  margin-bottom: 22px !important;
  max-width: 100% !important;
}

/* 子页首屏的 4 格数据 → 2×2（不横滑：hero 区横滑易被误认为装饰） */
.ph-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 100% !important;
  border-radius: var(--m-r-lg) !important;
}
.ph-m { padding: 14px 14px !important; }
.ph-m b { font-size: 23px !important; margin-bottom: 4px !important; }
.ph-m span { font-size: 11.5px !important; line-height: 1.45 !important; }

/* 页内数据条（.data-g）：5 格 → 横滑卡片。
   保留 PC 的分隔线（.data-i+.data-i::before），并把 overflow 从 hidden 放开。 */
.data-g {
  display: flex !important;
  grid-template-columns: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border-radius: var(--m-r-lg) !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.data-g::-webkit-scrollbar { display: none; }
.data-g .data-i,
.data-i {
  flex: 0 0 122px !important;
  padding: 14px 10px !important;
  scroll-snap-align: start;
}
.data-i b { font-size: 20px !important; margin-bottom: 4px !important; }
.data-i span { font-size: 11px !important; line-height: 1.45 !important; }

/* 内容区块纵向留白收紧（PC 96px → 44px） */
.soln,
.sec-cta,
.sec-data, .sec-ip, .sec-cases, .sec-flow, .sec-team,
.comm-services, .comm-impact, .channel-types, .channel-coverage, .channel-modes {
  padding: 44px 0 !important;
}
.chap { padding: 44px 0 !important; }

/* 内页正文排版 */
.dbody h2 { font-size: 19px !important; margin: 30px 0 12px !important; }
.dbody h3 { font-size: 16px !important; margin: 22px 0 8px !important; }
.dbody p { font-size: 14px !important; line-height: 1.8 !important; margin-bottom: 14px !important; }
.dbody ul li { font-size: 13.5px !important; line-height: 1.7 !important; }
.detail { grid-template-columns: 1fr !important; gap: 30px !important; }
.dbody h2 .ic { width: 23px !important; height: 23px !important; margin-right: 8px !important; }

/* FAQ / 折叠项：触控目标放大 */
.faq-q, .faq summary, details > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
}
/* 筛选器（cases） */
.filters {
  gap: 10px !important;
  padding: 14px !important;
  margin-bottom: 20px !important;
}
.fbtn {
  padding: 0 15px !important;
  min-height: 44px !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
}
.fcount { margin-left: 0 !important; font-size: 12px !important; }

/* 图片角标类注释文字：提到 11px（兑现设计系统的最小字号承诺）
   注意：这些 span 大多没有 class，必须按父级定位 —— 早期误写 .SPAN 选择器命中不到任何元素 */
.btag, .course-k, .en, .cs-img .ph span, .pcap,
.pj-labs span, .ci-qr span, .gal-cap, .si-cap, .pnote-qr span { font-size: 11px !important; }

/* 面包屑链接触控目标（PC 仅 13px 高，手指点不准） */
.crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px !important; }
.crumb a { min-height: 44px; display: inline-flex; align-items: center; padding: 0 2px; }
.crumb .sep { opacity: .5; }

/* 产品页左侧锚点（.prail）：PC 是 sticky 竖排窄条，移动端改横滑标签条 */
.prail {
  display: flex !important;
  overflow-x: auto !important;
  gap: 8px !important;
  padding: 2px 0 6px !important;
  scrollbar-width: none;
}
.prail::-webkit-scrollbar { display: none; }
.prail a {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto;
  padding: 0 14px !important;
  white-space: nowrap;
}

/* 页脚链接：PC 仅 16px 高 → 44px 触控 */
.foot li { padding: 0 !important; }
.foot li a { display: inline-flex; align-items: center; min-height: 44px; }
/* 页脚版权行里的备案号链接（13px 高） */
.foot-b a, .foot-b span { display: inline-flex; align-items: center; min-height: 44px; }
/* 子页首屏小标签 */
.sol-anchor-a {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 13px !important;
  padding: 0 14px !important;
}
/* 轮播前后箭头（about）：30×30 → 44×44 */
.ab-arw { width: 44px !important; height: 44px !important; }
/* 页脚线上店铺链接：24px 高 → 44px */
.foot .shop-tmall, .foot .shop-taobao, .foot .shop-jd, .foot [class^="shop-"], .foot [class*=" shop-"] {
  min-height: 44px;
  display: inline-flex !important;
  align-items: center !important;
}
/* 顶部 logo 触控目标 36px → 44px */
.nav .logo { min-height: 44px; }
/* 页脚社交图标 */
.foot-social a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ══════════════════════════════════════════════════════════════════════════
   11. 各内页网格降列
   ══════════════════════════════════════════════════════════════════════════ */
/* ── 解决方案 solution ── */
.meth-g { grid-template-columns: 1fr !important; }
.meth-g > div { padding: 20px 16px !important; }
.meth-g h5 { font-size: 16px !important; margin-bottom: 7px !important; }
.meth-g p { font-size: 13px !important; line-height: 1.7 !important; }
.sol-cases { grid-template-columns: 1fr !important; gap: 12px !important; }
.sol-banner {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 18px 16px !important;
  margin-bottom: 18px !important;
}
.sol-no { font-size: 30px !important; }
.sol-topic { padding-bottom: 40px !important; }
.soln-foot { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
/* 方案页锚点条：横滑 */
.sol-anchor-list { scrollbar-width: none; }
.sol-anchor-list::-webkit-scrollbar { display: none; }

/* ── 产品 product ── */
.playout { grid-template-columns: 1fr !important; gap: 24px !important; }
.prail { position: static !important; }
.bento { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.pcat-no { font-size: 26px !important; }
.pcat-h h2 { font-size: 20px !important; }
.pcat-h h2 em { font-size: .5em !important; }
.pcard { flex: 0 0 74vw !important; max-width: 268px !important; }
.pc-track { gap: 12px !important; padding: 12px 0 20px !important; }
.pcat-top { margin-bottom: 20px !important; padding-bottom: 16px !important; }
.pmain { padding-top: 0 !important; }

/* ── 设计 design ── */
.projects { grid-template-columns: 1fr !important; gap: 12px !important; }
.gal-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
.idxbar { padding: 14px 0 !important; }
.idxbar .wrap { display: flex !important; flex-wrap: wrap; gap: 8px 0; }
.idxbar a { flex: 0 0 100%; }
.chap { padding: 40px 0 !important; }

/* ── 案例 cases ── */
.cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.cs-img { height: 118px !important; }
.cs-b { padding: 12px 12px 14px !important; }
.cs-b h4 { font-size: 14px !important; margin-bottom: 6px !important; line-height: 1.4 !important; }
.cs-b p {
  font-size: 11.5px !important;
  line-height: 1.6 !important;
  margin-bottom: 10px !important;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cs-meta { padding-top: 10px !important; flex-wrap: wrap; gap: 6px 0; }
.cs-meta div { font-size: 11px !important; }
.cs-meta b { font-size: 15px !important; }
.cs-foot { padding: 12px 12px !important; }
.cs-foot .unit { font-size: 11px !important; }

/* ── 传播 communication ── */
.biz { padding: 40px 0 !important; }
.biz-in { grid-template-columns: 1fr !important; gap: 24px !important; }
.kpis { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.cases { grid-template-columns: 1fr !important; }
.partner { padding: 40px 0 !important; }

/* ── 教育 edu ── */
.ach { grid-template-columns: 1fr !important; gap: 28px !important; }
.ach-side { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.biz-g { grid-template-columns: 1fr !important; gap: 18px !important; }
.fac-g { grid-template-columns: 1fr !important; gap: 26px !important; }
.fac-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.course-g { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.scene-imgs { grid-template-columns: 1fr !important; }
.campus-g { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
.quote-g { grid-template-columns: 1fr !important; gap: 12px !important; }

/* ── 渠道 channel ── */
.ch-cov, .ch-spot { padding: 40px 0 !important; }
.chC-g { grid-template-columns: 1fr !important; gap: 26px !important; }
.chC-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.chC-imgs { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
.chS-row { grid-template-columns: 1fr !important; gap: 18px !important; }
.chS-shots { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
.mode-g { grid-template-columns: 1fr !important; gap: 14px !important; }

/* ── 关于我们 about ── */
.ab-intro { grid-template-columns: 1fr !important; gap: 24px !important; margin-bottom: 30px !important; }
.ab-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 5px !important; }
.honor { grid-template-columns: 1fr !important; gap: 12px !important; }
.tl-i { grid-template-columns: 1fr !important; gap: 0 !important; padding-left: 26px !important; }
.tl-y { font-size: 15px !important; margin-bottom: 4px !important; }
.tl-c { padding-left: 0 !important; }
.tl-c h4 { font-size: 15px !important; }
.tl-c p { font-size: 13px !important; line-height: 1.7 !important; }
.edu-5 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

/* ── 联系我们 contact ── */
.cbox { grid-template-columns: 1fr !important; gap: 26px !important; }
.found { grid-template-columns: 1fr !important; gap: 22px !important; }
.deliver { grid-template-columns: 1fr !important; }
/* 高德地图容器：小屏给足高度，避免控件挤在一起 */
.amap-container, #map, .map-box { min-height: 240px; }
.amap-info-content { font-size: 13px !important; }
