/* ============================================================
   DAFOREN 刀锋物联 · 官网样式（完全参照 DAFOREN Website 2.0 Prototype）
   品牌纪律：深海军蓝导航 + 深色科技 Hero + 亮蓝 #0877ff 品牌强调；
   卡片用浅蓝边框/浅蓝底；蓝色对勾特性列表；双按钮体系。
   ============================================================ */
:root{
  /* 配色：藏青专业蓝（白/浅灰底 + 深藏青主色 + 克制强调蓝，方正专业） */
  --navy:#0a2540;          /* 主深藏青：导航/页脚/Hero/CTA */
  --navy2:#0e2f4f;         /* 深藏青 hover 提亮 */
  --blue:#0d5cd6;          /* 强调蓝：CTA/链接/激活态/图标描边 */
  --blue2:#8fb4e6;         /* 浅蓝（弱强调） */
  --ink:#1b2733;           /* 正文：深灰蓝 */
  --muted:#3c4c5c;         /* 次级灰（加深以满足 WCAG AA 对比度） */
  --line:#e3e8ee;          /* 边框：浅灰 */
  --bg:#ffffff;           /* 背景：纯白（全站统一白底） */
  --white:#fff;             /* 纯白 */
  --shadow:0 2px 4px rgba(10,37,64,.05),0 12px 28px rgba(10,37,64,.09); /* 中性投影（hover） */
  --radius:8px;            /* 卡片圆角 */

  /* 向后兼容变量 */
  --navbar:var(--navy);
  --navbtn:var(--blue);
  --navbtn-2:#0a4cb3;
  --ink2:var(--muted);
  --ink3:#687282;          /* 调深，确保 > 4.5:1（AA） */
  --bgsoft:var(--bg);
  --soft:var(--bg);
  --accent:var(--blue);
  --accent-2:#0a4cb3;
  --accent-tint:rgba(13,92,214,.08);
  --accent-light:var(--blue2);
  --accent-grad:#0d5cd6;            /* 原品牌渐变收敛为纯色 */
  --accent-grad-d:#0a4cb3;
  --gold:#f59e0b;
  --gold-tint:rgba(245,158,11,.10);

  /* Hero 深色变量 */
  --hero-bg:var(--navy);
  --hero-text:#eef3f8;
  --hero-text2:#b6c4d3;
  --card-bg:#fff;
  --card-border:var(--line);
  --card-border-hover:#cdd6df;
  --chip-bg:rgba(255,255,255,.03);
  --chip-border:rgba(255,255,255,.12);
  --maxw:1240px;

  /* 品牌字体 */
  --font-display:"Plus Jakarta Sans","PingFang SC","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",sans-serif;
  --font-body:"Plus Jakarta Sans","PingFang SC","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",sans-serif;

  /* 克制阴影 token（无彩色发光） */
  --shadow-card:0 1px 2px rgba(10,37,64,.05),0 6px 16px rgba(10,37,64,.05);
  --shadow-btn:0 1px 2px rgba(10,37,64,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);
  color:var(--ink);background:var(--bg);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,.sec-h,.p-title,.cta-band h3,.metric .count,.hero-stats b{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
a{color:inherit}
img{max-width:100%}
button{font-family:inherit;cursor:pointer}

/* 统一键盘焦点环（WCAG 2.4.7 Focus Visible） */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}
/* 深色背景上的焦点环用浅色 */
.band--accent a:focus-visible, .band--accent button:focus-visible, .hero .btn-g:focus-visible, .cta-band a:focus-visible, .ind-card:focus-visible, .faq-item .fq:focus-visible {
  outline-color: #fff;
}
/* 导航：白底默认用品牌蓝焦点环，深底（scrolled）用白焦点环 */
.s-top a:focus-visible, .s-top button:focus-visible { outline-color: var(--blue); }
.s-top.scrolled a:focus-visible, .s-top.scrolled button:focus-visible { outline-color: #fff; }

/* ---------- 顶部导航（完全参照原型） ---------- */
/* ---------- 顶部导航：默认白底，下拉滚动变深色 ---------- */
.s-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background .35s,box-shadow .35s,border-color .35s}
.s-top.scrolled{background:rgba(10,37,64,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 8px 26px rgba(10,37,64,.3)}
.s-nav{display:flex;align-items:center;gap:34px;max-width:var(--maxw);margin:0 auto;height:64px;padding:0 24px}
.s-nav .logo{height:15px;width:auto;object-fit:contain;display:block;flex:0 0 auto}
.s-nav>a:first-of-type{display:flex;align-items:center;line-height:0}
/* logo 双版本：白底导航显示深藏青版，深色导航显示白色版（用 .s-nav .logo.logo-* 提高优先级，避免两张叠加） */
.s-nav .logo.logo-white{display:none}
.s-top.scrolled .logo.logo-dark{display:none}
.s-top.scrolled .logo.logo-white{display:block}
.s-menu{display:flex;gap:28px;flex:1}
.s-menu a{color:var(--ink);text-decoration:none;font-size:14px;padding:20px 0;position:relative;font-weight:500;transition:.18s;border-radius:0}
.s-menu a:hover{color:var(--blue);background:transparent}
.s-menu a.act{color:var(--navy);background:transparent}
.s-menu a.act::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:2px;background:var(--blue);border-radius:2px}
.s-top.scrolled .s-menu a{color:#d8e2ef}
.s-top.scrolled .s-menu a:hover{color:#fff}
.s-top.scrolled .s-menu a.act{color:#fff}
/* 移动端汉堡菜单补全的「联系我们」入口：桌面端已有咨询 CTA，故默认隐藏避免重复 */
.s-menu .nav-contact{display:none}
.s-nav-right{display:flex;align-items:center;gap:12px;flex:0 0 auto;margin-left:auto}
.s-cta{background:transparent;border:1px solid #9db5d2;color:var(--ink);padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;transition:.18s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.s-cta:hover{background:var(--blue);border-color:var(--blue);color:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(10,37,64,.16)}
.s-cta.s-store{background:transparent;border:1px solid #9db5d2;color:var(--ink);box-shadow:none}
.s-cta.s-store:hover{background:rgba(10,37,64,.06);border-color:var(--ink)}
.s-top.scrolled .s-cta{color:#fff;border-color:rgba(255,255,255,.4)}
.s-top.scrolled .s-cta.s-store{color:#fff;border-color:rgba(255,255,255,.4)}
.s-top.scrolled .s-cta.s-store:hover{background:rgba(255,255,255,.08);border-color:#fff}
.s-menu-cta{display:none}
.s-ham{display:none;background:none;border:0;font-size:24px;color:var(--ink);line-height:1;margin-left:auto}
.s-top.scrolled .s-ham{color:#fff}
.s-lang{display:inline-flex;align-items:center;flex:0 0 auto;font-size:13px;color:#d8e2ef}
.s-lang-btn{display:inline-flex;align-items:center;gap:7px;background:rgba(10,37,64,.06);border:1px solid rgba(10,37,64,.18);color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}
.s-lang-btn .globe{display:block;width:18px;height:18px;opacity:.85}
.s-lang-btn:hover{background:rgba(10,37,64,.12);border-color:rgba(10,37,64,.35);text-decoration:none}
.s-top.scrolled .s-lang-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.s-top.scrolled .s-lang-btn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35)}
.s-lang-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ---------- 高端动效：滚动揭示 + 磁吸按钮 ---------- */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.btn-g,.btn-o,.btn-b{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;text-decoration:none;transition:transform .2s cubic-bezier(.2,.7,.2,1),background .15s,box-shadow .15s,border-color .15s,color .15s;border:1px solid transparent;cursor:pointer;font-family:var(--font-body);white-space:nowrap;border-radius:8px;padding:12px 19px;font-weight:600;font-size:14px}
.btn-g{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(10,37,64,.16)}
.btn-g:hover{background:var(--accent-2);transform:translateY(-1px);box-shadow:none}
.btn-g::after{content:"\2192";margin-left:4px;display:inline-block;transition:transform .2s}
.btn-g:hover::after{transform:translateX(3px)}
/* 二级按钮——描边款（白色背景上用蓝色描边） */
.btn-b{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn-b:hover{background:var(--blue);color:#fff;transform:translateY(-1px);box-shadow:none}
.btn-mag{will-change:transform;transform:translate(var(--mag-x,0),var(--mag-y,0));transition:transform .12s ease-out}
.btn-mag:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* ---------- Hero 轮播（完全参照原型：深色科技风格） ---------- */
.hero{position:relative;color:#fff;overflow:hidden;border-bottom:0;
  min-height:480px;
  background:#0a2540;
  display:flex;align-items:center}
.hero::before{display:none}
.hero::after{display:none}
.hero .in{max-width:none;margin:0 auto;padding:0;position:relative;z-index:2;width:100%}
.hero-car{position:relative;width:100%}
.slide{display:none;grid-template-columns:1.03fr .97fr;gap:30px;align-items:center;min-height:480px;position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;
  padding-left:max(24px,calc((100vw - var(--maxw))/2 + 24px));
  padding-right:max(24px,calc((100vw - var(--maxw))/2 + 24px))}
.slide.on{display:grid;animation:slideIn .5s ease}
.slide::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,rgba(10,37,64,.86) 0%,rgba(10,37,64,.68) 45%,rgba(10,37,64,.45) 100%)}
.slide::after{display:none}
.slide > *{position:relative;z-index:1}
@keyframes slideIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero .sec-t{font-size:13px;letter-spacing:2px;color:#93b2d6;font-weight:600;text-transform:uppercase;display:inline-flex;align-items:center;gap:11px}
.hero .sec-t::before{content:"";width:32px;height:2px;background:#93b2d6;border-radius:2px;display:inline-block}
.hero h1{font-size:52px;line-height:1.08;margin:16px 0 16px;letter-spacing:-.5px;color:#fff;font-weight:600}
.hero h1 .accent{color:#9cc3ee}
.hero p{font-size:19px;color:#b6c4d3;max-width:650px;line-height:1.7;margin:0 0 28px}
.hero .tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}
.hero .tags .chip{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:99px;color:#d8e3ee;background:rgba(255,255,255,.03);font-size:12px;backdrop-filter:none}
.hero .acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero .btn-g{background:var(--blue);color:#fff;padding:12px 19px;border-radius:8px;font-weight:600;font-size:14px;box-shadow:0 1px 2px rgba(10,37,64,.16);border:0}
.hero .btn-g:hover{background:var(--accent-2);transform:translateY(-1px);box-shadow:none}
.hero .btn-g::after{content:"\2192";margin-left:8px;display:inline-block;transition:transform .2s}
.hero .btn-g:hover::after{transform:translateX(3px)}
.hero .btn-b{background:transparent;color:#fff;padding:12px 19px;border:1px solid rgba(255,255,255,.12);border-radius:8px;font-weight:600;font-size:14px}
.hero .btn-b:hover{background:rgba(255,255,255,.06);border-color:#fff;color:#fff;transform:translateY(-1px)}
.hero-art{width:100%;height:auto;max-height:480px;display:block;border-radius:12px;filter:none}
.dots{position:absolute;left:max(24px,calc((100vw - var(--maxw))/2 + 24px));right:max(24px,calc((100vw - var(--maxw))/2 + 24px));bottom:24px;z-index:10;display:flex;gap:8px;margin:0;padding:0;justify-content:center}
.dot{width:36px;height:5px;border-radius:3px;background:rgba(255,255,255,.15);border:0;cursor:pointer;padding:0;transition:.25s}
.dot.on{background:var(--blue);width:40px}

/* ---------- 实力数据条（已下线保留样式） ---------- */
.hero-stats{display:none}

/* ---------- 通用区块（完全参照原型） ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:64px 24px}
.sec-head{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 40px;flex-wrap:wrap;text-align:center;max-width:780px;margin-left:auto;margin-right:auto}
.sec-t{font-size:13px;letter-spacing:2px;color:var(--blue);font-weight:600;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:11px;white-space:nowrap}
.sec-t::before{content:"";width:32px;height:2px;background:currentColor;border-radius:2px;display:inline-block}
.sec-h{font-size:40px;line-height:1.15;color:var(--ink);margin:0;letter-spacing:-.4px;font-weight:600}
.lead{color:var(--muted);font-size:16px;max-width:680px;line-height:1.7;margin:0}

/* ---------- 模块背景带：白 / 浅灰白 交替（浅色系），靠白卡微差与边框拉开模块 ---------- */
.band{position:relative}
.band--white{background:#fff;color:var(--ink)}
.band--soft{background:var(--soft);color:var(--ink)}
/* 连续同底色模块之间间距统一减半 */
.band--white + .band--white .wrap,.band--soft + .band--soft .wrap{padding-top:16px}
.band--white:has(+ .band--white) .wrap,.band--soft:has(+ .band--soft) .wrap{padding-bottom:16px}
/* 方案区：浅灰白带 + 低透明度工业场景图，若隐若现但有质感 */
.band--scene{position:relative;background:var(--bg);color:var(--ink);overflow:hidden}
.band--scene::before{content:"";position:absolute;inset:0;background:none;z-index:0}
.band--scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(243,246,250,.38) 0%,rgba(243,246,250,.55) 100%);z-index:0}
.band--scene .wrap{position:relative;z-index:1}
.band--scene.scene-prod::before{background-image:url('/site/assets/scene-prod.png?v=2');background-size:cover;background-position:center;opacity:.5}
.band--scene.scene-case::before{background-image:url('/site/assets/scene-case.png');background-size:cover;background-position:center;opacity:.5}
.band--scene.scene-news::before{background-image:url('/site/assets/scene-news.png');background-size:cover;background-position:center;opacity:.5}
.band--scene.scene-faq::before{background-image:url('/site/assets/scene-faq.png');background-size:cover;background-position:center;opacity:.5}
.band--scene.scene-about::before{background-image:url('/site/assets/scene-about.png');background-size:cover;background-position:center;opacity:.5}
.band--scene.scene-sol::before{background-image:url('/site/assets/scene-sol.png');background-size:cover;background-position:center;opacity:.5}
.band--accent{background:var(--navy);color:#fff}
.band--accent .sec-t,.band--accent .sec-h{color:#fff}
.band--accent .sec-t::before{background:rgba(255,255,255,.55)}
.band--accent .lead{color:rgba(255,255,255,.82)}
/* 蓝色带（CTA）内的卡片 */
.band--accent .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.band--accent .card h3,.band--accent .card p{color:rgba(255,255,255,.9)}
.band--accent .card .cat{background:rgba(255,255,255,.12);color:#fff}
.band--accent .card:hover{border-color:rgba(255,255,255,.4)}

/* ---------- 网格 / 卡片（完全参照原型） ---------- */
.grid{display:grid;gap:18px;align-items:stretch}
.col2{grid-template-columns:repeat(2,1fr)} .col3{grid-template-columns:repeat(3,1fr)} .col4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;transition:.2s;box-shadow:0 1px 2px rgba(10,37,64,.05),0 6px 16px rgba(10,37,64,.05)}
.card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,37,64,.05),0 12px 28px rgba(10,37,64,.09);border-color:#cdd6df}
.card.flush{position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:.3s cubic-bezier(.22,.61,.36,1);border-radius:8px;background:#fff}
.card.flush::after{display:none}
.card.flush:hover{border-color:#c2cdd8;transform:translateY(-6px);box-shadow:0 4px 8px rgba(10,37,64,.06),0 18px 44px rgba(10,37,64,.12)}
.card.link{position:relative;cursor:pointer;text-decoration:none}
.card.link:hover{text-decoration:none}
.card.link h3{margin-top:30px}
.card.link,.card.case-card{cursor:pointer;text-decoration:none}
.card.link h3,.card.link p,.card.link .more,.card.case-card h3,.card.case-card p{text-decoration:none}
/* 产品/首页产品入口卡片 */
.card.flush .ph{position:relative;height:220px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:6px;margin:0}
.card.flush .ph img{width:100%;height:100%;object-fit:contain!important;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.card.flush .ph svg{width:56%;height:56%;opacity:.8}
.card.flush:hover .ph img{transform:scale(1.06)}
.card .body{padding:16px 4px 18px;display:flex;flex-direction:column;flex:1 1 auto}
.card .cat{position:absolute;top:12px;left:12px;background:rgba(13,92,214,.08);color:var(--blue);border-radius:6px;padding:5px 9px;font-size:11px;font-weight:600;z-index:2;width:auto}
.card h3{margin:0 0 8px;font-size:21px;color:var(--ink);line-height:1.3;font-weight:600}
.card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.card.flush p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(13px*1.7*2)}
.card.flush h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(21px*1.3*2)}
/* 特性列表（蓝色对勾） */
.card .features{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.card .features li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.4}
.card .features li::before{content:"";flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:rgba(8,119,255,.1);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230877ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-size:12px 12px;background-position:center;background-repeat:no-repeat}
/* 卡片双按钮 */
.card .card-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.card .card-actions .btn-g,.card .card-actions .btn-b{padding:9px 11px;font-size:12px;flex:1;border-radius:10px}
.card .card-actions .btn-b{color:#19507f;border-color:#cbd8e8;background:#fff}
.card .card-actions .btn-b:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.card .more{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:14px;color:var(--blue);font-size:13px;text-decoration:none;font-weight:600;transition:.2s}
.card .more::after{content:"→";transition:transform .2s;display:inline-block}
.card:hover .more::after{transform:translateX(3px)}
.card .more:hover{text-decoration:none}

/* ---------- 首页客户实证卡片（高级交互版） ---------- */
.card.case-card{position:relative;overflow:hidden;padding:22px}
.card.case-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line);transition:.3s}
.card.case-card:hover::before{background:var(--accent)}
.card.case-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,37,64,.05),0 12px 28px rgba(10,37,64,.09)}
/* 方案页按行业分组的案例区：一行三列 */
.case-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.case-group{display:flex;flex-direction:column}
.case-group>.card.case-card{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.case-group>.card.case-card .case-more{margin-top:auto}
.case-group-t{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:17px;font-weight:600;color:var(--ink)}
.case-group-idx{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--accent);background:var(--accent-tint);border:1px solid rgba(25,118,210,.18);padding:4px 10px;border-radius:6px}
.case-figure{position:relative;z-index:1;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:#1f2630;margin-bottom:18px}
.case-figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.card.case-card:hover .case-figure img{transform:scale(1.05)}
.case-figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,37,64,0) 45%,rgba(10,37,64,.62) 100%);pointer-events:none}
.case-figure-tag{position:absolute;left:14px;bottom:12px;z-index:2;font-size:12px;font-weight:700;letter-spacing:.04em;color:#fff;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.26);padding:5px 12px;border-radius:20px;backdrop-filter:blur(4px)}
.case-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.case-icon{width:40px;height:40px;border-radius:8px;background:rgba(13,92,214,.08);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:.25s}
.card.case-card:hover .case-icon{background:var(--blue);color:#fff}
.case-icon svg{width:24px;height:24px;stroke-width:2}
.case-tag{font-size:12px;font-weight:700;color:var(--ink2);background:#fff;padding:5px 12px;border-radius:6px;border:1px solid var(--line)}
.card.case-card h3{margin:0 0 10px;font-size:19px;line-height:1.35;font-weight:600}
.card.case-card p{font-size:14px;margin:0 0 20px;line-height:1.7}
.case-metrics{display:flex;gap:24px;margin-bottom:20px;min-height:86px;align-items:center}
.metric{position:relative}
.metric-pct{width:68px;flex:0 0 68px;position:relative}
.metric-pct .ring{width:68px;height:68px;transform:rotate(-90deg);display:block}
.metric-pct .ring-bg{fill:none;stroke:var(--line);stroke-width:4}
.metric-pct .ring-bar{fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.22,.61,.36,1)}
.metric-pct .ring-val{position:absolute;top:0;left:0;width:68px;height:68px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--ink)}
.metric-label{font-size:11.5px;color:var(--ink2);margin-top:6px;line-height:1.35;max-width:68px;text-align:center}
.metric-count{flex:0 0 auto}
.metric-count .count-wrap{font-size:28px;font-weight:800;color:var(--ink);line-height:1.1}
.metric-count .suffix{font-size:15px;color:var(--ink2);margin-left:1px}
.metric-text{flex:1;display:flex;align-items:center}
.metric-text-val{font-size:13.5px;color:var(--ink);font-weight:600;background:var(--bg);padding:10px 14px;border-radius:6px;line-height:1.4}
.case-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink);transition:gap .2s}
.card.case-card:hover .case-more{gap:10px;color:var(--blue)}

/* ---------- 解决方案卡片（图标 + 标题聚焦） ---------- */
.sol-grid{gap:24px}
.sol-card{position:relative;overflow:hidden;padding:28px;display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:8px;transition:.35s cubic-bezier(.22,.61,.36,1);box-shadow:0 1px 2px rgba(10,37,64,.05),0 6px 16px rgba(10,37,64,.05)}
.sol-card:hover{text-decoration:none}
.sol-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line);transition:.3s}
.sol-card:hover::before{background:var(--accent)}
.sol-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,37,64,.05),0 12px 28px rgba(10,37,64,.09);border-color:#cdd6df}
.sol-idx{position:absolute;top:20px;right:20px;font-size:11px;line-height:1;font-weight:600;color:var(--ink3);background:#fff;padding:5px 8px;border-radius:8px;letter-spacing:.02em;border:1px solid var(--line)}
.sol-card:hover .sol-idx{background:#fff;color:var(--blue)}
.sol-meta{display:flex;align-items:center;gap:8px;margin:-6px 0 14px}
.sol-cat{font-size:11px;font-weight:700;color:var(--ink3);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.sol-title{margin:20px 0 6px;font-size:24px;color:var(--ink);line-height:1.28;font-weight:600;letter-spacing:-.01em}
.sol-card:hover .sol-title{color:var(--blue)}
.sol-desc{margin:0;color:var(--ink2);font-size:14.5px;line-height:1.75;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 行业解决方案网格（参考图：整图背景 + 白字 + 箭头） ---------- */
.industry-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ind-card{position:relative;min-height:280px;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px;color:#fff;text-decoration:none;background:var(--navy);transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s}
.ind-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 34px rgba(10,37,64,.18)}
.ind-blue{background:linear-gradient(135deg,#1a4a8c 0%,#0d2b52 100%)}
.ind-teal{background:linear-gradient(135deg,#1e6b7a 0%,#0d3a44 100%)}
.ind-steel{background:linear-gradient(135deg,#4a5568 0%,#1e2530 100%)}
.ind-green{background:linear-gradient(135deg,#2d6a4f 0%,#143d2e 100%)}
.ind-cyan{background:linear-gradient(135deg,#0e7490 0%,#083344 100%)}
.ind-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.ind-card:hover .ind-bg{transform:scale(1.05)}
.ind-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,40,.05) 0%,rgba(8,20,40,.42) 52%,rgba(6,16,34,.86) 100%);z-index:1;pointer-events:none}
.ind-body{position:relative;z-index:2}
.ind-title{font-size:18px;font-weight:700;line-height:1.25;margin:0 0 6px;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.ind-tags{font-size:12.5px;color:rgba(255,255,255,.82);font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.ind-arrow{position:absolute;right:18px;bottom:20px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;transition:.2s}
.ind-arrow svg{width:16px;height:16px}
.ind-card:hover .ind-arrow{background:var(--blue);transform:translateX(2px)}

/* ---------- 从设备到云端流程图 ---------- */
.d2c-band .wrap{padding-top:52px;padding-bottom:52px}
.d2c-inner{display:grid;grid-template-columns:.8fr 2fr;gap:44px;align-items:center}
.d2c-left .sec-h{font-size:32px;line-height:1.15;margin:12px 0 16px;letter-spacing:-.02em}
.d2c-left .lead{color:var(--muted);margin:0 0 24px;max-width:400px}
.d2c-right{display:flex;align-items:center;gap:16px}
.d2c-stage{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}
.d2c-label{font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;text-align:center}
.d2c-devices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.d2c-item{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink);text-align:center}
.d2c-item svg{width:56px;height:56px;padding:12px;background:#f0f6ff;border-radius:14px;box-shadow:0 2px 6px rgba(13,71,161,.08)}
.d2c-box{border:1px solid var(--line);border-radius:14px;background:#fff;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 8px 24px rgba(10,37,64,.08)}
.d2c-box svg{width:82px;height:82px;padding:16px;background:#f0f6ff;border-radius:18px;box-shadow:0 4px 12px rgba(13,71,161,.12)}
.d2c-name{font-size:15px;font-weight:700;color:var(--ink)}
.d2c-specs{font-size:12px;color:var(--muted);line-height:1.6}
.d2c-arrow{flex:0 0 auto;color:var(--blue);display:flex;align-items:center;justify-content:center}
.d2c-arrow svg{width:34px;height:34px}

/* ---------- 方案详情页 ---------- */
.sol-detail-head{display:flex;align-items:center;gap:18px;margin:20px 0 6px}
.sol-detail-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#f5faff 0%,#e3f0ff 100%);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(25,118,210,.10)}
.sol-detail-icon svg{width:32px;height:32px}
.sol-detail-prose{margin-top:18px}
.prose table{border-collapse:collapse;margin:16px 0;width:100%;font-size:14.5px}
.prose th,.prose td{border:1px solid #e3e8f0;padding:8px 12px;text-align:left;vertical-align:top}
.prose th{background:#fff;font-weight:600;color:var(--ink);border-bottom:2px solid var(--line)}
.prose tr:nth-child(even) td{background:#fff}
.prose table{display:block;overflow-x:auto;max-width:100%}

/* ---------- 客户案例网格（筛选包裹） ---------- */
.case-cell{display:flex}
.case-cell>.card.case-card{flex:1 1 auto;width:100%;display:flex;flex-direction:column}
.case-cell .case-more{margin-top:auto}

/* ---------- 行业资讯卡片（特色头条 + 普通卡） ---------- */
.news-grid{gap:24px}
.news-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid transparent;border-radius:8px;overflow:hidden;text-decoration:none;transition:.3s cubic-bezier(.22,.61,.36,1);box-shadow:0 1px 2px rgba(10,37,64,.05),0 6px 16px rgba(10,37,64,.05)}
.news-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(10,37,64,.05),0 12px 28px rgba(10,37,64,.09);border-color:var(--line);text-decoration:none}
.news-thumb{position:relative;aspect-ratio:16/9;background:#1f2630;display:flex;align-items:flex-end;padding:20px;overflow:hidden}
.news-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.news-thumb.has-img::after{display:none}
.news-thumb-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);z-index:0}
.news-thumb-icon svg{width:46px;height:46px;opacity:.92}
.news-thumb-cat{position:relative;z-index:1;color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:20px;backdrop-filter:blur(4px)}
.news-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.news-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.news-cat{font-size:12px;font-weight:700;color:var(--accent);background:rgba(25,118,210,.08);padding:4px 12px;border-radius:6px}
.news-date{font-size:12.5px;color:var(--ink3);font-weight:600}
.news-title{margin:0 0 12px;font-size:18px;line-height:1.45;color:var(--ink);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-excerpt{margin:0;color:var(--ink2);font-size:14px;line-height:1.75;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.news-read{font-size:13.5px;font-weight:600;color:var(--ink);transition:gap .2s;display:inline-flex;gap:5px}
.news-card:hover .news-read{gap:9px;color:var(--blue)}
.news-time{font-size:12px;color:var(--ink3)}
.news-feature{grid-column:1/-1;flex-direction:row}
.news-feature .news-thumb{aspect-ratio:auto;width:42%;min-height:240px}
.news-feature .news-body{padding:34px 38px}
.news-feature .news-title{font-size:25px;line-height:1.3;-webkit-line-clamp:3}
.news-feature .news-excerpt{-webkit-line-clamp:3;font-size:14.5px;max-width:640px}

/* ---------- 标签 / 筛选 / 胶囊 ---------- */
.chip{background:var(--bgsoft);border:1px solid var(--line);padding:5px 12px;border-radius:20px;font-size:12.5px;color:var(--ink2);font-weight:500}
.filter{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.filter button,.filter a.filter-btn{border:1px solid var(--line);background:#fff;padding:8px 18px;border-radius:20px;font-size:13px;color:var(--ink2);transition:.15s;display:inline-flex;align-items:center}
.filter button.on,.filter a.filter-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ---------- 按钮（主 CTA 品牌蓝） ---------- */
/* 基础样式见顶部「高端动效」区块（.btn-g/.btn-b/.btn-o） */

/* ---------- 产品详情 ---------- */
/* ---------- 产品详情页 ---------- */
.pdetail{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start}
.p-gallery{position:sticky;top:84px}
.p-hero-img{position:relative;border:1px solid var(--line);border-radius:20px;overflow:hidden;aspect-ratio:4/3;background:var(--bgsoft);box-shadow:0 12px 34px rgba(25,118,210,.08)}
.p-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.p-hero-img .ph{aspect-ratio:4/3;border-bottom:0}
.p-info{display:flex;flex-direction:column}
.p-cat{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink2);background:var(--bgsoft);border:1px solid var(--line);padding:5px 12px;border-radius:8px;align-self:flex-start}
.p-title{font-size:38px;line-height:1.18;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0;font-weight:800}
.p-model{margin-top:12px;font-size:14px;color:var(--ink2)}
.p-model b{color:var(--ink);font-weight:700}
.p-desc{margin:16px 0 0;color:var(--ink2);font-size:15.5px;line-height:1.75}
.p-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.p-highlights{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.p-highlights li{display:flex;flex-direction:column;gap:2px}
.p-highlights .h-k{font-size:12.5px;color:var(--ink3);letter-spacing:.02em}
.p-highlights .h-v{font-size:15px;color:var(--ink);font-weight:700}
.p-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.p-cta .btn-g,.p-cta .btn-b{padding:13px 26px;font-size:15px;border-radius:10px}

/* 规格列表（替代素表格） */
.p-section{margin-top:60px}
.spec-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg)}
.spec-row{display:grid;grid-template-columns:32% 1fr;gap:16px;padding:15px 20px;border-bottom:1px solid var(--line);transition:.15s}
.spec-row:last-child{border-bottom:0}
.spec-row:hover{background:var(--bgsoft)}
.spec-k{color:var(--ink2);font-size:14px;font-weight:600}
.spec-v{color:var(--ink);font-size:14.5px}
.bread{font-size:13px;color:var(--ink2);margin-bottom:14px}
.bread a{color:var(--ink);text-decoration:none}
.bread a:hover{text-decoration:underline}

/* ---------- FAQ ---------- */
.faq-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}
.faq-tabs button{border:1px solid var(--line);background:#fff;padding:8px 18px;border-radius:8px;font-size:13px;color:var(--ink2);font-weight:600;cursor:pointer;transition:.15s;font-family:var(--font-body)}
.faq-tabs button:hover{border-color:var(--blue);color:var(--blue)}
.faq-tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.faq-item{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(10,37,64,.05),0 6px 16px rgba(10,37,64,.05)}
.faq-item .fq{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:15px 18px;background:none;border:0;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;font-family:inherit}
.faq-item .fq:hover{color:var(--blue)}
.faq-item .fq-ic{position:relative;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--accent-tint);color:var(--blue);transition:transform .2s}
.faq-item .fq-ic::before{content:"";position:absolute;left:7px;right:7px;top:50%;height:2px;margin-top:-1px;background:currentColor;border-radius:1px}
.faq-item .fq-ic::after{content:"";position:absolute;top:7px;bottom:7px;left:50%;width:2px;margin-left:-1px;background:currentColor;border-radius:1px}
.faq-item.open .fq-ic{transform:rotate(45deg)}
.faq-item .a{display:none;padding:0 18px 16px;color:var(--ink2);font-size:14px;line-height:1.7;border-top:1px solid var(--line)}
.faq-item.open .a{display:block}
@media (max-width:640px){.faq-item .fq{padding:13px 14px}.faq-item .a{padding:0 14px 14px}}

/* ---------- CTA 条 ---------- */
.cta-band{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:48px 40px;text-align:center;margin:24px 0;box-shadow:none;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;top:-100px;right:-60px;width:300px;height:300px;border-radius:50%;background:none;pointer-events:none}
.cta-band h2, .cta-band h3{color:#fff;margin:0 0 12px;font-size:28px;font-weight:600;letter-spacing:-.02em}
.cta-band p{color:rgba(255,255,255,.85);margin:0 0 24px;font-size:16px}
.cta-band .btn-g{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(10,37,64,.16)}
.cta-band .btn-g:hover{background:#f0f4f8;color:var(--accent-2);box-shadow:none}
.cta-band .btn-b{color:#fff;border-color:rgba(255,255,255,.6)}
.cta-band .btn-b:hover{background:#fff;color:var(--accent)}

/* ---------- 文章正文（富文本） ---------- */
.prose{max-width:760px;font-size:16px;line-height:1.85;color:var(--ink)}
.prose h2{font-size:22px;margin:28px 0 10px;color:var(--ink)}
.prose h3{font-size:18px;margin:22px 0 8px;color:var(--ink)}
.prose p{margin:12px 0}
.prose a{color:var(--blue,#1a73e8);text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{margin:12px 0;padding-left:24px}
.prose ul li{list-style:disc;margin:6px 0}
.prose ol li{list-style:decimal;margin:6px 0}
.prose li::marker{color:var(--ink2)}
.prose blockquote{margin:16px 0;padding:12px 16px;border-left:3px solid var(--blue,#1a73e8);background:#f8fafd;border-radius:0 8px 8px 0;color:var(--ink2)}
.prose blockquote p{margin:4px 0}
.prose img{max-width:100%;height:auto;border-radius:10px;margin:14px 0;display:block;box-shadow:0 1px 4px rgba(20,30,50,.08)}
.prose figure{margin:16px 0}
.prose figure img{margin:0}
.prose figcaption{font-size:13px;color:var(--ink2);text-align:center;margin-top:6px}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f5faff;padding:2px 6px;border-radius:5px;font-size:14px;color:#b3302b}
.prose pre{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:10px;overflow:auto;margin:14px 0}
.prose pre code{background:none;color:inherit;padding:0}
.prose hr{border:none;border-top:1px solid var(--line);margin:24px 0}

/* ---------- 客户案例详情（竖向叙事布局） ---------- */
.case-detail-wrap{padding-top:28px;padding-bottom:60px}
.case-hero{margin:10px 0 52px}
.case-hero-text{max-width:780px}
.case-industry{display:inline-block;color:var(--accent);font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.case-hero h1{font-size:40px;font-weight:800;color:var(--ink);line-height:1.16;letter-spacing:-.025em;margin:0 0 18px}
.case-lead{font-size:18px;line-height:1.75;color:var(--ink2);margin:0}
.case-hero-img{margin-top:36px;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(25,118,210,.10);border:1px solid var(--line)}
.case-hero-img img{width:100%;height:auto;display:block;object-fit:cover}
.case-story{display:flex;flex-direction:column;gap:46px;position:relative;margin-bottom:56px}
.case-step{position:relative;padding-left:76px}
.case-step::before{content:"";position:absolute;left:26px;top:56px;bottom:-46px;width:1px;background:linear-gradient(180deg,rgba(25,118,210,.18),rgba(25,118,210,0))}
.case-step:last-child::before{display:none}
.case-step-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.case-step-num{position:absolute;left:0;top:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-tint);color:var(--accent);font-size:20px;font-weight:800;letter-spacing:-.02em;border:1px solid rgba(25,118,210,.12)}
.case-step-label{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:.04em}
.case-step-body{font-size:16px;line-height:1.85;color:var(--ink2)}
.case-step-body p{margin:0 0 10px}
.case-step-prose{color:var(--ink)}
.case-step-prose p{margin:0 0 14px}
.case-step-prose img{max-width:100%;height:auto;border-radius:12px;margin:22px 0;display:block;box-shadow:0 10px 30px rgba(25,118,210,.08)}
.case-step-prose ul,.case-step-prose ol{margin:12px 0;padding-left:24px}
.case-step-prose li{margin:6px 0}
.case-step-result .case-result-text{font-size:20px;line-height:1.65;font-weight:700;color:var(--ink);background:var(--bgsoft);padding:22px 24px;border-radius:14px;border:1px solid var(--line)}
.case-prods{margin-bottom:10px}
.case-prods .sec-t{margin-bottom:16px}

.meta{font-size:13px;color:var(--ink2);margin-bottom:18px}

/* ---------- 关于我们 · 企业实景图库 ---------- */
.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 40px}
.g-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(20,30,50,.05)}
.g-card img{width:100%;height:220px;object-fit:cover;display:block;background:#f0f3f8}
.g-card figcaption{padding:12px 14px;font-size:15px;font-weight:700;color:var(--ink)}
@media (max-width:760px){.g-grid{grid-template-columns:1fr}.g-card img{height:200px}}

/* ---------- 关于我们 · 内容增强 ---------- */
.about-prose{max-width:820px}
.about-prose p{font-size:15.5px;line-height:1.85;color:var(--ink2);margin:0 0 16px}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 0 40px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 14px;text-align:center;box-shadow:0 1px 3px rgba(20,30,50,.05)}
.stat-num{font-size:22px;font-weight:600;color:var(--ink);line-height:1.2;margin-bottom:8px;white-space:nowrap}
.stat-label{font-size:12.5px;color:var(--ink2);font-weight:600}
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 40px}
.cert-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 14px;text-align:center;box-shadow:0 1px 3px rgba(20,30,50,.05)}
.cert-icon{width:42px;height:42px;margin:0 auto 10px;color:var(--ink);display:flex;align-items:center;justify-content:center}
.cert-icon.cert-text{display:block;line-height:40px;text-align:center;font-size:17px;font-weight:800;color:#fff;letter-spacing:-.02em;background:var(--navy);border:1px solid var(--navy);border-radius:8px}
.cert-name{font-size:15px;font-weight:700;color:var(--ink)}
.scope-cloud{margin:0 0 40px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px rgba(20,30,50,.05)}
.scope-tag{display:inline-block;background:#f7f8fa;border:1px solid var(--line);color:var(--ink2);font-size:13px;padding:6px 12px;border-radius:999px;margin:0 8px 8px 0}
.scope-note{display:block;margin-top:10px;font-size:12.5px;color:var(--ink3)}
.timeline{position:relative;margin:0 0 40px;padding-left:12px}
.timeline::before{content:"";position:absolute;left:56px;top:8px;bottom:8px;width:2px;background:var(--line)}
.t-item{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px;position:relative}
.t-year{min-width:48px;text-align:right;font-size:15px;font-weight:600;color:var(--ink);padding-top:2px}
.t-dot{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--ink);margin-top:4px;position:relative;z-index:1;flex-shrink:0}
.t-text{flex:1;font-size:15px;line-height:1.65;color:var(--ink2);padding-top:1px}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 40px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px;box-shadow:0 1px 3px rgba(20,30,50,.05)}
.contact-label{font-size:12px;color:var(--ink2);font-weight:600;margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}
.contact-val{font-size:14.5px;color:var(--ink);font-weight:700;line-height:1.45;word-break:break-all}
.contact-val a{color:var(--ink);text-decoration:none}
.contact-val a:hover{text-decoration:underline}
@media (max-width:980px){
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .stat-num{font-size:18px}
  .t-year{font-size:13px;min-width:40px}
  .timeline::before{left:48px}
}

/* ---------- 联系表单 ---------- */
form.f{max-width:560px}
form.f .row{margin-bottom:14px}
form.f label{display:block;font-size:13px;color:var(--ink2);margin-bottom:5px;font-weight:600}
form.f input,form.f textarea,form.f select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}
form.f textarea{min-height:110px;resize:vertical}
form.f .err{color:#b91c1c;font-size:12.5px;margin-top:4px}
.note-ok{background:#eaf1fb;border-left:3px solid var(--accent);padding:12px 16px;border-radius:0 8px 8px 0;margin:14px 0;font-size:14px;color:var(--ink)}

/* ---------- 页脚（完全参照原型） ---------- */
footer{background:#fff;color:var(--muted);padding:50px 24px 25px;font-size:12px;border-top:1px solid var(--line)}
footer h2, footer h3, footer h4{color:var(--ink);margin:0 0 14px;font-size:14px;font-weight:700}
footer a{color:var(--muted);text-decoration:none;display:block;margin:8px 0;font-size:12px;transition:.15s}
footer a:hover{color:var(--blue)}
footer .f-line{display:block;margin:8px 0;color:var(--muted);line-height:1.6;overflow-wrap:anywhere;font-size:12px}
footer .f-line a{display:inline;color:var(--muted);margin:0}
footer .f-line a:hover{color:var(--blue)}
footer .in{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
footer .col{min-width:0}
footer .col.logo-col{min-width:0}
footer .lg{height:24px;width:auto;object-fit:contain;margin-bottom:10px}
footer .col.logo-col p{color:var(--muted);line-height:1.7;margin:0;max-width:240px;font-size:12px}
footer .copy{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto}
footer .copy-left{text-align:left}
footer .copy-right{text-align:right;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:5px}
footer .beian-label{color:var(--muted);margin-right:5px}
footer .copy-right a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;transition:.18s;display:inline;margin:0;font-size:11px}
footer .copy-right a:hover{color:var(--blue);border-bottom-color:var(--blue)}
@media (max-width:720px){footer .in{grid-template-columns:repeat(2,1fr)}footer .copy{justify-content:center;text-align:center}footer .copy-left,footer .copy-right{text-align:center;width:100%}}

/* ============================================================
   响应式（移动优先向上增强）
   ============================================================ */
@media(max-width:1024px){
  .col4{grid-template-columns:repeat(3,1fr)}
  .col3{grid-template-columns:repeat(2,1fr)}
  .case-groups{grid-template-columns:repeat(2,1fr)}
  .industry-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .s-menu{display:none}
  .s-ham{display:block;margin-left:auto}
  .s-lang{display:none}
  .s-menu.open{display:flex;position:absolute;top:54px;left:16px;right:16px;background:var(--navbar);
    flex-direction:column;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 20px 44px rgba(15,18,26,.4);gap:2px}
  .s-menu.open a{padding:11px 12px;color:#fff}
  .s-menu.open a:hover{color:#fff}
  .s-menu.open .s-cta{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
  .s-menu.open .s-cta:hover{background:var(--blue);border-color:var(--blue);color:#fff}
  .s-menu.open .s-lang-btn{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
  .s-menu.open .s-lang-btn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35)}
  .s-menu.open .nav-contact{display:block;margin-top:4px;padding-top:11px;border-top:1px solid rgba(255,255,255,.12);color:#fff;font-weight:600}
  .s-menu.open .s-menu-cta{display:block;margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
  .s-menu.open .s-menu-cta .s-cta{display:flex;width:100%;justify-content:center;align-items:center;padding:12px 16px;margin-bottom:10px}
  .s-menu.open .s-menu-cta .s-lang{display:flex;width:100%;justify-content:center;padding:6px 0}
  .s-menu.open .s-menu-cta .s-lang-btn{width:100%;justify-content:center}
  .s-cta{display:none}
  .slide{grid-template-columns:1fr;min-height:0}
  .slide.on{display:grid}
  .hero h1{font-size:27px}
  .hero-art{margin-top:16px;max-height:240px;order:2}
  .hero-stats{display:none}
  .wrap{padding:40px 16px}
  .sec-h{font-size:25px;margin-bottom:24px}
  .col2,.col3,.col4{grid-template-columns:1fr}
  .case-groups{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .ind-card{min-height:220px;padding:18px 16px}
  .d2c-inner{grid-template-columns:1fr;gap:36px}
  .d2c-right{flex-direction:column;align-items:stretch;gap:18px}
  .d2c-arrow{transform:rotate(90deg)}
  .d2c-left .sec-h{font-size:26px}
  .news-feature{flex-direction:column}
  .news-feature .news-thumb{width:100%;min-height:0;aspect-ratio:16/9}
  .news-feature .news-body{padding:22px 20px 26px}
  .news-feature .news-title{font-size:21px}
  .pdetail{grid-template-columns:1fr!important;gap:28px}
  .p-gallery{position:static}
  .p-highlights{grid-template-columns:1fr;gap:12px}
  .p-title{font-size:30px}
  .card .body{padding:14px 16px 18px}
  .cta-band{padding:24px 18px}
  .sol-detail-head{gap:14px;align-items:flex-start}
  .sol-detail-icon{width:52px;height:52px;border-radius:14px}
  .sol-detail-icon svg{width:26px;height:26px}
  .sol-detail-head h1{font-size:24px}
  .case-hero h1{font-size:28px}
  .case-lead{font-size:16px}
  .case-hero-img{margin-top:24px}
  .case-story{gap:34px}
  .case-step{padding-left:0;padding-top:54px}
  .case-step::before{display:none}
  .case-step-num{left:0;top:0;width:44px;height:44px;font-size:17px}
  .case-step-head{margin-bottom:10px}
  .case-step-body{font-size:15px}
  .case-step-result .case-result-text{font-size:17px;padding:18px 20px}
}
@media(max-width:480px){
  .hero .in{padding:0}
  .hero h1{font-size:24px}
  .hero-art{max-height:200px}
  .industry-grid{grid-template-columns:1fr}
  .d2c-devices{grid-template-columns:repeat(2,1fr)}
}
