/* ==========================================================================
   福州好小蚁科技 · fzantcom v7.1 · 深色科技视觉层（2026-09-28）
   --------------------------------------------------------------------------
   v7.1 修订：
     1. 新增「深浅双主题」：默认深色；html.v7-light 为浅色（localStorage: fzant-theme）
     2. 头部只保留 LOGO；重排导航宽度，修复导航错位
     3. 修复首页手机号颜色（全局 b{color} 覆盖按钮内文字）
     4. 服务过的品牌滚动条严格限制宽度，不再溢出
     5. 能力 Bento 补满第四格，消除大片空白
     6. 「合作前最常被问到的」左栏加宽并放入电话 + 微信二维码
     7. CTA 区放公众号 / 小程序 / 微信三个二维码
     8. 移动端只保留核心内容
   回滚方式：删掉 comm/meta.html 中本文件的 link 行与 foot.html 中 v7.js 即可
   ========================================================================== */

/* ======================= 变量：深色（默认） ======================= */
:root{
  /* 底色阶梯 */
  --v7-void:#040906;
  --v7-deep:#08120C;
  --v7-panel:#0C1710;
  --v7-panel-2:#101D14;

  /* 线与底纹 */
  --v7-line:rgba(255,255,255,.10);
  --v7-line-2:rgba(255,255,255,.055);
  --v7-gridc:rgba(255,255,255,.028);
  --v7-stroke:rgba(255,255,255,.09);

  /* 文字 */
  --v7-txt:rgba(255,255,255,.94);
  --v7-txt-2:rgba(255,255,255,.64);
  --v7-txt-3:rgba(255,255,255,.42);
  --v7-strong:#FFFFFF;

  /* 品牌两色 */
  --v7-jade:#A8F04C;
  --v7-acc:#A8F04C;
  --v7-gold:#D9A93A;
  --v7-glow:rgba(168,240,76,.22);

  /* 填充 / 高亮 */
  --v7-soft:rgba(255,255,255,.03);
  --v7-soft-2:rgba(255,255,255,.028);
  --v7-on:rgba(168,240,76,.09);
  --v7-hl:rgba(168,240,76,.16);
  --v7-res:rgba(168,240,76,.06);
  --v7-sheen:rgba(255,255,255,.055);
  --v7-scan:rgba(168,240,76,.07);
  --v7-fact-bg:rgba(255,255,255,.02);
  --v7-dot-bg:#040906;
  --v7-qr-bg:#FFFFFF;

  /* 外壳（顶条 / 导航 / 页脚 / 悬浮） */
  --v7-shell:#0A1710;
  --v7-shell-h:#FFFFFF;
  --v7-shell-txt:rgba(255,255,255,.60);
  --v7-shell-line:rgba(255,255,255,.10);
  --v7-hdr-bg:rgba(6,13,9,.88);
  --v7-hdr-line:rgba(255,255,255,.08);
  --v7-nav-txt:rgba(255,255,255,.72);
  --v7-sub-bg:rgba(10,20,14,.97);
  --v7-sub-line:rgba(255,255,255,.10);
  --v7-sub-txt:rgba(255,255,255,.68);
  --v7-float-bg:rgba(10,20,14,.92);
  --v7-float-line:rgba(255,255,255,.12);
  --v7-float-txt:rgba(255,255,255,.82);
  --v7-mbar-bg:rgba(6,13,9,.96);
  --v7-mbar-line:rgba(255,255,255,.12);

  /* 按钮 */
  --v7-btnmain-bg:linear-gradient(120deg,#A8F04C 0%,#7ED957 100%);
  --v7-btnmain-txt:#05140A;
  --v7-btnmain-sh:0 0 0 1px rgba(168,240,76,.4), 0 14px 34px -12px rgba(168,240,76,.6);
  --v7-btnmain-sh-h:0 0 0 1px rgba(168,240,76,.6), 0 20px 44px -12px rgba(168,240,76,.8);
  --v7-ghost-bg:rgba(255,255,255,.04);
  --v7-ghost-line:rgba(255,255,255,.18);
  --v7-ghost-txt:#FFFFFF;

  /* 大面积底 */
  --v7-hero-bg:
    radial-gradient(900px 520px at 78% -8%, rgba(168,240,76,.14), transparent 62%),
    radial-gradient(700px 480px at 8% 12%, rgba(217,169,58,.09), transparent 60%),
    linear-gradient(180deg,#06100A 0%, #040906 70%);
  --v7-heroglow:rgba(168,240,76,.10);
  --v7-mon-bg:linear-gradient(165deg, rgba(18,32,22,.92), rgba(8,16,11,.96));
  --v7-pane-bg:linear-gradient(158deg,#132318 0%, #0A130D 58%, #081009 100%);
  --v7-pane-top:rgba(168,240,76,.75);
  --v7-bhero-bg:
    radial-gradient(120% 80% at 88% 0%, rgba(168,240,76,.13), transparent 60%),
    linear-gradient(160deg,#16281B 0%,#0B150E 100%);
  --v7-trust-bg:
    radial-gradient(800px 420px at 100% 0%, rgba(217,169,58,.10), transparent 62%),
    linear-gradient(180deg,#0A130D 0%,#060B08 100%);
  --v7-cta-bg:
    radial-gradient(700px 320px at 12% 0%, rgba(168,240,76,.14), transparent 62%),
    linear-gradient(140deg,#16281B 0%,#071009 82%);
  --v7-cta-line:rgba(168,240,76,.18);

  --v7-r:8px;
  --v7-ease:cubic-bezier(.22,.61,.36,1);
}

/* ======================= 变量：浅色（html.v7-light） =======================
   设计原则（避免"浅色像没做完"）：
     1. 上下外壳（顶条 / 页脚）两个主题统一保持深墨绿，作为视觉锚点，Body 才不飘
     2. 大面积用「纯白卡 + 浅豆绿底」交替，靠留白和卡片阴影分层，不靠颜色堆叠
     3. 强调色换成深绿（保证白底对比度过 WCAG AA），琥珀金只做点缀
     4. 栅格底纹、发丝线同步换成浅色，保留科技感的骨架而不留深色残留
   ========================================================================= */
html.v7-light{
  --v7-void:#FFFFFF;
  --v7-deep:#F4F8F1;
  --v7-panel:#FFFFFF;
  --v7-panel-2:#FCFEF9;

  --v7-line:rgba(18,48,26,.15);
  --v7-line-2:rgba(18,48,26,.085);
  --v7-gridc:rgba(18,48,26,.055);
  --v7-stroke:rgba(18,48,26,.14);

  --v7-txt:#12200F;
  --v7-txt-2:#4C5E47;
  --v7-txt-3:#7E8E79;
  --v7-strong:#0C1A0A;

  --v7-jade:#2F7220;
  --v7-acc:#2F7220;
  --v7-gold:#8A6412;
  --v7-glow:rgba(47,114,32,.20);

  --v7-soft:rgba(47,114,32,.045);
  --v7-soft-2:rgba(47,114,32,.08);
  --v7-on:rgba(47,114,32,.09);
  --v7-hl:rgba(47,114,32,.14);
  --v7-res:rgba(47,114,32,.07);
  --v7-sheen:rgba(18,48,26,.05);
  --v7-scan:rgba(47,114,32,.06);
  --v7-fact-bg:rgba(255,255,255,.85);
  --v7-dot-bg:#FFFFFF;
  --v7-qr-bg:#FFFFFF;

  --v7-shell:#0A1710;
  --v7-shell-h:#FFFFFF;
  --v7-shell-txt:rgba(255,255,255,.60);
  --v7-shell-line:rgba(255,255,255,.10);
  --v7-hdr-bg:rgba(255,255,255,.93);
  --v7-hdr-line:rgba(18,48,26,.13);
  --v7-nav-txt:rgba(18,48,26,.82);
  --v7-sub-bg:#FFFFFF;
  --v7-sub-line:rgba(18,48,26,.12);
  --v7-sub-txt:rgba(18,48,26,.76);
  --v7-float-bg:rgba(255,255,255,.96);
  --v7-float-line:rgba(18,48,26,.14);
  --v7-float-txt:#2A4030;
  --v7-mbar-bg:rgba(255,255,255,.97);
  --v7-mbar-line:rgba(18,48,26,.12);

  --v7-btnmain-bg:linear-gradient(120deg,#3E8A2A 0%,#57A83A 100%);
  --v7-btnmain-txt:#FFFFFF;
  --v7-btnmain-sh:0 8px 22px -10px rgba(47,114,32,.55);
  --v7-btnmain-sh-h:0 12px 28px -10px rgba(47,114,32,.72);
  --v7-ghost-bg:rgba(255,255,255,.92);
  --v7-ghost-line:rgba(18,48,26,.22);
  --v7-ghost-txt:#14331A;

  --v7-hero-bg:
    radial-gradient(900px 520px at 78% -8%, rgba(47,114,32,.11), transparent 62%),
    radial-gradient(700px 480px at 8% 12%, rgba(184,132,24,.10), transparent 60%),
    linear-gradient(180deg,#FFFFFF 0%, #F1F6EE 70%);
  --v7-heroglow:rgba(47,114,32,.07);
  --v7-mon-bg:linear-gradient(165deg,#FFFFFF 0%, #F6FAF3 100%);
  --v7-pane-bg:linear-gradient(158deg,#FFFFFF 0%, #F7FAF4 58%, #F2F6EF 100%);
  --v7-pane-top:rgba(47,114,32,.55);
  --v7-bhero-bg:
    radial-gradient(120% 80% at 88% 0%, rgba(47,114,32,.09), transparent 60%),
    linear-gradient(160deg,#FFFFFF 0%,#F6F9F3 100%);
  --v7-trust-bg:
    radial-gradient(800px 420px at 100% 0%, rgba(184,132,24,.10), transparent 62%),
    linear-gradient(180deg,#F4F9F1 0%,#FFFFFF 100%);
  --v7-cta-bg:
    radial-gradient(700px 320px at 12% 0%, rgba(47,114,32,.11), transparent 62%),
    linear-gradient(140deg,#FFFFFF 0%,#F3F7F0 82%);
  --v7-cta-line:rgba(47,114,32,.30);
}

/* 浅色主题专属：用阴影代替发光，建立层次（否则白底平面会显廉价） */
html.v7-light .header{ box-shadow:0 8px 24px -20px rgba(14,45,24,.5); }
html.v7-light .v7-b,
html.v7-light .v7-pane,
html.v7-light .v7-monitor,
html.v7-light .v7-side-qr,
html.v7-light .v7-qr-item,
html.v7-light .v7-b-step3 > div{ box-shadow:0 14px 34px -26px rgba(14,45,24,.55); }
html.v7-light .v7-facts,
html.v7-light .v7-scene{ box-shadow:0 14px 34px -28px rgba(14,45,24,.45); }
html.v7-light .v7-pane-num{ opacity:.75; }
html.v7-light .v7-pane-chip{ background:rgba(138,100,18,.08); }
html.v7-light .v7-cn.on{ box-shadow:inset 2px 0 0 var(--v7-jade); }

/* ======================= 0. 全站外壳 ======================= */
.topbar{
  background:var(--v7-shell) !important;
  color:var(--v7-shell-txt) !important;
  border-bottom:1px solid var(--v7-shell-line);
  letter-spacing:.02em;
}
.topbar .right a{ color:var(--v7-shell-txt) !important; }
.topbar .right a:hover{ color:var(--v7-jade) !important; }
.topbar .left span + span{ border-left-color:var(--v7-shell-line) !important; }

.header{
  background:var(--v7-hdr-bg) !important;
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--v7-hdr-line) !important;
  position:sticky; top:0; z-index:100;
}
/* 导航重排：LOGO 独占左侧，导航居中自适应，右侧按钮不再挤压 */
.header .wrap{ display:flex; align-items:center; height:var(--nav-h); gap:16px; }
.logo{ display:flex; align-items:center; flex:none; }
.logo img{ height:44px; width:auto; display:block; }
.header nav{ flex:1 1 auto; min-width:0; }
.header .cta{ gap:12px; }
.header .cta .tel{ color:var(--v7-strong) !important; font-size:16px; letter-spacing:.02em; }
.header .btn-primary{
  height:38px; padding:0 16px; font-size:13.5px;
  background:var(--v7-btnmain-bg) !important;
  color:var(--v7-btnmain-txt) !important; font-weight:700;
  box-shadow:var(--v7-btnmain-sh) !important;
}
.header .btn-primary:hover{ box-shadow:var(--v7-btnmain-sh-h) !important; }
.menu-toggle{ color:var(--v7-nav-txt) !important; }

/* 桌面端导航（≥981px）：与正文同一排，压缩内边距避免与右侧按钮挤在一起 */
@media (min-width:981px){
  .nav{ display:flex; list-style:none; margin:0; padding:0; }
  .nav > li > a{
    padding:0 10px !important; font-size:14.5px; white-space:nowrap;
    color:var(--v7-nav-txt) !important;
  }
  .nav > li > a::after{ left:10px !important; right:10px !important; background:var(--v7-jade) !important; }
  .nav > li:hover > a, .nav > li.active > a{ color:var(--v7-strong) !important; }
  .nav .sub{
    background:var(--v7-sub-bg) !important;
    border:1px solid var(--v7-sub-line) !important;
    box-shadow:0 24px 60px -20px rgba(0,0,0,.28) !important;
  }
  .nav .sub a{ color:var(--v7-sub-txt) !important; }
  .nav .sub a:hover{ background:var(--v7-soft-2) !important; color:var(--v7-jade) !important; }
}

/* 移动端抽屉（≤980px）：默认收起，点汉堡才展开
   注意：样式放在 v7.css 是因为本文件在 style.css 之后加载，同权重下后者生效，
   必须在这里重新声明移动端行为，否则会被 style.css 之外的规则覆盖 */
@media (max-width:980px){
  .header nav{ flex:none; }
  .nav{
    display:none; position:absolute; left:0; right:0; top:var(--nav-h); z-index:95;
    flex-direction:column; padding:10px 0 14px; max-height:calc(100vh - var(--nav-h));
    overflow-y:auto; background:var(--v7-sub-bg) !important;
    border-bottom:1px solid var(--v7-sub-line) !important;
    box-shadow:0 24px 50px -24px rgba(0,0,0,.45);
  }
  .nav.open{ display:flex; }
  .nav > li > a{
    padding:0 24px !important; height:46px; line-height:46px; font-size:15px;
    color:var(--v7-sub-txt) !important; white-space:nowrap;
  }
  .nav > li > a::after{ display:none; }
  .nav .sub{
    position:static; transform:none; opacity:1; visibility:visible; box-shadow:none;
    border:0; border-radius:0; min-width:0; background:transparent; padding:0 0 6px 24px;
  }
  .nav .sub a{ padding:7px 14px; font-size:14px; color:var(--v7-txt-3) !important; }
  .nav .sub a:hover{ background:var(--v7-soft-2) !important; color:var(--v7-jade) !important; }
  .menu-toggle{ display:block !important; }
}

.footer{
  background:var(--v7-shell) !important;
  border-top:1px solid var(--v7-shell-line);
  color:var(--v7-shell-txt) !important;
}
.footer h4{ color:var(--v7-shell-h) !important; }
.footer a{ color:var(--v7-shell-txt) !important; }
.footer a:hover{ color:var(--v7-jade) !important; }
.footer .f-bot{ border-top-color:var(--v7-shell-line) !important; }

/* 悬浮客服 + 主题切换按钮 */
.float-contact a,
.float-contact .fc-theme{
  background:var(--v7-float-bg) !important;
  border:1px solid var(--v7-float-line) !important;
  color:var(--v7-float-txt) !important;
}
.float-contact a svg{ stroke:var(--v7-jade); }
.float-contact a:hover,
.float-contact .fc-theme:hover{
  background:var(--v7-btnmain-bg) !important;
  border-color:transparent !important; color:var(--v7-btnmain-txt) !important;
}
.float-contact a:hover svg{ stroke:var(--v7-btnmain-txt) !important; }
.float-contact .fc-theme{
  width:52px; height:52px; border-radius:12px; padding:0; cursor:pointer;
  display:grid; place-items:center; box-shadow:var(--shadow); transition:.22s;
}
.float-contact .fc-theme svg{ width:21px; height:21px; stroke:var(--v7-jade); fill:none; stroke-width:1.7; }
.float-contact .fc-theme:hover svg{ stroke:var(--v7-btnmain-txt) !important; }
.float-contact .fc-theme .ic-moon{ display:none; }
html.v7-light .float-contact .fc-theme .ic-sun{ display:none; }
html.v7-light .float-contact .fc-theme .ic-moon{ display:block; }

.backtop{ background:var(--v7-float-bg) !important; border:1px solid var(--v7-float-line) !important; }
.backtop svg{ stroke:var(--v7-float-txt); }
.backtop:hover{ border-color:var(--v7-jade) !important; }

/* 首页整篇叙事：避免滚动时露出白底 */
body:has(.v7-hero){ background:var(--v7-void); }

/* ======================= 1. 通用：网格底纹 / 进场 ======================= */
.v7-grid-bg{
  position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(var(--v7-gridc) 1px, transparent 1px),
    linear-gradient(90deg, var(--v7-gridc) 1px, transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 20%, transparent 78%);
  mask-image:radial-gradient(120% 90% at 50% 0%, #000 20%, transparent 78%);
}
.v7-sec{ position:relative; }

/* 只在 JS 就绪时才隐藏 —— 脚本失效时内容照常可见 */
.v7-js [data-rv]{ opacity:0; transform:translateY(22px); }
.v7-js [data-rv].in{
  opacity:1; transform:none;
  transition:opacity .7s var(--v7-ease), transform .7s var(--v7-ease);
}
@media (prefers-reduced-motion:reduce){
  [data-rv]{ opacity:1 !important; transform:none !important; }
  *{ animation-duration:.001s !important; }
}

/* 版块标题 */
.v7-sec-h{ margin-bottom:44px; }
.v7-kicker{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11.5px; letter-spacing:.2em; color:var(--v7-jade);
  font-weight:700; margin-bottom:18px;
}
.v7-kicker .pulse{
  width:6px; height:6px; border-radius:50%; background:var(--v7-jade);
  box-shadow:0 0 0 0 var(--v7-glow); animation:v7pulse 2.4s infinite;
}
@keyframes v7pulse{
  0%{ box-shadow:0 0 0 0 var(--v7-glow); }
  70%{ box-shadow:0 0 0 9px transparent; }
  100%{ box-shadow:0 0 0 0 transparent; }
}
.v7-h2{
  font-size:clamp(28px,3.4vw,44px); line-height:1.24; letter-spacing:-.02em;
  font-weight:700; color:var(--v7-strong); margin:0 0 16px;
}
.v7-h2 em{
  font-style:normal;
  background:linear-gradient(96deg,var(--v7-jade) 0%,var(--v7-gold) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.v7-lead{ font-size:14.5px; line-height:1.95; color:var(--v7-txt-2); margin:0; max-width:46em; }

/* ======================= 2. HERO ======================= */
.v7-hero{
  position:relative; overflow:hidden; max-width:100%;
  background:var(--v7-hero-bg);
  padding:96px 0 0;
  min-height:min(86vh,760px);
  display:flex; flex-direction:column;
}
.v7-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(520px 380px at var(--v7mx,70%) var(--v7my,20%), var(--v7-heroglow), transparent 68%);
  transition:background .35s linear;
}
.v7-hero-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.24fr 1fr; gap:60px; align-items:center;
  padding-bottom:64px; flex:1;
}
.v7-display{
  font-size:clamp(38px,5.2vw,68px); line-height:1.12; letter-spacing:-.03em;
  font-weight:800; color:var(--v7-strong); margin:0 0 24px;
}
.v7-display em{
  font-style:normal; display:inline-block; position:relative;
  background:linear-gradient(96deg,var(--v7-jade) 0%,var(--v7-acc) 42%,var(--v7-gold) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.v7-display em::after{
  content:""; position:absolute; left:0; right:0; bottom:.08em; height:2px;
  background:linear-gradient(90deg,var(--v7-jade),transparent);
}
.v7-sub{ font-size:15.5px; line-height:2; color:var(--v7-txt-2); margin:0 0 34px; max-width:38em; }
.v7-sub b{ color:var(--v7-strong); font-weight:600; }

.v7-act{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.v7-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:54px; padding:0 32px; border-radius:var(--v7-r);
  font-size:15px; font-weight:700; letter-spacing:.02em;
  text-decoration:none; border:1px solid transparent;
  transition:transform .25s var(--v7-ease), box-shadow .25s var(--v7-ease), background .25s var(--v7-ease), border-color .25s var(--v7-ease);
}
.v7-btn svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7; }
/* 关键修复：全局 strong,b{color:var(--ink)} 会污染按钮内文字（手机号） */
.v7-btn b, .v7-btn-ghost b{ color:inherit !important; }
.v7-btn-main{
  background:var(--v7-btnmain-bg); color:var(--v7-btnmain-txt);
  box-shadow:var(--v7-btnmain-sh);
}
.v7-btn-main:hover{ transform:translateY(-2px); box-shadow:var(--v7-btnmain-sh-h); }
.v7-btn-ghost{
  background:var(--v7-ghost-bg); color:var(--v7-ghost-txt); border-color:var(--v7-ghost-line);
  font-variant-numeric:tabular-nums; -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.v7-btn-ghost:hover{ border-color:var(--v7-jade); color:var(--v7-jade); transform:translateY(-2px); }
.v7-btn-ghost b{ font-weight:800; letter-spacing:.04em; }

.v7-pledge{ display:flex; flex-wrap:wrap; border-top:1px solid var(--v7-line); padding-top:20px; }
.v7-pledge span{
  font-size:12.5px; color:var(--v7-txt-3); padding:0 20px 0 0; margin-right:20px;
  border-right:1px solid var(--v7-line-2); line-height:1.7; letter-spacing:.01em;
}
.v7-pledge span:last-child{ border-right:0; }
.v7-pledge span b{ color:var(--v7-txt); font-weight:600; }

/* 右侧：AI 可见度监测面板 */
.v7-monitor{
  position:relative; border:1px solid var(--v7-line); border-radius:12px;
  background:var(--v7-mon-bg);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.28);
  overflow:hidden;
}
.v7-monitor::before{
  content:""; position:absolute; left:0; right:0; height:120px; top:-20%;
  background:linear-gradient(180deg, transparent, var(--v7-scan), transparent);
  animation:v7scan 7s linear infinite; pointer-events:none;
}
@keyframes v7scan{ 0%{ top:-20%; } 100%{ top:110%; } }
.v7-mon-top{
  display:flex; align-items:center; gap:8px; padding:13px 16px;
  border-bottom:1px solid var(--v7-line); background:var(--v7-soft);
}
.v7-mon-top i{ width:7px; height:7px; border-radius:50%; background:var(--v7-txt-3); opacity:.45; }
.v7-mon-top i:first-child{ background:var(--v7-jade); opacity:1; }
.v7-mon-top span{ margin-left:auto; font-size:11px; letter-spacing:.16em; color:var(--v7-txt-3); }
.v7-mon-body{ padding:20px 20px 22px; }
.v7-mon-q{
  font-size:13.5px; color:var(--v7-txt); line-height:1.7;
  padding:12px 14px; border:1px solid var(--v7-line); border-radius:8px;
  background:var(--v7-soft); margin-bottom:14px;
}
.v7-mon-q b{ color:var(--v7-jade); font-weight:700; margin-right:8px; font-size:11px; letter-spacing:.14em; }
.v7-mon-a{ font-size:13px; line-height:1.95; color:var(--v7-txt-2); padding-left:2px; }
.v7-mon-a b{ color:var(--v7-strong); font-weight:600; background:var(--v7-hl); padding:1px 5px; border-radius:3px; }
.v7-mon-meta{
  margin-top:18px; padding-top:16px; border-top:1px solid var(--v7-line);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:11.5px; color:var(--v7-txt-3); letter-spacing:.03em;
}
.v7-mon-meta em{
  font-style:normal; padding:4px 10px; border:1px solid var(--v7-line);
  border-radius:100px; color:var(--v7-txt-2);
}
.v7-mon-foot{
  padding:12px 20px; border-top:1px solid var(--v7-line);
  font-size:11.5px; color:var(--v7-txt-3); display:flex; gap:8px; align-items:center;
}
.v7-mon-foot i{ width:6px; height:6px; border-radius:50%; background:var(--v7-jade); animation:v7pulse 2.4s infinite; }

/* 客户名单：无缝滚动，内容宽度与正文容器一致（1200px 限宽） */
.v7-marquee{
  position:relative; z-index:2; width:100%; max-width:100%; box-sizing:border-box;
  border-top:1px solid var(--v7-line);
  padding:18px 0; background:var(--v7-soft); overflow:hidden;
}
.v7-mq-box{
  width:100%; max-width:var(--wrap,1200px); margin:0 auto; padding:0 24px; box-sizing:border-box;
  display:flex; align-items:center; gap:20px;
}
.v7-mq-lb{
  flex:0 0 auto; padding-left:13px; border-left:2px solid var(--v7-jade); line-height:1.5;
  font-size:11px; letter-spacing:.18em; color:var(--v7-jade); font-weight:700; white-space:nowrap;
}
.v7-mq-view{
  flex:1 1 auto; min-width:0; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.v7-mq-track{ display:flex; gap:0; width:max-content; animation:v7mq 52s linear infinite; }
.v7-marquee:hover .v7-mq-track{ animation-play-state:paused; }
@keyframes v7mq{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }
.v7-mq-track a{
  font-style:normal; font-size:13px; color:var(--v7-txt-2);
  white-space:nowrap; padding:0 24px; border-right:1px solid var(--v7-line-2);
  letter-spacing:.02em; text-decoration:none; transition:color .2s;
}
.v7-mq-track a:hover{ color:var(--v7-jade); }
.v7-marquee:hover .v7-mq-track a{ color:var(--v7-txt-2); }
.v7-marquee:hover .v7-mq-track a:hover{ color:var(--v7-jade); }

/* ======================= 3. 场景诊断 ======================= */
.v7-diag{
  position:relative; padding:104px 0 96px; background:var(--v7-deep);
  border-top:1px solid var(--v7-line-2);
}
.v7-diag-grid{ display:grid; grid-template-columns:.76fr 1.64fr; gap:56px; }
.v7-aside{ position:sticky; top:96px; align-self:start; }
.v7-note{
  border-left:2px solid var(--v7-jade); padding:4px 0 4px 16px; margin-top:26px;
  font-size:13px; line-height:1.9; color:var(--v7-txt-2);
}
.v7-scene{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--v7-line-2); border:1px solid var(--v7-line-2);
}
.v7-scene-it{
  position:relative; background:var(--v7-deep); padding:32px 30px 34px;
  transition:background .3s var(--v7-ease);
}
.v7-scene-it::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--v7-jade); transform:scaleY(0); transform-origin:top;
  transition:transform .4s var(--v7-ease);
}
.v7-scene-it:hover{ background:var(--v7-panel); }
.v7-scene-it:hover::before{ transform:scaleY(1); }
.v7-scene-it .n{
  font-size:11px; letter-spacing:.18em; color:var(--v7-jade); font-weight:700;
  display:block; margin-bottom:14px;
}
.v7-scene-it h4{ margin:0 0 10px; font-size:17.5px; font-weight:650; color:var(--v7-strong); }
.v7-scene-it p{ margin:0 0 16px; font-size:13.5px; line-height:1.9; color:var(--v7-txt-2); }
.v7-fix{
  font-size:12.5px; line-height:1.85; color:var(--v7-txt-3);
  padding-top:13px; border-top:1px dashed var(--v7-line);
}
.v7-fix b{ color:var(--v7-jade); font-weight:600; }

/* ======================= 4. 标杆案例 ======================= */
.v7-cases{
  position:relative; padding:104px 0 100px; background:var(--v7-void);
  border-top:1px solid var(--v7-line-2); overflow:hidden;
}
.v7-cases .v7-grid-bg{
  -webkit-mask-image:radial-gradient(90% 70% at 20% 30%, #000 10%, transparent 72%);
  mask-image:radial-gradient(90% 70% at 20% 30%, #000 10%, transparent 72%);
}
.v7-case-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:.86fr 1.54fr; gap:32px; align-items:start;
}
.v7-case-nav{ list-style:none; margin:0; padding:0; border-top:1px solid var(--v7-line); }
.v7-cn{
  position:relative; padding:17px 18px 17px 0; border-bottom:1px solid var(--v7-line-2);
  cursor:pointer; display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:baseline;
  transition:background .25s var(--v7-ease);
}
.v7-cn::before{
  content:""; position:absolute; left:-14px; top:14px; bottom:14px; width:2px;
  background:var(--v7-jade); transform:scaleY(0); transform-origin:top;
  transition:transform .35s var(--v7-ease);
}
.v7-cn:hover{ background:var(--v7-soft-2); }
.v7-cn .idx{
  font-size:12px; font-weight:800; color:var(--v7-txt-3); letter-spacing:.08em;
  font-variant-numeric:tabular-nums; transition:color .25s var(--v7-ease);
}
.v7-cn .nm{
  display:block; font-size:16px; font-weight:650; color:var(--v7-txt);
  letter-spacing:-.005em; transition:color .25s var(--v7-ease); line-height:1.5;
}
.v7-cn .tg{ display:block; font-size:11.5px; color:var(--v7-txt-3); margin-top:3px; letter-spacing:.02em; }
.v7-cn.on{ background:linear-gradient(90deg, var(--v7-on), transparent 78%); }
.v7-cn.on::before{ transform:scaleY(1); }
.v7-cn.on .idx{ color:var(--v7-jade); }
.v7-cn.on .nm{ color:var(--v7-strong); }

.v7-stage{ position:relative; min-height:420px; }
.v7-pane{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  transform:translateY(14px);
  border:1px solid var(--v7-line); border-radius:12px; overflow:hidden;
  background:var(--v7-pane-bg);
  transition:opacity .45s var(--v7-ease), transform .45s var(--v7-ease);
}
.v7-pane.on{ opacity:1; pointer-events:auto; transform:none; position:relative; }
.v7-pane::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(var(--v7-gridc) 1px, transparent 1px),
    linear-gradient(90deg, var(--v7-gridc) 1px, transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:linear-gradient(200deg,#000 12%, transparent 70%);
  mask-image:linear-gradient(200deg,#000 12%, transparent 70%);
}
.v7-pane::after{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--v7-pane-top),transparent);
}
.v7-pane-in{ position:relative; z-index:2; padding:38px 40px 34px; }
.v7-pane-num{
  position:absolute; right:26px; top:6px; font-size:132px; font-weight:800;
  line-height:1; color:transparent; -webkit-text-stroke:1px var(--v7-stroke);
  letter-spacing:-.04em; pointer-events:none; user-select:none;
}
.v7-pane-chip{
  display:inline-block; font-size:11px; letter-spacing:.14em; font-weight:700;
  color:var(--v7-gold); border:1px solid var(--v7-gold); border-radius:100px;
  padding:5px 13px; margin-bottom:16px; opacity:.9;
}
.v7-pane h3{
  margin:0 0 12px; font-size:clamp(24px,2.8vw,34px); font-weight:750; color:var(--v7-strong);
  letter-spacing:-.02em; line-height:1.25;
}
.v7-pane-desc{ font-size:14px; line-height:1.95; color:var(--v7-txt-2); margin:0 0 26px; max-width:34em; }
.v7-pane-h{
  font-size:11px; letter-spacing:.18em; color:var(--v7-txt-3); font-weight:700;
  padding-bottom:10px; border-bottom:1px solid var(--v7-line-2); margin-bottom:6px;
}
.v7-pane ul{ list-style:none; margin:0 0 24px; padding:0; }
.v7-pane ul li{
  font-size:13.5px; line-height:1.85; color:var(--v7-txt-2);
  padding:9px 0 9px 22px; position:relative; border-bottom:1px solid var(--v7-line-2);
}
.v7-pane ul li::before{
  content:""; position:absolute; left:2px; top:18px; width:8px; height:1px; background:var(--v7-jade);
}
.v7-pane-res{
  display:flex; gap:14px; align-items:flex-start; padding:16px 18px;
  border-left:2px solid var(--v7-jade); background:var(--v7-res);
  border-radius:0 8px 8px 0; margin-bottom:22px;
}
.v7-pane-res b{
  flex:0 0 auto; font-size:11px; letter-spacing:.16em; color:var(--v7-jade);
  font-weight:800; padding-top:3px;
}
.v7-pane-res p{ margin:0; font-size:13.5px; line-height:1.85; color:var(--v7-txt); }
.v7-pane-link{
  display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:650;
  color:var(--v7-jade); text-decoration:none; transition:gap .25s var(--v7-ease);
}
.v7-pane-link:hover{ gap:14px; }
.v7-pane-link::after{ content:"→"; }

/* 案例区底部：更多作品（移动端不展开，交给案例中心） */
.v7-more{
  position:relative; z-index:2; margin-top:44px; padding-top:26px;
  border-top:1px solid var(--v7-line-2);
  display:flex; gap:10px 26px; flex-wrap:wrap; align-items:baseline;
}
.v7-more .lb{ font-size:11px; letter-spacing:.16em; color:var(--v7-txt-3); font-weight:700; flex:0 0 auto; }
.v7-more a{ font-size:13px; color:var(--v7-txt-2); }
.v7-more a:hover{ color:var(--v7-jade); }
/* 案例栏目导航：把标杆 / 小程序 / 官网门户三类案例都能从首页直达 */
.v7-more-nav{
  display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; width:100%;
  margin-top:8px;
}
.v7-more-nav a{
  padding:6px 14px; border-radius:999px; font-size:12.5px;
  border:1px solid var(--v7-line) !important; background:var(--v7-soft);
}
.v7-more-nav a:last-child{
  border-color:var(--v7-jade) !important; color:var(--v7-jade) !important; font-weight:700;
}

/* ======================= 5. 能力 Bento ======================= */
.v7-cap{
  position:relative; padding:100px 0; background:var(--v7-deep);
  border-top:1px solid var(--v7-line-2);
}
.v7-cap-h{ display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:40px; flex-wrap:wrap; }
.v7-bento{ display:grid; grid-template-columns:repeat(6,1fr); gap:14px; grid-auto-rows:auto; }
.v7-b{
  position:relative; border:1px solid var(--v7-line); border-radius:10px;
  background:var(--v7-panel); padding:26px 26px 28px; overflow:hidden;
  transition:border-color .3s var(--v7-ease), background .3s var(--v7-ease), transform .3s var(--v7-ease);
}
.v7-b:hover{ border-color:var(--v7-jade); background:var(--v7-panel-2); transform:translateY(-3px); }
.v7-b::after{
  content:""; position:absolute; top:0; bottom:0; width:180px; left:-100%;
  background:linear-gradient(100deg, transparent, var(--v7-sheen), transparent);
  transform:skewX(-14deg); transition:left .8s var(--v7-ease); pointer-events:none;
}
.v7-b:hover::after{ left:130%; }
.v7-b h4{ margin:0 0 10px; font-size:17px; font-weight:650; color:var(--v7-strong); }
.v7-b p{ margin:0; font-size:13px; line-height:1.85; color:var(--v7-txt-2); }
.v7-b .k{
  display:block; font-size:10.5px; letter-spacing:.18em; color:var(--v7-txt-3);
  font-weight:700; margin-bottom:14px;
}
.v7-b ul{ list-style:none; margin:16px 0 0; padding:0; }
.v7-b ul li{
  font-size:12.5px; line-height:1.75; color:var(--v7-txt-2);
  padding:5px 0 5px 15px; position:relative;
}
.v7-b ul li::before{ content:""; position:absolute; left:0; top:13px; width:6px; height:1px; background:var(--v7-jade); }
.v7-b-link{ display:inline-block; margin-top:18px; font-size:12.5px; font-weight:650; color:var(--v7-jade); }
.v7-b-link::after{ content:" →"; }

/* 主格：4 列 × 2 行；右侧两格补满，第三排再由四格铺满 → 无空洞 */
.v7-b-hero{
  grid-column:span 4; grid-row:span 2; padding:34px 34px 30px;
  background:var(--v7-bhero-bg);
  display:flex; flex-direction:column;
}
.v7-b-hero .k{ color:var(--v7-jade); }
.v7-b-hero h4{ font-size:25px; letter-spacing:-.015em; margin-bottom:12px; line-height:1.35; }
.v7-b-hero p{ font-size:14px; line-height:1.95; color:var(--v7-txt-2); }
/* 主格内部：定义句 / 三步法 / 适用对象 */
.v7-b-hero > p.v7-b-def{
  margin:16px 0 0; padding:12px 14px; border-left:2px solid var(--v7-gold);
  border-radius:0 6px 6px 0; background:var(--v7-soft);
  font-size:13.5px; line-height:1.9; color:var(--v7-txt-2);
}
.v7-b-hero > p.v7-b-def b{ color:var(--v7-strong); font-weight:650; }

.v7-b-step3{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:16px; }
.v7-b-step3 > div{
  border:1px solid var(--v7-line); border-radius:8px; padding:12px 13px 13px;
  background:var(--v7-panel);
}
.v7-b-step3 b{
  display:block; font-size:12px; font-weight:700; color:var(--v7-jade);
  letter-spacing:.06em; margin-bottom:6px;
}
.v7-b-step3 span{ display:block; font-size:12px; line-height:1.75; color:var(--v7-txt-2); }

.v7-b-scope{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:16px; }
.v7-b-scope .lb{ font-size:10.5px; letter-spacing:.18em; color:var(--v7-txt-3); font-weight:700; }
.v7-b-scope em{
  font-style:normal; font-size:11.5px; color:var(--v7-txt-2); line-height:1;
  padding:6px 11px; border:1px solid var(--v7-line); border-radius:100px; background:var(--v7-soft);
}

.v7-b-hero .v7-b-link{ margin-top:auto; padding-top:20px; }

.v7-ask{
  margin-top:22px; border:1px solid var(--v7-line); border-radius:8px;
  background:var(--v7-soft); overflow:hidden;
}
.v7-ask-q{
  padding:12px 15px; font-size:13px; color:var(--v7-txt);
  border-bottom:1px solid var(--v7-line-2); display:flex; gap:9px; align-items:flex-start;
}
.v7-ask-q span{ flex:0 0 auto; font-size:10px; letter-spacing:.1em; font-weight:800; color:var(--v7-jade); padding-top:3px; }
.v7-ask-a{ padding:13px 15px; font-size:12.5px; line-height:1.9; color:var(--v7-txt-2); }
.v7-ask-a b{ color:var(--v7-strong); font-weight:600; background:var(--v7-hl); padding:0 4px; border-radius:3px; }

.v7-b-2{ grid-column:span 2; }
.v7-b-3{ grid-column:span 2; }
.v7-b-6{
  grid-column:span 6; padding:22px 26px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;
}
.v7-b-6 .c{ flex:1; min-width:260px; }
.v7-b-6 h4{ margin-bottom:6px; }
.v7-b-6 .v7-b-link{ margin:0; flex:0 0 auto; }

/* ======================= 6. 流程 ======================= */
.v7-flow{ position:relative; padding:96px 0; background:var(--v7-void); border-top:1px solid var(--v7-line-2); }
.v7-steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:14px; }
.v7-step{ position:relative; padding:38px 22px 0 0; }
.v7-step::before{ content:""; position:absolute; left:0; right:0; top:9px; height:1px; background:var(--v7-line); }
.v7-step:last-child::before{ right:22px; }
.v7-step .dot{
  position:absolute; left:0; top:3px; width:13px; height:13px; border-radius:50%;
  background:var(--v7-dot-bg); border:2px solid var(--v7-jade); z-index:1;
}
.v7-step .dot::after{
  content:""; position:absolute; inset:-4px; border-radius:50%;
  border:1px solid var(--v7-jade); opacity:.5; animation:v7ring 2.8s ease-out infinite;
}
@keyframes v7ring{
  0%{ transform:scale(.6); opacity:.9; }
  100%{ transform:scale(1.5); opacity:0; }
}
.v7-step h4{ margin:0 0 8px; font-size:15.5px; font-weight:650; color:var(--v7-strong); }
.v7-step p{ margin:0; font-size:12.5px; line-height:1.8; color:var(--v7-txt-2); }

/* ======================= 7. 信任名片 ======================= */
.v7-trust{
  position:relative; padding:100px 0; background:var(--v7-trust-bg);
  border-top:1px solid var(--v7-line-2);
}
.v7-trust-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.v7-facts{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--v7-line-2); border:1px solid var(--v7-line);
}
.v7-fact{ background:var(--v7-fact-bg); padding:24px 24px 26px; }
.v7-fact dt{ font-size:11px; letter-spacing:.14em; color:var(--v7-txt-3); margin-bottom:9px; font-weight:600; }
.v7-fact dd{ margin:0; font-size:15px; line-height:1.7; color:var(--v7-strong); font-weight:600; }
.v7-fact dd small{ display:block; font-size:12px; font-weight:400; color:var(--v7-txt-3); margin-top:5px; line-height:1.7; }
.v7-cred{ border-top:1px solid var(--v7-line); padding:22px 0 0; margin-top:26px; }
.v7-cred p{ margin:0; font-size:14px; line-height:1.95; color:var(--v7-txt-2); }
.v7-cred p b{ color:var(--v7-strong); font-weight:600; }

/* ======================= 8. FAQ ======================= */
.v7-faq{ position:relative; padding:96px 0; background:var(--v7-void); border-top:1px solid var(--v7-line-2); }
.v7-faq-grid{ display:grid; grid-template-columns:.92fr 1.48fr; gap:48px; align-items:start; }
.v7-faq-list{ border-top:1px solid var(--v7-line); }
.v7-faq-i{ border-bottom:1px solid var(--v7-line); }
.v7-faq-q{
  padding:19px 0; font-size:15.5px; font-weight:600; color:var(--v7-strong); cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:18px; list-style:none;
  transition:color .2s var(--v7-ease);
}
.v7-faq-q::-webkit-details-marker{ display:none; }
.v7-faq-q::after{ content:"+"; font-size:19px; font-weight:300; color:var(--v7-txt-3); flex:0 0 auto; }
.v7-faq-i[open] .v7-faq-q::after{ content:"−"; }
.v7-faq-i[open] .v7-faq-q{ color:var(--v7-jade); }
.v7-faq-a{ padding:0 0 22px; font-size:14px; line-height:1.95; color:var(--v7-txt-2); }
.v7-faq-a b{ color:var(--v7-strong); font-weight:600; }

/* 左栏补充内容：电话 + 微信二维码 + 说明 */
.v7-faq-side{ margin-top:30px; display:flex; flex-direction:column; gap:16px; }
.v7-faq-side .v7-btn{ align-self:flex-start; }
.v7-side-qr{
  display:flex; gap:14px; align-items:center; padding:14px;
  border:1px solid var(--v7-line); border-radius:10px; background:var(--v7-soft);
}
.v7-side-qr .qr{
  flex:0 0 84px; width:84px; height:84px; padding:5px; border-radius:8px;
  border:1px solid var(--v7-line); background:var(--v7-qr-bg);
}
.v7-side-qr .qr img{ width:100%; height:100%; object-fit:contain; display:block; }
.v7-side-qr h5{ margin:0 0 6px; font-size:13.5px; font-weight:650; color:var(--v7-strong); }
.v7-side-qr p{ margin:0; font-size:12.5px; line-height:1.8; color:var(--v7-txt-2); }
.v7-side-note{
  margin:0; font-size:12px; line-height:1.9; color:var(--v7-txt-3);
  padding-top:14px; border-top:1px solid var(--v7-line-2);
}

/* ======================= 9. 最终 CTA ======================= */
.v7-cta-sec{ position:relative; padding:0 0 100px; background:var(--v7-void); }
.v7-cta{
  position:relative; overflow:hidden;
  border:1px solid var(--v7-cta-line); border-radius:14px; padding:54px 52px 48px;
  background:var(--v7-cta-bg);
  display:grid; grid-template-columns:1.32fr 1fr; gap:40px; align-items:center;
}
.v7-cta::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(var(--v7-gridc) 1px, transparent 1px),
    linear-gradient(90deg, var(--v7-gridc) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(120deg,#000 8%, transparent 62%);
  mask-image:linear-gradient(120deg,#000 8%, transparent 62%);
}
.v7-cta > div{ position:relative; z-index:2; }
.v7-cta h3{ margin:0 0 12px; font-size:clamp(24px,2.9vw,36px); font-weight:750; color:var(--v7-strong); letter-spacing:-.02em; line-height:1.3; }
.v7-cta > div > p{ margin:0 0 26px; font-size:14.5px; line-height:1.95; color:var(--v7-txt-2); }
.v7-cta-act{ display:flex; gap:12px; flex-wrap:wrap; }

/* 三个二维码 */
.v7-cta-qrs{ display:flex; gap:18px; }
.v7-qr-item{
  flex:1 1 0; min-width:0; text-align:center; padding:14px 10px 12px;
  border:1px solid var(--v7-line); border-radius:10px; background:var(--v7-soft);
}
.v7-qr-item .qr{
  width:100%; max-width:104px; aspect-ratio:1/1; margin:0 auto 10px; padding:5px;
  border-radius:8px; border:1px solid var(--v7-line); background:var(--v7-qr-bg);
}
.v7-qr-item .qr img{ width:100%; height:100%; object-fit:contain; display:block; }
.v7-qr-item h5{ margin:0 0 4px; font-size:13px; font-weight:650; color:var(--v7-strong); }
.v7-qr-item p{ margin:0; font-size:11.5px; line-height:1.7; color:var(--v7-txt-3); }

/* ======================= 10. 顶部滚动进度 ======================= */
.v7-prog{
  position:fixed; left:0; top:0; height:2px; z-index:200; width:0;
  background:linear-gradient(90deg,#4A9E33,var(--v7-jade),var(--v7-gold));
  transition:width .1s linear;
}

/* ======================= 11. 移动端常驻联系条（全站：head.html 统一输出） ======================= */
.v7-mbar{ display:none; }
@media (max-width:1100px){
  .v7-mbar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:150;
    background:var(--v7-mbar-bg); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
    border-top:1px solid var(--v7-mbar-line);
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  .v7-mbar a, .v7-mbar button{
    flex:1; min-width:0; height:46px; display:flex; align-items:center; justify-content:center; gap:6px;
    font-size:13.5px; font-weight:700; text-decoration:none; border-radius:8px; margin:0 4px;
    font-family:inherit; cursor:pointer; box-sizing:border-box;
  }
  .v7-mbar a svg, .v7-mbar button svg{ width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:1.8; flex:none; }
  .v7-mbar .m-tel{ background:var(--v7-btnmain-bg); color:var(--v7-btnmain-txt); border:none; }
  .v7-mbar .m-wx{ background:transparent; border:1px solid var(--v7-ghost-line); color:var(--v7-ghost-txt); }
  .v7-mbar .m-msg{ border:1px solid var(--v7-ghost-line); color:var(--v7-ghost-txt); }
  body:has(.v7-mbar){ padding-bottom:66px; }
  body:has(.v7-mbar) .float-contact{ display:none; }
  body:has(.v7-mbar) .backtop{ bottom:80px; }
}

/* 移动端微信二维码弹层 */
.mqr{ position:fixed; inset:0; z-index:220; display:none; align-items:center; justify-content:center;
  background:rgba(2,6,4,.76); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); padding:24px; }
.mqr.on{ display:flex; }
.mqr-box{ width:100%; max-width:280px; background:var(--v7-panel); border:1px solid var(--v7-line);
  border-radius:18px; padding:20px; text-align:center; box-shadow:0 30px 70px -24px rgba(0,0,0,.8); }
.mqr-box img{ width:100%; border-radius:12px; display:block; background:#fff; }
.mqr-box p{ margin:14px 0 16px; font-size:13px; line-height:1.7; color:var(--v7-txt-2); }
.mqr-close{ width:100%; height:42px; border-radius:10px; border:1px solid var(--v7-line);
  background:var(--v7-soft); color:var(--v7-txt); font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; }

/* ======================= 12. 响应式 ======================= */
@media (max-width:1280px){
  .header .cta .tel{ display:none; }
}
@media (max-width:1120px) and (min-width:981px){
  .nav > li > a{ padding:0 8px !important; font-size:14px; }
  .nav > li > a::after{ left:8px !important; right:8px !important; }
}
@media (max-width:1010px){
  .header .cta .btn-primary{ display:none; }
}
@media (max-width:1080px){
  .v7-hero-grid{ grid-template-columns:1fr; gap:44px; }
  .v7-diag-grid{ grid-template-columns:1fr; gap:34px; }
  .v7-aside{ position:static; }
  .v7-case-grid{ grid-template-columns:1fr; gap:22px; }
  .v7-stage{ min-height:0; }
  .v7-pane{ position:relative; opacity:1; transform:none; pointer-events:auto; margin-bottom:14px; }
  .v7-pane:not(.on){ display:none; }
  .v7-bento{ grid-template-columns:repeat(4,1fr); }
  .v7-b-hero{ grid-column:span 4; grid-row:auto; }
  .v7-b-2,.v7-b-3{ grid-column:span 2; }
  .v7-b-6{ grid-column:span 4; }
  .v7-trust-grid{ grid-template-columns:1fr; gap:36px; }
  .v7-faq-grid{ grid-template-columns:1fr; gap:26px; }
  .v7-cta{ grid-template-columns:1fr; padding:38px 28px 34px; gap:30px; }
  .v7-steps{ grid-template-columns:repeat(2,1fr); gap:22px 0; }
}
@media (max-width:760px){
  /* 手机端：只留核心内容 */
  .topbar{ display:none; }
  .header .logo img{ height:38px; }
  .v7-mon-meta{ display:none; }
  .v7-more .lb, .v7-more .v7-mi{ display:none; }
  .v7-side-qr{ display:none; }
  .v7-faq-i:nth-child(n+4){ display:none; }
  .v7-cta-qrs{ gap:10px; }
  .v7-qr-item{ padding:10px 6px 9px; }
  .v7-qr-item h5{ font-size:12px; }
  .v7-qr-item p{ font-size:11px; }
}
@media (max-width:640px){
  .v7-hero{ padding-top:64px; min-height:0; }
  .v7-hero-grid{ padding-bottom:44px; }
  .v7-diag,.v7-cases,.v7-cap,.v7-flow,.v7-trust,.v7-faq{ padding:64px 0; }
  .v7-scene{ grid-template-columns:1fr; }
  .v7-facts{ grid-template-columns:1fr; }
  .v7-pane-in{ padding:28px 22px 26px; }
  .v7-pane-num{ font-size:88px; right:14px; }
  .v7-sub{ font-size:14.5px; }
  .v7-act .v7-btn{ width:100%; }
  .v7-mq-box{ padding:0 16px; gap:12px; }
  .v7-mq-lb{ font-size:10px; letter-spacing:.12em; }
  .v7-b-step3{ grid-template-columns:1fr; gap:8px; }
  .v7-b-scope em{ font-size:11px; padding:5px 9px; }
  .v7-pledge span{ padding-right:14px; margin-right:14px; font-size:12px; }
  .v7-steps{ grid-template-columns:1fr; }
  .v7-step{ padding:22px 0 0 22px; }
  .v7-step::before{ left:5px; right:auto; width:1px; height:auto; bottom:0; top:16px; }
  .v7-step .dot{ left:0; top:10px; }
  .v7-cn{ padding:14px 12px 14px 0; }
  .v7-cn .nm{ font-size:15px; }
  .v7-cta-qrs{ gap:8px; }
}

/* ======================= 案例详情：图片画廊（可调用 H5 截图） ======================= */
.case-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:30px 0; }
.case-gallery figure{ margin:0; }
.case-gallery img{ width:100%; height:auto; display:block; border-radius:12px;
  border:1px solid var(--v7-line); background:var(--v7-soft); }
.case-gallery figcaption{ font-size:12px; color:var(--v7-txt-3); text-align:center; margin-top:8px; }
.case-gallery .cg-h{ grid-column:1/-1; font-size:15px; font-weight:700; color:var(--v7-txt);
  margin:8px 0 2px; padding-left:2px; }
@media (max-width:760px){ .case-gallery{ grid-template-columns:repeat(2,1fr); gap:10px; } }
@media (max-width:440px){ .case-gallery{ grid-template-columns:1fr; } }


/* ==========================================================================
   首页 v8 新增模块（2026-09-30）
   数据带 · 创始人故事 · 核心优势 · AIGEO 专区
   全部使用 CSS 变量，自动适配深/浅双主题
   ========================================================================== */

/* ---------- 1. 实力数据带 ---------- */
.v7-stat{
  display:grid; grid-template-columns:repeat(6,1fr); gap:1px;
  background:var(--v7-line-2); border:1px solid var(--v7-line);
  border-radius:16px; overflow:hidden; margin:38px 0 0;
}
.v7-stat-i{ background:var(--v7-panel); padding:22px 16px; text-align:center; }
.v7-stat-i b{
  display:block; font-size:30px; line-height:1.15; font-weight:800;
  letter-spacing:-.5px; color:var(--v7-strong); font-variant-numeric:tabular-nums;
}
.v7-stat-i b em{ font-style:normal; font-size:15px; font-weight:700; color:var(--v7-acc); margin-left:2px; }
.v7-stat-i span{ display:block; margin-top:7px; font-size:12.5px; color:var(--v7-txt-3); letter-spacing:.3px; }
@media (max-width:900px){ .v7-stat{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .v7-stat{ grid-template-columns:repeat(2,1fr); } .v7-stat-i b{ font-size:25px; } }

/* ---------- 2. 创始人故事 ---------- */
.v7-founder{ position:relative; }
.v7-fd-wrap{
  display:grid; grid-template-columns:1.05fr .95fr; gap:46px; align-items:start;
}
/* 时间线 */
.v7-fd-time{ position:relative; padding-left:26px; margin-top:22px; }
.v7-fd-time::before{
  content:''; position:absolute; left:6px; top:8px; bottom:8px; width:1px;
  background:linear-gradient(180deg,var(--v7-acc),transparent);
}
.v7-fd-t{ position:relative; padding:0 0 22px; }
.v7-fd-t:last-child{ padding-bottom:0; }
.v7-fd-t::before{
  content:''; position:absolute; left:-26px; top:6px; width:13px; height:13px; border-radius:50%;
  background:var(--v7-acc); box-shadow:0 0 0 4px var(--v7-on);
}
.v7-fd-t em{
  display:inline-block; font-style:normal; font-size:11.5px; font-weight:700; letter-spacing:1px;
  color:var(--v7-acc); border:1px solid var(--v7-line); background:var(--v7-on);
  padding:3px 9px; border-radius:20px; margin-bottom:8px;
}
.v7-fd-t h4{ font-size:17px; font-weight:700; color:var(--v7-strong); margin:0 0 6px; }
.v7-fd-t p{ font-size:14px; line-height:1.85; color:var(--v7-txt-2); margin:0; }

/* 引言 + 准则 */
.v7-fd-card{
  border:1px solid var(--v7-line); background:var(--v7-panel);
  border-radius:18px; padding:28px 26px;
}
.v7-fd-quote{
  font-size:17px; line-height:1.9; color:var(--v7-txt); font-weight:600;
  padding-left:16px; border-left:2px solid var(--v7-acc); margin:0 0 22px;
}
.v7-fd-rule{ list-style:none; padding:0; margin:0; }
.v7-fd-rule li{
  display:flex; gap:12px; align-items:flex-start; padding:12px 0;
  border-top:1px dashed var(--v7-line-2);
}
.v7-fd-rule li:first-child{ border-top:0; }
.v7-fd-rule i{
  flex:none; width:22px; height:22px; border-radius:6px; margin-top:2px;
  background:var(--v7-on); color:var(--v7-acc); font-style:normal; font-size:12px;
  font-weight:800; display:flex; align-items:center; justify-content:center;
}
.v7-fd-rule b{ display:block; font-size:14.5px; color:var(--v7-strong); margin-bottom:3px; }
.v7-fd-rule p{ font-size:13.5px; line-height:1.75; color:var(--v7-txt-2); margin:0; }
@media (max-width:900px){ .v7-fd-wrap{ grid-template-columns:1fr; gap:30px; } }

/* ---------- 3. 核心优势 ---------- */
.v7-why{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px;
}
.v7-why-i{
  position:relative; border:1px solid var(--v7-line); background:var(--v7-panel);
  border-radius:16px; padding:26px 24px 24px; overflow:hidden;
  transition:border-color .35s, transform .35s, background .35s;
}
.v7-why-i:hover{ border-color:var(--v7-stroke); transform:translateY(-3px); background:var(--v7-panel-2); }
.v7-why-i::after{
  content:''; position:absolute; inset:0; border-radius:16px; pointer-events:none;
  background:radial-gradient(420px circle at 100% 0%, var(--v7-res), transparent 62%);
}
.v7-why-n{
  font-size:12px; font-weight:800; letter-spacing:1.5px; color:var(--v7-acc);
  opacity:.85; margin-bottom:10px; display:block;
}
.v7-why-i h4{ font-size:18px; font-weight:700; color:var(--v7-strong); margin:0 0 10px; letter-spacing:-.2px; }
.v7-why-i p{ font-size:14px; line-height:1.85; color:var(--v7-txt-2); margin:0; }
.v7-why-i p b{ color:var(--v7-txt); font-weight:600; }
.v7-why-tag{
  display:inline-block; margin:14px 0 0; font-size:11.5px; padding:3px 9px; border-radius:20px;
  border:1px solid var(--v7-line); color:var(--v7-txt-3); background:var(--v7-soft);
}
@media (max-width:900px){ .v7-why{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .v7-why{ grid-template-columns:1fr; } }

/* ---------- 4. AIGEO 专区 ---------- */
.v7-geo{ position:relative; }
.v7-geo-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:30px; }
.v7-geo-def{
  border:1px solid var(--v7-line); border-left:3px solid var(--v7-acc); background:var(--v7-res);
  border-radius:12px; padding:20px 22px; margin-bottom:20px;
}
.v7-geo-def b{ display:block; font-size:13px; letter-spacing:.5px; color:var(--v7-acc); margin-bottom:8px; }
.v7-geo-def p{ font-size:15px; line-height:1.9; color:var(--v7-txt); margin:0; }
.v7-geo-def p strong{ color:var(--v7-strong); }
.v7-geo-box{ border:1px solid var(--v7-line); background:var(--v7-panel); border-radius:16px; padding:24px 24px; }
.v7-geo-box h4{ font-size:16px; font-weight:700; color:var(--v7-strong); margin:0 0 14px; }
.v7-geo-step{ list-style:none; padding:0; margin:0; counter-reset:g; }
.v7-geo-step li{
  counter-increment:g; position:relative; padding:0 0 16px 34px; margin:0;
  border-left:1px dashed var(--v7-line); margin-left:9px;
}
.v7-geo-step li:last-child{ border-left-color:transparent; padding-bottom:0; }
.v7-geo-step li::before{
  content:counter(g); position:absolute; left:-10px; top:0; width:20px; height:20px; border-radius:50%;
  background:var(--v7-on); color:var(--v7-acc); font-size:11px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}
.v7-geo-step b{ display:block; font-size:14.5px; color:var(--v7-strong); margin-bottom:4px; }
.v7-geo-step span{ font-size:13.5px; line-height:1.8; color:var(--v7-txt-2); }
.v7-geo-kv{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:18px; }
.v7-geo-kv div{ border:1px solid var(--v7-line-2); border-radius:10px; padding:12px 14px; background:var(--v7-soft); }
.v7-geo-kv dt{ font-size:12px; color:var(--v7-txt-3); margin-bottom:4px; }
.v7-geo-kv dd{ font-size:14px; color:var(--v7-txt); font-weight:600; margin:0; }
@media (max-width:900px){ .v7-geo-grid{ grid-template-columns:1fr; } }

/* ---------- 5. 答案块（供 AI 摘录的统一外观） ---------- */
.v7-answer{
  border:1px solid var(--v7-line); background:var(--v7-soft);
  border-radius:12px; padding:18px 20px; margin-top:22px;
}
.v7-answer h5{ font-size:14px; font-weight:700; color:var(--v7-strong); margin:0 0 8px; }
.v7-answer p{ font-size:14px; line-height:1.9; color:var(--v7-txt-2); margin:0; }


/* ==========================================================================
   转化组件 v8（2026-09-30）
   通话产出承诺 · 行内微 CTA · 三步开始
   ========================================================================== */

/* ---------- 通话产出承诺（首屏，消除不确定性） ---------- */
.v7-promise{
  margin-top:22px; border:1px solid var(--v7-line); background:var(--v7-soft);
  border-radius:14px; padding:16px 18px; display:flex; flex-wrap:wrap;
  align-items:center; gap:10px 16px;
}
.v7-promise .lb{
  font-size:12px; font-weight:700; letter-spacing:.5px; color:var(--v7-acc);
  padding-right:14px; border-right:1px solid var(--v7-line); white-space:nowrap;
}
.v7-promise .it{ font-size:14px; color:var(--v7-txt); display:flex; align-items:center; gap:7px; }
.v7-promise .it b{
  font-size:12px; font-weight:800; color:var(--v7-acc); background:var(--v7-on);
  border-radius:6px; padding:2px 6px;
}
.v7-promise .tail{
  flex-basis:100%; font-size:13px; color:var(--v7-txt-3); padding-top:2px;
}
@media (max-width:700px){
  .v7-promise .lb{ border-right:0; padding-right:0; flex-basis:100%; }
  .v7-promise .it{ flex-basis:100%; }
}

/* ---------- 行内微 CTA（区块收尾的行动召唤） ---------- */
.v7-inline-cta{
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  margin-top:34px; padding:20px 24px;
  border:1px solid var(--v7-line); border-radius:16px; background:var(--v7-panel);
  position:relative; overflow:hidden;
}
.v7-inline-cta::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(520px circle at 0% 50%, var(--v7-res), transparent 65%);
}
.v7-inline-cta > div{ position:relative; z-index:1; }
.v7-inline-cta b{ display:block; font-size:16.5px; color:var(--v7-strong); margin-bottom:6px; }
.v7-inline-cta p{ font-size:14px; line-height:1.8; color:var(--v7-txt-2); margin:0; max-width:62ch; }
.v7-inline-cta .v7-btn{ position:relative; z-index:1; flex:none; }
.v7-inline-cta-soft{ background:var(--v7-res); margin-bottom:26px; }
@media (max-width:820px){
  .v7-inline-cta{ flex-direction:column; align-items:flex-start; gap:16px; }
}

/* ---------- 三步开始 ---------- */
.v7-start{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; }
.v7-start-i{
  position:relative; border:1px solid var(--v7-line); background:var(--v7-panel);
  border-radius:16px; padding:26px 22px 22px;
  transition:border-color .35s, transform .35s;
}
.v7-start-i:hover{ border-color:var(--v7-stroke); transform:translateY(-3px); }
.v7-start-i .sn{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:9px; margin-bottom:14px;
  background:var(--v7-on); color:var(--v7-acc); font-size:13px; font-weight:800;
}
.v7-start-i h4{ font-size:17.5px; font-weight:700; color:var(--v7-strong); margin:0 0 10px; }
.v7-start-i p{ font-size:14px; line-height:1.85; color:var(--v7-txt-2); margin:0; }
.v7-start-i p b{ color:var(--v7-txt); font-weight:600; }
.v7-start-i em{
  display:inline-block; margin-top:14px; font-style:normal; font-size:12px;
  color:var(--v7-txt-3); border:1px dashed var(--v7-line); border-radius:20px; padding:3px 10px;
}
.v7-start-note{
  margin-top:22px; padding:16px 20px; border:1px solid var(--v7-line);
  border-left:3px solid var(--v7-acc); background:var(--v7-res); border-radius:12px;
  font-size:14.5px; line-height:1.9; color:var(--v7-txt-2);
}
.v7-start-note b{ color:var(--v7-strong); }
.v7-start-note a{ color:var(--v7-acc); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px){ .v7-start{ grid-template-columns:1fr; } }

/* ---------- CTA 提示行 ---------- */
.v7-cta-tip{
  margin-top:12px !important; font-size:14px; line-height:1.8; color:var(--v7-txt-2);
}
.v7-cta-tip b{ color:var(--v7-strong); }

/* 悬浮微信：hover 直接出二维码（减少一次跳转，提升加微信率） */
.float-contact .fc-wx{
  background:var(--v7-float-bg) !important;
  border:1px solid var(--v7-float-line) !important;
  color:var(--v7-float-txt) !important;
  width:52px; height:52px; border-radius:12px; padding:0; cursor:pointer; position:relative;
  display:grid; place-items:center; box-shadow:var(--shadow); transition:.22s;
  font-size:11px; grid-auto-rows:min-content; gap:2px;
}
.float-contact .fc-wx svg{ stroke:var(--v7-jade); }
.float-contact .fc-wx:hover{
  background:var(--v7-btnmain-bg) !important;
  border-color:transparent !important; color:var(--v7-btnmain-txt) !important;
}
.float-contact .fc-wx:hover svg{ stroke:var(--v7-btnmain-txt) !important; }
.float-contact .fc-wx-pop{
  position:absolute; right:64px; bottom:0; width:150px; padding:12px;
  background:#fff; border-radius:14px; text-align:center;
  box-shadow:0 18px 46px rgba(0,0,0,.30); opacity:0; transform:translateX(10px);
  pointer-events:none; transition:opacity .24s, transform .24s;
}
.float-contact .fc-wx-pop img{ width:100%; border-radius:8px; display:block; }
.float-contact .fc-wx-pop b{ display:block; margin-top:8px; font-size:13px; color:#111; }
.float-contact .fc-wx-pop i{ display:block; margin-top:3px; font-size:11px; font-style:normal; color:#666; line-height:1.5; }
.float-contact .fc-wx:hover .fc-wx-pop{ opacity:1; transform:none; pointer-events:auto; }
@media (max-width:900px){ .float-contact .fc-wx{ display:none; } }

/* ================= 城市分站导航页（全国省 / 市 / 县区三级） ================= */
.cty-hot{ margin:22px 0 6px; padding:18px 20px; background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:14px; }
.cty-h-t{ font-size:13px; font-weight:700; letter-spacing:.12em; color:var(--v7-jade); margin-bottom:12px; }
.cty-h-list{ display:flex; flex-wrap:wrap; gap:8px 10px; }
.cty-h-list a{ display:inline-flex; align-items:center; height:30px; padding:0 12px; border-radius:15px;
  background:var(--v7-panel-2); border:1px solid var(--v7-line); font-size:13.5px; color:var(--v7-txt-2); transition:.18s; }
.cty-h-list a:hover{ border-color:var(--v7-jade); color:var(--v7-jade); background:var(--v7-on); transform:translateY(-1px); }
.cty-tip{ margin:16px 0 22px; font-size:13.5px; color:var(--v7-txt-3); }

.cty-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:16px; }
.cty-p{ background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:14px; padding:18px 20px 16px; transition:.18s; }
.cty-p:hover{ border-color:var(--v7-stroke); background:var(--v7-panel-2); }
.cty-p-t{ display:flex; align-items:baseline; gap:10px; margin:0 0 12px; padding-bottom:10px; border-bottom:1px dashed var(--v7-line); }
.cty-p-t a{ font-size:17px; font-weight:700; color:var(--v7-strong); transition:.18s; }
.cty-p-t a:hover{ color:var(--v7-jade); }
.cty-p-n{ font-size:12px; font-weight:400; color:var(--v7-txt-3); }
.cty-c{ display:flex; flex-direction:column; gap:10px; }
.cty-city{ padding-bottom:10px; border-bottom:1px solid var(--v7-line); }
.cty-city:last-child{ border-bottom:0; padding-bottom:0; }
.cty-city-a{ display:inline-block; font-size:14.5px; font-weight:600; color:var(--v7-jade); margin-bottom:6px; transition:.18s; }
.cty-city-a:hover{ color:var(--v7-acc); text-decoration:underline; }
.cty-city .cty-area{ display:inline-block; margin:0 6px 5px 0; padding:2px 8px; border-radius:6px;
  background:var(--v7-soft-2); font-size:12.5px; color:var(--v7-txt-2); transition:.16s; }
.cty-city .cty-area:hover{ background:var(--v7-on); color:var(--v7-jade); }
@media (max-width:900px){
  .cty-list{ grid-template-columns:1fr; }
  .cty-p{ padding:15px 16px 13px; }
}

/* 实力数据带中的可点击项（全国分站入口） */
a.v7-stat-i{ display:block; text-decoration:none; transition:background .18s; }
a.v7-stat-i:hover{ background:var(--v7-panel-2); }
a.v7-stat-i:hover span{ color:var(--v7-acc); }

/* ================= 分站本地化区块（防同质化：城市专属正文 / 下辖与周边互链 / 本地问答） ================= */
.v7-local{ padding:64px 0; background:var(--v7-deep); border-top:1px solid var(--v7-line); border-bottom:1px solid var(--v7-line); }
.v7-loc-wrap{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; margin-top:26px; align-items:start; }
.v7-loc-main{ background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:14px; padding:22px 24px; }
.v7-loc-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px; }
.v7-loc-lb{ font-size:12.5px; font-weight:700; letter-spacing:.06em; color:var(--v7-jade); }
.v7-loc-tags i{ font-style:normal; font-size:12.5px; padding:3px 10px; border-radius:13px;
  background:var(--v7-on); color:var(--v7-jade); border:1px solid var(--v7-line); }
.v7-loc-body p{ font-size:14.5px; line-height:1.9; color:var(--v7-txt-2); margin:0 0 12px; }
.v7-loc-body p:last-child{ margin-bottom:0; }
.v7-loc-side{ display:flex; flex-direction:column; gap:14px; }
.v7-loc-card{ background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:14px; padding:16px 18px; }
.v7-loc-card h3{ font-size:15px; font-weight:700; color:var(--v7-strong); margin:0 0 10px; }
.v7-loc-links{ display:flex; flex-wrap:wrap; gap:6px 8px; }
.v7-loc-links a{ font-size:13px; padding:3px 9px; border-radius:7px; background:var(--v7-soft-2);
  color:var(--v7-txt-2); transition:.16s; }
.v7-loc-links a:hover{ background:var(--v7-on); color:var(--v7-jade); }
.v7-loc-cta p{ font-size:13px; line-height:1.7; color:var(--v7-txt-3); margin:0 0 10px; }
.v7-loc-tel{ display:inline-flex; align-items:center; height:38px; padding:0 18px; border-radius:19px;
  background:linear-gradient(135deg,var(--v7-jade),var(--v7-gold)); color:#08120C;
  font-size:15px; font-weight:700; letter-spacing:.02em; }
.v7-loc-tel:hover{ filter:brightness(1.08); }
.v7-loc-faq{ margin-top:22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:12px; }
.v7-loc-q{ background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:12px; padding:14px 18px; }
.v7-loc-q summary{ cursor:pointer; font-size:14.5px; font-weight:600; color:var(--v7-strong); }
.v7-loc-q p{ font-size:13.5px; line-height:1.85; color:var(--v7-txt-3); margin:10px 0 0; }
.v7-loc-hot{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:16px; }
.v7-loc-more{ margin-top:20px; }
.v7-loc-more a{ display:inline-block; font-size:14.5px; font-weight:600; color:var(--v7-jade);
  border-bottom:1px solid currentColor; padding-bottom:2px; }
.v7-loc-more a:hover{ color:var(--v7-acc); }
@media (max-width:980px){
  .v7-loc-wrap{ grid-template-columns:1fr; }
  .v7-local{ padding:44px 0; }
}

/* ===== 宽屏（≥1500px）节奏增强：内容区展开后保持饱满，避免大片留白 ===== */
@media (min-width:1500px){
  .v7-sec-h{ margin-bottom:56px; }
  .v7-lead{ font-size:15.5px; max-width:52em; }
  .v7-sub{ max-width:44em; }
  .v7-hero-grid{ gap:72px; }
  .v7-b, .v7-pane, .v7-why-i, .v7-fd-card, .v7-geo-box{ padding:30px 30px 32px; }
  .cty-list{ grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:18px; }
  .cty-p{ padding:22px 24px 20px; }
  .v7-loc-wrap{ grid-template-columns:minmax(0,1fr) 360px; gap:26px; }
}

/* ===== 右侧悬浮服务面板（桌面端完整展示，信息一次给全） ===== */
.fc-panel{
  position:fixed; right:20px; top:50%; transform:translateY(-50%); z-index:150;
  width:214px; box-sizing:border-box;
  background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:16px;
  padding:14px; box-shadow:0 24px 60px -24px rgba(0,0,0,.55);
  display:flex; flex-direction:column; gap:12px;
}
.fc-p-hd{ display:flex; align-items:center; gap:9px; padding-bottom:12px; border-bottom:1px solid var(--v7-line); }
.fc-p-dot{ width:8px; height:8px; border-radius:50%; flex:none; background:var(--v7-jade); box-shadow:0 0 0 0 var(--v7-glow); animation:v7pulse 2.4s infinite; }
.fc-p-hd b{ display:block; font-size:14px; font-weight:700; color:var(--v7-strong); }
.fc-p-hd i{ display:block; font-style:normal; font-size:11.5px; color:var(--v7-txt-3); margin-top:2px; }

.fc-p-tel{ display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:12px;
  background:linear-gradient(135deg,var(--v7-jade),var(--v7-gold)); text-decoration:none; transition:.2s; }
.fc-p-tel svg{ width:20px; height:20px; flex:none; stroke:#08120C; fill:none; stroke-width:1.8; }
.fc-p-tel span{ display:flex; flex-direction:column; }
.fc-p-tel em{ font-style:normal; font-size:11px; color:rgba(8,18,12,.72); letter-spacing:.04em; }
.fc-p-tel b{ font-size:15px; font-weight:800; color:#08120C; letter-spacing:.01em; }
.fc-p-tel:hover{ filter:brightness(1.07); transform:translateY(-1px); }

.fc-p-wx{ padding:12px; border:1px solid var(--v7-line); border-radius:12px; background:var(--v7-panel-2); text-align:center; }
.fc-p-wt{ display:flex; align-items:center; justify-content:center; gap:6px; margin-bottom:9px;
  font-size:12.5px; font-weight:700; color:var(--v7-jade); }
.fc-p-wt svg{ width:16px; height:16px; stroke:var(--v7-jade); fill:none; stroke-width:1.7; }
.fc-p-wx img{ width:100%; border-radius:9px; display:block; }
.fc-p-wx i{ display:block; font-style:normal; font-size:11px; line-height:1.5; color:var(--v7-txt-3); margin-top:8px; }

.fc-p-msg{ display:flex; align-items:center; justify-content:center; gap:7px; height:40px;
  border:1px solid var(--v7-line); border-radius:11px; background:var(--v7-soft-2);
  color:var(--v7-txt); font-size:13.5px; font-weight:600; text-decoration:none; transition:.2s; }
.fc-p-msg svg{ width:17px; height:17px; stroke:var(--v7-jade); fill:none; stroke-width:1.7; }
.fc-p-msg:hover{ border-color:var(--v7-jade); background:var(--v7-on); color:var(--v7-jade); }

.fc-p-ft{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:11px; border-top:1px solid var(--v7-line); }
.fc-p-ft .fc-theme{ width:38px; height:38px; padding:0; border-radius:10px; cursor:pointer;
  background:var(--v7-float-bg); border:1px solid var(--v7-float-line); display:grid; place-items:center; }
.fc-p-ft .fc-theme svg{ width:19px; height:19px; stroke:var(--v7-jade); fill:none; stroke-width:1.7; }
html.v7-light .fc-p-ft .fc-theme .ic-sun{ display:none; }
html.v7-light .fc-p-ft .fc-theme .ic-moon{ display:block; }
.fc-p-note{ font-size:11.5px; line-height:1.45; text-align:right; color:var(--v7-txt-3); }

@media (max-width:1320px){ .fc-panel{ width:196px; right:12px; } }
/* 窄屏 / 移动端：交给底部服务条，面板隐藏（顶部汉堡导航保留，可看分栏目） */
@media (max-width:1100px){ .fc-panel{ display:none; } }


/* ==========================================================================
   全站外壳统一（2026-10-06）
     1. body 整屏跟随主题底色 —— 「导航边 → 内容 → 页脚」全屏同色，无白边断层
     2. 内页（about / aiservice / news / product / contact …）老式区块统一到 v7 主题
     3. 宽屏（≥1500px）下正文行宽收束 + 区块呼吸加大，避免 1680 容器把段落拉散
   ========================================================================== */

/* ---- 1. 整屏底：全站同色，浅色主题自动跟随 ---- */
body{ background:var(--v7-void); color:var(--v7-txt); }

/* ---- 2. 内页通用区块：底色交替（void / deep 两级），不再出现浅底断层 ---- */
.section{ position:relative; }
.section-soft{ background:var(--v7-deep); }
.section-deep{ background:var(--v7-void); color:var(--v7-txt-2); }
.section-deep h2,.section-deep h3,.section-deep h4,.section-deep .s-title{ color:var(--v7-strong); }
.section-deep .s-desc{ color:var(--v7-txt-2); }
.section-deep .stack span{ background:var(--v7-soft); border-color:var(--v7-line); color:var(--v7-txt-2); }
.section-deep .flow-step::before{ background:var(--v7-line); }
.section-deep .flow-step p{ color:var(--v7-txt-2); }
.section-deep .btn-line{ background:transparent; border-color:var(--v7-line); color:var(--v7-txt); }

h1,h2,h3,h4,h5,h6{ color:var(--v7-strong); }
.s-title{ color:var(--v7-strong); }
.s-title::after{ background:linear-gradient(90deg,var(--v7-jade),var(--v7-gold)); }
.s-desc{ color:var(--v7-txt-2); }
.eyebrow,.s-head .eyebrow{ color:var(--v7-jade); }

/* 面包屑 */
.crumb{ color:var(--v7-txt-3); border-bottom:1px solid var(--v7-line); }
.crumb a{ color:var(--v7-txt-2); }
.crumb a:hover{ color:var(--v7-jade); }
.crumb span{ color:var(--v7-txt-3); }

/* 子页横幅：复用首页 hero 底纹，内页与首页同一视觉语言 */
.subbanner{ background:var(--v7-hero-bg); }
.subbanner::before{ opacity:.6; }
.subbanner::after{ opacity:.22; }
.subbanner p{ color:var(--v7-txt-2); }

/* 卡片 / 面板统一到主题面板色 */
.card,.box,.win-card,.answer-box,.bu-panel,.faq-item,.side .box{
  background:var(--v7-panel);
  border:1px solid var(--v7-line);
  color:var(--v7-txt-2);
}
.card:hover,.box:hover,.win-card:hover,.bu-panel:hover{
  border-color:rgba(168,240,76,.40);
  box-shadow:0 18px 44px -22px rgba(0,0,0,.62);
}
.card h3,.box h3,.box h4,.win-card h3,.bu-panel h3,.faq-item h3{ color:var(--v7-strong); }
.card p,.card ul,.box p,.win-card .wc-ind,.win-card .wc-desc,.bu-panel p{ color:var(--v7-txt-2); }
.card .ico{ background:var(--v7-on); border-color:rgba(168,240,76,.24); color:var(--v7-jade); }
.win-card .wc-num{ color:var(--v7-jade); }
.card .more{ color:var(--v7-jade); }
.answer-box{ border-left:4px solid var(--v7-jade); }
.answer-box .ab-label{ color:var(--v7-jade); }
.answer-box p{ color:var(--v7-txt-2); }
.side .box h4{ border-left-color:var(--v7-jade); }
.side .box li a{ color:var(--v7-txt-2); }
.side .box li a:hover{ color:var(--v7-jade); }
.faq-item:hover{ border-color:rgba(168,240,76,.34); }

/* 标签 */
.tag-line{ background:transparent; border-color:var(--v7-line); color:var(--v7-txt-2); }
.tag-amber{ background:rgba(217,169,58,.12); color:#E0B656; border-color:rgba(217,169,58,.30); }

/* 正文排版：面包屑/文章区在超宽容器里的行宽收束 */
.article{ color:var(--v7-txt-2); }
.article h2{ border-left-color:var(--v7-jade); }
.article blockquote{
  background:var(--v7-panel); border-left:4px solid var(--v7-jade);
  color:var(--v7-txt-2); border-radius:0 10px 10px 0;
}
.article table{ border-color:var(--v7-line); }
.article th,.article td{ border-color:var(--v7-line); color:var(--v7-txt-2); }

/* 分页 */
.pagebar a,.pagebar span{
  background:var(--v7-panel); border:1px solid var(--v7-line); color:var(--v7-txt-2);
}
.pagebar a:hover{ border-color:var(--v7-jade); color:var(--v7-jade); }
.pagebar span{ background:linear-gradient(120deg,var(--v7-jade),var(--v7-gold)); color:#08120C; border-color:transparent; }

/* 流程步骤 */
.flow-step::before{ background:var(--v7-line); }
.flow-step h4{ color:var(--v7-strong); }
.flow-step p{ color:var(--v7-txt-2); }
.flow-step .fs-n{ background:var(--v7-panel); border-color:var(--v7-line); color:var(--v7-txt); }
.flow-step:hover .fs-n{ border-color:var(--v7-jade); color:var(--v7-jade); box-shadow:0 0 0 6px var(--v7-on); }

/* CTA 通栏：改为品牌渐变（深底上也够分量） */
.cta-band{
  background:linear-gradient(120deg,#16281B 0%,#0B150E 100%);
  border:1px solid rgba(168,240,76,.22);
  box-shadow:0 24px 60px -26px rgba(0,0,0,.7);
}

/* ---- 3. 宽屏节奏：区块更舒展，正文不拉散 ---- */
@media (min-width:1500px){
  .section{ padding:96px 0; }
  .subbanner{ padding:78px 0 64px; }
  .subbanner h1{ font-size:44px; }
  .article{ font-size:16px; max-width:1080px; }
  .detail{ grid-template-columns:minmax(0,1fr) 340px; gap:56px; }
  .s-head{ max-width:860px; margin-bottom:60px; }
  .cta-band{ padding:60px 56px; }
  .grid{ gap:26px; }
}
@media (min-width:1800px){
  .section{ padding:108px 0; }
  .article{ max-width:1120px; }
}
