/* ===== 聚合页科技 Banner（明宇 20261011 v6）浅色等距IoT 3D + 单叶复制严格对称转子 + 流动数据光效 ===== */
.techbanner{position:relative;height:600px;overflow:hidden;color:#10241b;
 background:linear-gradient(105deg,#f2f7fb 0%,#eef6f1 46%,#eaf3f6 100%);
 display:flex;align-items:center}
/* 右侧 3D 主视觉（去叶片底图+独立转子+光效，同区叠加） */
.tb-visual{position:absolute;top:0;right:0;width:66%;height:100%;z-index:1;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%);
 mask-image:linear-gradient(90deg,transparent 0,#000 17%)}
.tb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
 display:block;user-select:none;-webkit-user-drag:none}
.tb-fx{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
/* 唯一一台风机：位置/尺寸由 techbanner.js 按底图cover矩形用底图像素坐标驱动，屏幕任意尺寸锁死 */
.tb-nfan{position:absolute;z-index:3;left:0;top:0;width:176px;height:176px;
 transform:translate(-50%,-50%);pointer-events:none;will-change:transform}
.tb-nrotor{position:absolute;inset:0;width:100%;height:100%;
 animation:tbSpin 12s linear infinite;transform-origin:center center;
 filter:drop-shadow(0 2px 4px rgba(60,110,130,.16))}
@keyframes tbSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* 左侧文案区压白，保证标题清晰 */
.tb-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;
 background:linear-gradient(90deg,rgba(242,247,251,.96) 0%,rgba(242,247,251,.80) 30%,rgba(242,247,251,.12) 47%,transparent 60%)}
.techbanner .wrap{position:relative;z-index:3;width:100%}
.tb-text{max-width:560px;animation:tbRise .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes tbRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.tb-kick{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;
 color:#0f7a4e;background:rgba(35,157,84,.12);border:1px solid rgba(35,157,84,.32);
 padding:7px 16px;border-radius:20px;margin-bottom:22px;letter-spacing:.5px}
.tb-kick::before{content:"";width:7px;height:7px;border-radius:50%;background:#23b568;
 box-shadow:0 0 0 4px rgba(35,181,104,.18);animation:tbPulse 1.8s ease-in-out infinite}
@keyframes tbPulse{0%,100%{opacity:1}50%{opacity:.4}}
.tb-cn{font-size:48px;font-weight:800;line-height:1.12;margin:0 0 6px;color:#0e2b1c;letter-spacing:1px}
.tb-en{font-size:20px;font-weight:800;letter-spacing:5px;color:#1f9a60;margin:0 0 20px}
.tb-sub{font-size:17px;line-height:1.85;color:#45584e;margin:0 0 32px;max-width:500px}
.tb-acts{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.tb-btn{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,#23a95c,#178a47);
 color:#fff!important;padding:14px 32px;border-radius:30px;font-weight:700;font-size:16px;
 box-shadow:0 14px 30px rgba(29,150,80,.32);transition:.22s}
.tb-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(29,170,90,.42)}
.tb-btn.ghost{background:rgba(255,255,255,.7);color:#0f6a45!important;border:1.5px solid rgba(31,154,96,.4);
 box-shadow:none}
.tb-stats{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap}
.tb-stat b{display:block;font-size:28px;font-weight:800;color:#0e2b1c;line-height:1}
.tb-stat span{font-size:13px;color:#6b7d73;margin-top:7px;display:block}
@media(max-width:1024px){
 .techbanner{height:520px}.tb-cn{font-size:40px}.tb-text{max-width:62%}
 .tb-visual{width:88%}.tb-scrim{background:linear-gradient(90deg,rgba(242,247,251,.95) 0%,rgba(242,247,251,.65) 42%,transparent 66%)}
}
@media(max-width:760px){
 .techbanner{height:460px;align-items:flex-end;padding-bottom:34px}
 .tb-visual{width:100%;opacity:.5;-webkit-mask-image:none;mask-image:none}
 .tb-scrim{background:linear-gradient(180deg,rgba(242,247,251,.55) 0%,rgba(242,247,251,.90) 55%,rgba(242,247,251,.97) 100%)}
 .tb-text{max-width:100%}.tb-cn{font-size:31px}.tb-en{font-size:15px;letter-spacing:3px;margin-bottom:13px}
 .tb-sub{font-size:14.5px;margin-bottom:20px}.tb-stats{display:none}
}
@media(prefers-reduced-motion:reduce){.tb-nrotor{animation:none}.tb-kick::before{animation:none}}
