/* ============================================================
   大雄科技 DAXIONG DESIGN · 官网样式
   深空蓝黑 + 科技青蓝 + 荣誉金 · 全终端自适应 · 零外链
   ============================================================ */

/* ---------- 全局重置与变量 ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{
  font-family:-apple-system,"PingFang SC","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button{border:none;background:none;cursor:pointer;font-family:inherit;color:inherit}
:root{
  --bg:#0a0e1a;--bg2:#0d1424;--bg3:#080c16;
  --text:#e8ecf5;--text2:#a0a8bc;--muted:#8892a6;
  --cyan:#00d4ff;--blue:#0066ff;--purple:#7b2ff7;
  --gold:#ffb942;--gold2:#ffc96b;--green:#00ff88;
  --border:var(--border);
  --grad:linear-gradient(135deg,#00d4ff,#0066ff);
  --grad-gold:linear-gradient(135deg,#ffb942,#ff8a00);
  --grad-hero:linear-gradient(135deg,#00d4ff 0%,#0066ff 50%,#7b2ff7 100%);
  --text3:#c0c8d8;--text-soft:rgba(255,255,255,.78);
  --card:rgba(255,255,255,.04);--card-strong:rgba(255,255,255,.1);
  --border-strong:rgba(255,255,255,.28);
  --nav-bg:rgba(10,14,26,.92);--bg-soft:rgba(10,14,26,.6);--panel-deep:rgba(10,18,40,.74);
  --topbar-overlay:rgba(0,0,0,.35);
  --panel-grad:linear-gradient(160deg,#131c36,#0b1022);
  --screen-grad:radial-gradient(ellipse at 50% 0%,#14203f,#0a0e1a 70%);
  --hero-vignette:#0a0e1a;
  --section-alt:linear-gradient(180deg,#0a0e1a 0%,#0d1424 100%);
  --video-bg:radial-gradient(circle at 50% 35%,#1b2b52,#0a0e1a);
  --gov-bg:linear-gradient(145deg,#0e1830,#0a1022);
  --num-ghost:rgba(255,255,255,.07);

}
.container{max-width:1400px;margin:0 auto;padding:0 40px}

/* ---------- 自定义滚动条 ---------- */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00d4ff,#0066ff);border-radius:4px}

/* ---------- 自定义光标 ---------- */

.cursor-dot,.cursor-outline{position:fixed;top:0;left:0;pointer-events:none;z-index:2147483000;will-change:left,top}
.cursor-dot{width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20viewBox%3D%220%200%2022%2022%22%3E%3Cpath%20d%3D%22M2.5%201%20L19%209.2%20L11.6%2011%20L8.2%2017.5%20Z%22%20fill%3D%22%2300d4ff%22%20opacity%3D%220.95%22%2F%3E%3Cpath%20d%3D%22M2.5%201%20L19%209.2%20L11.6%2011%20L8.2%2017.5%20Z%22%20fill%3D%22none%22%20stroke%3D%22%23eaffff%22%20stroke-width%3D%221%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M2.5%201%20L19%209.2%20L11.6%2011%20L8.2%2017.5%20Z%22%20fill%3D%22none%22%20stroke%3D%22%230066b3%22%20stroke-width%3D%220.5%22%20opacity%3D%220.5%22%20transform%3D%22translate%281.4%2C1.4%29%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;opacity:0;margin-left:-3px;margin-top:-2px;transition:opacity .2s}
.cursor-outline{width:40px;height:40px;border:2px solid rgba(0,212,255,.5);border-radius:50%;opacity:0;transition:opacity .2s,width .3s,height .3s,border-color .3s}
.cursor-outline.hover{width:70px;height:70px;border-color:#ffb942;background:rgba(255,185,66,.1)}

/* ---------- 滚动进度条 ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;background:linear-gradient(90deg,#00d4ff,#ffb942);transition:width .1s linear}

/* ============================================================
   01 顶部信息栏
   ============================================================ */
.topbar{background:var(--bg3);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0;z-index:1001}
.topbar-inner{display:flex;align-items:center;gap:28px;height:40px;font-size:13px;color:var(--muted)}
.topbar-item{display:flex;align-items:center;gap:7px}
.topbar-item a{transition:color .3s}
.topbar-item a:hover{color:#00d4ff}
.tb-ico{font-size:12px;opacity:.9}
.topbar-right{margin-left:auto}

/* ============================================================
   02 导航栏
   ============================================================ */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:background .4s,box-shadow .4s,padding .4s}
.navbar.scrolled{top:0;background:var(--nav-bg);backdrop-filter:blur(20px);padding:12px 0;border-bottom:1px solid rgba(0,212,255,.1);box-shadow:0 10px 40px rgba(0,0,0,.3)}
.nav-container{display:flex;align-items:center;justify-content:space-between}
.logo{font-size:24px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}
.logo span{font-size:12px;font-weight:400;color:var(--muted);display:block;letter-spacing:2px;margin-top:2px;-webkit-text-fill-color:var(--muted)}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-size:15px;color:var(--text3);position:relative;padding:5px 0;transition:color .3s}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#00d4ff,#ffb942);transition:width .3s ease}
.nav-links a:hover,.nav-links a.active{color:#00d4ff}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links .nav-ai{color:#ffc96b}
.nav-links .nav-cta{padding:10px 26px!important;background:linear-gradient(135deg,#ffb942,#ff8a00);border-radius:30px;color:#0a0e1a!important;font-weight:700;-webkit-text-fill-color:#0a0e1a!important;transition:transform .3s,box-shadow .3s!important}
.nav-links .nav-cta::after{display:none!important}
.nav-links .nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,185,66,.4)}
.mobile-toggle{display:none;flex-direction:column;gap:5px;z-index:1002}
.mobile-toggle span{width:28px;height:2px;background:#fff;transition:all .3s}
@media(max-width:1180px){
  .nav-links{gap:20px}
  .nav-links a{font-size:14px}
}

/* ============================================================
   03 Hero 首屏
   ============================================================ */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:104px 40px 80px}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg canvas{position:absolute;inset:0;width:100%;height:100%}
.hero-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,var(--hero-vignette) 82%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.05) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 24s linear infinite}
@keyframes gridMove{0%{background-position:0 0}100%{background-position:60px 60px}}
.hero-content{position:relative;z-index:2;text-align:center;max-width:1000px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:rgba(255,185,66,.08);border:1px solid rgba(255,185,66,.4);border-radius:50px;font-size:14px;color:#ffc96b;margin-bottom:30px;animation:fadeInUp 1s ease .2s both}
.hero-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:#ffb942;box-shadow:0 0 10px #ffb942;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero-title{font-size:clamp(40px,7vw,80px);font-weight:900;line-height:1.1;margin-bottom:24px;animation:fadeInUp 1s ease .4s both}
.hero-title .gradient{background:var(--grad-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:gradientShift 4s ease infinite}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-sub{font-size:clamp(16px,2vw,22px);color:var(--text2);margin-bottom:50px;animation:fadeInUp 1s ease .6s both;line-height:1.8}
.hero-sub .typing-text{color:#ffc96b;font-weight:600;border-right:2px solid #ffb942;padding-right:4px;animation:blink .8s infinite}
@keyframes blink{50%{border-color:transparent}}
.hero-btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease .8s both}
.btn-primary{padding:16px 40px;background:var(--grad);border-radius:50px;font-size:16px;font-weight:600;color:#fff;transition:all .3s;position:relative;overflow:hidden;display:inline-block}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#0066ff,#00d4ff);opacity:0;transition:opacity .3s}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,212,255,.4)}
.btn-primary:hover::before{opacity:1}
.btn-primary span{position:relative;z-index:1}
.btn-secondary{padding:16px 40px;border:2px solid rgba(255,185,66,.6);border-radius:50px;font-size:16px;font-weight:600;color:#ffc96b;transition:all .3s;display:inline-block;background:rgba(255,185,66,.04)}
.btn-secondary:hover{background:rgba(255,185,66,.12);border-color:#ffb942;transform:translateY(-3px);box-shadow:0 15px 40px rgba(255,185,66,.2)}
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2;animation:fadeInUp 1s ease 1s both}
.scroll-indicator{width:26px;height:42px;border:2px solid rgba(0,212,255,.5);border-radius:20px;position:relative}
.scroll-indicator::before{content:'';width:4px;height:8px;background:#00d4ff;border-radius:4px;position:absolute;top:8px;left:50%;transform:translateX(-50%);animation:scrollDown 2s infinite}
@keyframes scrollDown{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(16px)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ============================================================
   通用板块
   ============================================================ */
.section{padding:110px 40px;position:relative;max-width:1400px;margin:0 auto}
.section-header{text-align:center;margin-bottom:70px}
.section-tag{display:inline-block;padding:6px 20px;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.3);border-radius:30px;color:#00d4ff;font-size:13px;letter-spacing:2px;margin-bottom:20px}
.section-title{font-size:clamp(30px,5vw,54px);font-weight:800;line-height:1.25;margin-bottom:20px}
.section-title .highlight{background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-sub{font-size:17px;color:var(--muted);max-width:720px;margin:0 auto}

/* 滚动揭示动画 */
.reveal{opacity:0;transform:translateY(60px);transition:all .9s cubic-bezier(.16,1,.3,1)}
.reveal.active{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-60px);transition:all .9s cubic-bezier(.16,1,.3,1)}
.reveal-left.active{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(60px);transition:all .9s cubic-bezier(.16,1,.3,1)}
.reveal-right.active{opacity:1;transform:translateX(0)}

/* ============================================================
   04 信任数字条
   ============================================================ */
.stats-bar{max-width:1400px;margin:-10px auto 0;padding:0 40px;position:relative;z-index:5}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:48px 40px;background:linear-gradient(135deg,rgba(0,212,255,.06),rgba(255,185,66,.06));border:1px solid rgba(255,185,66,.2);border-radius:24px;backdrop-filter:blur(10px)}
.stat-item{text-align:center}
.stat-num{font-size:clamp(38px,5vw,58px);font-weight:900;background:linear-gradient(135deg,#ffc96b,#ff8a00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;font-variant-numeric:tabular-nums}
.stat-label{color:var(--muted);font-size:14px;margin-top:10px;letter-spacing:2px}

/* ============================================================
   05 一体化四层模型
   ============================================================ */
.model-section{background:var(--section-alt)}
.model-layers{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;position:relative}
.model-layers::before{content:'';position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,185,66,.4),transparent);z-index:0}
.model-card{position:relative;z-index:1;padding:40px 30px;background:var(--card);border:1px solid var(--border);border-radius:20px;text-align:center;transition:all .5s cubic-bezier(.16,1,.3,1);overflow:hidden}
.model-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,255,.1),rgba(255,185,66,.06));opacity:0;transition:opacity .5s}
.model-card:hover{transform:translateY(-10px);border-color:rgba(255,185,66,.5);box-shadow:0 20px 60px rgba(255,185,66,.12)}
.model-card:hover::before{opacity:1}
.model-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,rgba(0,212,255,.2),rgba(255,185,66,.15));border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:36px;position:relative;z-index:1}
.model-num{font-size:80px;font-weight:900;color:rgba(255,185,66,.08);position:absolute;top:-10px;right:10px;line-height:1}
.model-card h3{font-size:22px;margin-bottom:12px;position:relative;z-index:1}
.model-card p{color:var(--muted);font-size:14px;position:relative;z-index:1;line-height:1.8}
.model-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;justify-content:center;position:relative;z-index:1}
.model-tags span{padding:4px 12px;background:rgba(0,212,255,.1);border-radius:20px;font-size:12px;color:#00d4ff}

/* ============================================================
   06 解决方案
   ============================================================ */
.solution-tabs{display:flex;justify-content:center;gap:16px;margin-bottom:50px;flex-wrap:wrap}
.solution-tab{padding:14px 32px;background:var(--card);border:1px solid var(--border);border-radius:50px;font-size:16px;color:var(--text2);transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.solution-tab.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 10px 30px rgba(0,212,255,.3);transform:scale(1.05)}
.solution-tab:hover:not(.active){border-color:rgba(255,185,66,.4);color:#ffc96b}
.solution-panels{position:relative;min-height:420px}
.solution-panel{display:none;animation:panelIn .6s ease forwards}
.solution-panel.active{display:grid}
@keyframes panelIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.solution-panel{grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.solution-visual{height:420px;border-radius:24px;position:relative;overflow:hidden;border:1px solid var(--border);background:var(--bg2)}
.solution-visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.solution-visual:hover img{transform:scale(1.05)}
.solution-visual-tag{position:absolute;bottom:18px;left:18px;padding:6px 16px;background:rgba(10,14,26,.75);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:20px;font-size:13px;color:var(--text);font-weight:600}
.solution-info h3{font-size:32px;margin-bottom:20px;font-weight:700}
.solution-info h3 span{color:#ffc96b}
.solution-info > p{color:var(--muted);margin-bottom:24px;line-height:1.8;font-size:16px}
.solution-list{display:grid;gap:14px}
.solution-item{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--card);border-radius:12px;border:1px solid var(--border);transition:all .3s}
.solution-item:hover{background:rgba(0,212,255,.05);border-color:rgba(255,185,66,.25);transform:translateX(5px)}
.solution-item-icon{width:38px;height:38px;min-width:38px;background:var(--grad);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}
.solution-item-text h4{font-size:16px;margin-bottom:4px}
.solution-item-text p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}

/* ============================================================
   07 AI 赋能教育
   ============================================================ */
.ai-edu-section{background:var(--section-alt)}
.ai-edu-section .section-title .highlight{background:linear-gradient(135deg,#ffb942,#ff8a00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ai-edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ai-edu-visual{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(255,185,66,.25);box-shadow:0 30px 80px rgba(255,185,66,.1)}
.ai-edu-visual img{width:100%;height:100%;object-fit:cover}
.ai-edu-badge{position:absolute;top:18px;left:18px;padding:6px 16px;background:linear-gradient(135deg,#ffb942,#ff8a00);border-radius:20px;font-size:13px;font-weight:800;color:#0a0e1a;letter-spacing:1px}
.ai-edu-features{display:flex;flex-direction:column;gap:22px}
.ai-feature{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;background:var(--card);border:1px solid var(--border);border-radius:16px;transition:all .35s}
.ai-feature:hover{border-color:rgba(255,185,66,.4);background:rgba(255,185,66,.04);transform:translateX(6px)}
.ai-feature-icon{width:52px;height:52px;min-width:52px;background:linear-gradient(135deg,rgba(255,185,66,.2),rgba(0,212,255,.15));border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px}
.ai-feature-body h4{font-size:18px;margin-bottom:6px;color:#ffc96b}
.ai-feature-body p{font-size:14px;color:var(--text2);line-height:1.7}
.ai-edu-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ai-edu-tags span{padding:6px 16px;background:rgba(255,185,66,.1);border:1px solid rgba(255,185,66,.3);border-radius:20px;font-size:13px;color:#ffc96b}

/* ============================================================
   08 标杆案例
   ============================================================ */
.cases-section{background:var(--section-alt)}
.cases-filter{display:flex;justify-content:center;gap:12px;margin-bottom:50px;flex-wrap:wrap}
.case-filter-btn{padding:10px 24px;background:transparent;border:1px solid var(--border);border-radius:30px;font-size:14px;color:var(--text2);transition:all .3s}
.case-filter-btn.active,.case-filter-btn:hover{background:rgba(255,185,66,.12);border-color:#ffb942;color:#ffc96b}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.case-card{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;transition:transform .5s cubic-bezier(.16,1,.3,1);border:1px solid var(--border);background:var(--bg2)}
.case-card::after{content:'查看详情 →';position:absolute;top:20px;right:20px;z-index:3;padding:8px 16px;background:var(--grad);border-radius:20px;font-size:12px;font-weight:600;opacity:0;transform:translateY(-10px);transition:all .3s}
.case-card:hover::after{opacity:1;transform:translateY(0)}
.case-card-bg{position:absolute;inset:0;transition:transform .6s ease}
.case-card-bg img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.case-card:hover .case-card-bg img{transform:scale(1.1)}
.case-card::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,14,26,0) 30%,rgba(10,14,26,.92) 100%)}
.case-card-shine{position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,transparent 40%,rgba(255,185,66,.12) 50%,transparent 60%);transform:translateX(-100%);transition:transform .7s}
.case-card:hover .case-card-shine{transform:translateX(100%)}
.case-card-content{position:relative;z-index:3;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.case-card-tag{display:inline-block;padding:4px 12px;background:rgba(0,212,255,.2);border-radius:20px;font-size:12px;color:#00d4ff;margin-bottom:12px;align-self:flex-start}
.case-card-tag.gold{background:rgba(255,185,66,.2);color:#ffc96b}
.case-card-tag.green{background:rgba(0,255,136,.18);color:#00ff88}
.case-card-tag.purple{background:rgba(139,92,246,.22);color:#a78bfa}
.case-card-tag.pink{background:rgba(236,72,153,.2);color:#ff6ba9}
.case-card-tag.cyan{background:rgba(0,212,255,.2);color:#00d4ff}
.case-card h3{font-size:20px;margin-bottom:8px;line-height:1.4;transition:transform .3s}
.case-card p{font-size:13px;color:var(--text2);line-height:1.6;opacity:0;transform:translateY(10px);transition:all .4s}
.case-card:hover h3{transform:translateY(-5px)}
.case-card:hover p{opacity:1;transform:translateY(0)}
.cases-more{text-align:center;margin-top:50px}

/* ============================================================
   09 AI 技术实验室（含可交互 2.5D/3D 教案演示）
   ============================================================ */
.lab-section{background:var(--section-alt)}
.lab-demo{max-width:1000px;margin:0 auto 80px;background:var(--card);border:1px solid rgba(255,185,66,.2);border-radius:28px;padding:34px;position:relative;overflow:hidden}
.lab-demo::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00d4ff,#ffb942,#00d4ff);background-size:200% 100%;animation:flowLine 4s linear infinite}
@keyframes flowLine{0%{background-position:0% 0}100%{background-position:200% 0}}
.lab-demo-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.lab-demo-title{font-size:22px;font-weight:800;color:#ffc96b}
.lab-demo-hint{font-size:13px;color:var(--muted)}
.lab-demo-modes{display:flex;gap:10px}
.demo-mode-btn{padding:9px 20px;background:var(--card);border:1px solid var(--border);border-radius:24px;font-size:13px;color:var(--text2);transition:all .3s}
.demo-mode-btn.active{background:linear-gradient(135deg,#ffb942,#ff8a00);border-color:transparent;color:#0a0e1a;font-weight:700}
.demo-mode-btn:hover:not(.active){border-color:rgba(255,185,66,.5);color:#ffc96b}

/* ---- 演示舞台与设备 ---- */
.demo-stage{perspective:1400px;display:flex;flex-direction:column;align-items:center;gap:24px}
.demo-device{width:min(640px,100%);aspect-ratio:16/10.5;border-radius:22px;border:1px solid var(--border);background:var(--panel-grad);box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 60px rgba(0,212,255,.08);position:relative;transform:rotateX(var(--rx,14deg)) rotateY(var(--ry,-16deg));transform-style:preserve-3d;transition:transform .15s linear;overflow:hidden}
.device-top{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--topbar-overlay);border-bottom:1px solid var(--border);font-size:12px;color:var(--text2)}
.device-dot{width:9px;height:9px;border-radius:50%;background:#ff5f57}
.device-name{margin-left:6px;letter-spacing:1px}
.device-battery{margin-left:auto;color:#00ff88;letter-spacing:2px;font-size:11px}
.device-screen{position:relative;height:calc(100% - 76px);background:var(--screen-grad);overflow:hidden}
.device-caption{position:absolute;bottom:0;left:0;right:0;padding:8px 16px;text-align:center;font-size:12px;color:var(--muted);background:rgba(10,14,26,.85);border-top:1px solid var(--border);letter-spacing:1px}

/* ---- 屏幕内页面与 3D 翻页 ---- */
.screen-page{position:absolute;inset:0;padding:26px 30px 34px;backface-visibility:hidden;transform-style:preserve-3d}
.screen-page.on{opacity:1;transform:translateX(0) rotateY(0);z-index:2}
.screen-page.off-left{opacity:0;transform:translateX(-14%) rotateY(26deg);z-index:1;pointer-events:none}
.screen-page.off-right{opacity:0;transform:translateX(14%) rotateY(-26deg);z-index:1;pointer-events:none}
.screen-page{opacity:0;transition:opacity .45s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.slide-head{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.slide-kicker{font-size:11px;letter-spacing:2px;color:#ffc96b}
.slide-head h4{font-size:19px;font-weight:800}

/* ---- 2.5D 页面元素（等距 + 视差分层） ---- */
.slide-25d{position:relative;height:calc(100% - 52px);transform-style:preserve-3d}
.iso-scene{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-45deg) translate3d(var(--vx,0px),var(--vy,0px),0);width:240px;height:240px;transform-style:preserve-3d;transition:transform .25s ease-out}
.iso-cube{position:absolute;left:50%;top:50%;width:64px;height:64px;transform:translate(-50%,-50%);transform-style:preserve-3d;animation:isoFloat 3.6s ease-in-out infinite}
.iso-cube::before,.iso-cube::after{content:'';position:absolute;inset:0;border-radius:6px;background:rgba(0,212,255,.22);border:1.5px solid rgba(0,212,255,.7)}
.iso-cube::after{transform:translateZ(-20px);background:rgba(255,185,66,.18);border-color:rgba(255,185,66,.6)}
.iso-ball{position:absolute;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7dd8ff,#0066ff 70%);box-shadow:0 0 16px rgba(0,212,255,.7);animation:isoFloat 3.6s ease-in-out infinite}
.iso-ball.b1{left:-52px;top:6px}.iso-ball.b2{right:-52px;top:6px}.iso-ball.b3{left:-34px;bottom:-26px}.iso-ball.b4{right:-34px;bottom:-26px}
.iso-bond{position:absolute;left:50%;top:50%;width:56px;height:3px;background:linear-gradient(90deg,rgba(0,212,255,.9),rgba(255,185,66,.9));transform-origin:left center;border-radius:2px}
.iso-bond.bond1{transform:rotate(18deg) translateX(18px)}.iso-bond.bond2{transform:rotate(-18deg) translateX(18px)}.iso-bond.bond3{transform:rotate(72deg) translateX(18px)}.iso-bond.bond4{transform:rotate(108deg) translateX(18px)}
@keyframes isoFloat{0%,100%{margin-top:0}50%{margin-top:-8px}}
.iso-panel{position:absolute;padding:8px 14px;background:var(--card);border:1px solid rgba(255,185,66,.35);border-radius:10px;font-size:12px;color:#ffc96b;backdrop-filter:blur(4px);transition:transform .25s ease-out;transform:translate3d(var(--vx,0px),var(--vy,0px),0)}
.iso-panel.p-a{left:6%;top:14%}.iso-panel.p-b{right:8%;top:30%}.iso-panel.p-c{left:14%;bottom:14%}

/* 2.5D 时间轴教案 */
.tl-line{position:absolute;left:4%;right:4%;top:50%;height:3px;background:linear-gradient(90deg,#00d4ff,#ffb942);border-radius:2px;opacity:.8;transform:translate3d(var(--vx,0px),var(--vy,0px),0);transition:transform .25s ease-out}
.tl-node{position:absolute;top:50%;transform:translate(-50%,-50%) translate3d(var(--vx,0px),var(--vy,0px),0);text-align:center;transition:transform .25s ease-out}
.tl-node b{display:block;width:44px;height:44px;line-height:44px;border-radius:50%;background:rgba(10,14,26,.9);border:2px solid #ffb942;color:#ffc96b;font-size:15px;margin:0 auto 4px;box-shadow:0 0 18px rgba(255,185,66,.35)}
.tl-node span{font-size:11px;color:var(--text2);white-space:nowrap}
.tl-node.n1{left:12%}.tl-node.n2{left:37%}.tl-node.n3{left:62%}.tl-node.n4{left:87%}
.tl-car{position:absolute;top:30%;left:8%;font-size:30px;animation:carMove 7s linear infinite;filter:drop-shadow(0 0 8px rgba(255,185,66,.5));transform:translate3d(var(--vx,0px),var(--vy,0px),0);transition:transform .25s ease-out}
@keyframes carMove{0%{left:6%}100%{left:88%}}

/* 2.5D 课堂测验（可点击） */
.quiz-25d{display:flex;flex-direction:column;gap:12px;justify-content:center;padding:0 8%}
.quiz-q{font-size:17px;font-weight:700;margin-bottom:6px;transition:transform .25s ease-out;transform:translate3d(var(--vx,0px),var(--vy,0px),0)}
.quiz-opt{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--card);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer;transition:all .3s;transform:translate3d(var(--vx,0px),var(--vy,0px),0)}
.quiz-opt span{width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;background:rgba(0,212,255,.15);color:#00d4ff;font-weight:700;font-size:13px}
.quiz-opt:hover{border-color:rgba(255,185,66,.5)}
.quiz-opt.correct{border-color:#00ff88;background:rgba(0,255,136,.1);color:#00ff88}
.quiz-opt.correct span{background:rgba(0,255,136,.2);color:#00ff88}
.quiz-opt.wrong{border-color:#ff5f57;background:rgba(255,95,87,.08);color:#ff8a80}
.quiz-fb{font-size:13px;color:#00ff88;opacity:0;transition:opacity .4s,transform .25s ease-out;min-height:20px;text-align:center;transform:translate3d(var(--vx,0px),var(--vy,0px),0)}
.quiz-fb.show{opacity:1}

/* ---- 3D 页面元素 ---- */
.slide-3d{position:relative;height:calc(100% - 52px);perspective:900px}
.chart3d{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-12deg);transform-style:preserve-3d;animation:chartSpin 14s linear infinite;width:280px;height:200px}
@keyframes chartSpin{0%{transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-12deg) rotateY(0)}100%{transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-12deg) rotateY(360deg)}}
.chart3d .bar{position:absolute;bottom:0;width:40px;height:var(--h);background:linear-gradient(180deg,#ffc96b,#ff8a00);border-radius:4px 4px 0 0;transform-style:preserve-3d;box-shadow:0 0 18px rgba(255,185,66,.4)}
.chart3d .bar::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent);border-radius:4px 4px 0 0}
.chart3d .bar span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--text2);white-space:nowrap}
.chart3d .bar.b1{left:12px}.chart3d .bar.b2{left:68px}.chart3d .bar.b3{left:124px}.chart3d .bar.b4{left:180px}.chart3d .bar.b5{left:236px}
.chart3d-base{position:absolute;bottom:-8px;left:-20px;right:-20px;height:14px;background:rgba(255,185,66,.25);border-radius:8px;transform:rotateX(90deg) translateZ(0);box-shadow:0 0 30px rgba(255,185,66,.2)}

.molecule3d{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);transform-style:preserve-3d;animation:molSpin 12s linear infinite;width:150px;height:150px}
@keyframes molSpin{from{transform:translate(-50%,-50%) rotateX(-18deg) rotateY(0)}to{transform:translate(-50%,-50%) rotateX(-18deg) rotateY(360deg)}}
.m-atom{position:absolute;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8fe3ff,#0066ff 72%);box-shadow:0 0 20px rgba(0,212,255,.75)}
.m-atom.center{left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#ffe3a8,#ff8a00 75%);box-shadow:0 0 24px rgba(255,185,66,.8)}
.m-atom.a1{left:-8px;top:8px}.m-atom.a2{right:-8px;top:8px}.m-atom.a3{left:14px;bottom:-14px}.m-atom.a4{right:14px;bottom:-14px}
.m-bond{position:absolute;left:50%;top:50%;width:52px;height:3px;background:linear-gradient(90deg,rgba(0,212,255,.95),rgba(255,255,255,.7));transform-origin:left center;border-radius:2px;box-shadow:0 0 8px rgba(0,212,255,.4)}
.m-bond.mb1{transform:rotate(18deg) translateX(18px)}.m-bond.mb2{transform:rotate(-18deg) translateX(18px)}
.m-bond.mb3{transform:rotate(72deg) translateX(18px)}.m-bond.mb4{transform:rotate(108deg) translateX(18px)}

.crystal3d{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotateX(-24deg) rotateY(45deg);transform-style:preserve-3d;animation:crystalSpin 16s linear infinite;width:130px;height:130px}
@keyframes crystalSpin{from{transform:translate(-50%,-50%) rotateX(-24deg) rotateY(45deg)}to{transform:translate(-50%,-50%) rotateX(-24deg) rotateY(405deg)}}
.c-face{position:absolute;width:130px;height:130px;border:1.5px solid rgba(0,212,255,.8);background:rgba(0,212,255,.08)}
.c-face.top{transform:rotateX(90deg) translateZ(65px)}
.c-face.front{transform:translateZ(65px)}
.c-face.side{transform:rotateY(90deg) translateZ(65px)}
.c-atom{position:absolute;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe3a8,#ff8a00);box-shadow:0 0 12px rgba(255,185,66,.9)}
.c-atom.ca1{left:-8px;top:-8px}.c-atom.ca2{right:-8px;top:-8px}.c-atom.ca3{left:-8px;bottom:-8px}.c-atom.ca4{right:-8px;bottom:-8px}

/* ---- 模式切换 ---- */
.demo-device.mode-d3d .page-25{display:none}
.demo-device.mode-d25 .page-3d{display:none}

/* ---- 演示控件 ---- */
.demo-controls{display:flex;align-items:center;gap:20px}
.demo-prev,.demo-next{padding:11px 26px;background:var(--card);border:1px solid rgba(255,255,255,.14);border-radius:26px;font-size:14px;color:var(--text3);transition:all .3s}
.demo-prev:hover,.demo-next:hover{border-color:#ffb942;color:#ffc96b;background:rgba(255,185,66,.08);transform:translateY(-2px)}
.demo-pager{font-size:14px;color:#ffc96b;font-weight:700;letter-spacing:1px;min-width:56px;text-align:center}

/* ---- 技术能力卡 ---- */
.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.lab-card{padding:44px 36px;background:var(--card);border:1px solid var(--border);border-radius:24px;position:relative;overflow:hidden;transition:all .5s}
.lab-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00d4ff,#ffb942);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.lab-card:hover::before{transform:scaleX(1)}
.lab-card:hover{transform:translateY(-10px);background:rgba(255,185,66,.03);border-color:rgba(255,185,66,.3);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.lab-ai{border-color:rgba(255,185,66,.3)}
.lab-icon{font-size:52px;margin-bottom:22px;display:block}
.lab-card h3{font-size:24px;margin-bottom:16px}
.lab-card > p{color:var(--muted);margin-bottom:22px;line-height:1.8;font-size:15px}
.lab-features{display:flex;flex-direction:column;gap:12px}
.lab-feature{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text3)}
.lab-feature::before{content:'▸';color:#ffb942;font-weight:bold}
.lab-tagline{margin-top:20px;padding:12px 16px;background:rgba(255,185,66,.07);border:1px dashed rgba(255,185,66,.35);border-radius:12px;font-size:13px;color:#ffc96b;line-height:1.6}

/* ============================================================
   10 六步交付流程
   ============================================================ */
.process-timeline{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:40px}
.process-timeline::before{content:'';position:absolute;top:50px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,#00d4ff,#ffb942,#00d4ff);background-size:200% 100%;animation:flowLine 3s linear infinite}
.process-step{text-align:center;position:relative;padding:0 10px}
.process-step-num{width:60px;height:60px;margin:0 auto 24px;border-radius:50%;background:linear-gradient(135deg,#0a1628,#0d2137);border:2px solid #ffb942;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#ffc96b;position:relative;z-index:2;transition:all .4s;box-shadow:0 0 20px rgba(255,185,66,.25)}
.process-step:hover .process-step-num{background:var(--grad-gold);color:#0a0e1a;transform:scale(1.15);box-shadow:0 0 30px rgba(255,185,66,.6)}
.process-step h4{font-size:16px;margin-bottom:8px;font-weight:600}
.process-step p{font-size:13px;color:var(--muted);line-height:1.6}

/* ============================================================
   11 客户 Logo 墙
   ============================================================ */
.clients-section{padding:80px 0;overflow:hidden;background:var(--bg3)}
.clients-title{text-align:center;margin-bottom:40px;font-size:20px;color:var(--muted);letter-spacing:2px}
.clients-track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.clients-track:hover{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.client-logo{width:180px;height:90px;margin:0 20px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--border);border-radius:12px;font-size:15px;color:#778;transition:all .3s;flex-shrink:0}
.client-logo:hover{background:rgba(255,185,66,.05);border-color:rgba(255,185,66,.3);color:#ffc96b;transform:scale(1.05)}

/* ============================================================
   12 关于我们
   ============================================================ */
.about-section{background:var(--about-bg)}
.about-wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;max-width:1200px;margin:0 auto}
.about-text p{color:var(--text2);font-size:16px;line-height:2;margin-bottom:20px}
.about-text .about-lead{color:var(--text);font-size:18px;font-weight:600}
.about-text b{color:#ffc96b}
.about-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.about-tags span{padding:7px 18px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.25);border-radius:22px;font-size:13px;color:#00d4ff}
.about-keys{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.about-key{padding:30px 24px;background:var(--card);border:1px solid var(--border);border-radius:18px;text-align:center;transition:all .35s}
.about-key:hover{border-color:rgba(255,185,66,.4);transform:translateY(-6px);box-shadow:0 20px 50px rgba(255,185,66,.08)}
.ak-num{font-size:40px;font-weight:900;background:linear-gradient(135deg,#ffc96b,#ff8a00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}
.ak-label{color:var(--muted);font-size:13px;margin-top:8px;letter-spacing:1px}

/* ============================================================
   13 联系我们
   ============================================================ */
.contact-section{position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,185,66,.08) 0%,transparent 60%)}
.contact-wrap{max-width:900px;margin:0 auto;position:relative;z-index:2}
.contact-card{background:linear-gradient(135deg,rgba(0,212,255,.05),rgba(255,185,66,.05));border:1px solid rgba(255,185,66,.25);border-radius:32px;padding:60px;text-align:center;backdrop-filter:blur(10px);position:relative;overflow:hidden}
.contact-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(255,185,66,.12),transparent 30%);animation:rotate 8s linear infinite}
@keyframes rotate{to{transform:rotate(360deg)}}
.contact-card-inner{position:relative;z-index:2}
.qr-wrap{width:220px;height:220px;margin:0 auto 30px;padding:15px;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(255,185,66,.3);position:relative;transition:transform .4s}
.qr-wrap:hover{transform:scale(1.05) rotate(2deg)}
.qr-wrap img{width:100%;height:100%;border-radius:8px}
.qr-tip{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);padding:6px 20px;background:var(--grad-gold);border-radius:20px;font-size:13px;color:#0a0e1a;white-space:nowrap;font-weight:700;box-shadow:0 5px 15px rgba(255,185,66,.4)}
.contact-card h2{font-size:clamp(28px,4vw,42px);font-weight:800;margin-bottom:16px}
.contact-card h2 .highlight{background:linear-gradient(135deg,#ffb942,#ff8a00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.contact-card p.desc{color:var(--text2);font-size:17px;margin-bottom:40px;line-height:1.8}
.contact-info{display:flex;justify-content:center;gap:44px;flex-wrap:wrap;margin-top:30px}
.contact-item{text-align:center}
.contact-item-icon{font-size:28px;margin-bottom:8px}
.contact-item-label{font-size:13px;color:var(--muted);margin-bottom:4px}
.contact-item-value{font-size:16px;color:#ffc96b;font-weight:600}

/* ============================================================
   14 页脚
   ============================================================ */
.footer{padding:60px 0 30px;border-top:1px solid var(--border);background:var(--bg3)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:50px}
.footer-brand .logo{font-size:26px;margin-bottom:12px;display:block}
.logo-en{font-size:12px!important;letter-spacing:2px!important;margin-top:3px!important}
.footer-brand p{color:var(--muted);font-size:14px;line-height:1.9;max-width:320px}
.footer-col h4{font-size:16px;margin-bottom:20px;color:var(--text);font-weight:600}
.footer-col a{display:block;color:var(--muted);font-size:14px;padding:6px 0;transition:color .3s}
.footer-col a:hover{color:#ffc96b}
.footer-bottom{padding-top:30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.footer-bottom p{color:var(--muted);font-size:13px}
.footer-social a{display:inline-block;padding:9px 20px;border-radius:24px;background:rgba(255,185,66,.08);border:1px solid rgba(255,185,66,.3);color:#ffc96b;font-size:13px;transition:all .3s}
.footer-social a:hover{background:rgba(255,185,66,.2);transform:translateY(-2px)}

/* ---------- 回到顶部 ---------- */
.back-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:22px;z-index:900;opacity:0;transform:translateY(20px);transition:all .3s;box-shadow:0 10px 30px rgba(0,212,255,.4);cursor:pointer}
.back-top.show{opacity:1;transform:translateY(0)}
.back-top:hover{transform:translateY(-5px);box-shadow:0 15px 40px rgba(0,212,255,.6)}

/* ============================================================
   响应式：平板 & 手机
   ============================================================ */
@media(max-width:1180px){
  .container{padding:0 30px}
  .section{padding:90px 30px}
  .model-layers{grid-template-columns:repeat(2,1fr)}
  .model-layers::before{display:none}
  .process-timeline{grid-template-columns:repeat(3,1fr);gap:30px}
  .process-timeline::before{display:none}
  .lab-grid{grid-template-columns:1fr 1fr}
  .lab-card:last-child{grid-column:1/-1}
}
@media(max-width:1024px){
  .navbar{top:40px}
  .nav-links{position:fixed;top:0;right:-100%;width:300px;height:100vh;background:rgba(10,14,26,.98);flex-direction:column;padding:110px 40px;gap:22px;transition:right .4s ease;backdrop-filter:blur(20px);justify-content:flex-start}
  .nav-links.active{right:0}
  .nav-links .nav-cta{margin-top:10px}
  .mobile-toggle{display:flex}
  .solution-panel{grid-template-columns:1fr;gap:34px}
  .solution-visual{height:300px}
  .ai-edu-grid{grid-template-columns:1fr;gap:44px}
  .ai-edu-visual,.ai-edu-features{min-width:0}
  .cases-grid{grid-template-columns:repeat(2,1fr)}
  .about-wrap{grid-template-columns:1fr;gap:44px}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:768px){
  .topbar-inner{height:36px;gap:14px;font-size:12px}
  .topbar-right{display:none}
  .navbar{top:0}
  .navbar.scrolled{top:0}
  .section{padding:74px 20px}
  .container{padding:0 20px}
  .section-header{margin-bottom:50px}
  .section-title{font-size:clamp(26px,7vw,38px)}
  .hero{padding:96px 20px 70px}
  .hero-badge{font-size:12px;padding:7px 14px}
  .model-layers{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr);gap:24px;padding:36px 24px}
  .cases-grid{grid-template-columns:1fr}
  .lab-grid{grid-template-columns:1fr}
  .lab-demo{padding:22px 16px;border-radius:20px}
  .lab-demo-head{justify-content:center;text-align:center}
  .demo-device{aspect-ratio:16/11.5}
  .screen-page{padding:18px 18px 30px}
  .iso-scene{width:180px;height:180px}
  .chart3d{width:230px;height:170px}
  .chart3d .bar{width:32px}
  .chart3d .bar.b1{left:10px}.chart3d .bar.b2{left:56px}.chart3d .bar.b3{left:102px}.chart3d .bar.b4{left:148px}.chart3d .bar.b5{left:194px}
  .contact-card{padding:40px 24px}
  .contact-info{gap:26px}
  .footer-top{grid-template-columns:1fr}
  .process-timeline{grid-template-columns:repeat(2,1fr)}
  .cursor-dot,.cursor-outline{display:none}
}
@media(max-width:480px){
  .hero-btns .btn-primary,.hero-btns .btn-secondary{padding:14px 30px;font-size:15px}
  .solution-tabs{gap:10px}
  .solution-tab{padding:11px 20px;font-size:14px}
  .quiz-opt{font-size:13px;padding:10px 14px}
  .demo-controls{gap:12px}
  .demo-prev,.demo-next{padding:9px 18px;font-size:13px}
  .back-top{bottom:20px;right:20px;width:44px;height:44px}
  .about-keys{grid-template-columns:1fr 1fr;gap:14px}
  .about-key{padding:22px 14px}
  .ak-num{font-size:32px}
}

/* ---------- 触屏设备降级：去掉桌面专属动效 ---------- */
@media(hover:none){
  .case-card p{opacity:1;transform:none}
  .case-card::after{display:none}
  .cursor-dot,.cursor-outline{display:none}
}

/* ============================================================
   V2 升级样式：真实 Logo / 四大场景 / 行业化教案 / 动态图标 / 渐进流程
   ============================================================ */

/* ---- 导航 / 页脚 Logo（真实熊形标识） ---- */
.logo{display:flex;align-items:center;gap:12px}
.logo-img{height:36px;width:auto;flex-shrink:0;object-fit:contain}
.logo>span{font-size:22px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.15;display:flex;flex-direction:column;justify-content:center}
.logo>.logo-en,.logo .logo-en{font-size:11px;font-weight:400;color:var(--muted);display:block;letter-spacing:2px;margin-top:2px;-webkit-text-fill-color:var(--muted)}
.footer .logo>span{background:none;-webkit-text-fill-color:var(--text);color:var(--text)}
.footer .logo .logo-en{-webkit-text-fill-color:var(--muted)}

/* ---- Hero 情绪标语（差异化融合参考站「让…」句式） ---- */
.hero-slogan{margin-top:20px;font-size:15px;letter-spacing:2px;color:var(--text2);animation:fadeInUp 1s ease .8s both}
.hero-slogan::before{content:'◆';color:#ffb942;font-size:9px;vertical-align:middle;margin-right:12px}
.hero-slogan::after{content:'◆';color:#ffb942;font-size:9px;vertical-align:middle;margin-left:12px}

/* ---- 案例卡片 hover 查看按钮（参考站「查看案例」交互融合） ---- */
.case-card::after{display:none}
.case-card-more{position:absolute;top:20px;right:20px;z-index:4;padding:8px 16px;background:var(--grad);border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-decoration:none;opacity:0;transform:translateY(-10px);transition:all .3s}
.case-card:hover .case-card-more{opacity:1;transform:translateY(0)}

/* ---- 解决方案 Tab 换行 ---- */
.solution-tabs{flex-wrap:wrap;justify-content:center}

/* ---- 教案演示 · 行业切换 ---- */
.lab-demo-industries{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.demo-ind-btn{padding:9px 20px;background:var(--card);border:1px solid var(--border);border-radius:24px;font-size:13px;color:var(--text2);transition:all .3s;cursor:pointer}
.demo-ind-btn.active{background:var(--grad);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 8px 24px rgba(0,212,255,.3)}
.demo-ind-btn:hover:not(.active){border-color:rgba(0,212,255,.55);color:#00d4ff}
.demo-device.mode-d3d .page-25,.demo-device.mode-d25 .page-3d{display:block}

/* ---- 教案分组容器 ---- */
.ind-pages{display:none;position:absolute;inset:0}
.ind-pages.active{display:block}

/* ================= 教育 · 齿轮传动（2.5D） ================= */
.gear-scene{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.gear{position:absolute;width:92px;height:92px;animation:gearSpin 12s linear infinite;filter:drop-shadow(0 0 12px rgba(255,201,100,.35))}
.gear.g1{left:12%;top:22%}
.gear.g2{left:37%;top:10%;width:122px;height:122px;animation-direction:reverse;animation-duration:9s}
.gear.g3{left:63%;top:30%;width:82px;height:82px;animation-duration:7s}
.gear-arrow{position:absolute;right:6%;top:54%;font-size:32px;color:#ffc96b;animation:bounceX 1.6s ease infinite}
.gear-tag{position:absolute;padding:4px 12px;border-radius:14px;background:rgba(0,212,255,.14);border:1px solid rgba(0,212,255,.3);font-size:11px;color:#7fd8ff;white-space:nowrap}
.gt1{right:4%;top:16%}
.gt2{right:8%;top:72%}
@keyframes gearSpin{to{transform:rotate(360deg)}}
@keyframes bounceX{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}

/* ================= 医疗 · 循环系统（2.5D） ================= */
.heart-scene{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.heart-main{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:120px;height:110px;animation:heartFloat 3.2s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(255,93,115,.4))}
.artery{position:absolute;left:14%;top:4%;width:112px;height:36px;opacity:.9}
.artery.a2{left:auto;right:13%;top:12%;width:88px;height:40px}
.blood-cell{position:absolute;font-size:15px;opacity:0;animation:cellFlow 5s linear infinite}
.blood-cell.c1{left:22%;top:60%}
.blood-cell.c2{left:56%;top:68%;animation-delay:1.4s}
.heart-tag{position:absolute;padding:3px 10px;border-radius:12px;font-size:11px;background:rgba(255,93,115,.14);border:1px solid rgba(255,93,115,.35);color:#ff8ba0;white-space:nowrap}
.ht1{left:3%;top:38%}
.ht2{right:3%;top:46%}
@keyframes heartFloat{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-9px)}}
@keyframes cellFlow{0%{opacity:0;transform:translateX(0)}22%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translateX(26px)}}

/* ================= 医疗 · 3D 跳动心脏 ================= */
.heart3d-wrap{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:700px}
.heart3d{position:relative;width:104px;height:96px;transform-style:preserve-3d;animation:heartBeat 1.05s ease-in-out infinite}
.h3d-layer{position:absolute;inset:0;background:radial-gradient(circle at 36% 30%,rgba(255,120,140,.95),rgba(210,45,78,.88) 58%,rgba(130,12,40,.92));border-radius:52% 52% 50% 50% / 62% 62% 38% 38%;box-shadow:inset -8px -10px 18px rgba(60,0,15,.6),0 0 26px rgba(255,80,110,.55)}
.h3d-layer.h1{transform:translateZ(18px)}
.h3d-layer.h2{transform:rotateY(90deg) translateZ(12px);background:radial-gradient(circle at 60% 34%,rgba(255,140,158,.9),rgba(190,40,72,.85) 60%,rgba(110,10,34,.9))}
.h3d-layer.h3{transform:translateZ(-16px);opacity:.55;background:radial-gradient(circle at 36% 30%,rgba(255,120,140,.7),rgba(150,20,50,.8) 60%)}
.h3d-beam{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(255,93,115,.22),transparent 65%);filter:blur(6px)}
.ecg-line{position:absolute;bottom:12px;left:8%;width:84%;height:44px;filter:drop-shadow(0 0 6px rgba(77,255,184,.8))}
.ecg-line polyline{stroke-dasharray:620;stroke-dashoffset:620;animation:ecgDraw 2.4s linear infinite}
@keyframes ecgDraw{to{stroke-dashoffset:0}}
@keyframes heartBeat{0%,100%{transform:scale(1) rotateY(0deg)}14%{transform:scale(1.18,1.1) rotateY(0deg)}28%{transform:scale(1.05,1.04)}42%{transform:scale(1.14,1.07)}62%{transform:scale(1) rotateY(0deg)}}

/* ================= 政府 · 城市大脑（2.5D） ================= */
.city-scene{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.city-sky{position:absolute;left:6%;right:6%;bottom:16%;width:88%;height:46%;opacity:.9}
.city-light{position:absolute;left:6%;right:6%;bottom:30%;width:88%;height:40%;opacity:.95}
.city-card{position:absolute;min-width:88px;padding:8px 12px;border-radius:12px;background:var(--panel-deep);border:1px solid rgba(0,212,255,.3);text-align:center;backdrop-filter:blur(4px);animation:cityFloat 3.4s ease-in-out infinite}
.city-card b{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:1px}
.city-card span{font-size:15px;color:#00d4ff;font-weight:700}
.cc1{left:12%;top:12%}
.cc2{left:42%;top:22%;animation-delay:.6s}
.cc3{right:6%;top:12%;animation-delay:1.1s}
@keyframes cityFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* ================= 企业 · 发布舞台（2.5D） ================= */
.stage-scene{position:relative;width:100%;height:100%;transform-style:preserve-3d;overflow:hidden}
.stage-floor{position:absolute;left:4%;right:4%;bottom:14%;height:26px;background:linear-gradient(90deg,rgba(0,212,255,0),rgba(0,212,255,.3),rgba(0,212,255,0));border-radius:50%;filter:blur(2px)}
.stage-beam{position:absolute;top:-2%;width:120px;height:88px;animation:beamPulse 2.8s ease-in-out infinite}
.stage-beam.bm1{left:14%}
.stage-beam.bm2{right:12%;animation-delay:1.2s}
.stage-product{position:absolute;left:50%;top:46%;transform:translate(-50%,-54%);width:88px;animation:productFloat 3.6s ease-in-out infinite;filter:drop-shadow(0 0 14px rgba(0,212,255,.5))}
.stage-tag{position:absolute;left:50%;top:74%;transform:translateX(-50%);padding:5px 14px;border-radius:16px;background:rgba(255,201,100,.12);border:1px solid rgba(255,201,100,.4);font-size:11px;color:#ffd98a;white-space:nowrap}
@keyframes beamPulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes productFloat{0%,100%{transform:translate(-50%,-54%) translateY(0)}50%{transform:translate(-50%,-54%) translateY(-8px)}}

/* ================= 曲柄连杆 Canvas 与控制 ================= */
.crank-canvas{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:88%;max-width:300px;display:block;background:transparent}
.crank-ctl{position:absolute;left:0;right:0;bottom:8px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;z-index:2}
.ctl-btn{padding:5px 14px;border-radius:14px;border:1px solid var(--border);background:var(--card);font-size:11px;color:var(--text3);cursor:pointer;transition:all .3s}
.ctl-btn.active{background:var(--grad-gold);border-color:transparent;color:#0a0e1a;font-weight:700}
.ctl-btn:hover:not(.active){border-color:#ffb942;color:#ffc96b}
.ctl-tip{font-size:10px;color:var(--muted);letter-spacing:.5px}

/* ================= 企业 · 产品 3D ================= */
.product3d{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:112px;transform-style:preserve-3d;animation:productSpin 10s linear infinite}
.p3d-body{position:absolute;inset:8% 6%;background:linear-gradient(160deg,#16223f,#0c1428);border:1.5px solid #00d4ff;border-radius:10px;box-shadow:0 0 26px rgba(0,212,255,.35)}
.p3d-screen{position:absolute;left:22%;right:22%;top:16%;height:46%;background:linear-gradient(135deg,rgba(0,212,255,.92),rgba(0,102,255,.92));border-radius:6px;animation:screenGlow 2.6s ease-in-out infinite}
.p3d-side{position:absolute;left:6%;right:6%;bottom:10%;height:16%;background:linear-gradient(180deg,#ffb942,#ff8a00);border-radius:4px;box-shadow:0 0 18px rgba(255,185,66,.5)}
.p3d-glow{position:absolute;left:50%;bottom:-10%;width:84%;height:12px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(0,212,255,.5),transparent 70%);filter:blur(3px)}
@keyframes productSpin{from{transform:translate(-50%,-50%) rotateY(0deg) rotateX(-8deg)}to{transform:translate(-50%,-50%) rotateY(360deg) rotateX(-8deg)}}
@keyframes screenGlow{0%,100%{opacity:.85}50%{opacity:1;filter:brightness(1.18)}}

/* ================= 动态能力图标 ================= */
.lab-icon{font-size:52px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;position:relative;min-height:88px}
.lab-icon-ai{width:100%}
.robot-svg{width:104px;height:84px}
.robot-mouth{transform-origin:center;animation:mouthTalk .72s ease-in-out infinite}
@keyframes mouthTalk{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1.7)}}
.ai-wave{position:absolute;right:6%;bottom:2px;display:flex;align-items:flex-end;gap:3px;height:20px}
.ai-wave i{width:3px;border-radius:2px;background:linear-gradient(180deg,#00d4ff,#ffb942);animation:waveBar 1s ease-in-out infinite}
.ai-wave i:nth-child(1){height:36%;animation-delay:0s}
.ai-wave i:nth-child(2){height:72%;animation-delay:.15s}
.ai-wave i:nth-child(3){height:100%;animation-delay:.3s}
.ai-wave i:nth-child(4){height:54%;animation-delay:.45s}
@keyframes waveBar{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
.lab-icon-3d{width:100%}
.seismo-svg{width:104px;height:84px}
.seismo-rot{transform-origin:32px 40px;animation:seismoRot 18s linear infinite}
.seismo-ball{animation:ballBounce 1.5s ease-in-out infinite}
.seismo-dragon{stroke-dasharray:60;stroke-dashoffset:60;animation:drawDragon 3.2s ease forwards infinite;opacity:.95}
.seismo-scan{stroke-dasharray:120;stroke-dashoffset:120;animation:scanMove 2.2s linear infinite}
@keyframes seismoRot{to{transform:rotate(360deg)}}
@keyframes ballBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes drawDragon{0%{stroke-dashoffset:60}62%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes scanMove{0%{stroke-dashoffset:120}100%{stroke-dashoffset:0}}
.lab-icon-video{width:236px;height:150px;margin:0 auto 24px;border-radius:14px;overflow:hidden;background:var(--video-bg);min-height:150px;position:relative}
.lab-icon-video::before{content:'▶';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;color:rgba(255,185,66,.9);text-shadow:0 0 14px rgba(255,185,66,.6);z-index:1;pointer-events:none}
.lab-video{width:100%;height:100%;object-fit:cover;display:block}
.video-badge{position:absolute;top:6px;right:8px;font-size:9px;font-weight:700;color:#0a0e1a;background:#ffb942;padding:2px 8px;border-radius:10px;animation:liveBlink 1.4s ease infinite;z-index:2}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.55}}

/* ================= 六步交付流程 · 渐进式 ================= */
.process-track{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:46px}
.process-track>.process-step{text-align:center;position:relative;width:152px;padding:0;transition:all .4s}
.process-track>.process-step:hover{transform:translateY(-8px)}
.process-track>.process-step:nth-child(1){margin-top:64px}
.process-track>.process-step:nth-child(3){margin-top:22px}
.process-track>.process-step:nth-child(5){margin-top:64px}
.process-track>.process-step:nth-child(7){margin-top:22px}
.process-track>.process-step:nth-child(9){margin-top:64px}
.process-track>.process-step:nth-child(11){margin-top:22px}
.process-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:20px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.25);display:flex;align-items:center;justify-content:center;font-size:28px;position:relative;z-index:2;transition:all .4s}
.process-step:hover .process-icon{background:rgba(255,185,66,.12);border-color:#ffb942;box-shadow:0 0 26px rgba(255,185,66,.35);transform:scale(1.06)}
.process-num{position:absolute;top:-14px;right:18px;font-size:34px;font-weight:800;color:var(--num-ghost);line-height:1;z-index:1;font-family:Georgia,'Times New Roman',serif}
.process-card{padding:18px 14px;background:var(--card);border:1px solid var(--border);border-radius:16px;transition:all .4s}
.process-step:hover .process-card{border-color:rgba(255,185,66,.35);background:rgba(255,185,66,.04)}
.process-card h4{font-size:15px;margin-bottom:6px;color:var(--text)}
.process-card p{font-size:12px;color:var(--muted);line-height:1.6}
.process-arrow{align-self:flex-end;margin-bottom:34px;color:#ffb942;font-size:18px;animation:arrowPulse 1.8s ease infinite;line-height:1}
@keyframes arrowPulse{0%,100%{opacity:.35;transform:translateX(0)}50%{opacity:1;transform:translateX(5px)}}

/* ================= 客户 Logo 墙（真实 Logo） ================= */
.client-logo{width:168px;height:86px;margin:0 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#fff;border:1px solid var(--border);border-radius:14px;font-size:14px;color:#1c2333;transition:all .3s;flex-shrink:0;padding:10px 14px;box-sizing:border-box}
.client-logo img{max-width:94%;max-height:44px;object-fit:contain;filter:grayscale(100%) opacity(.82);transition:filter .3s}
.client-logo:hover{background:#fff;border-color:#ffb942;transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.4)}
.client-logo:hover img{filter:grayscale(0) opacity(1)}
.client-logo-name{font-size:11px;color:var(--text3);letter-spacing:1px;white-space:nowrap;transition:color .3s}
.client-logo:hover .client-logo-name{color:#0a0e1a}
.gov-logo{background:var(--gov-bg);border:1px solid rgba(0,212,255,.3)}
.gov-logo:hover{background:linear-gradient(145deg,#101d3a,#0c1428)}
.gov-name{font-size:14px;font-weight:600;color:#00d4ff;letter-spacing:2px;text-align:center;line-height:1.5;padding:0 6px}

/* ================= V2 响应式 ================= */
@media(max-width:1024px){
  .process-track{gap:14px}
  .process-track>.process-step{width:136px}
  .lab-demo-industries{gap:8px}
}
@media(max-width:768px){
  .hero-slogan{font-size:13px;letter-spacing:1px}
  .logo-img{height:30px}
  .process-track{flex-direction:column;align-items:center;gap:12px}
  .process-track>.process-step{width:100%;max-width:340px;margin-top:0!important}
  .process-track>.process-step:nth-child(n){margin-top:0}
  .process-arrow{transform:rotate(90deg);margin:2px 0;align-self:center}
  .process-icon{width:56px;height:56px;font-size:24px;margin-bottom:10px}
  .process-num{right:26px}
  .gear.g2{width:104px;height:104px}
  .heart-main{width:100px;height:92px}
  .heart3d{width:88px;height:82px}
  .crank-canvas{width:94%}
  .stage-product{width:74px}
  .lab-icon-video{width:136px;height:88px;min-height:88px;margin:0 auto 20px}
}
@media(max-width:480px){
  .hero-slogan{font-size:12px}
  .gear{width:70px;height:70px}
  .gear.g2{width:88px;height:88px}
  .gear-tag{font-size:10px}
  .city-card{min-width:76px;padding:6px 10px}
  .city-card span{font-size:13px}
  .demo-ind-btn{padding:8px 14px;font-size:12px}
}
/* ============================================================
   V3 升级样式：主题切换 / 张衡地动仪 / 教案立体化 / 流程单排 / 板块分割 / 浅色模式
   ============================================================ */
:root{
  --about-bg:linear-gradient(180deg,#0d1424 0%,#0a0e1a 100%);
}

/* ---------- 主题切换按钮 ---------- */
.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1px solid var(--border-strong);background:var(--card);font-size:12px;color:var(--text2);cursor:pointer;transition:all .3s;white-space:nowrap}
.theme-toggle:hover{border-color:#ffb942;color:#ffc96b}
.theme-toggle .tt-icon{font-size:13px;color:#ffc96b}

/* ---------- 张衡地动仪 · 3D 交互展示 ---------- */
.ai-edu-visual{aspect-ratio:4/3.4;min-height:340px}
.seismo-demo{position:relative;width:100%;height:100%;background:radial-gradient(circle at 50% 32%,#13213f 0%,#0a0e1a 78%);border-radius:24px;overflow:hidden;user-select:none}
.seismo-halo{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.18),transparent 62%);animation:haloPulse 4.5s ease infinite;pointer-events:none}
.seismo-ring{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.seismo-ring.ring1{width:88%;aspect-ratio:1;border:1.5px solid rgba(255,185,66,.3);box-shadow:0 0 24px rgba(255,185,66,.08),inset 0 0 24px rgba(255,185,66,.06)}
.seismo-ring.ring2{width:64%;aspect-ratio:1;border:1px dashed rgba(0,212,255,.35)}
.seismo-core{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:118px;z-index:4;filter:drop-shadow(0 18px 26px rgba(0,0,0,.5))}
.seismo-core-cap{width:136px;height:30px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f9d489,#d39a3a 55%,#8a5a14);position:relative;z-index:2;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.seismo-core-body{width:104px;height:92px;margin:0 auto;background:linear-gradient(90deg,#7c4f12,#c9903a 22%,#f6d68c 50%,#d9a84e 72%,#8a5a14);border-radius:4px;position:relative;box-shadow:inset 9px 0 16px rgba(0,0,0,.35),inset -9px 0 16px rgba(0,0,0,.35),0 10px 22px rgba(0,0,0,.4)}
.seismo-core-body::before{content:'';position:absolute;left:8%;right:8%;top:12%;height:76%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0 2px,transparent 2px 12px);border-radius:2px;opacity:.7}
.seismo-core-base{width:152px;height:14px;margin:-1px auto 0;border-radius:6px;background:linear-gradient(180deg,#d9a84e,#6f4a10);position:relative;z-index:1}
.seismo-dragons{position:absolute;inset:0;z-index:3}
.seismo-dragon{--ring-offset:-190px;position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotate(var(--ang)) translateY(var(--ring-offset));transform-origin:center;width:44px;height:118px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;z-index:5}
.sd-rotate{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;transform:rotate(calc(var(--ang) * -1));transition:transform .3s}
.seismo-dragon:hover .sd-rotate{transform:rotate(calc(var(--ang) * -1)) scale(1.08)}
.sd-neck{width:9px;height:46px;background:linear-gradient(180deg,#d9a84e,#8a5a14);border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.4)}
.sd-head{width:27px;height:25px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,#e8b95c,#a06b1c);position:relative;box-shadow:0 4px 8px rgba(0,0,0,.35)}
.sd-head::before,.sd-head::after{content:'';position:absolute;top:8px;width:5px;height:7px;background:rgba(255,240,200,.95);border-radius:2px;box-shadow:0 0 6px rgba(255,220,140,.8)}
.sd-head::before{left:4px;transform:rotate(-12deg)}
.sd-head::after{right:4px;transform:rotate(12deg)}
.sd-ball{width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffe9ae,#e9a93c 60%,#a86b12);margin-top:3px;box-shadow:0 0 10px rgba(255,201,100,.75);transition:transform .65s cubic-bezier(.6,-.2,.4,1.4),opacity .4s,box-shadow .4s;position:relative;z-index:2}
.sd-frog{width:27px;height:13px;border-radius:50% 50% 42% 42%;background:linear-gradient(180deg,#3f6b2f,#2a4a1e);margin-top:5px;opacity:.85;transition:all .4s;box-shadow:0 3px 6px rgba(0,0,0,.4)}
.seismo-dragon.triggered{cursor:default}
.seismo-dragon.triggered .sd-ball{transform:translate(0,62px) scale(.75);opacity:.35;box-shadow:0 0 6px rgba(255,201,100,.2)}
.seismo-dragon.triggered .sd-frog{background:linear-gradient(180deg,#ffd98a,#d9a84e);opacity:1;box-shadow:0 0 16px rgba(255,201,100,.85);transform:scale(1.12)}
.seismo-demo.shake{animation:seismoShake .6s ease}
.seismo-readout{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:6px 18px;border-radius:16px;background:var(--panel-deep);border:1px solid rgba(0,212,255,.35);color:#a8e8ff;font-size:12.5px;letter-spacing:.5px;white-space:nowrap;z-index:6;transition:all .3s;max-width:92%;text-align:center}
.seismo-tag{position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:16px;background:linear-gradient(135deg,#ffb942,#ff8a00);color:#0a0e1a;font-size:12px;font-weight:800;letter-spacing:1px;z-index:6;white-space:nowrap;box-shadow:0 8px 22px rgba(255,185,66,.35)}
.seismo-reset{position:absolute;top:14px;right:14px;padding:5px 14px;border-radius:14px;border:1px solid var(--border-strong);background:var(--card);color:var(--text2);font-size:11.5px;cursor:pointer;z-index:6;transition:all .3s}
.seismo-reset:hover{border-color:#ffb942;color:#ffc96b}
@keyframes haloPulse{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes seismoShake{0%,100%{transform:translateX(0)}18%{transform:translateX(-7px) rotate(-.4deg)}36%{transform:translateX(6px) rotate(.35deg)}54%{transform:translateX(-5px)}72%{transform:translateX(4px)}88%{transform:translateX(-2px)}}

/* ---------- 技术实验室：样机放正 + 教案立体炫酷 ---------- */
.demo-device{transform:none!important;transition:box-shadow .3s}
.device-screen::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.08) 0%,transparent 30%,transparent 62%,rgba(255,255,255,.05) 100%);pointer-events:none;z-index:8;border-radius:0 0 20px 20px}
[data-depth]{filter:drop-shadow(0 8px 14px rgba(0,0,0,.38))}
.gear-scene::before,.heart-scene::before,.city-scene::before,.stage-scene::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(0,212,255,.12),transparent 60%);pointer-events:none}
.gear{filter:drop-shadow(0 0 16px rgba(255,201,100,.5))}
.heart3d{animation:heartBeat3d 2.4s ease-in-out infinite}
@keyframes heartBeat3d{0%,100%{transform:scale(1) rotateY(-12deg)}22%{transform:scale(1.16,1.07) rotateY(10deg)}40%{transform:scale(1.04,1.03) rotateY(-6deg)}58%{transform:scale(1.12,1.06) rotateY(8deg)}76%{transform:scale(1) rotateY(-4deg)}}
.city3d .bar{animation:barBreathe 2.2s ease-in-out infinite;transform-origin:bottom}
.city3d .bar:nth-child(1){animation-delay:0s}
.city3d .bar:nth-child(2){animation-delay:.25s}
.city3d .bar:nth-child(3){animation-delay:.5s}
.city3d .bar:nth-child(4){animation-delay:.75s}
.city3d .bar:nth-child(5){animation-delay:1s}
@keyframes barBreathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.14)}}
.product3d{filter:drop-shadow(0 26px 44px rgba(0,212,255,.35))}
.quiz-opt.correct{animation:correctPop .5s ease}
.quiz-opt.wrong{animation:wrongShake .4s ease}
@keyframes correctPop{0%{transform:scale(1)}45%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes wrongShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
.crank-canvas{filter:drop-shadow(0 0 10px rgba(0,212,255,.25))}

/* ---------- 六步交付流程 · 放成一排 ---------- */
.process-track{flex-wrap:nowrap;align-items:center;gap:10px}
.process-track>.process-step{width:146px;margin-top:0!important;flex-shrink:0}
.process-track>.process-step:nth-child(n){margin-top:0}
.process-arrow{align-self:center;margin-bottom:0}
.process-track>.process-step:hover{transform:translateY(-8px)}
@media(max-width:1180px){
  .process-track{flex-direction:column;align-items:center;gap:14px;flex-wrap:nowrap}
  .process-track>.process-step{width:100%;max-width:340px;margin-top:0!important}
  .process-arrow{transform:rotate(90deg);margin:2px 0;align-self:center}
}

/* ---------- 板块颜色分割 & 关于我们增强 ---------- */
.section::after{content:'';position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,70%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,185,66,.3),transparent);pointer-events:none}
.solution-section,.cases-section,.process-section{background:linear-gradient(180deg,rgba(0,102,255,.05),transparent 34%)}
.about-section{background:linear-gradient(180deg,rgba(13,20,36,.9),rgba(10,14,26,.97)),url('../images/about-office.jpg') center/cover no-repeat fixed}
@media(max-width:768px){.about-section{background-attachment:scroll}}
.about-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:16px 22px;background:var(--card);border:1px solid var(--border);border-radius:16px;width:max-content;max-width:100%}
.about-logo{height:46px;width:auto}
.about-brand-name{font-size:21px;font-weight:800;background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-brand-sub{font-size:12px;color:var(--muted);letter-spacing:2px}

/* ============================================================
   浅色模式（body.light）
   ============================================================ */
body.light{
  --bg:#f4f7fc;--bg2:#eef2fa;--bg3:#e6ebf5;
  --text:#16223f;--text2:#5a6478;--muted:#7c86a0;--text3:#47526b;
  --text-soft:rgba(22,34,63,.8);
  --card:#ffffff;--card-strong:rgba(22,50,100,.08);
  --border:rgba(30,60,110,.14);--border-strong:rgba(30,60,110,.28);
  --nav-bg:rgba(244,247,252,.94);--bg-soft:rgba(240,245,255,.72);
  --panel-deep:rgba(255,255,255,.85);
  --topbar-overlay:rgba(230,235,245,.5);
  --panel-grad:linear-gradient(160deg,#ffffff,#e8eef8);
  --screen-grad:radial-gradient(ellipse at 50% 0%,#dfe8f7,#f4f7fc 70%);
  --hero-vignette:rgba(240,245,255,.8);
  --section-alt:linear-gradient(180deg,#eef2fa 0%,#f4f7fc 100%);
  --about-bg:linear-gradient(180deg,#eef2fa 0%,#f4f7fc 100%);
  --video-bg:radial-gradient(circle at 50% 35%,#dfe8f7,#eef2fa);
  --gov-bg:linear-gradient(145deg,#ffffff,#eef2fa);
  --num-ghost:rgba(22,34,63,.06);
}
body.light .topbar{background:var(--bg3)}
body.light .mobile-toggle span{background:#16223f}
body.light ::-webkit-scrollbar-track{background:#e6ebf5}
body.light .navbar.scrolled{box-shadow:0 10px 30px rgba(30,60,110,.08)}
body.light .hero-sub{color:var(--text2)}
body.light .hero-slogan{color:var(--text2)}
body.light .hero-badge{background:rgba(255,185,66,.12);border-color:rgba(255,185,66,.5);color:#b87900}
body.light .btn-secondary{border-color:rgba(0,102,255,.35);color:#0066ff}
body.light .btn-secondary:hover{background:rgba(0,102,255,.06)}
body.light .case-card-more{color:#fff}
body.light .client-logo{box-shadow:0 8px 22px rgba(30,60,110,.1)}
body.light .lab-demo{background:#ffffff}
body.light .demo-ind-btn{background:#ffffff;border-color:rgba(30,60,110,.16);color:var(--text2)}
body.light .demo-mode-btn{background:#ffffff;border-color:rgba(30,60,110,.16);color:var(--text2)}
body.light .ctl-btn{background:#ffffff;border-color:rgba(30,60,110,.16);color:var(--text3)}
body.light .ctl-tip{color:var(--muted)}
body.light .seismo-demo{background:radial-gradient(circle at 50% 32%,#e6eefb 0%,#d9e3f3 78%)}
body.light .seismo-readout{color:#0a5c8a}
body.light .seismo-reset{background:rgba(255,255,255,.7)}
body.light .about-section{background:linear-gradient(180deg,rgba(244,247,252,.9),rgba(244,247,252,.97)),url('../images/about-office.jpg') center/cover no-repeat fixed}
body.light .footer{background:var(--bg3);border-top-color:rgba(30,60,110,.1)}
body.light .footer .logo>span{color:var(--text);-webkit-text-fill-color:var(--text)}
body.light .footer .logo .logo-en{-webkit-text-fill-color:var(--muted)}
body.light .footer-col a{color:var(--text2)}
body.light .footer-col h4{color:var(--text)}
body.light .theme-toggle{background:#ffffff}
body.light .theme-toggle:hover{color:#b87900}
body.light .process-icon{background:rgba(0,102,255,.07);border-color:rgba(0,102,255,.22)}
body.light .stats-inner{background:linear-gradient(135deg,rgba(0,212,255,.09),rgba(255,185,66,.09))}
body.light .contact-card{background:linear-gradient(135deg,rgba(0,212,255,.06),rgba(255,185,66,.06))}
body.light .demo-device{border-color:rgba(30,60,110,.18);box-shadow:0 30px 80px rgba(30,60,110,.18),0 0 40px rgba(0,212,255,.12)}

/* ---------- 浅色 + 响应式 ---------- */
@media(max-width:1024px){
  .seismo-dragon{--ring-offset:-150px}
}
@media(max-width:768px){
  .ai-edu-visual{aspect-ratio:4/3.2;min-height:0}
  .seismo-dragon{--ring-offset:-185px}
  .seismo-tag{font-size:11px;padding:4px 12px}
  .seismo-readout{font-size:11px;padding:5px 12px}
  .about-brand{padding:12px 16px}
  .about-logo{height:38px}
}
@media(max-width:480px){
  .seismo-dragon{--ring-offset:-150px}
  .seismo-demo{min-height:300px}
  .theme-toggle .tt-text{display:none}
  .theme-toggle{padding:7px 10px}
}

/* ============================================================
   V4：候风地动仪·真实青铜结构 / 真实心脏 3D / 可拖拽 3D 模型
   ============================================================ */

/* ---------- 通用 3D 模型（可拖拽旋转） ---------- */
.model3d{position:relative;transform-style:preserve-3d;transform:rotateX(16deg) rotateY(-14deg);transition:transform .15s linear;cursor:grab;touch-action:none}
.model3d:active{cursor:grabbing}

/* ---------- 候风地动仪 · 青铜罐体 ---------- */
.seismo-demo{background:radial-gradient(circle at 50% 30%,#14234a 0%,#0a0e1a 76%)}
.seismo-stage{position:absolute;inset:0;perspective:1200px}
.seismo-tilt{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(16deg) rotateY(-8deg);cursor:grab;touch-action:none}
.seismo-tilt:active{cursor:grabbing}
.seismo-vessel{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:44%;max-width:232px;aspect-ratio:1/1.08;z-index:3;transition:opacity .45s,filter .45s}
.sv-lid{position:absolute;left:50%;top:0;transform:translateX(-50%);width:86%;height:14%;border-radius:50% 50% 40% 40%;background:radial-gradient(circle at 38% 28%,#f2cf82,#a06b1c 58%,#5f3f0e);box-shadow:inset 0 -6px 12px rgba(0,0,0,.45),0 4px 10px rgba(0,0,0,.35)}
.sv-rim{position:absolute;left:50%;top:12.5%;transform:translateX(-50%);width:96%;height:5.5%;border-radius:40%;background:linear-gradient(180deg,#f6d68c,#8a5a14);box-shadow:0 2px 8px rgba(0,0,0,.5);z-index:2}
.sv-body{position:absolute;left:50%;top:16.5%;transform:translateX(-50%);width:100%;height:62%;border-radius:36% 36% 44% 44%/32% 32% 36% 36%;background:radial-gradient(circle at 34% 26%,#dcb258,#8a5a14 46%,#432c07 88%);box-shadow:inset 14px 8px 26px rgba(255,225,150,.15),inset -16px -10px 30px rgba(0,0,0,.55),0 18px 34px rgba(0,0,0,.55);overflow:hidden}
.sv-shine{position:absolute;left:12%;top:7%;width:30%;height:22%;border-radius:50%;background:radial-gradient(circle,rgba(255,240,200,.5),transparent 70%)}
.sv-band{position:absolute;left:8%;right:8%;top:44%;width:84%;height:auto;opacity:.9;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.sv-collar{position:absolute;left:50%;top:75%;transform:translateX(-50%);width:94%;height:9%;border-radius:40%;background:linear-gradient(180deg,#a06b1c,#5f3f0e);box-shadow:0 3px 8px rgba(0,0,0,.45);z-index:2}
.sv-base{position:absolute;left:50%;top:85%;transform:translateX(-50%);width:104%;height:13%;border-radius:46%;background:linear-gradient(180deg,#6f4a10,#2e1e08);box-shadow:0 6px 16px rgba(0,0,0,.6)}

/* 内部构造：都柱 + 八道 */
.seismo-inner{position:absolute;inset:0;opacity:0;transition:opacity .45s;pointer-events:none;z-index:2}
.seismo-demo.inspect .seismo-inner{opacity:1}
.seismo-demo.inspect .seismo-vessel{opacity:.3;filter:saturate(.5) brightness(1.2)}
.si-hub{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#3d5a86,#14233f 70%);border:2px solid rgba(0,212,255,.45);box-shadow:0 0 24px rgba(0,212,255,.3)}
.si-pillar{position:absolute;left:50%;top:46%;width:15px;height:62%;transform:translate(-50%,-96%);transform-origin:50% 100%;background:linear-gradient(90deg,#b07c26,#eec06a 28%,#f6d68c 50%,#d9a84e 74%,#8a5a14);border-radius:4px;box-shadow:0 0 16px rgba(255,201,100,.45);transition:transform .55s cubic-bezier(.55,-.08,.45,1.15);z-index:2}
.si-pillar::before{content:'';position:absolute;left:50%;top:-10px;transform:translateX(-50%);width:26px;height:20px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#f6d68c,#a06b1c 72%);box-shadow:0 0 12px rgba(255,201,100,.4)}
.seismo-demo.fired .si-pillar{transform:translate(-50%,-96%) rotate(var(--tilt,0deg))}
.si-arm{position:absolute;left:50%;top:46%;width:5px;height:40%;transform-origin:50% 100%;transform:translateX(-50%) rotate(var(--ang,0deg));background:linear-gradient(180deg,#ffc964,#7a4c10);border-radius:3px;opacity:.85;transition:background .4s,box-shadow .4s}
.si-arm::after{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#ffe9ae,#e9a93c 70%);box-shadow:0 0 8px rgba(255,201,100,.6)}
.seismo-demo.fired .si-arm.armed{background:linear-gradient(180deg,#ffe9ae,#ff8a00);box-shadow:0 0 14px rgba(255,180,60,.9)}

/* 八龙衔珠 */
.seismo-dragon{--ring-offset:-175px;position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(var(--ang,0deg)) translateY(var(--ring-offset));transform-origin:center;width:52px;height:84px;background:none;border:none;padding:0;cursor:pointer;z-index:6;transition:filter .3s}
.seismo-dragon:hover{filter:brightness(1.25) drop-shadow(0 0 8px rgba(255,201,100,.7))}
.sd-inner{position:relative;display:block;width:100%;height:100%}
.sd-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.sd-ball{position:absolute;left:50%;top:34%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe9ae,#e9a93c 58%,#a86b12);box-shadow:0 0 12px rgba(255,201,100,.9),0 3px 6px rgba(0,0,0,.5);transition:transform .7s cubic-bezier(.5,-.15,.4,1.3),opacity .5s,box-shadow .5s;z-index:2}
.seismo-dragon.triggered{cursor:default}
.seismo-dragon.triggered .sd-ball{transform:translate(-50%,74px) scale(.6);opacity:.3;box-shadow:0 0 4px rgba(255,201,100,.3)}
.seismo-dragon.triggered .sd-svg{filter:drop-shadow(0 6px 10px rgba(0,0,0,.5)) brightness(1.1)}

/* 八蟾蜍承接 */
.seismo-frog{--frog-offset:-218px;position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(var(--ang,0deg)) translateY(var(--frog-offset));width:46px;height:34px;z-index:5;transition:filter .4s,transform .4s}
.frog-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.seismo-frog.caught{filter:drop-shadow(0 0 14px rgba(255,201,100,.9))}
.seismo-frog.caught .frog-svg .frog-mouth{fill:#ffd98a}
.seismo-frog.caught .frog-svg .frog-back{fill:#7db454}

/* 控制区 */
.seismo-ctrls{position:absolute;top:14px;right:14px;display:flex;gap:8px;z-index:8}
.seismo-mode,.seismo-reset{padding:5px 14px;border-radius:14px;border:1px solid var(--border-strong);background:var(--card);color:var(--text2);font-size:11.5px;cursor:pointer;transition:all .3s}
.seismo-mode:hover,.seismo-reset:hover{border-color:#ffb942;color:#ffc96b}
.seismo-tag{top:14px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:16px;background:linear-gradient(135deg,#ffb942,#ff8a00);color:#0a0e1a;font-size:12px;font-weight:800;letter-spacing:1px;z-index:8;white-space:nowrap;box-shadow:0 8px 22px rgba(255,185,66,.35);position:absolute}

/* ---------- 2.5D 真实心脏（解剖结构） ---------- */
.heart-scene{position:relative;height:100%;display:flex;align-items:center;justify-content:center}
.heart-real{width:min(76%,232px);height:auto;filter:drop-shadow(0 16px 26px rgba(190,35,65,.38))}
.heart-tag{position:absolute;padding:3px 10px;border-radius:12px;font-size:11px;background:var(--panel-deep);border:1px solid var(--border);color:var(--text2);box-shadow:0 4px 12px rgba(0,0,0,.12);white-space:nowrap;backdrop-filter:blur(4px)}
.ht1{top:15%;right:2%}.ht2{bottom:20%;right:0}.ht3{top:26%;left:0}.ht4{bottom:12%;left:8%}.ht5{top:0;left:28%}
.blood-cell.c1{top:20%;left:30%;animation:flow1 4.2s linear infinite}
.blood-cell.c2{top:38%;left:20%;animation:flow2 3.6s linear infinite}
@keyframes flow1{0%{transform:translate(0,0);opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translate(120px,-30px);opacity:0}}
@keyframes flow2{0%{transform:translate(0,0);opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translate(150px,40px);opacity:0}}

/* ---------- 3D 心脏（多层堆叠 + 错峰搏动） ---------- */
#heart3dWrap{width:236px;height:204px;margin:0 auto}
#heart3dWrap .h3d-layer{position:absolute;left:50%;top:52%;right:auto;bottom:auto;background:none;box-shadow:none;border-radius:0;transform:translate(-50%,-50%) translateZ(var(--z,-0px))}
#heart3dWrap .h3d-layer.h1,#heart3dWrap .h3d-layer.h2,#heart3dWrap .h3d-layer.h3{background:none;opacity:1}
.h3d-svg{width:236px;height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(190,35,65,.4))}
.h3d-layer .h3d-svg{animation:heartBeat3d 2.4s ease-in-out infinite;transform-origin:50% 60%}
.h3d-layer:nth-child(2) .h3d-svg{animation-delay:-.48s}
.h3d-layer:nth-child(3) .h3d-svg{animation-delay:-.96s}
.h3d-layer:nth-child(4) .h3d-svg{animation-delay:-1.44s}
.h3d-layer:nth-child(5) .h3d-svg{animation-delay:-1.92s}
#heart3dWrap .h1{--z:-18px}#heart3dWrap .h2{--z:-9px}#heart3dWrap .h3{--z:0}#heart3dWrap .h4{--z:9px}#heart3dWrap .h5{--z:18px}
#heart3dWrap .ecg-line{position:absolute;left:0;right:0;bottom:-2px;width:100%;opacity:.9}

/* ---------- 3D 城市柱状图 ---------- */
.city3d{perspective:900px;display:flex;align-items:flex-end;justify-content:center;gap:20px;position:relative;height:100%;padding-bottom:30px}
.bar3d{position:relative;width:34px;height:var(--h);transform-style:preserve-3d;transform:rotateX(-16deg);margin-bottom:6px;animation:barBreathe 2.2s ease-in-out infinite;transform-origin:bottom}
.bar3d:nth-child(2){animation-delay:.25s}.bar3d:nth-child(3){animation-delay:.5s}.bar3d:nth-child(4){animation-delay:.75s}.bar3d:nth-child(5){animation-delay:1s}
.bar3d .bf{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,212,255,.95),rgba(0,102,255,.78));border-radius:3px 3px 0 0;box-shadow:inset 6px 0 12px rgba(255,255,255,.18)}
.bar3d .bs{position:absolute;top:0;left:100%;width:15px;height:100%;background:linear-gradient(180deg,rgba(0,150,255,.8),rgba(0,80,200,.62));transform:rotateY(90deg);transform-origin:left;border-radius:0 3px 3px 0}
.bar3d .bt{position:absolute;top:0;left:0;width:100%;height:15px;background:linear-gradient(180deg,#8fe6ff,#00b4ff);transform:rotateX(90deg);transform-origin:top;border-radius:3px;box-shadow:0 0 14px rgba(0,212,255,.7)}
.bar3d span{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%) rotateX(18deg);font-size:11px;color:var(--text2);white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.chart3d-base{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:78%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.55),transparent);box-shadow:0 0 10px rgba(0,212,255,.4)}

/* ---------- 企业产品 3D ---------- */
.product3d.model3d{width:150px;height:190px;margin:0 auto}

/* ---------- 曲柄连杆 3D 舞台 ---------- */
.crank-ctl ~ .model3d, .slide-3d > .model3d{width:300px;height:150px;margin:0 auto}

/* ---------- 响应式 ---------- */
@media(max-width:1024px){
  .seismo-dragon{--ring-offset:-148px}
  .seismo-frog{--frog-offset:-184px}
}
@media(max-width:768px){
  .seismo-dragon{--ring-offset:-186px}
  .seismo-frog{--frog-offset:-228px}
  .seismo-vessel{width:42%}
  .heart-real{width:min(82%,220px)}
  #heart3dWrap{width:210px;height:186px}
  .h3d-svg{width:210px}
}
@media(max-width:480px){
  .seismo-dragon{--ring-offset:-150px}
  .seismo-frog{--frog-offset:-186px}
  .seismo-tag{font-size:11px;padding:4px 12px}
  .seismo-ctrls{top:12px;right:10px}
  .seismo-mode,.seismo-reset{padding:4px 10px;font-size:10.5px}
  .ht1{top:12%;right:0}.ht2{bottom:18%;right:0}.ht3{top:24%;left:0}.ht4{bottom:10%;left:4%}.ht5{left:22%}
}

/* 浅色模式适配 */
body.light .seismo-demo{background:radial-gradient(circle at 50% 30%,#e6eefb 0%,#d7e2f3 76%)}
body.light .seismo-vessel{opacity:1}
body.light .seismo-demo.inspect .seismo-vessel{opacity:.32}
body.light .seismo-tag{color:#0a0e1a}
body.light .bar3d .bs{background:linear-gradient(180deg,rgba(0,140,255,.7),rgba(0,90,190,.55))}
body.light .bar3d .bf{background:linear-gradient(180deg,rgba(0,190,255,.9),rgba(0,110,255,.72))}
body.light .bar3d .bt{background:linear-gradient(180deg,#7adfff,#00b4ff)}

/* ========== 太阳系公转 · 3D 交互展示（V5 替换地动仪） ========== */
.solar-demo{position:relative;width:100%;height:100%;background:radial-gradient(circle at 50% 38%,#0d1730 0%,#070b16 80%);border-radius:24px;overflow:hidden;user-select:none}
.solar-halo{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,185,66,.10),transparent 60%);animation:haloPulse 5s ease infinite;pointer-events:none}
.solar-stage{position:absolute;inset:0}
.solar-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.solar-canvas:active{cursor:grabbing}
.solar-readout{position:absolute;left:16px;right:16px;bottom:14px;padding:7px 12px;border-radius:12px;background:rgba(8,14,30,.66);border:1px solid rgba(91,124,250,.35);color:#9fd8ff;font-size:12px;text-align:center;pointer-events:none;backdrop-filter:blur(6px)}
.solar-tag{position:absolute;left:16px;top:14px;padding:5px 12px;border-radius:20px;border:1px solid rgba(255,185,66,.4);background:rgba(20,16,8,.55);color:#ffd98a;font-size:12px;pointer-events:none}
.solar-ctrls{position:absolute;right:16px;top:14px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:20px;background:rgba(8,14,30,.72);border:1px solid rgba(91,124,250,.35);backdrop-filter:blur(6px)}
.solar-btn{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,212,255,.4);background:rgba(0,212,255,.08);color:#bff2ff;font-size:14px;line-height:1;cursor:pointer;transition:all .25s}
.solar-btn:hover{border-color:#ffb942;color:#ffd98a;background:rgba(255,185,66,.14)}
.solar-speed{min-width:34px;text-align:center;color:#ffd98a;font-size:12px;font-weight:600}
.solar-card{position:absolute;right:16px;bottom:56px;width:222px;padding:12px 14px;border-radius:14px;background:rgba(8,14,30,.9);border:1px solid rgba(255,185,66,.45);box-shadow:0 12px 30px rgba(0,0,0,.5);z-index:5;backdrop-filter:blur(8px)}
.solar-card h5{color:#ffd98a;font-size:14px;margin:0 0 6px;padding-right:16px}
.solar-card p{color:#bfe6ff;font-size:12px;line-height:1.6;margin:0}
.solar-card-close{position:absolute;right:8px;top:6px;width:20px;height:20px;border:none;background:none;color:#9fd8ff;font-size:15px;cursor:pointer;line-height:1}
.solar-card-close:hover{color:#ffd98a}
body.light .solar-demo{background:radial-gradient(circle at 50% 38%,#dbe9ff 0%,#c2d4f2 85%)}
body.light .solar-readout{background:rgba(255,255,255,.75);border-color:rgba(63,104,220,.3);color:#27418c}
body.light .solar-tag{border-color:rgba(180,130,40,.5);background:rgba(255,248,230,.8);color:#8a5f14}
body.light .solar-ctrls{background:rgba(255,255,255,.8);border-color:rgba(63,104,220,.3)}
body.light .solar-btn{border-color:rgba(63,104,220,.5);color:#3a5cc0;background:rgba(63,104,220,.08)}
body.light .solar-speed{color:#8a5f14}
body.light .solar-card{background:rgba(255,255,255,.95);border-color:rgba(180,130,40,.5)}
body.light .solar-card h5{color:#8a5f14}
body.light .solar-card p{color:#2c4a8c}

/* ========== DNA 双螺旋 · 教案 2.5D / 3D（V5 替换心脏） ========== */
.dna-scene{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dna-svg{width:88%;max-height:88%;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.dna-strand.dna-front{filter:drop-shadow(0 0 6px rgba(111,227,232,.55))}
.dna-tag{position:absolute;padding:3px 10px;border-radius:12px;font-size:11px;color:#bff2ff;background:rgba(10,18,40,.62);border:1px solid rgba(0,212,255,.35);white-space:nowrap}
.dna-tag.dt1{left:12%;top:20%}
.dna-tag.dt2{left:9%;bottom:18%}
.dna-tag.dt3{right:13%;top:19%}
.dna-tag.dt4{right:9%;bottom:20%}
.dna-note{position:absolute;left:50%;top:5%;transform:translateX(-50%);padding:4px 12px;border-radius:14px;background:rgba(255,185,66,.12);border:1px solid rgba(255,185,66,.45);color:#ffd98a;font-size:11px;white-space:nowrap}
.dna-spark{animation:sparkPulse 2.6s ease-in-out infinite}
.dna-spark:nth-child(2n){animation-delay:.9s}
.dna3d{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#0d1730 0%,#070b16 85%);border-radius:16px;cursor:grab;touch-action:none}
.dna-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.dna-3d-label{position:absolute;color:#9fd8ff;font-size:11px;opacity:.85;pointer-events:none}
.dna-3d-label.d5p{left:12%;top:12%}
.dna-3d-label.d3p{right:12%;bottom:12%}
body.light .dna3d{background:radial-gradient(circle at 50% 40%,#dbe9ff 0%,#c2d4f2 85%)}
body.light .dna-tag{color:#27418c;background:rgba(255,255,255,.75);border-color:rgba(63,104,220,.35)}
body.light .dna-note{border-color:rgba(180,130,40,.5);color:#8a5f14;background:rgba(255,248,230,.75)}
@keyframes sparkPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}

/* ========== 技术实验室 · 渲染管线太阳系图标（V5） ========== */
.solar-svg{width:104px;height:84px}
.solar-rot{transform-origin:32px 32px;animation:seismoRot 16s linear infinite}
.solar-scan{stroke-dasharray:60;stroke-dashoffset:60;animation:scanMove 2.2s linear infinite;opacity:.9}

/* ============================================================
   V6 · 解决方案栏目立体化升级（叠加覆盖）
   ============================================================ */
/* ---- section 背景氛围 ---- */
.solution-section{position:relative;overflow:hidden;isolation:isolate}
.solution-section::before{content:'';position:absolute;inset:0;z-index:-2;background:
  radial-gradient(circle at 8% 18%,rgba(0,212,255,.10),transparent 42%),
  radial-gradient(circle at 92% 72%,rgba(255,185,66,.09),transparent 42%),
  radial-gradient(circle at 60% 100%,rgba(0,170,255,.06),transparent 50%);pointer-events:none}
.solution-section::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(91,124,250,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(91,124,250,.05) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 35%,#000 25%,transparent 78%);
  mask-image:radial-gradient(ellipse at 50% 35%,#000 25%,transparent 78%)}
body.light .solution-section::before{background:
  radial-gradient(circle at 8% 18%,rgba(0,150,255,.08),transparent 42%),
  radial-gradient(circle at 92% 72%,rgba(255,170,40,.07),transparent 42%)}
body.light .solution-section::after{background-image:linear-gradient(rgba(30,80,180,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,80,180,.06) 1px,transparent 1px)}

/* ---- Tab 玻璃拟态升级 ---- */
.solution-tabs{margin-bottom:58px}
.solution-tab{padding:14px 30px;background:rgba(12,20,38,.55);border:1px solid rgba(91,124,250,.26);border-radius:16px;font-size:15px;letter-spacing:.5px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(0,0,0,.18);transition:all .4s cubic-bezier(.16,1,.3,1)}
body.light .solution-tab{background:rgba(255,255,255,.72);border-color:rgba(30,90,200,.16);box-shadow:0 6px 18px rgba(20,60,140,.08)}
.solution-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,255,.16),rgba(255,185,66,.12));opacity:0;transition:opacity .4s;z-index:0}
.solution-tab.active{background:linear-gradient(135deg,rgba(0,170,255,.20),rgba(255,185,66,.18));border-color:rgba(0,212,255,.55);color:#fff;box-shadow:0 10px 34px rgba(0,170,255,.28),inset 0 0 20px rgba(0,212,255,.08);transform:translateY(-3px) scale(1.03)}
body.light .solution-tab.active{color:#0a1a3a;background:linear-gradient(135deg,rgba(0,150,255,.14),rgba(255,170,40,.16));box-shadow:0 10px 30px rgba(0,140,255,.16)}
.solution-tab.active::before{opacity:1}
.solution-tab.active::after{content:'';position:absolute;left:22%;right:22%;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#ffd98a,transparent);z-index:1}
.solution-tab:not(.active):hover{transform:translateY(-2px);border-color:rgba(255,185,66,.45);color:#ffc96b;box-shadow:0 10px 26px rgba(0,0,0,.22)}
body.light .solution-tab:not(.active):hover{border-color:rgba(255,150,30,.5);color:#c27800;box-shadow:0 8px 22px rgba(30,80,180,.10)}

/* ---- 视觉卡 3D 悬浮 ---- */
.solution-visual{height:460px;border-radius:22px;transform-style:preserve-3d;will-change:transform;
  box-shadow:0 26px 60px rgba(0,0,0,.38),0 0 0 1px rgba(91,124,250,.16),0 0 60px rgba(0,170,255,.06);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
body.light .solution-visual{box-shadow:0 24px 56px rgba(20,60,140,.14),0 0 0 1px rgba(30,90,200,.10)}
.solution-visual::before{content:'';position:absolute;inset:0;border-radius:22px;border:1px solid rgba(0,212,255,.22);z-index:2;pointer-events:none;transition:border-color .4s}
.solution-visual:hover::before{border-color:rgba(255,185,66,.5)}
.solution-visual::after{content:'';position:absolute;top:0;left:-90%;width:55%;height:100%;z-index:4;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.10),transparent);transform:skewX(-22deg);
  animation:solShine 6.5s ease-in-out infinite}
@keyframes solShine{0%,52%{left:-90%}78%,100%{left:170%}}
.solution-visual img{transition:transform .7s cubic-bezier(.16,1,.3,1);will-change:transform}
.solution-visual:hover img{transform:scale(1.06)}
/* 底部渐变压暗 + 编号 + 徽章 */
.sol-veil{position:absolute;left:0;right:0;bottom:0;height:46%;z-index:2;pointer-events:none;
  background:linear-gradient(to top,rgba(4,8,18,.88),rgba(4,8,18,.18) 62%,transparent)}
body.light .sol-veil{background:linear-gradient(to top,rgba(255,255,255,.86),rgba(255,255,255,.10) 60%,transparent)}
.sol-num{position:absolute;right:14px;top:-6px;z-index:2;pointer-events:none;user-select:none;font-size:118px;font-weight:900;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px rgba(91,124,250,.26);font-family:'Segoe UI',sans-serif;opacity:.9}
body.light .sol-num{-webkit-text-stroke:1.5px rgba(30,90,200,.22)}
.sol-chip{position:absolute;top:16px;right:16px;z-index:3;padding:7px 16px;border-radius:30px;font-size:12.5px;font-weight:700;letter-spacing:1px;
  color:#ffd98a;background:rgba(10,16,30,.55);border:1px solid rgba(255,185,66,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(0,0,0,.3)}
body.light .sol-chip{color:#8a5a00;background:rgba(255,255,255,.82);border-color:rgba(255,160,40,.45);box-shadow:0 8px 20px rgba(120,80,0,.12)}
.solution-visual-tag{left:18px;bottom:18px;z-index:3;background:linear-gradient(135deg,rgba(0,170,255,.22),rgba(255,185,66,.20));border:1px solid rgba(0,212,255,.35);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.35);padding:8px 18px;font-weight:700;letter-spacing:1px}
body.light .solution-visual-tag{color:#0a1a3a;background:linear-gradient(135deg,rgba(0,150,255,.14),rgba(255,170,40,.16));border-color:rgba(0,140,255,.35);box-shadow:0 8px 22px rgba(20,60,140,.12)}
/* 视觉卡 3D tilt 悬停立体 */
.solution-visual.tilt-on{transform:perspective(1000px) rotateY(var(--rx,0)) rotateX(var(--ry,0)) translateY(-8px);
  box-shadow:0 40px 90px rgba(0,0,0,.5),0 0 0 1px rgba(0,212,255,.30),0 0 80px rgba(0,170,255,.12)}

/* ---- 右侧信息 ---- */
.solution-info h3{font-size:34px;line-height:1.25}
.solution-info h3 span{background:linear-gradient(135deg,#ffb942,#ff8a00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body.light .solution-info h3 span{background:linear-gradient(135deg,#f08800,#d96b00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sol-tags{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 22px}
.sol-tags span{position:relative;padding:7px 16px;border-radius:30px;font-size:12.5px;font-weight:600;color:var(--text2);
  background:rgba(91,124,250,.08);border:1px solid rgba(91,124,250,.22);transition:all .3s}
.sol-tags span::before{content:'✦ ';color:#ffc96b;font-size:11px}
.sol-tags span:hover{color:#ffc96b;border-color:rgba(255,185,66,.45);transform:translateY(-2px)}
body.light .sol-tags span{background:rgba(30,90,200,.05);border-color:rgba(30,90,200,.18)}
body.light .sol-tags span::before{color:#e08a00}
body.light .sol-tags span:hover{color:#b06a00;border-color:rgba(255,150,30,.5)}

/* ---- 列表项立体升级 ---- */
.solution-list{gap:16px}
.solution-item{position:relative;overflow:hidden;padding:17px 20px;border-radius:14px;transition:all .35s cubic-bezier(.16,1,.3,1)}
.solution-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#00d4ff,#ffc96b);opacity:0;transition:opacity .35s;z-index:1}
.solution-item::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,255,.07),rgba(255,185,66,.05));opacity:0;transition:opacity .35s;z-index:0}
.solution-item:hover{transform:translateX(10px);border-color:rgba(255,185,66,.38);box-shadow:0 14px 34px rgba(0,0,0,.26)}
.solution-item:hover::before{opacity:1}
.solution-item:hover::after{opacity:1}
.solution-item>*{position:relative;z-index:2}
.solution-item-icon{width:42px;height:42px;min-width:42px;font-size:19px;border-radius:12px;
  background:linear-gradient(135deg,rgba(0,212,255,.18),rgba(255,185,66,.15));box-shadow:inset 0 0 14px rgba(0,212,255,.10);transition:all .35s}
.solution-item:hover .solution-item-icon{transform:scale(1.12) rotate(-6deg);background:linear-gradient(135deg,rgba(0,212,255,.32),rgba(255,185,66,.28));box-shadow:inset 0 0 18px rgba(0,212,255,.2)}
.solution-item-text h4{font-size:16px;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.solution-item-text h4::after{content:'→';opacity:0;transform:translateX(-8px);transition:all .3s;color:#ffc96b;font-weight:700}
.solution-item:hover .solution-item-text h4::after{opacity:1;transform:translateX(0)}
body.light .solution-item:hover{box-shadow:0 12px 30px rgba(20,60,140,.12)}

/* ---- panel 入场动效更立体 ---- */
.solution-panel.active{animation:panelIn3D .7s cubic-bezier(.16,1,.3,1) forwards}
@keyframes panelIn3D{from{opacity:0;transform:translateY(36px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}

/* ---- 移动端适配 ---- */
@media (max-width:1024px){
  .solution-panel{grid-template-columns:1fr;gap:34px}
  .solution-visual{height:380px}
  .sol-num{font-size:92px;top:-2px;right:10px}
}
@media (max-width:768px){
  .solution-visual{height:320px}
  .solution-tabs{gap:10px;margin-bottom:40px}
  .solution-tab{padding:11px 20px;font-size:14px}
  .solution-info h3{font-size:27px}
}
@media (max-width:480px){
  .solution-visual{height:260px}
  .solution-tab{padding:9px 15px;font-size:13px;border-radius:12px}
  .sol-num{font-size:64px}
  .sol-chip{font-size:11px;padding:5px 12px;top:10px;right:10px}
  .sol-tags span{padding:5px 12px;font-size:11.5px}
}

/* ============================================================
   V6.1 · 关于我们品牌区居中 / 案例区 AI 按钮 / 太阳系宇宙背景
   ============================================================ */
/* ---- 关于我们 · DAXIONG DESIGN 品牌区居中 ---- */
.about-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;
  margin:22px auto 32px;padding:28px 38px;width:max-content;max-width:100%;
  background:var(--card);border:1px solid var(--border);border-radius:22px;
  box-shadow:0 18px 46px rgba(0,0,0,.14),0 0 0 1px rgba(0,212,255,.06);
  transition:all .35s}
.about-brand:hover{transform:translateY(-3px);box-shadow:0 24px 56px rgba(0,0,0,.18),0 0 0 1px rgba(255,185,66,.25)}
.about-logo{height:54px;width:auto;margin-bottom:2px}
.about-brand-name{font-size:25px;font-weight:800;letter-spacing:1px;
  background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
body.light .about-brand-name{background:linear-gradient(135deg,#0090e0,#0050c8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-brand-sub{font-size:13px;color:var(--muted);letter-spacing:5px;margin-left:5px}
.about-brand::after{content:'';width:56px;height:2px;margin-top:6px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#ffb942,transparent)}

/* ---- 标杆案例 · 查看 AI 赋能按钮 ---- */
.cases-cta{margin-top:26px}
.btn-ai{display:inline-flex;align-items:center;gap:9px;padding:13px 32px;border-radius:50px;font-size:15px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,#00b8ff,#0066ff);box-shadow:0 12px 32px rgba(0,120,255,.35),inset 0 1px 0 rgba(255,255,255,.2);
  text-decoration:none;position:relative;overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1)}
.btn-ai::before{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-22deg);transition:left .6s}
.btn-ai:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,120,255,.48)}
.btn-ai:hover::before{left:140%}
.btn-ai-ico{font-size:17px;line-height:1}
.btn-ai-arr{transition:transform .3s}
.btn-ai:hover .btn-ai-arr{transform:translateX(4px)}
body.light .btn-ai{box-shadow:0 12px 30px rgba(0,110,255,.28),inset 0 1px 0 rgba(255,255,255,.35)}

/* ---- 太阳系 · 浩瀚宇宙背景（canvas 透明，不影响交互） ---- */
.solar-demo{background:
  radial-gradient(1.3px 1.3px at 12% 22%,rgba(255,255,255,.92),transparent 60%),
  radial-gradient(1px 1px at 28% 64%,rgba(255,255,255,.75),transparent 60%),
  radial-gradient(1.5px 1.5px at 41% 16%,rgba(170,225,255,.9),transparent 60%),
  radial-gradient(1px 1px at 55% 48%,rgba(255,255,255,.65),transparent 60%),
  radial-gradient(1.7px 1.7px at 68% 28%,rgba(255,224,170,.85),transparent 60%),
  radial-gradient(1px 1px at 74% 72%,rgba(255,255,255,.7),transparent 60%),
  radial-gradient(1.3px 1.3px at 86% 40%,rgba(185,225,255,.8),transparent 60%),
  radial-gradient(1px 1px at 8% 78%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(1.6px 1.6px at 35% 86%,rgba(205,240,255,.75),transparent 60%),
  radial-gradient(1px 1px at 60% 8%,rgba(255,255,255,.8),transparent 60%),
  radial-gradient(1.4px 1.4px at 92% 62%,rgba(255,255,255,.65),transparent 60%),
  radial-gradient(1px 1px at 18% 44%,rgba(255,232,195,.7),transparent 60%),
  radial-gradient(1.2px 1.2px at 47% 32%,rgba(255,255,255,.85),transparent 60%),
  radial-gradient(1px 1px at 81% 14%,rgba(200,240,255,.7),transparent 60%),
  radial-gradient(ellipse 55% 42% at 16% 26%,rgba(72,84,224,.26),transparent 70%),
  radial-gradient(ellipse 50% 40% at 82% 30%,rgba(130,64,208,.22),transparent 70%),
  radial-gradient(ellipse 60% 46% at 58% 82%,rgba(0,168,230,.18),transparent 70%),
  radial-gradient(circle at 50% 38%,#101b3d 0%,#070b18 80%)}
.solar-demo::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(ellipse 80% 55% at 50% 30%,rgba(120,140,255,.07),transparent 70%);
  animation:nebulaDrift 14s ease-in-out infinite alternate}
body.light .solar-demo{background:inherit}
body.light .solar-demo{background:
  radial-gradient(1.3px 1.3px at 12% 22%,rgba(255,255,255,.92),transparent 60%),
  radial-gradient(1px 1px at 28% 64%,rgba(255,255,255,.75),transparent 60%),
  radial-gradient(1.5px 1.5px at 41% 16%,rgba(170,225,255,.9),transparent 60%),
  radial-gradient(1px 1px at 55% 48%,rgba(255,255,255,.65),transparent 60%),
  radial-gradient(1.7px 1.7px at 68% 28%,rgba(255,224,170,.85),transparent 60%),
  radial-gradient(1px 1px at 74% 72%,rgba(255,255,255,.7),transparent 60%),
  radial-gradient(1.3px 1.3px at 86% 40%,rgba(185,225,255,.8),transparent 60%),
  radial-gradient(1px 1px at 8% 78%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(1.6px 1.6px at 35% 86%,rgba(205,240,255,.75),transparent 60%),
  radial-gradient(1px 1px at 60% 8%,rgba(255,255,255,.8),transparent 60%),
  radial-gradient(1.4px 1.4px at 92% 62%,rgba(255,255,255,.65),transparent 60%),
  radial-gradient(1px 1px at 18% 44%,rgba(255,232,195,.7),transparent 60%),
  radial-gradient(1.2px 1.2px at 47% 32%,rgba(255,255,255,.85),transparent 60%),
  radial-gradient(1px 1px at 81% 14%,rgba(200,240,255,.7),transparent 60%),
  radial-gradient(ellipse 55% 42% at 16% 26%,rgba(72,84,224,.26),transparent 70%),
  radial-gradient(ellipse 50% 40% at 82% 30%,rgba(130,64,208,.22),transparent 70%),
  radial-gradient(ellipse 60% 46% at 58% 82%,rgba(0,168,230,.18),transparent 70%),
  radial-gradient(circle at 50% 38%,#101b3d 0%,#070b18 80%)}
@keyframes nebulaDrift{from{transform:translateX(-1.5%) scale(1)}to{transform:translateX(1.5%) scale(1.04)}}

/* ============================================================
   V7 · Hero 三按钮 / 扫码扫描线 / 3D 停转 / 副标题一行 / 各屏背景图 / SEO
   ============================================================ */
/* ---- 1. Hero 三个按钮一排 ---- */
.btn-hero-ai{display:inline-flex;align-items:center;gap:9px;padding:16px 34px;border-radius:50px;font-size:16px;font-weight:700;color:#ffd98a;
  border:1.5px solid rgba(255,185,66,.55);background:linear-gradient(135deg,rgba(255,185,66,.10),rgba(0,170,255,.08));
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}
.btn-hero-ai:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(255,185,66,.28);color:#ffc96b;
  background:linear-gradient(135deg,rgba(255,185,66,.20),rgba(0,170,255,.16));border-color:rgba(255,200,120,.8)}
body.light .btn-hero-ai{color:#9a6200;border-color:rgba(255,150,30,.55);background:linear-gradient(135deg,rgba(255,185,66,.14),rgba(0,150,255,.10))}
body.light .btn-hero-ai:hover{color:#7a4c00;box-shadow:0 14px 34px rgba(255,150,30,.25)}
@media(max-width:560px){
  .hero-btns{gap:12px}
  .btn-primary,.btn-secondary,.btn-hero-ai{padding:13px 22px;font-size:14px}
}

/* ---- 2. 扫码二维码 · 扫描线动画 ---- */
.qr-wrap{position:relative}
.qr-scan{top:12px}
.qr-scan{position:absolute;left:6%;right:6%;top:5%;height:3px;border-radius:3px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,#00e0ff,transparent);
  box-shadow:0 0 16px rgba(0,224,255,.95),0 0 30px rgba(0,224,255,.45);
  animation:qrScan 2.8s ease-in-out infinite}
.qr-scan::after{content:'';position:absolute;left:0;right:0;top:0;height:30px;
  background:linear-gradient(180deg,rgba(0,224,255,.20),transparent)}
@keyframes qrScan{0%,100%{top:7%}50%{top:88%}}

/* ---- 3. 政府/教育行业 3D 保留立体、取消自动旋转 ---- */
.chart3d{animation:none}

/* ---- 4. AI 赋能教育副标题一行 ---- */
.ai-edu-section .section-sub{max-width:none;font-size:16px;white-space:nowrap}
@media(max-width:900px){.ai-edu-section .section-sub{white-space:normal;font-size:14.5px;line-height:1.7}}

/* ---- 5. 各屏若隐若现背景图（与内容相关、无指向性） ---- */
.hero-bg{background:linear-gradient(rgba(6,10,22,.80),rgba(6,10,22,.90)),url('../images/bg-hero.jpg') center/cover no-repeat}
body.light .hero-bg{background:linear-gradient(rgba(244,247,252,.88),rgba(244,247,252,.94)),url('../images/bg-hero.jpg') center/cover no-repeat}
.solution-section{background:linear-gradient(rgba(8,12,24,.90),rgba(8,12,24,.95)),url('../images/bg-solution.jpg') center/cover no-repeat}
body.light .solution-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-solution.jpg') center/cover no-repeat}
.ai-edu-section{background:linear-gradient(rgba(10,14,26,.88),rgba(10,14,26,.94)),url('../images/bg-ai-edu.jpg') center/cover no-repeat}
body.light .ai-edu-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-ai-edu.jpg') center/cover no-repeat}
.cases-section{background:linear-gradient(rgba(10,14,26,.90),rgba(10,14,26,.95)),url('../images/bg-cases.jpg') center/cover no-repeat}
body.light .cases-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-cases.jpg') center/cover no-repeat}
.lab-section{background:linear-gradient(rgba(8,12,24,.90),rgba(8,12,24,.95)),url('../images/bg-lab.jpg') center/cover no-repeat}
body.light .lab-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-lab.jpg') center/cover no-repeat}
.process-section{background:linear-gradient(rgba(8,12,24,.90),rgba(8,12,24,.95)),url('../images/bg-process.jpg') center/cover no-repeat}
body.light .process-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-process.jpg') center/cover no-repeat}
.contact-section{background:linear-gradient(rgba(8,12,24,.90),rgba(8,12,24,.95)),url('../images/bg-contact.jpg') center/cover no-repeat}
body.light .contact-section{background:linear-gradient(rgba(244,247,252,.90),rgba(244,247,252,.95)),url('../images/bg-contact.jpg') center/cover no-repeat}
@media(max-width:768px){
  .solution-section,.ai-edu-section,.cases-section,.lab-section,.process-section,.contact-section{background-attachment:scroll}
}

/* ---- 6. SEO 隐藏文本（仅搜索引擎可见） ---- */
.seo-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;color:transparent;font-size:1px}

/* ============================================================
   V7.1 · favicon / 移动端主题切换按钮
   ============================================================ */
.nav-mobile-actions{display:none;align-items:center;gap:10px;z-index:1002}
.theme-toggle-mobile{display:none}
@media(max-width:1024px){
  .nav-mobile-actions{display:flex}
  .theme-toggle-mobile{display:inline-flex}
  body.light .theme-toggle-mobile{border-color:rgba(30,60,110,.28);background:var(--card);color:var(--text2)}
}

/* ============================================================
   V7.2 · 导航品牌定位语完整句 + 排版优化
   ============================================================ */
.logo>.logo-en{font-size:11px!important;letter-spacing:1.5px!important;white-space:nowrap;margin-top:3px!important}
@media(max-width:768px){
  .logo>.logo-en{font-size:9.5px!important;letter-spacing:1px!important;max-width:56vw;overflow:hidden;text-overflow:ellipsis}
}

/* ============================================================
   V7.3 · 行业 3D 修复：定住立体视角、不旋转、不错位
   ============================================================ */
/* 政府行业：恢复 chart3d 居中与立体视角，不被 .city3d/.model3d/.slide-3d 覆盖（V7.7） */
.chart3d.model3d{position:absolute!important;left:50%;top:56%;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(0deg)!important;width:280px;height:200px;margin:0}
/* 企业行业：产品样机取消自动旋转，固定立体视角（V7.7） */
.product3d.model3d{animation:none;transform:translate(-50%,-50%) rotateX(4deg) rotateY(-16deg)!important}
/* 教育行业：曲柄连杆 Canvas 平面显示（机构动画本身转动），不套透视 */
.slide-3d .model3d.crank-model3d{transform:none!important;transition:none;cursor:default;touch-action:auto}
body.custom-cursor, body.custom-cursor *{cursor:none!important}

/* ============================================================
   V7.9 · 移动端 AI 沉浸式教案实机演示自适应修复
   屏容器增高、2.5D/3D 内容自然撑开、3D 画布不溢出不叠放
   ============================================================ */
@media(max-width:768px){
  .demo-device{aspect-ratio:16/14}
  .screen-page{padding:14px 14px 24px}
  .slide-head{margin-bottom:10px}
  .slide-head h4{font-size:16px;line-height:1.35}
  .slide-head .slide-sub{font-size:11px;line-height:1.4}
  .slide-25d{height:auto;min-height:150px;display:flex;align-items:center;justify-content:center}
  .slide-3d{height:auto;min-height:150px}
  .slide-25d.quiz-25d{display:block;min-height:0;padding-top:2px}
  .slide-25d.quiz-25d .quiz-q{font-size:13px;line-height:1.45;margin-bottom:7px}
  .slide-25d.quiz-25d .quiz-opt{padding:7px 10px;font-size:12px;margin-bottom:6px;gap:8px}
  .slide-25d.quiz-25d .quiz-opt span{width:22px;height:22px;line-height:22px;font-size:11px}
  .slide-25d.quiz-25d .quiz-fb{font-size:11px;min-height:14px}
  .slide-3d > .model3d{width:250px;height:140px;margin:0 auto}
  .slide-3d .crank-canvas{width:100%!important;height:auto!important}
  .chart3d.model3d{width:240px!important;height:168px!important;top:54%}
  .product3d.model3d{width:130px!important;height:160px!important}
  .gear{width:64px;height:64px}
  .gear.g2{width:80px;height:80px}
}

.cursor-dot.on,.cursor-outline.on{opacity:1}

/* ============================================================
   V8.4 · 微信分享（右下角浮动 + 移动端菜单）
   ============================================================ */
.nav-share{display:none}
.share-float{position:fixed;right:22px;bottom:86px;z-index:1990;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0;cursor:pointer}
.share-float-logo{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 0 2px rgba(7,193,96,.35),0 0 18px rgba(7,193,96,.45);padding:9px;transition:transform .3s,box-shadow .3s}
.share-float:hover .share-float-logo{transform:scale(1.08);box-shadow:0 10px 28px rgba(0,0,0,.4),0 0 0 2px rgba(7,193,96,.6),0 0 24px rgba(7,193,96,.6)}
.share-float-tip{font-size:11px;color:var(--text2);background:rgba(10,14,26,.72);border:1px solid rgba(0,212,255,.25);padding:3px 10px;border-radius:12px;letter-spacing:1px;backdrop-filter:blur(6px);white-space:nowrap}
body.light .share-float-tip{background:rgba(255,255,255,.9);border-color:rgba(0,102,255,.2);color:var(--text2)}
.share-modal{position:fixed;inset:0;z-index:2100;display:none;align-items:center;justify-content:center;background:rgba(4,8,18,.66);backdrop-filter:blur(6px);padding:20px}
.share-modal.open{display:flex}
.share-modal-box{position:relative;width:min(430px,92vw);background:linear-gradient(160deg,#101a30 0%,#0a1020 100%);border:1px solid rgba(0,212,255,.22);border-radius:22px;padding:30px 28px 24px;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 50px rgba(0,212,255,.12);color:var(--text);animation:sharePop .35s cubic-bezier(.16,1,.3,1)}
@keyframes sharePop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
body.light .share-modal-box{background:linear-gradient(160deg,#ffffff 0%,#f2f6fd 100%);border-color:rgba(0,102,255,.18);box-shadow:0 30px 80px rgba(30,60,110,.22)}
.share-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border:none;background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.25);color:var(--text);border-radius:50%;font-size:13px;cursor:pointer;transition:all .3s;line-height:1}
.share-close:hover{background:rgba(255,90,90,.18);border-color:rgba(255,90,90,.5);color:#ff6b6b}
.share-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.share-logo{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#07C160,#05a350);padding:10px;box-shadow:0 4px 16px rgba(7,193,96,.45);display:inline-flex;align-items:center;justify-content:center;flex:none}
.share-logo svg{width:100%;height:100%;display:block}
.share-title{font-size:18px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#00d4ff,#0066ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
body.light .share-title{-webkit-text-fill-color:#0a5c8a}
.share-sub{font-size:12px;color:var(--muted);letter-spacing:1px;margin-top:2px}
.share-body{display:flex;flex-direction:column;align-items:center;gap:14px}
.share-qr{background:#ffffff;border-radius:14px;padding:12px;width:min(210px,60vw);box-shadow:inset 0 0 0 1px rgba(0,102,255,.12);line-height:0}
.share-qr svg,.share-qr img{width:100%;height:auto;display:block}
.share-desc{font-size:12.5px;line-height:1.8;color:var(--text2);text-align:left;width:100%;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.12);border-radius:12px;padding:10px 14px}
body.light .share-desc{background:rgba(0,102,255,.04);border-color:rgba(0,102,255,.14)}
.share-actions{margin-top:16px}
.share-btn{display:block;width:100%;padding:13px 20px;background:linear-gradient(135deg,#ffb942,#ff8a00);border:none;border-radius:30px;color:#0a0e1a;font-size:14px;font-weight:700;cursor:pointer;transition:transform .3s,box-shadow .3s;letter-spacing:1px}
.share-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,185,66,.4)}
.share-tip{margin-top:14px;font-size:11.5px;line-height:1.7;color:var(--muted);text-align:center}
.share-tip b{color:#00d4ff;font-weight:600}
body.light .share-tip b{color:#0066ff}
@media(max-width:768px){
  .share-float{display:none}
  .share-float-logo{width:48px;height:48px}
  .share-float-tip{display:none}
}
