/* ===== 业务闭环轮播 ===== */
.business-carousel-wrapper{max-width:1350px;width:100%;position:relative;margin:0 auto 40px;background-image:var(--hero-bg);background-size:cover;background-position:center;border-radius:32px;min-height:200px;overflow:hidden}
.math-bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.5}
body.dark .math-bg-canvas{opacity:0.3}
.business-carousel-viewport{overflow:hidden;border-radius:0;position:relative}
.business-carousel-track{display:flex;transition:transform 0.7s cubic-bezier(0.23,1,0.32,1);will-change:transform}
.business-slide{flex:0 0 100%;min-height:360px;padding:20px 20px 68px;display:flex;gap:56px;align-items:stretch;position:relative;background:transparent!important;border:none!important;box-shadow:none!important}
.business-slide::before,.business-slide::after{display:none!important;content:none!important}
.business-left{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;text-align:left;align-items:flex-start}
.business-left .badge{display:inline-block;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.8px;color:var(--accent,#2563eb);background:var(--accent-light,rgba(37,99,235,0.08));padding:4px 18px;border-radius:40px;margin-bottom:14px;border:1px solid rgba(37,99,235,0.10)}
.business-left h2{font-size:2.2rem;font-weight:700;color:var(--text-primary,#0b1a33);letter-spacing:-0.02em;margin-bottom:6px}
.business-left .sub{font-size:1.15rem;font-weight:400;color:var(--text-secondary,#334155);margin-bottom:16px}
.business-left .desc{font-size:1rem;color:var(--text-secondary,#334155);line-height:1.8;max-width:480px;margin-bottom:28px}
.business-stat-row{display:flex;flex-wrap:nowrap;width:100%;padding:8px 0;gap:0}
.business-stat-item{display:flex;align-items:baseline;gap:3px;padding:4px 0;margin-right:24px}
.business-stat-item:last-child{margin-right:0}
.business-stat-item .stat-number{font-size:1.35rem;font-weight:700;color:var(--accent,#2563eb);letter-spacing:-0.02em;line-height:1.3;flex-shrink:0}
.business-stat-item .stat-label{font-size:0.82rem;color:var(--text-secondary,#334155);font-weight:400;line-height:1.3;white-space:nowrap}
.business-right{flex:0 0 400px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:300px}
.business-network{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.business-network svg{width:100%;height:auto;max-height:320px;filter:drop-shadow(0 4px 24px rgba(37,99,235,0.04))}
.business-controls{position:absolute;bottom:32px;right:56px;z-index:10;display:flex;align-items:center;gap:18px;color:var(--text-muted,#7a8aa3);user-select:none}
.business-counter{font-size:0.9rem;font-weight:500;letter-spacing:0.3px;font-variant-numeric:tabular-nums}
.business-counter .current{color:var(--text-primary,#0b1a33);font-weight:600}
.business-arrows{display:flex;gap:2px}
.business-arrows button{width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,0.3);backdrop-filter:blur(4px);color:var(--text-muted,#7a8aa3);font-size:0.95rem;cursor:pointer;transition:all 0.25s ease;display:flex;align-items:center;justify-content:center}
.business-arrows button:hover{color:var(--accent,#2563eb);background:var(--accent-light,rgba(37,99,235,0.10))}
.business-arrows button:disabled{opacity:0.2;cursor:not-allowed}

/* 动效 */
@keyframes nodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes centerPulse{0%,100%{transform:scale(1);opacity:0.1}50%{transform:scale(1.15);opacity:0.2}}
@keyframes centerGlowPulse{0%,100%{opacity:0.6}50%{opacity:0.85;transform:scale(1.04)}}
@keyframes edgeFlow{0%{stroke-dashoffset:1000}100%{stroke-dashoffset:0}}
.node-group{cursor:default;transition:all 0.4s cubic-bezier(0.2,0.9,0.4,1);animation:nodeFloat 4s ease-in-out infinite}
.node-group:nth-child(1){animation-delay:0s}.node-group:nth-child(2){animation-delay:.6s}
.node-group:nth-child(3){animation-delay:1.2s}.node-group:nth-child(4){animation-delay:.3s}
.node-group:nth-child(5){animation-delay:.9s}.node-group:nth-child(6){animation-delay:1.5s}
.center-node{animation:centerGlowPulse 3s ease-in-out infinite}
.center-ring{animation:centerPulse 4s ease-in-out infinite;transform-origin:center}
.node-group:hover{animation-play-state:paused}
.node-group:hover .node-bg-rect{transform:scale(1.08);filter:drop-shadow(0 6px 24px rgba(37,99,235,0.18))}
.node-group:hover .node-glow-fill{opacity:1}
.node-group:hover .node-label-text{fill:var(--text-primary,#0b1a33);font-weight:600}
.node-bg-rect{transition:transform 0.4s cubic-bezier(0.2,0.9,0.4,1),filter 0.4s ease;transform-origin:center}
.node-glow-fill{opacity:0;transition:opacity 0.5s ease}
.node-label-text{transition:fill .3s ease,font-weight .3s ease}
.biz-edge{fill:none;stroke-width:1.8;opacity:0.2;transition:opacity .4s ease,stroke-width .4s ease;stroke-linecap:round}
.biz-edge:hover{opacity:0.5;stroke-width:2.5}
.biz-edge-flow{stroke-dasharray:8 6;animation:edgeFlow 8s linear infinite}

/* 暗色 */
body.dark .business-arrows button{background:rgba(255,255,255,0.05)}
body.dark .business-arrows button:hover{background:rgba(96,165,250,0.12)}

/* 响应式 */
@media(max-width:1100px){.business-slide{padding:38px 36px 58px;gap:40px;min-height:320px}.business-right{flex:0 0 340px;min-height:260px}.business-network svg{max-height:280px}.business-left h2{font-size:1.8rem}.business-controls{bottom:26px;right:38px}}
@media(max-width:1000px){.main-wrapper{margin-left:0}.business-carousel-wrapper{max-width:100%}}
@media(max-width:860px){.business-slide{flex-direction:column;padding:32px 28px 52px;gap:28px;min-height:auto}.business-left .desc{max-width:100%}.business-right{flex:none;width:100%;max-width:420px;margin:0 auto;min-height:220px}.business-right svg{max-height:240px}.business-left h2{font-size:1.8rem}.business-left .sub{font-size:1.15rem}.business-left .desc{font-size:1rem}.business-controls{bottom:22px;right:28px;gap:14px}.business-counter{font-size:0.85rem}.business-arrows button{width:34px;height:34px;font-size:0.85rem}.business-stat-item .stat-number{font-size:1.25rem}}
@media(max-width:700px){.business-slide{padding:24px 20px 48px}.business-stat-row{flex-wrap:wrap;gap:2px}.business-stat-item{margin-right:0;flex:1 1 calc(50% - 2px);padding:4px 0}.business-stat-item .stat-number{font-size:1.15rem}.business-stat-item .stat-label{font-size:0.78rem}.business-left h2{font-size:1.7rem}.business-left .sub{font-size:1.05rem}.business-left .desc{font-size:1rem}.business-left .badge{font-size:0.7rem;padding:4px 16px;margin-bottom:10px}.business-right{min-height:180px}.business-right svg{max-height:190px}.business-controls{bottom:18px;right:20px;gap:12px}.business-counter{font-size:0.78rem}.business-arrows button{width:28px;height:28px;font-size:0.78rem}}
@media(max-width:480px){.business-slide{padding:18px 14px 40px}.business-left h2{font-size:1.5rem}.business-left .sub{font-size:0.95rem}.business-left .desc{font-size:0.92rem;margin-bottom:14px}.business-stat-item .stat-number{font-size:1.05rem}.business-stat-item .stat-label{font-size:0.72rem}.business-stat-item{padding:3px 0}.business-left .badge{font-size:0.65rem;padding:3px 14px;margin-bottom:8px}.business-right{min-height:150px}.business-right svg{max-height:160px}.business-controls{bottom:14px;right:14px;gap:8px}.business-counter{font-size:0.68rem}.business-arrows button{width:26px;height:26px;font-size:0.68rem}}
@media(max-width:380px){.business-slide{padding:12px 10px 36px}.business-left h2{font-size:1.3rem}.business-left .sub{font-size:0.9rem}.business-left .desc{font-size:0.85rem}.business-stat-item .stat-number{font-size:0.95rem}.business-stat-item .stat-label{font-size:0.65rem}.business-left .badge{font-size:0.58rem}.business-right svg{max-height:130px}}
