/* ============================================================
   山东云唐仪器 - 首页专用样式（UTF-8 编码）
   仅保留 8 屏结构实际用到的样式，未使用的已删除
   ============================================================ */
:root{
  --blue:#1a6fe8;
  --deep:#0b2a5b;
  --cyan:#19b8d8;
  --ink:#16233b;
  --gray:#5b6b84;
  --bg:#f4f8fd;
  --shadow:0 18px 50px rgba(15,60,140,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  overflow:hidden;
  background:var(--bg);
}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%}

/* ============ 整屏滚动容器 ============ */
#app{
  height:100vh;
  overflow-y:scroll;
  scroll-snap-type:y mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
#app::-webkit-scrollbar{display:none}
.screen{
  scroll-snap-align:start;
  scroll-snap-stop:always;
  min-height:100vh;
  position:relative;
  overflow:hidden;
  padding-top:90px;
}
.wrap{width:min(1580px,94%);margin:0 auto;position:relative;z-index:2}

/* ============ 右侧整屏导航圆点 ============ */
.dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:99;display:flex;flex-direction:column;gap:14px}
.dots i{width:10px;height:10px;border-radius:50%;background:rgba(120,150,190,.45);cursor:pointer;transition:all .35s}
.dots i.on{background:var(--blue);transform:scale(1.45);box-shadow:0 0 0 5px rgba(26,111,232,.18)}
.dots i:hover{background:var(--cyan)}

/* ============ 滚动进度条 ============ */
#progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--cyan),var(--blue),#7fb4ff);
  box-shadow:0 0 10px rgba(26,111,232,.45);transition:width .18s linear}

/* ============ 1. Banner 轮播 ============ */
.banner{height:100vh}
.slides{position:absolute;inset:0}
.slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;
  display:flex;align-items:center;
}
.slide.on{opacity:1}
.slide .bg{
  position:absolute;inset:0;z-index:0;isolation:isolate;
  background-color:#071228;
  background-size:cover;background-position:center center;background-repeat:no-repeat;
  transform:scale(1.015);transition:transform 9s ease-out;
}
.slide.on .bg{transform:scale(1.075)}
/* ---- 实景底图：直接挂在 .bg 本体上，清晰可见 ---- */
.slide:nth-child(1) .bg{background-image:url(../images/index/11.png)}
.slide:nth-child(2) .bg{background-image:url(../images/index/21.png)}
.slide:nth-child(3) .bg{background-image:url(../images/index/31.png)}
.slide:nth-child(4) .bg{background-image:url(../images/index/41.png)}
.slide:nth-child(5) .bg{background-image:url(../images/index/51.png)}
/* ---- 压暗 / 光晕层：左深右浅，保证文案可读，右侧保留清晰底图 ---- */
.slide .bg::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(96deg,rgba(4,11,30,.95) 0%,rgba(4,11,30,.9) 22%,rgba(4,11,30,.74) 40%,rgba(4,11,30,.44) 58%,rgba(4,11,30,.14) 78%,rgba(4,11,30,.04) 100%),
    linear-gradient(180deg,rgba(4,11,30,.42) 0%,rgba(4,11,30,0) 22%,rgba(4,11,30,0) 70%,rgba(4,11,30,.5) 100%);
}
.grid-lines{position:absolute;inset:0;z-index:1;opacity:.07;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(80% 80% at 50% 50%,#000 30%,transparent 100%);
}
.float-bubble{position:absolute;border-radius:50%;background:rgba(255,255,255,.01);border:1px solid rgba(255,255,255,.04);z-index:1;animation:floatY 7s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
.slide-inner{width:min(1580px,92%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:3;padding-top:74px}
.slide-copy{max-width:700px;text-shadow:0 2px 20px rgba(2,8,22,.55),0 1px 3px rgba(2,8,22,.4)}
/* 品牌锁定组合：菱形标记 + 品牌名 + 定位语，与各屏标题区的标记语言一致 */
.slide-brand{
  display:flex;align-items:center;gap:11px;margin-bottom:17px;
  font-size:14px;line-height:1;letter-spacing:2.2px;white-space:nowrap;
  opacity:0;transform:translateY(14px);animation:rise .8s .06s forwards;
}
.slide-brand .sb-dot{flex:none;width:6.5px;height:6.5px;border-radius:1.5px;transform:rotate(45deg);
  background:linear-gradient(135deg,#7fe3ff,#3f8bff);box-shadow:0 0 10px rgba(96,200,255,.65)}
.slide-brand b{font-weight:700;letter-spacing:2.4px;color:rgba(247,252,255,.95)}
.slide-brand em{font-style:normal;padding-left:13px;border-left:1px solid rgba(158,205,255,.32);
  letter-spacing:1.2px;color:rgba(200,226,255,.78)}
.slide-copy .kicker{
  display:inline-flex;align-items:center;gap:8px;color:#9fd4ff;font-size:15px;letter-spacing:3px;
  padding:7px 16px;border:1px solid rgba(159,212,255,.4);border-radius:30px;margin-bottom:20px;
  opacity:0;transform:translateY(22px);animation:rise .8s .15s forwards;
}
.slide-copy h2{
  font-size:clamp(38px,4.6vw,60px);line-height:1.22;color:#fff;font-weight:800;letter-spacing:2px;margin-bottom:18px;
  opacity:0;transform:translateY(26px);animation:rise .8s .3s forwards;
}
/* 高亮关键词：必须清掉继承的深色 text-shadow（transparent 填充时阴影会透过字形显示，把渐变压暗） */
.slide-copy h2 em{
  font-style:normal;display:inline-block;text-shadow:none;
  background:linear-gradient(92deg,#8aeaff 0%,#45cdff 40%,#6fa8ff 76%,#93beff 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px rgba(92,206,255,.55)) drop-shadow(0 0 38px rgba(64,152,255,.3));
}
.slide-copy p{font-size:18px;color:rgba(255,255,255,.82);line-height:1.9;margin-bottom:34px;
  opacity:0;transform:translateY(26px);animation:rise .8s .45s forwards}
.slide-btns{display:flex;gap:18px;opacity:0;transform:translateY(26px);animation:rise .8s .6s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 34px;border-radius:34px;font-size:16px;font-weight:600;
  transition:transform .3s,box-shadow .3s;cursor:pointer;border:none;
}
.btn:hover{transform:translateY(-3px)}
.btn-solid{background:#fff;color:#0d3f86;box-shadow:0 12px 28px rgba(0,0,0,.22)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(4px)}
.slide-visual{flex:none;position:relative;display:flex;align-items:center;justify-content:flex-end;
  perspective:1300px;perspective-origin:62% 50%;
  opacity:0;transform:translateX(60px) scale(.94);animation:slideIn 1s .35s cubic-bezier(.2,.7,.3,1) forwards}
/* 背后光轮：一圈极光缓慢绕转，替代原来的呼吸光晕 */
.slide-visual::before{content:"";position:absolute;left:52%;top:50%;width:min(88%,660px);aspect-ratio:1;
  border-radius:50%;z-index:0;filter:blur(34px);
  background:conic-gradient(from 200deg,
    transparent 0deg,rgba(126,196,255,.5) 38deg,transparent 108deg,
    transparent 196deg,rgba(86,168,255,.4) 252deg,transparent 330deg);
  animation:ringSpin 17s linear infinite}
.slide-visual::after{content:"";position:absolute;left:52%;bottom:6%;width:64%;height:38px;margin-left:-32%;
  border-radius:50%;background:radial-gradient(ellipse at center,rgba(130,195,255,.42),transparent 72%);
  filter:blur(16px);z-index:0;animation:floorShift 16s ease-in-out infinite}
@keyframes slideIn{to{opacity:1;transform:none}}
.slide-visual img{position:relative;z-index:1;width:auto;max-width:100%;height:clamp(280px,44vh,480px);
  object-fit:contain;display:block;margin:0 0 0 auto;
  filter:drop-shadow(0 34px 46px rgba(0,8,26,.5)) drop-shadow(0 3px 8px rgba(0,0,0,.22));
  transform-origin:50% 58%;transform-style:preserve-3d;will-change:transform;
  animation:heroTurn 16s cubic-bezier(.36,.01,.3,1) infinite}
.banner-arrow{position:absolute;bottom:30px;z-index:10;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.1);color:#fff;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .3s;backdrop-filter:blur(6px)}
.banner-arrow:hover{background:rgba(255,255,255,.28);transform:translateY(-3px)}
.banner-arrow.prev{right:calc(4vw + 58px)}
.banner-arrow.next{right:4vw}
.banner-dots{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:12px}
.banner-dots i{width:34px;height:5px;border-radius:4px;background:rgba(255,255,255,.35);cursor:pointer;transition:all .4s;overflow:hidden;position:relative}
.banner-dots i.on{background:rgba(255,255,255,.9)}
.banner-dots i.on::after{content:"";position:absolute;inset:0;background:#fff;animation:prog 6s linear forwards;transform-origin:left}
@keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.scroll-hint{position:absolute;bottom:30px;left:4vw;z-index:10;color:rgba(255,255,255,.75);font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:8px;letter-spacing:2px}
.scroll-hint .mouse{width:22px;height:36px;border:2px solid rgba(255,255,255,.6);border-radius:12px;position:relative}
.scroll-hint .mouse::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:7px;margin-left:-2px;border-radius:3px;background:#fff;animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}

/* ============ 通用标题（编辑式：英文小标发丝线 + 主标题 + 竖线分隔副标） ============ */
.sec-head{margin-bottom:26px}
.sh-top{position:relative;display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-right:20px}
.sh-top::after{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;margin-top:-2.5px;
  border-radius:50%;background:rgba(26,111,232,.42);box-shadow:0 0 0 3.5px rgba(26,111,232,.07)}
.sh-dot{flex:none;width:7px;height:7px;border-radius:2px;
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  box-shadow:0 0 0 4px rgba(26,111,232,.09);
  transform:rotate(45deg) scale(0);transition:transform .75s cubic-bezier(.2,.7,.3,1) .12s}
.screen.active .sh-dot{transform:rotate(45deg) scale(1)}
.sh-en{flex:none;font-size:11px;font-weight:700;line-height:1;letter-spacing:3.8px;
  color:#7f95b0;text-transform:uppercase;white-space:nowrap}
.sh-rule{flex:1 1 auto;height:1px;min-width:40px;
  background:linear-gradient(90deg,rgba(26,111,232,.4) 0%,rgba(26,111,232,.22) 42%,rgba(26,111,232,.1) 100%);
  transform:scaleX(0);transform-origin:left;
  transition:transform 1.25s cubic-bezier(.2,.65,.3,1) .2s}
.screen.active .sh-rule{transform:scaleX(1)}
.sh-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.sec-head h3{flex:none;font-size:clamp(27px,2.7vw,40px);font-weight:800;line-height:1.1;
  letter-spacing:1.2px;color:#0a1a33;white-space:nowrap}
.sec-head h3 em{font-style:normal;
  background:linear-gradient(102deg,#1457b8 0%,#1a6fe8 46%,#3a94ff 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sec-head .sub{position:relative;flex:0 1 auto;max-width:56%;align-self:stretch;display:flex;align-items:flex-end;
  padding:0 0 6px 26px;
  color:#6b8099;font-size:14.6px;line-height:1.78;letter-spacing:.5px;text-align:left;
  background:linear-gradient(180deg,transparent 0%,rgba(26,111,232,.02) 100%)}
.sec-head .sub::before{content:"";position:absolute;left:0;top:-6px;bottom:-1px;width:1px;
  background:linear-gradient(180deg,rgba(26,111,232,0),rgba(26,111,232,.55) 30%,rgba(26,111,232,.55) 70%,rgba(26,111,232,0))}
.sec-head.tight{margin-top:66px;margin-bottom:22px}

/* ============ 2/3/4. 产品屏 ============ */
.product-sec{display:flex;align-items:center;padding:100px 0 80px}
.product-sec.alt{background:#fff}
.product-sec.tint{background:linear-gradient(180deg,#eef5fd,#f7fbff)}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.product-sec.rev .p-grid .p-visual{order:-1}
/* 右侧文案列（rev 版式）避让右侧客服浮窗 */
@media (max-width:1680px){
  .product-sec.rev .p-copy{padding-right:62px}
  .product-sec.rev .pf-list{grid-template-columns:1fr}
}

/* 产品屏 标题区：编号胶囊 + PRODUCT 标签 + 细分割线 + 英文副标 */
.p-copy .idx{display:flex;align-items:center;gap:13px;font-size:0}
.p-copy .idx b{
  flex:none;display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:28px;padding:0 9px;border-radius:8px;
  font-size:14px;font-weight:800;line-height:1;letter-spacing:.6px;color:#fff;
  background:linear-gradient(135deg,#1a6fe8 0%,#4aa6ff 100%);
  box-shadow:0 8px 18px -7px rgba(26,111,232,.55),inset 0 1px 0 rgba(255,255,255,.4);
  font-variant-numeric:tabular-nums;
}
.p-copy .idx span{font-size:12px;font-weight:700;line-height:1;letter-spacing:3.6px;color:#2a7ce4;text-transform:uppercase}
.p-copy .idx i{flex:1 1 auto;height:1px;min-width:22px;background:linear-gradient(90deg,rgba(158,188,225,.85) 0%,rgba(158,188,225,.25) 62%,rgba(158,188,225,.06) 100%)}
.p-copy .idx em{flex:none;font-style:normal;font-size:11px;font-weight:600;line-height:1;letter-spacing:2.8px;color:#a3b7d2;text-transform:uppercase;white-space:nowrap}
.p-copy h3{font-size:clamp(31px,3.25vw,45px);font-weight:800;margin:18px 0 16px;letter-spacing:.5px;line-height:1.18;
  background:linear-gradient(100deg,#0a2851 0%,#1557a8 58%,#1a6fe8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.p-copy .desc{color:var(--gray);font-size:15.5px;line-height:1.95;text-align:justify;margin-bottom:22px}
.tags{display:flex;flex-wrap:wrap;gap:8px 7px;margin-bottom:22px}
.tag{
  display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;
  font-size:12.8px;font-weight:500;line-height:1.2;letter-spacing:.1px;
  background:#fff;color:#43536c;border:1px solid #e3ecf8;
  box-shadow:0 2px 8px rgba(15,60,140,.05);
  transition:color .28s,background .28s,border-color .28s,transform .28s,box-shadow .28s;
  position:relative;overflow:hidden;cursor:pointer;
}
.tag:hover{color:var(--blue);background:#f3f9ff;border-color:#bcd6fb;transform:translateY(-2px);box-shadow:0 10px 20px rgba(26,111,232,.14)}
.tag.on{background:linear-gradient(135deg,var(--blue),#2f8bff);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(26,111,232,.3)}
.tag.on::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);animation:shine 3.4s infinite}
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.p-points li{display:flex;gap:10px;align-items:flex-start;font-size:14.2px;color:var(--ink);line-height:1.8;margin-bottom:8px}
.p-points li::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,var(--cyan),var(--blue));transform:rotate(45deg);margin-top:11px}
.p-feats{margin:0 0 16px;padding:14px 18px 13px;border-radius:14px;border:1px solid #e4edfa;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(240,247,255,.88))}
.pf-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--blue);margin-bottom:9px}
.pf-head::before{content:"";width:4px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--cyan),var(--blue))}
.pf-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.pf-list li{display:flex;gap:7px;align-items:flex-start;font-size:13.2px;line-height:1.6;color:#3d4d68}
.pf-list li i{flex:none;width:16px;height:16px;border-radius:50%;color:#fff;font-style:normal;font-size:10px;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
  background:linear-gradient(135deg,var(--cyan),var(--blue))}
.p-more{display:inline-flex;align-items:center;gap:8px;padding:11px 28px;border-radius:32px;
  font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--blue),#2f8bff);
  box-shadow:0 12px 26px rgba(26,111,232,.26);transition:transform .3s,box-shadow .3s}
.p-more:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(26,111,232,.34)}
.p-more-arr{transition:transform .3s}
.p-more:hover .p-more-arr{transform:translateX(4px)}
.p-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;perspective:1100px}
.halo{position:absolute;width:440px;height:440px;border-radius:50%;
  background:radial-gradient(circle,var(--halo,rgba(26,111,232,.16)) 0%,transparent 68%);
  animation:haloPulse 4.5s ease-in-out infinite}
@keyframes haloPulse{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.08);opacity:.55}}
.ring{position:absolute;width:400px;height:400px;border-radius:50%;border:1.5px dashed rgba(26,111,232,.25);animation:spin 26s linear infinite}
.ring.r2{width:310px;height:310px;border-style:solid;border-color:rgba(25,184,216,.18);animation-duration:18s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.device-stage{position:relative;z-index:3;width:750px;height:100%;max-width:100%;
  display:flex;align-items:center;justify-content:center}
.device-stage img{max-width:100%;width:auto;height:clamp(300px,38vh,420px);display:block;
  filter:drop-shadow(0 20px 28px rgba(10,40,90,.2));animation:floatY 5.5s ease-in-out infinite}
.p-name-plate{
  position:absolute;bottom:-48px;left:50%;transform:translateX(-50%);z-index:4;
  background:#fff;border-radius:30px;padding:9px 26px;font-size:15px;font-weight:600;color:var(--deep);
  box-shadow:0 12px 30px rgba(15,60,140,.16);white-space:normal;max-width:88%;text-align:center;line-height:1.45;
}

/* ============ 5. 用户案例（杂志式 1+4） ============ */
.cases-sec{background:
  radial-gradient(760px 420px at 100% 0%,rgba(26,111,232,.08),transparent 60%),
  linear-gradient(180deg,#fff,#f2f7fd)}
.case-mag{display:grid;grid-template-columns:5fr 7fr;gap:16px}
.case-hero{position:relative;display:block;border-radius:20px;overflow:hidden;min-height:424px;
  background:linear-gradient(135deg,#0d3f86,#12a3b4);box-shadow:0 24px 54px rgba(9,30,66,.2);
  transition:transform .5s cubic-bezier(.2,.65,.3,1),box-shadow .5s}
.case-hero:hover{transform:translateY(-5px);box-shadow:0 32px 66px rgba(9,30,66,.28)}
.ch-img{position:absolute;inset:0}
.ch-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.65,.3,1)}
.case-hero:hover .ch-img img{transform:scale(1.07)}
.case-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,24,54,0) 30%,rgba(6,24,54,.9) 100%)}
.ch-body{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;color:#fff;display:block}
.ch-tag{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:1.6px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));padding:4px 13px;border-radius:20px;margin-bottom:12px;
  box-shadow:0 8px 20px rgba(26,111,232,.45)}
.ch-body h4{font-size:19.5px;font-weight:700;line-height:1.55;margin:0 0 10px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ch-meta{display:flex;align-items:center;gap:18px;font-size:12.5px;color:rgba(255,255,255,.72)}
.ch-more{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:600;letter-spacing:.5px}
.ch-more i{font-style:normal;transition:transform .35s}
.case-hero:hover .ch-more i{transform:translateX(5px)}

.case-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px}
.case-cell{position:relative;display:flex;background:#fff;border:1px solid #eaf1fa;border-radius:16px;overflow:hidden;
  box-shadow:0 12px 30px rgba(15,60,140,.08);
  transition:transform .45s cubic-bezier(.2,.65,.3,1),box-shadow .45s,border-color .45s}
.case-cell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--cyan),var(--blue));transform:scaleY(0);transform-origin:top;transition:transform .42s}
.case-cell:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(15,60,140,.16);border-color:#d7e6fb}
.case-cell:hover::before{transform:scaleY(1)}
.cc-img{width:46%;max-width:190px;flex:none;overflow:hidden;background:linear-gradient(135deg,#e8f1fc,#d8e9fb)}
.cc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.case-cell:hover .cc-img img{transform:scale(1.08)}
.cc-body{flex:1;min-width:0;padding:15px 18px;display:flex;flex-direction:column;justify-content:center}
.cc-date{font-size:11.5px;color:#93a7c4;letter-spacing:.6px;margin-bottom:7px}
.cc-body h4{font-size:14.2px;font-weight:600;line-height:1.55;color:var(--deep);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .3s}
.case-cell:hover .cc-body h4{color:var(--blue)}
.cc-more{margin-top:9px;font-size:12px;color:#b3c3d8;display:inline-flex;align-items:center;gap:5px;transition:color .3s}
.cc-more i{font-style:normal;transition:transform .35s}
.case-cell:hover .cc-more{color:var(--blue)}
.case-cell:hover .cc-more i{transform:translateX(4px)}

/* ============ 7. 解决方案（横向手风琴） ============ */
.sol-sec{background:
  radial-gradient(760px 420px at 0% 100%,rgba(26,111,232,.07),transparent 60%),
  linear-gradient(180deg,#fff,#eef5fc)}
.sol-acc{display:flex;gap:14px;height:min(472px,56vh)}
.sol-item{position:relative;flex:1;min-width:0;display:flex;align-items:stretch;overflow:hidden;border-radius:18px;
  text-decoration:none;color:#fff;box-shadow:0 18px 42px rgba(9,30,66,.18);
  background:linear-gradient(160deg,#0d3f86,#1a6fe8);
  transition:flex .55s cubic-bezier(.2,.65,.3,1),box-shadow .5s}
.sol-item:nth-child(2){background:linear-gradient(160deg,#0b3a74,#1657bd)}
.sol-item:nth-child(3){background:linear-gradient(160deg,#0a3c6f,#1272c7)}
.sol-item:nth-child(4){background:linear-gradient(160deg,#08365f,#0e8fb0)}
.sol-item::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(85% 75% at 50% 42%,#000 12%,transparent 88%);
  -webkit-mask-image:radial-gradient(85% 75% at 50% 42%,#000 12%,transparent 88%)}
.sol-item::after{content:"";position:absolute;right:-80px;bottom:-80px;width:230px;height:230px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);opacity:0;transition:opacity .5s}
.sol-item:hover{flex:2.5;box-shadow:0 30px 64px rgba(9,30,66,.32)}
.sol-item:hover::after{opacity:1}
.si-rail{flex:none;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  padding:24px 0;position:relative;z-index:2;transition:width .5s cubic-bezier(.2,.65,.3,1)}
.sol-item:hover .si-rail{width:92px}
.si-num{font-size:clamp(52px,4.4vw,74px);font-weight:800;font-style:normal;color:rgba(255,255,255,.94);
  font-variant-numeric:tabular-nums;letter-spacing:2px;line-height:1;
  text-shadow:0 14px 34px rgba(2,12,32,.28);transition:font-size .5s}
.sol-item:hover .si-num{font-size:30px}
.si-line{flex:none;width:1px;height:44px;margin:0;background:linear-gradient(rgba(255,255,255,.45),rgba(255,255,255,.06));
  transition:opacity .4s}
.sol-item:hover .si-line{opacity:.4}
.si-name{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:7px;font-size:16.5px;font-weight:600;
  color:#fff;white-space:nowrap;line-height:1;transition:opacity .3s;text-shadow:0 6px 18px rgba(2,12,32,.22)}
/* 展开时竖排标题让位给正文（避免与正文标题重复） */
.sol-item:hover .si-name{opacity:0}
.si-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10px;
  padding:26px 26px 26px 0;opacity:0;transform:translateX(16px);
  transition:opacity .4s .1s,transform .4s .1s;position:relative;z-index:2}
.sol-item:hover .si-body{opacity:1;transform:none}
.si-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.16);margin-bottom:4px}
.si-ico svg{width:24px;height:24px;color:#fff}
.si-body h4{font-size:18px;font-weight:700;letter-spacing:.6px;margin:0}
.si-body p{font-size:12.8px;line-height:1.85;color:rgba(255,255,255,.82);margin:0}
.si-more{margin-top:4px;font-size:12.5px;font-weight:600;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px}
.si-more i{font-style:normal;transition:transform .35s}
.sol-item:hover .si-more i{transform:translateX(5px)}

/* ============ 6. 新闻（栏目 Tab + 文章流） ============ */
.news-sec{background:linear-gradient(180deg,#f2f7fd,#fff)}
.news-tabs{display:grid;grid-template-columns:326px minmax(0,1fr);gap:20px;align-items:stretch}
.nt-nav{display:flex;flex-direction:column;gap:12px}

.bhfv_a{width:100%;margin-top:2%;float:left;}
.bhfv_a ul li{width:21%;padding:1%;float:left;margin:1%;background-color:#fff;border-radius:10px;}
.bhfv_a ul li a img{width:100%;float:left;border-radius:5px;}
.bhfv_a ul li a span{width:100%;float:left;font-size:15px;height:35px;overflow:hidden;line-height:35px;text-align:center;}
.bhfv_a ul li a p{width:100%;float:left;font-size:12px;line-height:25px;color:#666;}
.bhfv_a ul li a font{width:50%;float:right;font-size:13px;text-align:right;color:#088af4;}
.rt_swj_aa{width:100%;float:left;padding:2% 0px;}
.rt_swj_aa span{width:18%;float:left;margin:0px 41%;font-size:35px;text-align:center;color:#088af4;font-weight:bold;line-height:60px;}
.rt_swj_aa span b{float:left;font-size:35px;color:#333;padding-top:1%;}
.rt_swj_aa p{width:100%;float:left;font-size:15px;color:#666;line-height:25px;text-align:center;}
/*------样品测评----*/

        /* 卡片容器 - 自适应网格 */
        .review-container {
			width:80%;float:left;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 25px;
			padding:0px 10%;
            margin: 0 auto;
			border-bottom:solid 1px #e1e1e1;
        }

        /* 测评卡片 */
        .review-card {
			width:31%;float:left;margin:1%;
            background: #fff;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
            transition: all 0.3s ease;
        }

        .review-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 18px rgba(0, 0, 0, 0.12);
        }

        /* 产品图片 */
        .product-img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        /* 卡片内容 */
        .card-body {
            padding: 20px;
        }

        /* 产品名称 */
        .produt-name {
			height:48px;overflow:hidden;
            font-size: 18px;
            font-weight: bold;
            color: #333;
            margin-bottom: 8px;
        }

        /* 标签（仅限测评卡片内部，避免覆盖首页产品屏的 .tags/.tag） */
        .review-card .tags {
            display: flex;
            gap: 6px;
            margin-bottom: 10px;
        }

        .review-card .tag {
            padding: 3px 8px;
            border-radius: 4px;
            font-size: 12px;
            background: #f0f7ff;
            color: #409eff;
        }

        /* 星级评分 */
        .star {
            color: #ffc107;
            margin-bottom: 10px;
        }

        /* 测评内容 */
        .review-content {
            font-size: 14px;
            color: #666;
            line-height: 1.6;
            margin-bottom: 15px;
        }

        /* 测评人信息 */
        .reviewer {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 12px;
            color: #999;
        }

        .avatar {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: #eee;
        }
		.revew-content{width:100%;margin:1% 0px;font-size:13px;line-height:20px;}
/*------样品测评----*/

/* ============ 新闻卡片网格（首页专用，不影响其它页面） ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;
  width:100%;float:none;margin-top:0}
.news-grid .review-card{width:auto;float:none;margin:0;display:flex;flex-direction:column;
  background:#fff;border:1px solid #e9f1fb;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 26px rgba(15,60,140,.07);
  transition:transform .45s cubic-bezier(.2,.65,.3,1),box-shadow .45s,border-color .45s}
.news-grid .review-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(15,60,140,.16);border-color:#d5e5fb}
.news-grid .review-card>a{display:flex;flex-direction:column;height:100%}
.news-grid .product-img{width:100%;height:148px;object-fit:cover;background:linear-gradient(135deg,#eef5fd,#e2eefb);
  transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.news-grid .review-card:hover .product-img{transform:scale(1.045)}
.news-grid .card-body{padding:13px 16px 14px;display:flex;flex-direction:column;flex:1}
.news-grid .produt-name{height:auto;max-height:3em;overflow:hidden;font-size:14.6px;font-weight:600;color:var(--deep);
  line-height:1.5;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.news-grid .review-card .tags{gap:6px;margin-bottom:9px}
.news-grid .review-card .tag{padding:3px 10px;border-radius:999px;font-size:11.5px;line-height:1.4;
  background:#f1f7ff;color:#3f7fd6;border:1px solid #e2eefb;box-shadow:none}
.news-grid .star{color:#ffb443;font-size:11px;letter-spacing:2px;line-height:1;margin-bottom:8px}
.news-grid .revew-content{width:100%;margin:0 0 10px;font-size:12.4px;line-height:1.75;color:#63748c;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-grid .reviewer{margin-top:auto;padding-top:10px;border-top:1px dashed #edf3fb;
  display:flex;align-items:center;gap:8px;font-size:11.5px;color:#9aabc2}
.news-grid .avatar{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#dbe9fb,#c3d8f6)}
/* ============ 8. 关于云唐 ============ */
.about-sec{background:
  radial-gradient(820px 460px at 100% 100%,rgba(25,184,216,.1),transparent 62%),
  linear-gradient(180deg,#f2f7fd,#eef4fb)}
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:34px;align-items:stretch}
.ab-left{display:flex;flex-direction:column;min-width:0}
.ab-intro{font-size:14.6px;line-height:1.95;color:var(--gray);margin:0 0 22px;text-align:justify}
.ab-intro b{color:var(--blue);font-weight:600}
.ab-nums{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.abnum{position:relative;overflow:hidden;background:#fff;border:1px solid #eaf1fa;border-radius:16px;
  padding:18px 19px;box-shadow:0 10px 26px rgba(15,60,140,.07);
  transition:transform .4s cubic-bezier(.2,.65,.3,1),box-shadow .4s,border-color .4s}
.abnum::after{content:"";position:absolute;right:-34px;top:-34px;width:86px;height:86px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,111,232,.12),transparent 70%)}
.abnum:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(15,60,140,.14);border-color:#d7e6fb}
.abnum b{display:block;font-size:34px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;
  background:linear-gradient(96deg,#0b3f86,#1a6fe8 55%,#19b8d8);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent}
.abnum b i{font-style:normal;font-size:15px;margin-left:3px;letter-spacing:0}
.abnum>span{display:block;margin-top:6px;font-size:12.6px;color:var(--gray)}
.abnum-en{position:absolute;right:16px;bottom:13px;font-size:9.5px;font-weight:700;letter-spacing:1.6px;
  color:#c3d4ea;text-transform:uppercase}
.ab-btn{display:inline-flex;align-items:center;gap:8px;margin:0;align-self:flex-start;
  padding:11px 24px;border-radius:30px;
  font-size:13.5px;font-weight:600;letter-spacing:1px;color:#fff;
  background:linear-gradient(120deg,var(--blue),#2f8bff);box-shadow:0 14px 30px rgba(26,111,232,.32);
  transition:transform .35s,box-shadow .35s}
.ab-foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.ab-tags{display:flex;flex-wrap:wrap;gap:8px}
.ab-tags span{font-size:11.8px;color:#5d7fae;letter-spacing:.3px;line-height:1.4;
  padding:6px 12px;border-radius:20px;background:#fff;border:1px solid #e4eefb;
  box-shadow:0 4px 12px rgba(15,60,140,.05);transition:color .3s,border-color .3s,transform .3s}
.ab-tags span:hover{color:var(--blue);border-color:#cfe2fb;transform:translateY(-2px)}
.ab-btn i{font-style:normal;transition:transform .35s}
.ab-btn:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(26,111,232,.42)}
.ab-btn:hover i{transform:translateX(5px)}

/* ---- 实力影像墙：厂房 / 实验室 / 产线 / 团队 ---- */
.ab-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:12px;
  height:clamp(340px,52vh,500px);min-width:0}
.gb{position:relative;margin:0;overflow:hidden;border-radius:16px;background:#0b2f63;
  box-shadow:0 14px 32px rgba(9,30,66,.16);isolation:isolate}
.gb-hq{grid-column:1/3;grid-row:1}
.gb-lab{grid-column:3/4;grid-row:1}
.gb-line{grid-column:1/2;grid-row:2}
.gb-team{grid-column:2/4;grid-row:2}
.gb img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.15s cubic-bezier(.2,.7,.25,1)}
.gb::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,22,50,0) 26%,rgba(6,22,50,.55) 62%,rgba(6,22,50,.86) 100%)}
.gb::before{content:"";position:absolute;top:0;left:-72%;width:46%;height:100%;z-index:3;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-16deg);
  transition:left .9s cubic-bezier(.2,.7,.25,1)}
.gb:hover::before{left:140%}
.gb:hover img{transform:scale(1.075)}
.gb-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 16px 15px;color:#fff;
  transform:translateY(7px);transition:transform .5s cubic-bezier(.2,.7,.25,1)}
.gb:hover .gb-cap{transform:none}
.gb-cap>b{display:block;font-size:14.5px;font-weight:700;letter-spacing:.6px;color:#fff;
  transition:letter-spacing .4s}
.gb:hover .gb-cap>b{letter-spacing:1.2px}
.gb-cap>span{display:block;margin-top:4px;font-size:11.4px;color:rgba(255,255,255,.76);
  letter-spacing:.3px;line-height:1.5}
.gb-cap .gb-tag{display:inline-block;margin:0 0 7px;font-size:10.5px;font-weight:600;letter-spacing:1px;
  color:#fff;background:rgba(6,22,50,.42);border:1px solid rgba(255,255,255,.34);
  border-radius:20px;padding:3px 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.gb-hq .gb-cap{padding:0 20px 17px}
.gb-hq .gb-cap>b{font-size:17.5px;letter-spacing:1px}
.gb-cap .gb-kpi{display:flex;gap:20px;margin-top:9px}
.gb-kpi i{font-style:normal;font-size:11.6px;color:rgba(255,255,255,.8);letter-spacing:.2px;
  display:flex;align-items:baseline;gap:2px}
.gb-kpi i b{font-size:19px;font-weight:800;color:#fff;letter-spacing:0;line-height:1}
/* 入场：卡片依次升起 */
@keyframes gbIn{from{opacity:0;transform:translateY(26px) scale(.975)}to{opacity:1;transform:none}}
#about.active .gb{animation:gbIn .78s cubic-bezier(.2,.7,.25,1) backwards}
#about.active .gb-hq{animation-delay:.05s}
#about.active .gb-lab{animation-delay:.16s}
#about.active .gb-line{animation-delay:.24s}
#about.active .gb-team{animation-delay:.32s}

/* ---- 底部资质条 ---- */
.ab-certs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.cert{position:relative;display:flex;align-items:center;gap:12px;overflow:hidden;
  background:#fff;border:1px solid #eaf1fa;border-radius:14px;padding:13px 16px;
  box-shadow:0 10px 26px rgba(15,60,140,.07);
  transition:transform .4s cubic-bezier(.2,.65,.3,1),box-shadow .4s,border-color .4s}
.cert::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--cyan),var(--blue));transform:scaleY(0);transform-origin:top;transition:transform .42s}
.cert:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,60,140,.14);border-color:#d7e6fb}
.cert:hover::before{transform:scaleY(1)}
.cert-ico{width:40px;height:40px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(26,111,232,.11),rgba(25,184,216,.11))}
.cert-ico svg{width:20px;height:20px;color:var(--blue)}
.cert-b{min-width:0}
.cert-b b{display:block;font-size:14px;font-weight:700;color:var(--deep);line-height:1.4}
.cert-b span{display:block;margin-top:4px;font-size:11.8px;color:#93a7c4;line-height:1.5}

/* ============ 9. 应用领域 ============ */
.field-sec{background:
  radial-gradient(880px 520px at 4% 24%,rgba(26,111,232,.08),transparent 62%),
  radial-gradient(760px 460px at 96% 88%,rgba(25,184,216,.1),transparent 64%),
  linear-gradient(180deg,#edf3fb,#f8fbff)}
.field-sec .wrap{display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 90px)}
.field-grid{display:grid;grid-template-columns:296px minmax(0,1fr);gap:46px;align-items:center}

/* 左：服务承诺 */
.fd-list{margin:0;padding:0;list-style:none}
.fd-list li{font-size:clamp(19px,1.45vw,24px);font-weight:700;color:var(--deep);line-height:2.05;
  letter-spacing:.6px;transition:transform .4s cubic-bezier(.2,.7,.25,1),color .4s;will-change:transform}
.fd-list li b{font-weight:800;color:var(--blue);margin-right:6px;transition:color .4s}
.fd-list li:hover{transform:translateX(6px)}
.fd-list li:hover b{color:#0b53b8}
.fd-desc{margin:20px 0 26px;padding-top:18px;border-top:1px solid rgba(26,111,232,.14);
  font-size:13px;line-height:1.95;color:#8b9db6;letter-spacing:.3px}
.fd-tel{position:relative;display:inline-flex;align-items:center;gap:11px;padding:7px 26px 7px 7px;border-radius:40px;
  background:linear-gradient(120deg,#1b4c96,#1a6fe8 58%,#2f8bff);color:#fff;font-size:16.5px;font-weight:700;
  letter-spacing:1.4px;box-shadow:0 16px 34px rgba(26,111,232,.3);
  transition:transform .35s,box-shadow .35s}
.fd-tel:hover{transform:translateY(-3px);box-shadow:0 22px 46px rgba(26,111,232,.42)}
.fd-tel-ico{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.2)}
.fd-tel-ico svg{width:18px;height:18px}
.fd-ripple{position:absolute;inset:0;border-radius:40px;border:1px solid rgba(26,111,232,.55);
  pointer-events:none;animation:fdPulse 2.8s ease-out infinite}
@keyframes fdPulse{0%{opacity:.7;transform:scale(1)}72%{opacity:0;transform:scale(1.1)}100%{opacity:0;transform:scale(1.1)}}

/* 右：应用领域标题 + 阶梯卡片 */
.fd-head{display:flex;align-items:baseline;gap:13px;margin:0 0 24px}
.fd-head h3{font-size:26px;font-weight:800;color:var(--deep);letter-spacing:3px;position:relative;padding-left:16px}
.fd-head h3::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:22px;border-radius:3px;background:linear-gradient(180deg,var(--cyan),var(--blue))}
.fd-head span{font-size:11px;letter-spacing:2.2px;color:#a6b6cb}
.fd-cards{display:flex;align-items:flex-start;gap:18px;padding-bottom:8px}
.fd-card{position:relative;flex:1 1 0;min-width:0;margin-left:0;z-index:1}
.fd-card:first-child{margin-left:0}
.fd-card:nth-child(2n){margin-top:42px}
.fd-card:hover{z-index:20}
.fd-inner{display:block;border-radius:12px;overflow:hidden;background:#fff;
  box-shadow:0 16px 34px rgba(15,60,140,.13),0 2px 6px rgba(15,60,140,.06);
  transition:transform .55s cubic-bezier(.2,.7,.25,1),box-shadow .55s}
.fd-card:hover .fd-inner{transform:translateY(-16px) scale(1.035);box-shadow:0 32px 62px rgba(15,60,140,.24)}
.fd-shot{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(190px,23vh,258px);
  overflow:hidden;background:linear-gradient(155deg,#0f4680,#2b7ec9);transition:filter .5s}
.fd-shot::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(120% 90% at 18% 6%,rgba(255,255,255,.22),transparent 56%),
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:100% 100%,26px 26px,26px 26px;opacity:.75}
.fd-shot::after{content:"";position:absolute;right:-44px;bottom:-56px;width:158px;height:158px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.24),transparent 70%);pointer-events:none}
.fd-card:nth-child(1) .fd-shot{background:linear-gradient(155deg,#0f4680,#2b7ec9)}
.fd-card:nth-child(2) .fd-shot{background:linear-gradient(155deg,#0c5169,#23a2b6)}
.fd-card:nth-child(3) .fd-shot{background:linear-gradient(155deg,#123f78,#3a86c6)}
.fd-card:nth-child(4) .fd-shot{background:linear-gradient(155deg,#0b4a65,#1e93a8)}
.fd-card:nth-child(5) .fd-shot{background:linear-gradient(155deg,#103a6e,#2a72b8)}
.fd-card:nth-child(6) .fd-shot{background:linear-gradient(155deg,#0d4d5e,#1c93a4)}
.fd-ico{position:relative;z-index:2;width:62px;height:62px;border-radius:18px;display:flex;align-items:center;
  justify-content:center;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  box-shadow:0 14px 30px rgba(4,20,48,.24),0 0 0 12px rgba(255,255,255,.055);
  animation:fdGlow 4.6s ease-in-out infinite;
  transition:transform .6s cubic-bezier(.2,.7,.25,1),background .5s,box-shadow .5s}
@keyframes fdGlow{0%,100%{box-shadow:0 14px 30px rgba(4,20,48,.24),0 0 0 10px rgba(255,255,255,.05)}
  50%{box-shadow:0 18px 38px rgba(4,20,48,.3),0 0 0 16px rgba(255,255,255,.03)}}
.fd-ico svg{width:32px;height:32px}
.fd-card:hover .fd-ico{transform:scale(1.12) rotate(-7deg);background:rgba(255,255,255,.28)}
.fd-shine{position:absolute;top:-40%;left:-70%;width:52%;height:180%;z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
.fd-card:hover .fd-shine{animation:fdShine .9s ease-out}
@keyframes fdShine{0%{left:-70%;opacity:.95}100%{left:125%;opacity:0}}
.fd-body{display:block;padding:13px 15px 15px;background:#fff}
.fd-body em{display:block;font-style:normal;font-size:9.5px;letter-spacing:.5px;color:#a8bacc;line-height:1.3;
  margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-body b{display:block;font-size:16.5px;font-weight:700;color:var(--deep);letter-spacing:.6px;transition:color .35s}
.fd-card:hover .fd-body b{color:var(--blue)}
.fd-ck{display:flex;align-items:center;justify-content:center;width:26px;height:26px;margin-top:11px;border-radius:50%;
  border:1.4px solid rgba(26,111,232,.42);color:var(--blue);
  transition:background .4s,color .4s,border-color .4s,transform .4s}
.fd-ck svg{width:14px;height:14px}
.fd-card:hover .fd-ck{color:#fff;border-color:transparent;transform:scale(1.14);
  background:linear-gradient(135deg,var(--blue),var(--cyan))}

/* 底部说明 + 更多方案 */
.fd-more{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;
  padding-top:15px;border-top:1px solid rgba(26,111,232,.1)}
.fd-more span{font-size:12.4px;color:#94a7c0;letter-spacing:.4px}
.fd-more a{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--blue);
  letter-spacing:.5px;transition:gap .3s,color .3s}
.fd-more a i{font-style:normal;transition:transform .3s}
.fd-more a:hover{color:#0b53b8}
.fd-more a:hover i{transform:translateX(5px)}

/* 进入本屏：左侧逐条滑入 + 卡片依次升起后轻微浮动 */
@keyframes fdUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes fdL{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes fdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
#field.active .fd-list li{animation:fdL .62s cubic-bezier(.2,.7,.25,1) backwards}
#field.active .fd-list li:nth-child(1){animation-delay:.05s}
#field.active .fd-list li:nth-child(2){animation-delay:.13s}
#field.active .fd-list li:nth-child(3){animation-delay:.21s}
#field.active .fd-list li:nth-child(4){animation-delay:.29s}
#field.active .fd-list li:nth-child(5){animation-delay:.37s}
#field.active .fd-desc,#field.active .fd-tel,#field.active .fd-head{animation:fdUp .7s cubic-bezier(.2,.7,.25,1) .18s backwards}
#field.active .fd-more{animation:fdUp .7s cubic-bezier(.2,.7,.25,1) .62s backwards}
#field.active .fd-card{animation:fdUp .8s cubic-bezier(.2,.7,.25,1) var(--fd,0s) backwards,
  fdFloat 6.6s ease-in-out calc(var(--fd,0s) + 1s) infinite}
#field.active .fd-card:hover{animation-play-state:running,paused}
.fd-card:nth-child(1){--fd:.12s}
.fd-card:nth-child(2){--fd:.21s}
.fd-card:nth-child(3){--fd:.30s}
.fd-card:nth-child(4){--fd:.39s}
.fd-card:nth-child(5){--fd:.48s}
.fd-card:nth-child(6){--fd:.57s}

/* ============ 10. 底部联系我们（园区实景背景） ============ */
footer.contact{position:relative;display:flex;overflow:hidden;background:#070c15;color:#fff}

/* 实景底图：极缓推镜，画面不死板 */
footer.contact::before{
  content:"";position:absolute;inset:-2%;z-index:0;
  background:url(../images/index/yaunqu.jpg) center 44% / cover no-repeat;
  transform:scale(1.02);transform-origin:60% 46%;
  animation:kbMove 38s ease-in-out infinite alternate;
  will-change:transform;filter:saturate(1.14) contrast(1.05) brightness(1.05);
}
@keyframes kbMove{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to  {transform:scale(1.10) translate3d(-1.1%,-1.3%,0)}
}
/* 氛围压暗：左深右浅保证白字可读，上下融边接住相邻屏 */
footer.contact::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(96deg,rgba(4,8,14,.87) 0%,rgba(4,8,14,.79) 22%,rgba(4,8,14,.6) 40%,rgba(4,8,14,.34) 56%,rgba(4,8,14,.12) 72%,rgba(4,8,14,.04) 86%,rgba(4,8,14,.08) 100%),
    linear-gradient(180deg,rgba(4,8,14,.62) 0%,rgba(4,8,14,0) 15%,rgba(4,8,14,0) 78%,rgba(4,8,14,.7) 100%);
}
/* 漂浮光斑 */
.f-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:1;filter:blur(64px)}
.f-orb.o1{width:460px;height:460px;left:-7%;top:4%;opacity:.5;
  background:radial-gradient(circle,rgba(72,152,255,.55),transparent 68%);
  animation:orbFloat 23s ease-in-out infinite}
.f-orb.o2{width:390px;height:390px;right:1%;bottom:2%;opacity:.42;
  background:radial-gradient(circle,rgba(38,198,220,.45),transparent 70%);
  animation:orbFloat 29s ease-in-out infinite reverse}
@keyframes orbFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%    {transform:translate3d(28px,-40px,0) scale(1.12)}
}
/* 玻璃反光：一道极淡的斜光缓慢掠过 */
.f-sheen{position:absolute;top:-30%;left:-30%;width:44%;height:160%;z-index:1;pointer-events:none;
  background:linear-gradient(104deg,transparent 0%,rgba(255,255,255,.05) 42%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.035) 58%,transparent 100%);
  transform:translateX(-60%) skewX(-14deg);animation:sheenSweep 15s cubic-bezier(.45,0,.55,1) infinite}
@keyframes sheenSweep{
  0%  {transform:translateX(-60%) skewX(-14deg);opacity:0}
  16% {opacity:.55}
  52% {opacity:.55}
  100%{transform:translateX(330%) skewX(-14deg);opacity:0}
}

.f-wrap{position:relative;z-index:2;width:min(1290px,92%);margin:auto;padding:30px 8px 20px}
.f-wrap::before{content:"";position:absolute;right:-6%;top:-8%;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(96,168,255,.13),transparent 70%);pointer-events:none}
.f-grid2{display:grid;grid-template-columns:1.1fr .92fr;gap:56px;align-items:stretch;position:relative;z-index:2}

.f-kicker{font-size:11px;font-weight:700;letter-spacing:3.6px;color:rgba(140,196,255,.78);
  margin-bottom:10px;text-transform:uppercase}
.f-left{position:relative;padding:26px 28px 24px;border-radius:20px;
  background:rgba(8,14,24,.38);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 30px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12)}
.f-left h4{font-size:33px;font-weight:800;color:#fff;display:flex;align-items:center;gap:14px;
  letter-spacing:3px;margin-top:0;text-shadow:0 4px 26px rgba(0,0,0,.55)}
.f-left h4::before{content:"";width:6px;height:29px;border-radius:3px;flex:none;
  background:linear-gradient(180deg,#7fe3ff,#3f8bff);box-shadow:0 0 16px rgba(96,200,255,.7)}
.f-left .f-sub{color:rgba(196,220,248,.76);font-size:13.5px;margin:9px 0 18px;letter-spacing:.8px;padding-left:20px}

.f-desc{font-size:14px;color:rgba(228,239,253,.9);line-height:1.9;text-align:justify;margin-bottom:18px;
  background:rgba(255,255,255,.075);border-left:3px solid #4aa6ff;border-radius:0 12px 12px 0;padding:12px 16px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}

.f-hotline{display:flex;align-items:center;gap:16px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(120deg,#1668e0,#2f8bff 58%,#3fa0ff);
  border-radius:16px;padding:15px 22px;margin-bottom:15px;
  box-shadow:0 18px 44px rgba(16,80,190,.42),inset 0 1px 0 rgba(255,255,255,.3);
  border:1px solid rgba(255,255,255,.14)}
.f-hotline::before{content:"";position:absolute;top:0;left:-40%;width:34%;height:100%;z-index:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-18deg);animation:hotShine 4.6s ease-in-out infinite}
@keyframes hotShine{0%,72%{left:-45%}100%{left:125%}}
.f-hotline::after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12)}
.fh-ico{width:46px;height:46px;border-radius:50%;flex:none;background:rgba(255,255,255,.19);
  display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  border:1px solid rgba(255,255,255,.22)}
.fh-ico svg{width:22px;height:22px}
.fh-info{flex:1;min-width:0;position:relative;z-index:1}
.fh-label{font-size:12.2px;letter-spacing:2.2px;color:rgba(255,255,255,.86);margin-bottom:2px}
.fh-num{display:inline-block;font-size:31px;font-weight:800;color:#fff;letter-spacing:1px;line-height:1.2;
  transition:transform .3s;text-shadow:0 2px 10px rgba(0,20,60,.3)}
.fh-num:hover{transform:scale(1.04)}

.f-phones{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 0 15px;padding:0;list-style:none}
.f-phones li{display:flex}
.f-phones a{flex:1;display:flex;flex-direction:column;gap:4px;text-decoration:none;
  background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:11px 13px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:transform .32s,box-shadow .32s,border-color .32s,background .32s}
.f-phones a:hover{transform:translateY(-3px);background:rgba(255,255,255,.13);
  border-color:rgba(126,196,255,.55);box-shadow:0 16px 34px rgba(0,0,0,.34)}
.fp-top{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(199,220,246,.76)}
.f-phones .fp-dot{width:6px;height:6px;border-radius:50%;flex:none;background:linear-gradient(135deg,#7fe3ff,#3f8bff);
  box-shadow:0 0 8px rgba(96,200,255,.8)}
.f-phones em{font-style:normal;color:rgba(180,204,236,.6);font-size:11px;margin-left:auto}
.fp-num{font-size:16.5px;font-weight:800;color:#fff;letter-spacing:.4px;transition:color .3s}
.f-phones a:hover .fp-num{color:#8fd6ff}

/* 搜索框：玻璃质感（与上方电话卡、下方地址信息保持呼吸感） */
footer .tysdn_b{margin:16px 0 20px}
footer .tysdn_b .jij_ser{width:100%;float:none;margin:0}
footer .tysdn_b .jij_ser form.flex{display:flex;align-items:center;width:100%;max-width:none;margin:0}
footer .tysdn_b .search-inp{height:42px;flex:1;min-width:0;padding:0 16px;
  border:1px solid rgba(255,255,255,.18);border-right:none;
  background:rgba(255,255,255,.09);border-radius:11px 0 0 11px;font-size:13.5px;color:#fff;outline:none;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:border-color .3s,background .3s,box-shadow .3s}
footer .tysdn_b .search-inp::placeholder{color:rgba(196,216,242,.58)}
footer .tysdn_b .search-inp:focus{border-color:rgba(126,196,255,.6);background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(126,196,255,.25),0 0 18px rgba(60,150,255,.22)}
footer .tysdn_b .search-sub{height:42px;padding:0 24px;border:none;color:#fff;font-size:13.5px;font-weight:600;
  letter-spacing:2px;cursor:pointer;flex:none;
  background:linear-gradient(135deg,#2f8bff,#19b8d8);border-radius:0 11px 11px 0;transition:filter .3s}
footer .tysdn_b .search-sub:hover{filter:brightness(1.1)}

.hq-web{margin-top:13px;font-size:14px;color:rgba(196,217,244,.7)}
.hq-web a{color:#8fd6ff;font-weight:600}
.f-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:17px}
.f-item .fi-ico{width:42px;height:42px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,#2f8bff,#19b8d8);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(20,110,220,.45),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .35s}
.f-item:hover .fi-ico{transform:scale(1.1) rotate(-6deg)}
.f-item .fi-ico svg{width:19px;height:19px}
.fi-label{font-size:12.5px;color:rgba(186,210,240,.62);margin-bottom:3px}
.fi-val{font-size:16px;color:#fff;font-weight:600;line-height:1.65;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.fi-val a{color:#fff;transition:color .3s}
.fi-val a:hover{color:#8fd6ff}

/* 右侧玻璃卡 */
.f-right{display:flex;flex-direction:column;gap:18px;justify-content:center}
.qr-card,.hq-card{
  background:rgba(9,15,26,.58);border:1px solid rgba(255,255,255,.2);border-radius:18px;
  backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);
  box-shadow:0 26px 64px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.16);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s,border-color .45s}
.qr-card:hover,.hq-card:hover{transform:translateY(-5px);border-color:rgba(126,196,255,.42);
  box-shadow:0 34px 76px rgba(0,0,0,.46),0 0 0 1px rgba(126,196,255,.18),inset 0 1px 0 rgba(255,255,255,.22)}
.qr-card{padding:16px 20px 14px;text-align:center}
.qr-card b{display:block;font-size:16px;color:#fff;margin-bottom:4px;letter-spacing:1px}
.qr-card>span{display:block;font-size:12.5px;color:rgba(188,212,242,.7)}
.qr-pair{display:flex;align-items:center;justify-content:center;margin-bottom:11px}
.qr-item{display:flex;flex-direction:column;align-items:center}
.qr-big{width:58px;height:58px;border-radius:9px;overflow:hidden;
  border:1px solid rgba(255,255,255,.32);background:#fff;padding:4px;
  box-shadow:0 8px 18px rgba(0,0,0,.35);transition:transform .35s,box-shadow .35s}
.qr-item:hover .qr-big{transform:translateY(-4px);box-shadow:0 16px 30px rgba(0,0,0,.42)}
.qr-cap{font-size:12px;color:rgba(232,242,255,.9);font-weight:600;letter-spacing:.5px}
/* 主二维码：获取报价 —— 放大并加高亮面板 */
.qr-feat{position:relative;flex:none;justify-content:center;
  padding:9px 12px 8px;border-radius:15px;
  background:linear-gradient(158deg,rgba(96,186,255,.26),rgba(14,48,104,.4) 62%,rgba(255,255,255,.05));
  border:1px solid rgba(140,205,255,.5);
  box-shadow:0 18px 40px rgba(2,20,50,.42),0 0 22px rgba(64,160,255,.16),inset 0 1px 0 rgba(255,255,255,.3)}
.qr-feat::after{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(196,238,255,.9),transparent)}
.qr-feat .qr-big{width:104px;height:104px;border-radius:11px;padding:6px;
  border-color:rgba(255,255,255,.62);box-shadow:0 12px 26px rgba(0,0,0,.45)}
.qr-feat .qr-cap{margin-top:8px;font-size:13.5px;font-weight:800;letter-spacing:1.4px;color:#fff;
  text-shadow:0 2px 12px rgba(0,60,140,.55)}
.qr-div{display:block;width:1px;align-self:stretch;margin:6px 20px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.22) 26%,rgba(255,255,255,.22) 74%,transparent)}
.qr-mini{display:flex;flex-direction:column;justify-content:center;gap:10px;flex:none;width:212px;min-width:0;text-align:left}
.qr-mini .qr-item{flex-direction:row;align-items:center;gap:12px;
  padding:5px 14px 5px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.045);transition:transform .35s,border-color .35s,background .35s}
.qr-mini .qr-item:hover{transform:translateX(3px);border-color:rgba(126,196,255,.4);background:rgba(255,255,255,.1)}
.qr-mini .qr-big{width:58px;height:58px;padding:4px;border-radius:8px;flex:none}
.qr-mini .qr-cap{margin:0;font-size:13px;color:#fff;letter-spacing:.6px}
.qr-mini .qr-sub{display:block;margin-top:3px;font-size:11.2px;color:rgba(176,205,240,.74);letter-spacing:.2px;white-space:nowrap}
.hq-card{padding:22px 22px}
.hq-card h5{display:flex;align-items:center;gap:10px;font-size:17px;color:#fff;margin-bottom:14px}
.hq-card h5 svg{width:20px;height:20px;color:#8fd6ff}
.hq-card li{display:flex;gap:10px;font-size:13.5px;color:rgba(219,232,250,.84);line-height:1.8;margin-bottom:7px;align-items:flex-start}
.hq-card li svg{width:15px;height:15px;flex:none;margin-top:5px;color:#67c8ff}
.hq-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
.hq-badges span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:1px 6px;font-size:12px;
  color:rgba(214,230,250,.86);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:16px;padding:5px 12px}
.hq-badges span a{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;white-space:nowrap}
.hq-badges svg{width:13px;height:13px;color:#67c8ff}

.f-bar{margin-top:28px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;text-align:center;
  font-size:12.5px;color:rgba(206,226,250,.82);position:relative;z-index:2}
.f-bar a{color:rgba(214,232,252,.78);transition:color .3s}
.f-bar a:hover{color:#8fd6ff}

/* ============ 入场动画 ============ */
.reveal{opacity:0;transform:translateY(52px) scale(.985);
  transition:opacity 1s cubic-bezier(.22,.68,.3,1.06),transform 1s cubic-bezier(.22,.68,.3,1.06)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.14s}.reveal.d2{transition-delay:.28s}.reveal.d3{transition-delay:.42s}.reveal.d4{transition-delay:.56s}

/* ============ 动态效果补充 ============ */
/* Banner 粒子层 + 鼠标光晕 */
#fx{position:absolute;inset:0;z-index:1;pointer-events:none}
.cursor-glow{position:absolute;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:2;
  background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%);
  transform:translate(-50%,-50%);opacity:0;transition:opacity .4s}
.banner:hover .cursor-glow{opacity:1}
/* 主按钮悬停扫光 */
.btn-solid{position:relative;overflow:hidden}
.btn-solid::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;
  background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-20deg);transition:left .6s}
.btn-solid:hover::after{left:130%}
/* 产品图 3D 倾斜（JS 驱动） */
.device-stage{transition:transform .35s ease-out;transform-style:preserve-3d;will-change:transform}
/* 案例数据计数条 */
.case-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 0}
.cstat{background:#fff;border:1px solid #eaf1fa;border-radius:16px;padding:18px 10px;text-align:center;
  box-shadow:0 10px 26px rgba(15,60,140,.08);transition:transform .35s,box-shadow .35s}
.cstat:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(15,60,140,.15)}
.cstat b{display:block;font-size:34px;font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}
.cstat b i{font-style:normal;font-size:18px;margin-left:2px;color:var(--cyan)}
.cstat>span{font-size:13.5px;color:var(--gray)}
/* 新四屏：内容在整屏内垂直居中，避免 1080 高下大片留白 */
.cases-sec .wrap,.news-sec .wrap,.sol-sec .wrap,.about-sec .wrap{
  display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 90px)}
/* 案例网格内的卡片依次入场 */
@keyframes popIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
#cases.active .case-cell{animation:popIn .62s backwards}
#cases.active .case-cell:nth-child(1){animation-delay:.08s}
#cases.active .case-cell:nth-child(2){animation-delay:.16s}
#cases.active .case-cell:nth-child(3){animation-delay:.24s}
#cases.active .case-cell:nth-child(4){animation-delay:.32s}
/* 解决方案屏进入：卡片自下而上依次升起 */
#solutions.active .sol-item{animation:popIn .62s backwards}
#solutions.active .sol-item:nth-child(1){animation-delay:.06s}
#solutions.active .sol-item:nth-child(2){animation-delay:.14s}
#solutions.active .sol-item:nth-child(3){animation-delay:.22s}
#solutions.active .sol-item:nth-child(4){animation-delay:.3s}
/* 回到顶部 */
.back-top{position:fixed;right:26px;bottom:30px;z-index:99;width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),#2f8bff);color:#fff;font-size:20px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 12px 26px rgba(26,111,232,.35);opacity:0;visibility:hidden;transform:translateY(16px);transition:all .4s}
.back-top.show{opacity:1;visibility:visible;transform:none}
.back-top:hover{transform:translateY(-4px)}

/* ============ 响应式 ============ */
/* 中矮屏（900~960 高）：新闻与案例屏收紧 */
@media (max-height:960px){
  .cases-sec .sec-head.tight,.news-sec .sec-head.tight,
  .sol-sec .sec-head.tight,.about-sec .sec-head.tight{margin-top:48px;margin-bottom:16px}
  .news-grid .product-img{height:114px}
  .news-grid .card-body{padding:10px 13px 11px}
  .news-grid .produt-name{font-size:13.4px;max-height:1.5em;-webkit-line-clamp:1;margin-bottom:6px}
  .news-grid .revew-content{font-size:11.9px;line-height:1.65;margin-bottom:8px}
  .news-grid .star{display:none}
  .news-grid .reviewer{font-size:11px;padding-top:7px}
  .news-grid .review-card .tags{margin-bottom:6px}
  .case-mag{gap:14px}
  .case-stats{margin-top:12px}
}
@media (max-height:820px){
  /* banner：矮屏只收纵向间距，字号保持不变 */
  .slide-brand{margin-bottom:13px}
  .slide-copy .kicker{margin-bottom:16px}
  .slide-copy h2{margin-bottom:14px}
  .slide-copy p{margin-bottom:28px}
  .f-wrap{padding:34px 46px 18px}
  .f-left h4{font-size:23px}
  .f-left h4::before{height:20px}
  .f-left .f-sub{margin:6px 0 12px}
  .f-desc{margin-bottom:12px;font-size:12.6px;padding:8px 12px}
  .f-hotline{padding:10px 16px;margin-bottom:12px}
  .fh-ico{width:38px;height:38px}
  .fh-ico svg{width:18px;height:18px}
  .fh-num{font-size:21px}
  .f-phones{gap:8px;margin-bottom:12px}
  .f-phones a{padding:8px 10px}
  .fp-num{font-size:14px}
  .f-item{margin-bottom:10px}
  footer .tysdn_b{margin:11px 0 14px}
  .qr-card{padding:12px 18px 11px}
  .qr-card b{margin-bottom:3px}
  .qr-pair{margin-bottom:8px}
  .qr-feat{padding:7px 10px 6px;border-radius:13px}
  .qr-feat .qr-big{width:92px;height:92px;padding:5px}
  .qr-feat .qr-cap{margin-top:6px;font-size:12.5px}
  .qr-div{margin:5px 16px}
  .qr-mini{gap:8px}
  .qr-mini .qr-item{padding:4px 12px 4px 7px}
  .qr-mini .qr-big{width:50px;height:50px;padding:3px}
  .qr-mini .qr-sub{margin-top:2px;font-size:10.4px}
  .hq-card{padding:18px 20px}
  .f-bar{margin-top:22px;padding-top:12px}
  /* 新四屏：矮屏压缩纵向尺寸 */
  .cases-sec .sec-head.tight,.news-sec .sec-head.tight,
  .sol-sec .sec-head.tight,.about-sec .sec-head.tight{margin-top:42px;margin-bottom:14px}
  .cases-sec .sec-head h3,.news-sec .sec-head h3,
  .sol-sec .sec-head h3,.about-sec .sec-head h3{font-size:27px;letter-spacing:1px}
  .cases-sec .sec-head .sub,.news-sec .sec-head .sub,
  .sol-sec .sec-head .sub,.about-sec .sec-head .sub{font-size:13.2px;padding-left:20px;padding-bottom:5px}
  .sh-top{margin-bottom:12px}
  .sh-en{font-size:10.4px;letter-spacing:3.2px}
  .case-hero{min-height:280px}
  .case-mag{gap:12px}
  .case-grid{gap:12px}
  .cc-img{width:40%}
  .cc-body{padding:10px 14px}
  .cc-body h4{-webkit-line-clamp:2}
  .cc-more{margin-top:5px}
  .case-stats{margin-top:10px}
  .cstat{padding:10px 8px}
  .cstat b{font-size:26px}
  .sol-acc{height:340px}
  .nt-panes{padding:12px 14px}
  .nt-pane{gap:6px}
  .nt-item{padding:8px 10px}
  .nt-img{width:132px;height:74px}
  .nt-btn{padding:10px 14px}
  .nt-b span{display:none}
  .ab-intro{font-size:13.2px;line-height:1.9;margin-bottom:16px}
  .abnum{padding:12px 14px}
  .abnum b{font-size:26px}
  .ab-foot{gap:10px}
  .ab-tags span{padding:5px 10px;font-size:11px}
  .ab-btn{padding:9px 20px}
  .ab-gallery{height:clamp(290px,46vh,400px);gap:10px}
  .gb-cap{padding:0 13px 12px}
  .gb-hq .gb-cap{padding:0 16px 14px}
  .gb-hq .gb-cap>b{font-size:16px}
  .gb-kpi i b{font-size:15px}
  .ab-certs{margin-top:12px;gap:10px}
  .cert{padding:11px 13px}
  .cert-ico{width:36px;height:36px}
  .cert-ico svg{width:18px;height:18px}
  /* 产品屏：矮屏压缩 */
  .product-sec{padding:74px 0 52px}
  .p-copy .idx b{min-width:38px;height:26px;font-size:13px}
  .p-copy .idx span{font-size:11px;letter-spacing:3px}
  .p-copy h3{font-size:clamp(25px,2.5vw,32px);margin:14px 0 12px}
  .p-copy .idx em{display:none}
  .p-copy .desc{font-size:13.8px;line-height:1.8;margin-bottom:14px}
  .tags{gap:6px 6px;margin-bottom:14px}
  .tag{padding:5px 11px;font-size:11.6px}
  .p-feats{padding:10px 13px 9px;margin-bottom:11px;border-radius:12px}
  .pf-head{font-size:11.5px;margin-bottom:6px}
  .pf-list{gap:5px 12px}
  .pf-list li{font-size:12.2px;line-height:1.5}
  .pf-list li i{width:14px;height:14px;font-size:9px;margin-top:1px}
  .p-points li{font-size:12.8px;line-height:1.7;margin-bottom:5px}
  .p-points li::before{width:6px;height:6px;margin-top:8px}
  .p-more{padding:9px 22px;font-size:13px}
  .p-visual{min-height:340px}
  .device-stage img{height:clamp(230px,31vh,320px)}
  .halo{width:340px;height:340px}
  .ring{width:310px;height:310px}
  .ring.r2{width:240px;height:240px}
  .p-name-plate{bottom:-42px;font-size:12.5px;padding:7px 20px}
  /* 新闻卡片：矮屏只保留标题与来源 */
  .news-grid{gap:14px}
  .news-grid .product-img{height:112px}
  .news-grid .card-body{padding:10px 13px 11px}
  .news-grid .produt-name{font-size:13.2px;margin-bottom:6px;max-height:1.5em;-webkit-line-clamp:1}
  .news-grid .revew-content,.news-grid .star{display:none}
  .news-grid .reviewer{font-size:10.8px;padding-top:7px}
  .news-grid .review-card .tags{margin-bottom:6px}
  .news-grid .review-card .tag{padding:2px 8px;font-size:10.6px}
}
/* 极矮屏（≤760 高）：进一步压缩，保证整屏不裁切 */
@media (max-height:760px){
  .product-sec{padding:62px 0 42px}
  .p-copy h3{font-size:clamp(22px,2.2vw,28px)}
  .p-copy .desc{font-size:12.8px;line-height:1.7;margin-bottom:11px}
  .tags{gap:5px 5px;margin-bottom:11px}
  .tag{padding:4px 10px;font-size:11px}
  .p-feats{padding:8px 11px 7px;margin-bottom:9px}
  .pf-list li{font-size:11.6px;line-height:1.45}
  .p-points li{font-size:12.2px;line-height:1.65;margin-bottom:4px}
  .p-more{padding:8px 20px;font-size:12.4px}
  .device-stage img{height:clamp(200px,28vh,270px)}
  .about-sec .sec-head.tight{margin-top:32px;margin-bottom:12px}
  .ab-intro{font-size:12.6px;line-height:1.78;margin-bottom:12px}
  .ab-nums{gap:10px}
  .abnum{padding:10px 12px}
  .abnum b{font-size:25px}
  .ab-gallery{height:clamp(250px,41vh,330px)}
  .ab-certs{margin-top:8px}
  .cert{padding:9px 11px}
  .sol-acc{height:min(420px,54vh)}
  /* 联系屏：极矮屏整体收紧，保证版权条不越界 */
  .f-wrap{padding:26px 46px 14px}
  .f-desc{margin-bottom:10px;font-size:12.2px;line-height:1.68;padding:7px 11px}
  .f-hotline{padding:9px 15px;margin-bottom:10px}
  .fh-num{font-size:20px}
  .f-phones{gap:7px;margin-bottom:10px}
  .f-phones a{padding:7px 10px}
  .fp-top{font-size:11.8px}
  .f-item{margin-bottom:8px}
  .f-item .fi-ico{width:36px;height:36px}
  .f-item .fi-ico svg{width:17px;height:17px}
  footer .tysdn_b{margin:9px 0 11px}
  .hq-web{margin-top:9px;font-size:13px}
  .qr-card{padding:10px 16px 9px}
  .qr-card b{font-size:15px}
  .qr-pair{margin-bottom:7px}
  .qr-feat{padding:6px 9px 5px}
  .qr-feat .qr-big{width:82px;height:82px;padding:4px}
  .qr-feat .qr-cap{margin-top:5px;font-size:12px}
  .qr-div{margin:4px 14px}
  .qr-mini{gap:7px;width:190px}
  .qr-mini .qr-item{padding:3px 10px 3px 6px;gap:9px}
  .qr-mini .qr-big{width:46px;height:46px}
  .qr-mini .qr-sub{font-size:10px;margin-top:2px}
  .hq-card{padding:15px 18px}
  .hq-card h5{font-size:15.5px;margin-bottom:10px}
  .hq-card li{font-size:12.6px;line-height:1.7;margin-bottom:5px}
  .hq-badges{margin-top:10px}
  .f-bar{margin-top:16px;padding-top:10px}
}
@media (max-width:1080px){
  .p-grid{grid-template-columns:1fr;gap:30px}
  .case-mag{grid-template-columns:1fr}
  .case-hero{min-height:260px}
  .news-tabs{grid-template-columns:1fr}
  .nt-nav{flex-direction:row;flex-wrap:wrap}
  .nt-btn{flex:1 1 46%}
  .about-grid{grid-template-columns:1fr;gap:20px}
  .ab-nums{grid-template-columns:repeat(4,1fr)}
  .ab-foot{margin-top:16px}
  .ab-gallery{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:340px}
  .gb-hq{grid-column:1/2;grid-row:1}
  .gb-lab{grid-column:2/3;grid-row:1}
  .gb-line{grid-column:1/2;grid-row:2}
  .gb-team{grid-column:2/3;grid-row:2}
  /* 窄屏：三个二维码横向居中排布（首个仍放大） */
  .qr-pair{justify-content:center;gap:24px;margin-top:2px}
  .qr-feat{padding:8px 11px 7px}
  .qr-feat .qr-big{width:118px;height:118px;padding:6px}
  .qr-mini{flex-direction:row;width:auto;gap:22px}
  .qr-mini .qr-item{flex-direction:column;align-items:center;gap:0;padding:0;border:none;background:none}
  .qr-mini .qr-item:hover{transform:none;border:none;background:none}
  .qr-mini .qr-big{width:84px;height:84px;padding:5px;border-radius:10px}
  .qr-mini .qr-cap{margin-top:7px;text-align:center;font-size:12.5px}
  .qr-mini .qr-sub{display:none}
  .fp-num{font-size:13.5px}
  .f-phones em{display:none}
  .f-grid2{grid-template-columns:1fr}
  .slide-visual{display:none}
  .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  /* 窄屏标题：主副标题竖排，去掉竖线 */
  .sh-bot{flex-direction:column;align-items:flex-start;gap:9px}
  .sec-head .sub{max-width:100%;padding:0;align-self:auto;background:none}
  .sec-head .sub::before{display:none}
  .sh-top::after{display:none}
  .sh-top{padding-right:0}
  .pf-list{grid-template-columns:1fr}
  .case-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr}
  /* 窄屏产品屏：图片收敛，名条回到图下 */
  .product-sec{padding:94px 0 54px}
  .p-visual{flex-direction:column;min-height:0;margin-bottom:6px}
  .device-stage{height:auto;width:100%}
  .device-stage img{height:auto;max-height:330px;width:auto;max-width:100%}
  .halo{width:280px;height:280px}
  .ring{width:250px;height:250px}
  .ring.r2{width:190px;height:190px}
  .p-name-plate{position:relative;bottom:auto;left:auto;transform:none;margin:14px auto 0;display:table;font-size:13px}
  .news-grid .product-img{height:176px}
  /* 窄屏：手风琴改为纵向堆叠，内容常显（无 hover） */
  .sol-acc{flex-direction:column;height:auto;gap:12px}
  .sol-item{flex:none;min-height:0;flex-direction:column;align-items:stretch}
  .si-rail{flex-direction:row;width:100%!important;justify-content:flex-start;gap:12px;
    padding:15px 18px 0;height:auto;flex:none}
  .si-body{width:100%;flex:none}
  .si-line{display:none}
  .si-rail .si-name{display:none}
  .sol-item:hover .si-name{opacity:1}
  .sol-item:hover .si-rail{width:100%!important}
  .sol-item:hover .si-num{font-size:24px}
  .si-body{opacity:1;transform:none;padding:0 18px 16px;gap:6px}
  .si-ico{display:none}
  .si-body p{font-size:12.5px;line-height:1.75}
  /* 窄屏取消整屏吸附，改为自然流式滚动，避免内容被裁 */
  html,body{height:auto}
  body{overflow:auto;-webkit-overflow-scrolling:touch}
  #app{height:auto;overflow:visible;scroll-snap-type:none;scroll-behavior:auto}
  .screen{min-height:0;overflow:visible;padding:86px 0 46px;scroll-snap-align:none;scroll-snap-stop:normal}
  .banner{height:auto;min-height:100vh;padding:0}
  .dots,.back-top,#progress{display:none}
  /* 窄屏改为自然滚动后，入场类不再依赖滚动事件，直接显示 */
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  .cases-sec .wrap,.news-sec .wrap,.sol-sec .wrap,.about-sec .wrap{min-height:0;justify-content:flex-start}
  .case-hero{min-height:240px}
  .case-mag{margin-bottom:16px}
  .case-stats{grid-template-columns:1fr 1fr;gap:10px}
  .news-tabs{grid-template-columns:1fr}
  .nt-nav{flex-direction:row;flex-wrap:wrap}
  .nt-btn{flex:1 1 46%;padding:12px 14px}
  .nt-b span{display:none}
  .nt-img{width:120px;height:78px}
  .nt-item{padding:9px 10px}
  .about-grid{grid-template-columns:1fr;gap:22px}
  .ab-nums{grid-template-columns:1fr 1fr}
  .ab-certs{grid-template-columns:1fr 1fr}
  .about-sec .about-grid,.about-sec .ab-certs{padding-right:0}
  .ab-gallery{grid-template-rows:auto auto;height:auto;gap:10px}
  .gb{aspect-ratio:4/3}
  .gb-team{aspect-ratio:4/3}
}

/* ============ 顶部导航（玻璃拟态 → 滚动后实底） ============ */
.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:150;height:88px;
  background:rgba(8,22,46,.20);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  backdrop-filter:blur(18px) saturate(150%);
  border-bottom:1px solid rgba(255,255,255,.10);
  transition:background .45s ease,box-shadow .45s ease,height .45s ease,border-color .45s ease;
}
.site-nav.solid{
  background:rgba(255,255,255,.94);
  height:74px;
  border-bottom-color:rgba(16,41,77,.07);
  box-shadow:0 12px 34px rgba(11,31,60,.10);
}
.nav-inner{width:min(1580px,94%);height:100%;margin:0 auto;display:flex;align-items:center;gap:24px}

/* Logo：白版 / 彩版自动切换 */
.nav-logo{display:flex;align-items:center;flex:none;height:100%}
.nav-logo img{height:46px;width:auto;display:block;transition:height .45s ease,opacity .3s ease}
.nav-logo .logo-dark{display:none}
.site-nav.solid .nav-logo img{height:40px}
.site-nav.solid .nav-logo .logo-white{display:none}
.site-nav.solid .nav-logo .logo-dark{display:block}

/* 主菜单 */
.nav-menu{display:flex;align-items:center;gap:2px;flex:1;min-width:0;align-self:stretch}
.nav-item{
  position:relative;padding:10px 15px;border-radius:9px;
  font-size:15.5px;font-weight:600;letter-spacing:.4px;white-space:nowrap;
  color:rgba(255,255,255,.86);transition:color .3s ease,background .3s ease;
}
.nav-item::after{
  content:"";position:absolute;left:15px;right:15px;bottom:3px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#1a6fe8,#19b8d8);
  transform:scaleX(0);transform-origin:left;
  transition:transform .38s cubic-bezier(.2,.65,.3,1);
}
.nav-item:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-item:hover::after,.nav-item.on::after{transform:scaleX(1)}
.nav-item.on{color:#fff}
.site-nav.solid .nav-item{color:#3d5170}
.site-nav.solid .nav-item:hover{color:#0b2a5b;background:#eef5ff}
.site-nav.solid .nav-item.on{color:#0b2a5b}

/* 右侧：搜索 + 热线 */
.nav-right{display:flex;align-items:center;gap:14px;flex:none}
.nav-search{
  display:flex;align-items:center;gap:8px;height:42px;width:236px;
  padding:0 5px 0 14px;border-radius:24px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:width .4s cubic-bezier(.2,.65,.3,1),background .3s,border-color .3s,box-shadow .3s;
}
.nav-search svg{width:16px;height:16px;flex:none;color:rgba(255,255,255,.85);transition:color .3s}
.nav-search input{
  flex:1;min-width:0;border:none;background:transparent;outline:none;
  font-size:14px;color:#fff;font-family:inherit;
}
.nav-search input::placeholder{color:rgba(255,255,255,.62)}
.nav-search button{
  flex:none;height:32px;padding:0 16px;border:none;border-radius:18px;cursor:pointer;
  font-size:13.5px;font-weight:700;letter-spacing:1px;color:#fff;font-family:inherit;
  background:linear-gradient(135deg,#1a6fe8,#19b8d8);
  box-shadow:0 6px 16px rgba(26,111,232,.30);
  transition:filter .3s,transform .3s;
}
.nav-search button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.nav-search:focus-within{
  width:292px;background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.48);
  box-shadow:0 0 0 5px rgba(255,255,255,.10);
}
.site-nav.solid .nav-search{background:#f4f8fd;border-color:#e2ecf8;width:246px}
.site-nav.solid .nav-search svg{color:#8195ad}
.site-nav.solid .nav-search input{color:#10294d}
.site-nav.solid .nav-search input::placeholder{color:#9aabc2}
.site-nav.solid .nav-search:focus-within{background:#fff;border-color:rgba(26,111,232,.35);box-shadow:0 0 0 5px rgba(26,111,232,.07)}

/* 深色屏（联系我们）时导航转深色玻璃，回到白字白标 */
.site-nav.solid.nav-dark{background:rgba(7,13,22,.62);border-bottom-color:rgba(255,255,255,.1);
  box-shadow:0 14px 40px rgba(0,0,0,.38)}
.site-nav.solid.nav-dark .nav-logo .logo-white{display:block}
.site-nav.solid.nav-dark .nav-logo .logo-dark{display:none}
.site-nav.solid.nav-dark .nav-item{color:rgba(214,231,250,.84)}
.site-nav.solid.nav-dark .nav-item:hover{color:#fff;background:rgba(255,255,255,.1)}
.site-nav.solid.nav-dark .nav-item.on{color:#fff}
.site-nav.solid.nav-dark .nav-search{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.site-nav.solid.nav-dark .nav-search svg{color:rgba(255,255,255,.8)}
.site-nav.solid.nav-dark .nav-search input{color:#fff}
.site-nav.solid.nav-dark .nav-search input::placeholder{color:rgba(255,255,255,.55)}
.site-nav.solid.nav-dark .nav-search:focus-within{background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.4);box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.site-nav.solid.nav-dark .nav-tel{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);
  box-shadow:none}
.site-nav.solid.nav-dark .nav-tel:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.34)}
.site-nav.solid.nav-dark .tel-txt em{color:rgba(255,255,255,.62)}
.site-nav.solid.nav-dark .tel-txt b{color:#fff}

.nav-tel{
  display:flex;align-items:center;gap:10px;padding:6px 17px 6px 8px;border-radius:30px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);
  transition:background .3s,transform .3s,border-color .3s,box-shadow .3s;
}
.nav-tel:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.tel-ico{
  width:31px;height:31px;border-radius:50%;flex:none;color:#fff;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1a6fe8,#19b8d8);
  box-shadow:0 0 0 0 rgba(26,111,232,.42);
  animation:telPulse 2.8s ease-in-out infinite;
}
@keyframes telPulse{0%,100%{box-shadow:0 0 0 0 rgba(26,111,232,.40)}55%{box-shadow:0 0 0 9px rgba(26,111,232,0)}}
.tel-ico svg{width:15px;height:15px}
.tel-txt em{display:block;font-style:normal;font-size:10.5px;letter-spacing:2.4px;line-height:1.3;color:rgba(255,255,255,.62)}
.tel-txt b{font-size:17px;font-weight:800;letter-spacing:.6px;line-height:1.25;color:#fff;font-variant-numeric:tabular-nums;transition:color .3s}
.site-nav.solid .nav-tel{background:#fff;border-color:#e6eef8;box-shadow:0 8px 22px rgba(11,31,60,.07)}
.site-nav.solid .tel-txt em{color:#8fa2b9}
.site-nav.solid .tel-txt b{color:#10294d}
.site-nav.solid .nav-tel:hover{border-color:rgba(26,111,232,.30);box-shadow:0 12px 26px rgba(11,31,60,.10)}

/* 汉堡按钮 + 移动端面板 */
.nav-burger{
  display:none;width:44px;height:44px;flex:none;border-radius:12px;cursor:pointer;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:background .3s,border-color .3s;
}
.nav-burger i{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .35s,opacity .3s}
.site-nav.solid .nav-burger{background:#f4f8fd;border-color:#e2ecf8}
.site-nav.solid .nav-burger i{background:#10294d}
.nav-burger.open i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open i:nth-child(2){opacity:0}
.nav-burger.open i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile{
  position:absolute;top:100%;left:0;right:0;z-index:1;
  background:#fff;box-shadow:0 24px 48px rgba(11,31,60,.16);
  max-height:0;overflow:hidden;padding:0 22px;
  transition:max-height .45s cubic-bezier(.2,.65,.3,1),padding .45s;
}
.nav-mobile.open{max-height:min(94vh,900px);overflow-y:auto;padding:12px 22px 18px}
.nav-mobile .nav-item{display:block;padding:10px 4px;border-radius:0;color:#33455f;
  border-bottom:1px solid #f1f6fc;font-size:14.5px}
.nav-mobile .nav-item::after{display:none}
.nav-mobile .nav-item:hover,.nav-mobile .nav-item.on{color:#1a6fe8;background:transparent}
.nm-search{display:flex;gap:8px;margin-bottom:8px}
.nm-search input{flex:1;height:44px;padding:0 16px;border-radius:12px;border:1px solid #e2ecf8;background:#f7fafd;
  font-size:14px;color:#10294d;outline:none;font-family:inherit}
.nm-search input:focus{border-color:rgba(26,111,232,.40);background:#fff}
.nm-search button{height:44px;padding:0 22px;border:none;border-radius:12px;cursor:pointer;color:#fff;
  font-size:14px;font-weight:700;font-family:inherit;background:linear-gradient(135deg,#1a6fe8,#19b8d8)}
.nm-tel{display:block;margin-top:16px;text-align:center;font-size:15px;font-weight:700;color:#fff;
  letter-spacing:1px;padding:13px;border-radius:12px;
  background:linear-gradient(135deg,#10294d,#1c4a86);box-shadow:0 12px 26px rgba(16,41,77,.24)}

/* 移动端：产品中心折叠组 */
.nm-sub{border-bottom:1px solid #f1f6fc}
.nm-sub-t{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 4px;
  background:none;border:0;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;color:#33455f}
.nm-sub-t i{width:8px;height:8px;flex:none;margin-right:4px;border-right:2px solid #9aabc2;border-bottom:2px solid #9aabc2;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .35s}
.nm-sub.open .nm-sub-t i{transform:rotate(-135deg) translate(-2px,-2px)}
.nm-sub-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;max-height:0;overflow:hidden;
  transition:max-height .42s cubic-bezier(.2,.65,.3,1)}
.nm-sub.open .nm-sub-list{max-height:460px;padding-bottom:10px}
.nm-sub-list a{display:block;padding:7px 2px;font-size:13px;color:#66798f;border-bottom:1px dashed #eef3fa;transition:color .25s}
.nm-sub-list a:hover{color:#1a6fe8}

/* ============ 产品中心 Mega Menu ============ */
.nav-drop{position:static;align-self:stretch;display:flex;align-items:center}
/* 独立高亮按钮 */
.nav-mega-btn{
  display:inline-flex;align-items:center;gap:8px;margin-right:6px;padding:11px 24px;border-radius:26px;
  font-size:15px;font-weight:700;letter-spacing:1.5px;color:#fff;white-space:nowrap;
  background:linear-gradient(135deg,#1a6fe8,#19b8d8);
  box-shadow:0 8px 20px rgba(26,111,232,.35);
  transition:box-shadow .3s,transform .3s,filter .3s;
}
.nav-mega-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 12px 26px rgba(26,111,232,.45)}
.mega-caret{width:11px;height:8px;flex:none;margin-top:1px;transition:transform .38s cubic-bezier(.2,.65,.3,1)}
.nav-drop:hover .mega-caret,.nav-drop:focus-within .mega-caret{transform:rotate(180deg)}
/* 点击后强制收起；重新滑入恢复 */
.nav-drop.shut .nav-mega{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(-14px)!important;
}

.nav-mega{
  position:absolute;left:0;right:0;top:calc(100% - 1px);z-index:2;
  background:#fff;border-top:1px solid rgba(16,41,77,.06);
  box-shadow:0 34px 64px rgba(9,26,54,.18);
  opacity:0;visibility:hidden;transform:translateY(-14px);pointer-events:none;
  max-height:calc(100vh - 90px);overflow-y:auto;overscroll-behavior:contain;
  transition:opacity .28s ease,transform .42s cubic-bezier(.2,.65,.3,1),visibility .28s;
}
.nav-mega::-webkit-scrollbar{width:6px}
.nav-mega::-webkit-scrollbar-thumb{background:#dbe6f3;border-radius:3px}
.nav-mega::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#1a6fe8,#19b8d8 32%,rgba(25,184,216,0) 78%)}
.nav-drop:hover .nav-mega,.nav-drop:focus-within .nav-mega{
  opacity:1;visibility:visible;transform:none;pointer-events:auto;
}

.mega-inner{
  width:min(1580px,94%);margin:0 auto;padding:38px 0 42px;
  display:grid;grid-template-columns:212px minmax(0,1fr);
}
.mega-col{min-width:0}
/* 右侧面板容器：每个分类一块，切换时只显示当前块 */
.mega-panels{min-width:0}
.mega-panel{display:none;grid-template-columns:256px minmax(0,1fr);min-width:0}

/* 左：分类列表 */
.mega-cats{padding-right:26px}
.mega-cats ul{display:grid;gap:3px}
.mega-cats a{
  display:flex;align-items:center;gap:11px;min-height:41px;padding:8px 12px 8px 10px;border-radius:9px;
  font-size:14.5px;line-height:1.4;color:#41546e;transition:color .26s,background .26s,padding .26s;
}
.mega-cats a::before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#c9d7e8;
  transition:background .26s,transform .26s}
.mega-cats a:hover{background:#eff6ff;color:#1a6fe8;padding-left:16px}
.mega-cats a:hover::before{background:#1a6fe8;transform:scale(1.3)}
/* 当前联动选中的分类（与悬停同款高亮） */
.mega-cats a.on{background:#eff6ff;color:#1a6fe8;padding-left:16px}
.mega-cats a.on::before{background:#1a6fe8;transform:scale(1.3)}

/* 面板切换动画 */
.mega-panel.on{display:grid;animation:megaSwap .34s cubic-bezier(.2,.65,.3,1) both}
@keyframes megaSwap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 中：系列子栏目 */
.mega-series{padding:4px 28px;border-left:1px solid #eef3fa}
.ms-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.ms-head h4{margin:0;font-size:15px;font-weight:800;color:#0b2a5b;letter-spacing:.3px;
  border-left:3px solid #1a6fe8;padding-left:9px;line-height:1.35}
.ms-head span{flex:none;white-space:nowrap;font-size:12px;font-weight:600;color:#a7b6c9;letter-spacing:0}
.ms-links{display:grid;grid-template-columns:1fr;gap:0}
.ms-links a{position:relative;display:block;padding:7px 0 7px 16px;font-size:13.5px;line-height:1.45;
  color:#6b7f98;transition:color .26s,transform .26s}
.ms-links a::before{content:"";position:absolute;left:0;top:14px;width:4px;height:4px;border-radius:50%;
  background:#d4e0ee;transition:background .26s,transform .26s}
.ms-links a:hover{color:#1a6fe8;transform:translateX(3px)}
.ms-links a:hover::before{background:#1a6fe8;transform:scale(1.3)}
/* 分组：带三级子栏目的系列（云简/云智等） */
.ms-group{padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed #e8eff9}
.ms-links .ms-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.ms-links .ms-gt{position:relative;display:flex;align-items:center;gap:8px;padding:5px 0 4px;
  font-size:13.5px;font-weight:700;letter-spacing:.2px;color:#223a58}
.ms-links .ms-gt::before{display:none}
.ms-links .ms-gt::after{content:"";flex:none;margin-left:auto;width:5px;height:5px;
  border-right:1.5px solid #c3d2e4;border-top:1.5px solid #c3d2e4;transform:rotate(45deg);
  transition:border-color .26s,transform .26s}
.ms-links .ms-gt:hover{color:#1a6fe8;transform:none}
.ms-links .ms-gt:hover::after{border-color:#1a6fe8;transform:rotate(45deg) translate(1px,-1px)}
.ms-gt em{font-style:normal;font-size:10.5px;font-weight:700;color:#5d92d8;background:#eef5fe;
  border-radius:99px;padding:2px 7px;line-height:1.3}
.ms-links .ms-sub{padding-left:27px;font-size:13px}
.ms-links .ms-sub::before{left:12px}
.ms-more{display:inline-block!important;margin:14px 0 0 15px;padding:0!important;font-size:12.5px;color:#1a6fe8}
.ms-more:hover{color:#19b8d8}
.ms-more::before{display:none}
.ms-desc{margin:18px 0 0;padding:12px 0 0 2px;border-top:1px dashed #e8eff9;
  font-size:12px;line-height:1.85;color:#93a5bb;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* 右：推荐产品 */
.mega-reco{padding:4px 0 0 32px;border-left:1px solid #eef3fa}
.mr-t{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.mr-t h4{margin:0;font-size:13.5px;font-weight:700;letter-spacing:1.2px;color:#8fa2b9}
.mr-t a{font-size:13px;color:#1a6fe8;transition:opacity .25s}
.mr-t a:hover{opacity:.72}
.mega-pds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px}
.mega-pd{display:block;padding:9px;border-radius:13px;border:1px solid transparent;
  transition:border-color .3s,background .3s,box-shadow .3s,transform .3s}
.mega-pd:hover{border-color:#cfe3ff;background:#f8fbff;box-shadow:0 16px 32px rgba(26,111,232,.13);transform:translateY(-3px)}
.pd-shot{position:relative;display:flex;align-items:center;justify-content:center;height:128px;
  border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#fbfcfe,#f1f5fa)}
.pd-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.pd-ico{width:50px;height:50px;color:#c3d2e4}
.pd-name{margin-top:9px;font-size:13px;line-height:1.5;color:#41546e;text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:39px}
.mega-pd:hover .pd-name{color:#1a6fe8}

/* 中等屏幕：压缩列宽与字号 */
@media (max-width:1440px){
  .mega-inner{grid-template-columns:200px minmax(0,1fr);padding:30px 0 34px}
  .mega-panel{grid-template-columns:234px minmax(0,1fr)}
  .mega-cats{padding-right:18px}
  .mega-series{padding:4px 20px}
  .mega-reco{padding-left:22px}
  .mega-cats a{font-size:13.5px;min-height:38px}
  .pd-shot{height:108px}
  .pd-ico{width:42px;height:42px}
  .pd-name{font-size:12.5px;min-height:37px}
}
@media (max-width:1280px){
  .mega-inner{grid-template-columns:192px minmax(0,1fr);padding:24px 0 28px}
  .mega-panel{grid-template-columns:218px minmax(0,1fr)}
  .mega-cats{padding-right:14px}
  .mega-series{padding:4px 16px}
  .mega-reco{padding-left:18px}
  .mega-cats a{font-size:12.5px;min-height:35px;gap:8px}
  .mega-pds{gap:10px}
  .pd-shot{height:88px}
  .pd-name{font-size:12px;min-height:36px}
}

/* 矮屏（笔记本 768/800 高）：压缩纵向间距，保证多级栏目一屏看全 */
@media (max-height:820px){
  .mega-inner{padding:22px 0 24px}
  .mega-cats a{min-height:35px;font-size:13.5px}
  .ms-head{margin-bottom:8px}
  .ms-head h4{font-size:14px}
  .ms-group{padding-bottom:6px;margin-bottom:6px}
  .ms-links a{padding:4px 0 4px 15px;font-size:12.6px}
  .ms-links .ms-gt{padding:3px 0 2px;font-size:13px}
  .ms-links .ms-sub{padding-left:24px;font-size:12.3px}
  .ms-links .ms-sub::before{left:10px;top:10px}
  .ms-links a::before{top:11px}
  .ms-desc{display:none}
  .ms-more{margin-top:9px}
  .mr-t{margin-bottom:10px}
  .pd-shot{height:96px}
  .pd-name{font-size:12px;min-height:34px}
}

/* 菜单项较多：窄桌面逐级压缩，避免与搜索框/电话重叠 */
@media (max-width:1600px){
  .nav-inner{gap:14px}
  .nav-item{padding:10px 9px;font-size:14.5px}
  .nav-search{width:206px}
  .nav-mega-btn{padding:10px 17px;font-size:14.5px;letter-spacing:1px}
}
@media (max-width:1500px){
  .nav-item{padding:10px 7px;font-size:14px}
  .nav-search{width:190px}
  .site-nav.solid .nav-search{width:198px}
  .nav-mega-btn{padding:9px 15px;font-size:14px}
}
@media (max-width:1400px){
  .nav-item{padding:10px 6px;font-size:13.5px}
  .nav-logo img{height:42px}
  .site-nav.solid .nav-logo img{height:36px}
  .nav-search{width:168px}
  .site-nav.solid .nav-search{width:176px}
  .nav-tel{padding:5px 12px 5px 7px}
  .tel-ico{width:28px;height:28px}
  .tel-txt em{display:none}
  .tel-txt b{font-size:14px}
  .nav-inner{gap:12px}
  .nav-mega-btn{padding:9px 13px;font-size:13.5px;letter-spacing:.6px}
}
@media (max-width:1290px){
  .nav-item{padding:10px 5px;font-size:13px}
  .nav-logo img{height:38px}
  .site-nav.solid .nav-logo img{height:33px}
  .nav-search{width:160px;padding-left:11px}
  .site-nav.solid .nav-search{width:168px}
  .nav-search button{padding:0 12px;font-size:12.5px}
  .nav-inner{gap:10px}
  .nav-mega-btn{padding:8px 11px;font-size:13px}
}

@media (max-width:1180px){
  .nav-menu{display:none}
  .nav-search{display:none}
  .nav-burger{display:flex}
}
@media (max-width:760px){
  .site-nav{height:72px}
  .site-nav.solid{height:64px}
  .nav-logo img{height:38px}
  .site-nav.solid .nav-logo img{height:34px}
  .nav-tel{padding:5px 12px 5px 6px}
  .tel-ico{width:27px;height:27px}
  .tel-txt em{display:none}
  .tel-txt b{font-size:14.5px}
  .nav-inner{gap:10px}
}

/* ============ 应用领域屏：响应式与矮屏适配 ============ */
@media (max-width:1440px){
  .field-grid{grid-template-columns:296px minmax(0,1fr);gap:44px}
  .fd-list li{font-size:23px}
  .fd-card{margin-left:-16px}
  .fd-shot{height:clamp(160px,18vh,206px)}
  .fd-body{padding:12px 13px 14px}
  .fd-body b{font-size:15.5px}
  .fd-card:nth-child(2n){margin-top:52px}
}
@media (max-width:1280px){
  .field-grid{grid-template-columns:262px minmax(0,1fr);gap:32px}
  .fd-list li{font-size:21px;line-height:1.9}
  .fd-desc{font-size:12.4px}
  .fd-tel{font-size:15px;padding:6px 20px 6px 6px}
  .fd-tel-ico{width:32px;height:32px}
  .fd-card{margin-left:-13px}
  .fd-shot{height:clamp(150px,17vh,188px)}
  .fd-ico{width:48px;height:48px;border-radius:15px}
  .fd-ico svg{width:25px;height:25px}
  .fd-body em{font-size:8.8px;letter-spacing:.2px}
  .fd-body b{font-size:14.4px}
  .fd-ck{width:23px;height:23px;margin-top:9px}
  .fd-card:nth-child(2n){margin-top:44px}
  .fd-head h3{font-size:23px}
}
@media (max-width:1080px){
  .field-grid{grid-template-columns:1fr;gap:26px}
  .field-sec .wrap{min-height:0}
  .fd-list li{font-size:22px;line-height:1.9}
  .fd-desc{margin:16px 0 20px;padding-top:14px}
  .fd-cards{flex-wrap:wrap;gap:14px;padding-bottom:0}
  .fd-card{flex:0 0 calc(33.333% - 10px);margin-left:0;--fd:0s!important}
  .fd-card:nth-child(2n){margin-top:0}
  .fd-shot{height:172px}
}
@media (max-width:900px){
  /* 窄屏取消整屏吸附后 sync 不再触发，直接展示，不做入场与浮动 */
  .fd-list li,.fd-card,.fd-head,.fd-desc,.fd-tel{animation:none!important;opacity:1!important}
  .fd-card{flex:0 0 calc(50% - 7px)}
  .fd-shot{height:186px}
  .fd-inner{transform:none!important;box-shadow:0 12px 26px rgba(15,60,140,.12)}
  .fd-ripple{display:none}
}
@media (max-width:640px){
  .fd-list li{font-size:19px}
  .fd-card{flex:0 0 calc(50% - 6px)}
  .fd-shot{height:150px}
  .fd-ico{width:44px;height:44px}
  .fd-ico svg{width:23px;height:23px}
}
@media (max-width:1680px){
  /* 右侧悬浮客服条会盖住最后一张卡，留出安全间距 */
  .field-sec .fd-right{padding-right:72px}
  /* 关于云唐：影像墙与资质条一起避让，标题仍保持居中 */
  .about-sec .about-grid,.about-sec .ab-certs{padding-right:62px}
}
@media (max-width:900px){
  /* 防止 banner 视差层造成的横向滚动 */
  body{overflow-x:hidden}
}

/* ---- 产品主视觉：3D 缓慢转台（左右轻摆 + 微呼吸缩放），取代上下晃动 ---- */
@keyframes heroTurn{
  0%  {transform:rotateY(-7deg) rotateX(2.2deg) scale(1)}
  20% {transform:rotateY(7deg) rotateX(-1.8deg) scale(1.028)}
  38% {transform:rotateY(7deg) rotateX(-1.8deg) scale(1.028)}
  58% {transform:rotateY(-7deg) rotateX(2.2deg) scale(1)}
  80% {transform:rotateY(-7deg) rotateX(2.2deg) scale(1)}
  100%{transform:rotateY(-7deg) rotateX(2.2deg) scale(1)}
}
@keyframes floorShift{
  0%,80%,100%{transform:translateX(-10px) scaleX(.96);opacity:.8}
  20%,38%    {transform:translateX(10px) scaleX(1.06);opacity:1}
}
@keyframes ringSpin{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to  {transform:translate(-50%,-50%) rotate(360deg)}
}

