/* ============ Design Tokens ============ */
:root{
  --bg:#0F1626;            /* 藏蓝夜幕（对齐 NEWS 底色体系） */
  --bg-panel:#141D31;      /* 面板 */
  --bg-card:#182238;       /* 卡片 */
  --bg-card-2:#111A2C;     /* 次级卡片 */
  --cyan:#3E7BFF;          /* 主色：精炼天青 sky-400 */
  --cyan-soft:rgba(62,123,255,.10);
  --cyan-glow:rgba(62,123,255,.26);
  --blue:#4D79FF;          /* 辅色：柔光电光蓝 */
  --blue-deep:#2E5BFF;
  --ice:#8FA8FF;           /* 冰蓝眉题 */
  --indigo:#4B5BF0;        /* 第二辅色：靛紫 */
  --gold:#FFA028;          /* 高端点缀：暖金 */
  --text:#DCE4F2;          /* 主文字：蓝调亮白（对齐 NEWS） */
  --text-mid:#94A3B8;      /* 中灰 slate-400 */
  --text-dim:#64748B;      /* 弱化灰 slate-500 */
  --text-dimmer:#475569;
  --t-strong:#EAF0FA;      /* 强调文字（浅色主题下自动反转） */
  --t-strong2:#C9CDD3;
  --t-acc:#3E7BFF;         /* 群青蓝强调（对齐 NEWS） */
  --t-acc2:#6E96FF;
  --t-mid:#9DACC8;         /* 次要文字灰阶蓝调（全局补齐，对齐 NEWS） */
  --t-dim:#7887A6;
  --t-dimmer:#5A6884;
  --t-body:#9DACC8;        /* 正文中性灰 */
  --line:rgba(62,123,255,.20);
  --line-soft:rgba(220,228,242,.10);
  --grad-btn:linear-gradient(135deg,#2442D8,#3E7BFF);
  --grad-banner:linear-gradient(135deg,rgba(58,58,62,.4),rgba(12,13,15,.8));
  --grad-hero:linear-gradient(135deg,#121316 0%,#0E0F12 55%,#0A0B0D 100%);
  --grad-cta:linear-gradient(90deg,#0B0C0E 0%,#151619 100%);
  --grad-band:linear-gradient(135deg,rgba(62,123,255,.08),rgba(15,22,38,.35));
  --grad-loop:linear-gradient(135deg,rgba(62,123,255,.12),rgba(62,123,255,.03));
  --grad-chip:linear-gradient(180deg,#22304E 0%,#18253C 48%,#101A2E 100%);
  --nav-bg:rgba(13,19,33,.92);
  --footer-bg:#0C1220;
  --glass:rgba(15,22,38,.86);
  --glass-strong:rgba(13,19,33,.94);
  --modal-grad:linear-gradient(180deg,#1B2740,#161F33);
  --radius:18px;
  /* —— 字体（2026.09.08 全站统一为单一字体栈）——
     中英文/数字共用 --font-ui 一套字体，不再混排衬线/等宽/异体；
     --font-cn / --font-en 为历史别名，全部指向同栈。 */
  --font-ui:"Sarasa Gothic SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  --font-cn:var(--font-ui);
  --font-en:var(--font-ui);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-cn);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
ul{list-style:none}
img{display:block;max-width:100%}
.container{width:1280px;max-width:100%;margin:0 auto;padding:0 20px}

/* ============ Typography ============ */
.eyebrow{font-family:var(--font-en);font-weight:600;font-size:12px;letter-spacing:4px;color:var(--ice)}
.h-section{font-size:46px;font-weight:700;letter-spacing:.02em;color:var(--text)}
.sec-desc{font-size:16px;line-height:28px;color:var(--text-mid)}

/* ============ Buttons ============ */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:8px;background:var(--grad-btn);color:#fff;font-size:15px;font-weight:600;box-shadow:0 4px 16px rgba(62,123,255,.35);transition:transform .2s,box-shadow .2s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(62,123,255,.5)}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--t-strong2);font-size:15px;font-weight:600;transition:background .2s,border-color .2s}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(141,171,219,.3)}

/* ============ Nav ============ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:88px;background:var(--nav-bg);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:12px}
.logo img{width:44px;height:44px;filter:drop-shadow(0 0 6px rgba(62,123,255,.35))}
.logo-cn{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}
.logo-en{font-family:var(--font-en);font-size:8px;font-weight:600;color:var(--t-mid);display:flex;justify-content:space-between}
.menu{display:flex;gap:36px}
.menu a{font-size:15px;color:var(--t-mid);transition:color .2s}
.menu a:hover,.menu a.active{color:var(--text)}
.menu a.active{font-weight:600}

/* ============ Hero ============ */
.hero{position:relative;height:760px;overflow:hidden;background:var(--grad-hero)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(94,199,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(94,199,232,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 40%,#000 30%,transparent 75%)}
/* ---- 流动云层（高空 · 三层深度） ---- */
.hero-clouds{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.cloud{position:absolute;left:0;border-radius:50%;will-change:transform;animation:drift linear infinite}
.cloud.c1{top:4%;width:1150px;height:300px;background:radial-gradient(closest-side,rgba(108,148,204,.11),rgba(108,148,204,0) 72%);animation-duration:150s;animation-delay:-20s}
.cloud.c2{top:14%;width:980px;height:260px;background:radial-gradient(closest-side,rgba(108,148,204,.10),rgba(108,148,204,0) 72%);animation-duration:175s;animation-delay:-110s}
.cloud.c3{top:26%;width:900px;height:280px;background:radial-gradient(closest-side,rgba(128,172,228,.14),rgba(128,172,228,0) 70%);animation-duration:105s;animation-delay:-60s}
.cloud.c4{top:38%;width:820px;height:240px;background:radial-gradient(closest-side,rgba(128,172,228,.13),rgba(128,172,228,0) 70%);animation-duration:95s;animation-delay:-15s}
.cloud.c5{top:52%;width:780px;height:220px;background:radial-gradient(closest-side,rgba(148,198,244,.17),rgba(148,198,244,0) 68%);animation-duration:75s;animation-delay:-40s}
.cloud.c6{top:63%;width:720px;height:200px;background:radial-gradient(closest-side,rgba(158,208,250,.15),rgba(158,208,250,0) 68%);animation-duration:85s;animation-delay:-5s;filter:blur(2px)}
@keyframes drift{from{transform:translateX(-70vw)}to{transform:translateX(115vw)}}
/* ---- 山脚云海（低空 · 往复涌动） ---- */
.hero-mountains{position:absolute;left:0;right:0;bottom:0;width:100%;object-fit:cover;max-height:none;opacity:.9;mask-image:linear-gradient(to bottom,transparent 0%,#000 30%);z-index:1}
.hero-mist{position:absolute;left:-15%;width:130%;bottom:-70px;height:340px;z-index:2;pointer-events:none}
.hero-mist .band{position:absolute;inset:0;filter:blur(16px);will-change:transform}
.hero-mist .m1{background:radial-gradient(55% 85% at 26% 72%,rgba(150,192,238,.17),transparent 70%),radial-gradient(42% 62% at 70% 82%,rgba(172,206,248,.11),transparent 70%);animation:mistflow 38s ease-in-out infinite alternate}
.hero-mist .m2{background:radial-gradient(62% 92% at 52% 88%,rgba(118,164,222,.14),transparent 72%),radial-gradient(36% 55% at 85% 78%,rgba(160,200,242,.09),transparent 70%);animation:mistflow 54s ease-in-out infinite alternate-reverse}
@keyframes mistflow{from{transform:translateX(-5.5%)}to{transform:translateX(5.5%)}}
/* ---- 淡烟雾（山腰 · 缓慢漂移起伏） ---- */
.hero-smoke{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero-smoke .smoke{position:absolute;left:0;border-radius:50%;filter:blur(12px);will-change:transform,opacity;animation:smokedrift linear infinite,smokefade ease-in-out infinite}
.smoke.s1{top:36%;width:1350px;height:120px;background:linear-gradient(90deg,transparent,rgba(198,224,248,.07) 28%,rgba(216,238,255,.11) 55%,rgba(198,224,248,.07) 76%,transparent);animation-duration:140s,30s;animation-delay:-50s,0s}
.smoke.s2{top:47%;width:1100px;height:95px;background:linear-gradient(90deg,transparent,rgba(182,212,240,.06) 30%,rgba(204,230,252,.09) 58%,rgba(182,212,240,.05) 78%,transparent);animation-duration:110s,24s;animation-delay:-80s,-8s}
.smoke.s3{top:57%;width:1250px;height:105px;background:linear-gradient(90deg,transparent,rgba(170,205,238,.06) 26%,rgba(196,226,250,.10) 52%,rgba(170,205,238,.06) 74%,transparent);animation-duration:95s,20s;animation-delay:-30s,-4s}
.smoke.s4{top:66%;width:950px;height:80px;background:linear-gradient(90deg,transparent,rgba(190,218,246,.05) 32%,rgba(210,234,255,.08) 60%,rgba(190,218,246,.05) 78%,transparent);animation-duration:125s,26s;animation-delay:-100s,-14s}
@keyframes smokedrift{0%{transform:translate(-90vw,0)}25%{transform:translate(-35vw,-16px)}50%{transform:translate(10vw,10px)}75%{transform:translate(60vw,-12px)}100%{transform:translate(130vw,4px)}}
@keyframes smokefade{0%,100%{opacity:.4}50%{opacity:1}}
/* ---- HERO 双层动态：线波光效（下）+ 无人机机群（上，2026.09.08 恢复共存） ---- */
.hero-wave{position:absolute;inset:0;z-index:3;pointer-events:none}
#herowave{width:100%;height:100%}
.drone-wrap{position:absolute;inset:0;z-index:3;pointer-events:none}
#fleet{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.hero-copy{position:relative;z-index:5;padding-top:170px;width:693px;max-width:60%}
.hero-tag{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 8px;border-radius:100px;background:rgba(33,89,153,.25);border:1px solid rgba(56,189,248,.15)}
.hero-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.hero-tag span{font-family:var(--font-en);font-weight:600;font-size:12px;letter-spacing:3px;color:var(--t-acc)}
.hero h1{margin-top:28px;font-size:68px;font-weight:700;letter-spacing:.04em;line-height:78px}
.hero h1 span{display:block}
/* 两行统一品牌渐变（白→冰青→电光青→深蓝）+ 青色辉光 + 高光缓扫 */
.hero h1 .l1,
.hero h1 .l2{
  background:linear-gradient(100deg,#60A5FA 0%,#EAF6FF 16%,var(--t-acc) 32%,#FFFFFF 45%,var(--cyan) 58%,var(--t-acc) 74%,#60A5FA 100%);
  background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 1px rgba(2,8,20,.35)) drop-shadow(0 4px 26px rgba(56,189,248,.30));
}
/* 两行入场：依次上浮渐显；流光同步扫过 */
.hero h1 .l1{animation:hRise .9s cubic-bezier(.22,.8,.3,1) both,hShimmer 7s 1.6s ease-in-out infinite}
.hero h1 .l2{animation:hRise .9s .16s cubic-bezier(.22,.8,.3,1) both,hShimmer 7s 1.6s ease-in-out infinite}
@keyframes hRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes hShimmer{0%{background-position:115% 0}55%{background-position:-15% 0}100%{background-position:-15% 0}}
.hero-sub{margin-top:10px;font-family:var(--font-en);font-weight:600;font-size:15px;letter-spacing:3.5px;color:var(--blue)}
.hero-desc{margin-top:18px;font-size:17px;line-height:30px;color:var(--t-mid)}
.hero-actions{margin-top:36px;display:flex;gap:16px}
.hero-earth-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);width:490px;z-index:4;pointer-events:none;animation:earthFloat 8s ease-in-out infinite,earthWrapIn 1.2s .6s cubic-bezier(.22,.8,.3,1) both}
.hero-earth-scale{position:relative;width:100%;animation:earthBreathe 9s ease-in-out infinite}
.hero-earth{display:block;width:100%;height:auto;opacity:.85;filter:brightness(1.35) drop-shadow(0 0 34px rgba(56,189,248,.32))}
/* 星链轨道：内圈光点环 + 外圈无人机环，两环反向公转更灵动 */
.hero-orbit{position:absolute;top:50%;left:50%;width:0;height:0}
.hero-orbit.o1{--r:140px;animation:orbitSpin 45s linear infinite}
.hero-orbit.o2{--r:158px;animation:orbitSpinReverse 72s linear infinite}
.orbit-ring{position:absolute;top:50%;left:50%;width:calc(var(--r)*2);height:calc(var(--r)*2);transform:translate(-50%,-50%);border-radius:50%;border:1.5px dashed rgba(125,211,252,.55);box-shadow:0 0 18px rgba(56,189,248,.15) inset}
.hero-orbit.o2 .orbit-ring{border-style:solid;border-color:rgba(125,211,252,.32)}
.sat{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#E0F2FE;box-shadow:0 0 10px var(--cyan),0 0 24px rgba(56,189,248,.7);transform:rotate(var(--d)) translateX(var(--r));animation:satPulse 3s ease-in-out infinite}
.sat.drone{width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:0;background:none;box-shadow:none}
.sat.drone svg{display:block;width:26px;height:26px;animation:droneLevel 72s linear infinite;filter:drop-shadow(0 0 5px rgba(125,211,252,.9))}
@keyframes earthWrapIn{from{opacity:0;transform:translateY(-50%) scale(.92)}to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes earthFloat{0%,100%{margin-top:-5px}50%{margin-top:5px}}
/* 呼吸缩放：从小到大再到小，缓慢循环 */
@keyframes earthBreathe{0%,100%{transform:scale(.9)}50%{transform:scale(1.05)}}
@keyframes orbitSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes orbitSpinReverse{from{transform:rotate(360deg)}to{transform:rotate(0)}}
/* 无人机抵消公转，保持水平姿态 */
@keyframes droneLevel{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes satPulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ============ Stats ============ */
.stats{padding:48px 0}
.stats-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;grid-auto-rows:minmax(150px,auto);align-items:stretch}
.stat-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 32px;display:flex;flex-direction:column;justify-content:center;gap:6px;transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.stat-card:hover{border-color:rgba(62,123,255,.35);transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.35)}
/* 宽度类 */
.stat-card.w4{grid-column:span 4}
.stat-card.w3{grid-column:span 3}
.stat-card.w2{grid-column:span 2}
/* 宽卡片左上装饰条 */
.stat-card.w4::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--cyan),var(--blue),transparent)}
/* 宽卡片右上角色块水印 */
.stat-card.w4::after{content:"";position:absolute;top:-18px;right:-18px;width:64px;height:64px;border-radius:14px;background:rgba(62,123,255,.06);transform:rotate(15deg)}
/* 窄卡片深色缩进 */
.stat-card.w2{background:var(--bg-card)}
.stat-num{display:flex;align-items:baseline;gap:4px}
.stat-num .n{font-family:var(--font-en);font-size:44px;font-weight:800;color:var(--t-strong);line-height:1}
.stat-num.small .n{font-size:32px;font-weight:700;color:var(--cyan)}
.stat-num .u{font-size:22px;font-weight:700;color:var(--cyan)}
.stat-label{font-size:15px;font-weight:500;color:var(--t-mid);position:relative;z-index:1}
.stat-en{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:2px;color:var(--t-dimmer);position:relative;z-index:1}
.stat-en.plain{font-weight:400;color:var(--t-dim);letter-spacing:0;font-size:10px}

/* ============ Section ============ */
.section{padding:100px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:64px}
.sec-head-left{display:flex;flex-direction:column;gap:16px}
.sec-head .h-section{margin-top:2px}
.sec-desc{max-width:520px;text-align:left}

/* ============ Solutions ============ */
.sol-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-bottom:24px}
.sol-grid>.sol-card{grid-column:span 2}
.sol-card{position:relative;background:radial-gradient(ellipse 90% 90% at 50% 0%,rgba(62,123,255,.04),transparent 70%),var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;gap:18px;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}
.sol-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent 5%,rgba(62,123,255,.25) 25%,rgba(186,230,253,.45) 50%,rgba(62,123,255,.25) 75%,transparent 95%);opacity:.6;transition:opacity .3s,box-shadow .3s}
.sol-card:hover{border-color:rgba(62,123,255,.45);transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.42),0 0 0 1px rgba(62,123,255,.12)}
.sol-card:hover::before{opacity:1;box-shadow:0 0 14px rgba(62,123,255,.25)}
.sol-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(180deg,rgba(62,123,255,.10),rgba(33,89,153,.25));display:flex;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(62,123,255,.08),inset 0 1px 0 rgba(255,255,255,.08);flex-shrink:0}
.sol-icon svg{width:26px;height:26px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.sol-title{font-size:22px;font-weight:700;letter-spacing:.3px}
.sol-desc{font-size:14px;line-height:24px;color:var(--t-mid);flex:1}
.sol-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--t-acc);cursor:pointer}
.sol-more svg{width:14px;height:14px;stroke:var(--t-acc);fill:none;stroke-width:2;transition:transform .2s}
.sol-card:hover .sol-more svg{transform:translateX(4px)}

/* 培训横幅 */
.train-banner{margin-top:24px;display:flex;align-items:center;gap:24px;padding:32px 36px;border-radius:20px;background:var(--grad-banner);border:1px solid rgba(84,184,255,.22);box-shadow:0 16px 32px rgba(0,0,0,.3)}
.train-banner .sol-icon{flex-shrink:0}
.tb-title{font-size:22px;font-weight:700}
.tb-desc{margin-top:6px;font-size:14px;line-height:24px;color:var(--t-mid);max-width:760px}
.tb-tags{display:flex;gap:14px;margin-left:auto;flex-shrink:0;perspective:600px}
.tb-tag{position:relative;display:flex;align-items:center;gap:9px;padding:11px 18px 11px 15px;border-radius:14px;font-size:13px;font-weight:600;color:var(--t-body);white-space:nowrap;background:var(--grad-chip);border:1px solid rgba(120,190,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 5px rgba(2,10,24,.55),0 6px 14px rgba(0,0,0,.45),0 2px 3px rgba(0,0,0,.5);text-shadow:0 1px 2px rgba(0,0,0,.55);transition:transform .25s,box-shadow .25s,filter .25s;transform-style:preserve-3d}
.tb-tag::before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 35% 35%,#EAFAFF,var(--cyan) 60%,#0E7490);box-shadow:0 0 8px rgba(62,123,255,.9),inset 0 -1px 1px rgba(0,0,0,.4)}
.tb-tag::after{content:"";position:absolute;left:10%;right:10%;top:2px;height:38%;border-radius:12px 12px 40% 40%;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0));pointer-events:none}
.tb-tag:hover{transform:translateY(-3px) rotateX(7deg);filter:brightness(1.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.30),inset 0 -2px 5px rgba(2,10,24,.55),0 12px 24px rgba(0,0,0,.55),0 0 18px rgba(62,123,255,.28)}

/* ============ Technology ============ */
.tech{background:var(--grad-hero)}
.tech-grid{display:grid;grid-template-columns:420px 1fr;gap:24px}
.tech-panel{background:var(--bg-panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:36px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:24px}
.tech-panel::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(62,123,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(62,123,255,.06) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 70%)}
.tech-panel>*{position:relative}
.tp-en{font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:2.5px;color:var(--t-acc)}
.tp-metrics{display:flex;flex-direction:column;gap:16px}
.tp-metric{background:rgba(33,89,153,.2);border-radius:12px;padding:18px 20px}
.tp-metric .v{font-family:var(--font-en);font-size:26px;font-weight:800;color:var(--t-acc)}
.tp-metric .k{margin-top:2px;font-family:var(--font-en);font-weight:500;font-size:12px;color:var(--t-mid)}
.tp-tags{display:flex;flex-wrap:wrap;gap:8px}
.tp-tag{padding:6px 14px;border-radius:100px;background:rgba(62,123,255,.12);font-size:13px;font-weight:600;color:var(--t-acc)}
.tech-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tech-item{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px;display:flex;gap:20px;align-items:flex-start;transition:border-color .25s}
.tech-item:hover{border-color:rgba(62,123,255,.3)}
.tech-item .ic{width:46px;height:46px;border-radius:12px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}
.tech-item:hover .ic{background:rgba(62,123,255,.15)}
.tech-item .ic svg{width:23px;height:23px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.tech-item .en{font-family:var(--font-en);font-weight:600;font-size:10px;letter-spacing:1.5px;color:var(--t-dimmer);display:block;margin-bottom:6px}
.tech-item .no{position:absolute;right:20px;top:16px;font-family:var(--font-en);font-size:34px;font-weight:800;color:rgba(186,230,253,.10);line-height:1}
.tech-item h3{font-size:19px;font-weight:700;margin-bottom:10px}
.tech-item p{font-size:14px;line-height:24px;color:var(--t-mid)}

/* ============ Low-Altitude ============ */
.low-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}
.low-feature{border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.low-feature .img{width:100%;height:373px;object-fit:cover}
.low-feature .body{padding:32px;background:var(--bg-card);flex:1}
.low-feature h3{font-size:24px;font-weight:700;margin-bottom:12px}
.low-feature .body>p{font-size:15px;line-height:1.7;color:var(--t-mid)}
.low-list{display:flex;flex-direction:column;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}
.low-item{flex:1;padding:24px 32px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;justify-content:center;gap:10px;transition:background .25s}
.low-item:first-child{border-top:none}
.low-item:hover{background:rgba(62,123,255,.04)}
.low-item .li-head{display:flex;align-items:center;gap:12px}
.low-item .li-ic{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:linear-gradient(180deg,rgba(62,123,255,.12),rgba(33,89,153,.22));display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.low-item .li-ic svg{width:19px;height:19px;stroke:var(--cyan);fill:none;stroke-width:1.6}
.low-item h4{font-size:18px;font-weight:600}
.low-item p{font-size:13px;line-height:1.7;color:var(--t-mid)}
.low-item .li-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.low-item .li-tag{padding:3px 11px;border-radius:100px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.14);font-size:12px;font-weight:500;color:var(--t-acc)}
.data-band{display:flex;justify-content:space-between;align-items:center;padding:28px 48px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--grad-band);margin-top:24px}
.data-band .item .v{font-family:var(--font-en);font-size:32px;font-weight:700;color:var(--cyan);line-height:1.2}
.data-band .item .k{font-size:13px;color:var(--t-mid)}
.data-band .sep{width:1px;height:48px;background:var(--line)}

/* ============ Projects ============ */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.proj-card{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 32px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,transform .25s,box-shadow .25s;overflow:hidden}
.proj-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--cyan),rgba(62,123,255,.1));opacity:.55;transition:opacity .25s}
.proj-card:hover{border-color:rgba(62,123,255,.3);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.proj-card:hover::before{opacity:1}
.proj-notice{display:flex;align-items:center;gap:10px}
.proj-notice .n-tag{padding:4px 12px;border-radius:6px;background:rgba(62,123,255,.14);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--t-acc)}
.proj-notice .n-no{font-family:var(--font-en);font-size:11px;letter-spacing:1px;color:var(--t-dim)}
.proj-buyer .k{display:block;font-size:12px;font-weight:500;color:var(--t-dim);margin-bottom:4px}
.proj-card h3{font-size:18px;font-weight:700;line-height:1.4}
.proj-card .p-name{font-size:13px;line-height:22px;color:var(--t-mid);flex:1}
.proj-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.proj-meta .meta{background:rgba(33,89,153,.14);border-radius:10px;padding:12px 14px}
.proj-meta .k{display:block;font-size:11px;color:var(--t-dim);margin-bottom:3px}
.proj-meta .v{font-family:var(--font-en);font-size:17px;font-weight:800;color:var(--t-acc)}
.proj-foot{border-top:1px dashed rgba(62,123,255,.18);padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.proj-foot .k{font-size:11px;color:var(--t-dim);flex-shrink:0}
.proj-foot .v{font-size:12px;font-weight:600;color:var(--t-mid);text-align:right}

/* ============ Training ============ */
.train-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;margin-bottom:24px}
.train-feature{position:relative;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;min-height:588px;display:flex;align-items:flex-end;transition:border-color .25s}
.train-feature:hover{border-color:rgba(62,123,255,.32)}
.train-feature .img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .7s ease}
.train-feature:hover .img{transform:scale(1.07)}
.train-feature .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,13,26,.10) 0%,rgba(5,13,26,.20) 36%,rgba(5,13,26,.80) 68%,rgba(5,13,26,.96) 100%)}
.train-feature .body{position:relative;padding:38px 40px 36px;width:100%}
.train-feature .badge{display:inline-block;padding:7px 15px;border-radius:100px;background:rgba(62,123,255,.16);border:1px solid rgba(62,123,255,.38);font-size:12px;font-weight:600;letter-spacing:1px;color:var(--t-acc);margin-bottom:16px}
.train-feature h3{font-size:26px;font-weight:700;margin-bottom:12px;color:#fff}
.train-feature .body>p{font-size:14px;line-height:24px;color:var(--t-body);max-width:520px}
.train-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.train-chips span{padding:7px 14px;border-radius:100px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:12px;font-weight:500;color:var(--t-body);backdrop-filter:blur(4px)}
.train-stack{display:flex;flex-direction:column;gap:24px}
.t-card{flex:1;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 30px;position:relative;display:flex;flex-direction:column;gap:12px;transition:border-color .25s,transform .25s}
.t-card:hover{border-color:rgba(62,123,255,.32);transform:translateY(-3px)}
.t-card .no{position:absolute;top:26px;right:30px;font-family:var(--font-en);font-size:15px;font-weight:800;color:rgba(62,123,255,.38);letter-spacing:1px}
.t-card .ico{width:46px;height:46px;border-radius:12px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center}
.t-card .ico svg{width:24px;height:24px;stroke:var(--t-acc);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.t-card h4{font-size:19px;font-weight:700;margin-top:2px}
.t-card p{font-size:13.5px;line-height:22px;color:var(--t-mid)}
.train-loop{position:relative;display:flex;align-items:center;gap:32px;margin-bottom:24px;padding:28px 36px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--grad-loop);overflow:hidden}
.train-loop::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(62,123,255,.45) 50%,transparent)}
.tl-label{flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding-right:22px;position:relative}
.tl-label::after{content:"";position:absolute;right:0;top:20%;bottom:20%;width:1px;background:linear-gradient(180deg,transparent,rgba(62,123,255,.35),transparent)}
.tl-label b{font-size:17px;font-weight:700;color:var(--t-strong);letter-spacing:1px}
.tl-label span{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--t-dim)}
.tl-steps{flex:1;display:flex;align-items:center;min-width:0}
.tl-step{display:flex;align-items:center;gap:10px;white-space:nowrap;position:relative}
.tl-step i{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(62,123,255,.30),rgba(62,123,255,.08));border:1.5px solid rgba(62,123,255,.55);color:var(--t-acc);font-style:normal;font-family:var(--font-en);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 18px rgba(62,123,255,.18),inset 0 1px 0 rgba(255,255,255,.12);transition:transform .3s,box-shadow .3s,border-color .3s}
.tl-step:hover i{transform:scale(1.1);border-color:rgba(62,123,255,.85);box-shadow:0 0 28px rgba(62,123,255,.42),inset 0 1px 0 rgba(255,255,255,.18)}
.tl-step b{font-size:14px;font-weight:600;color:var(--t-strong);transition:color .3s}
.tl-step:hover b{color:var(--t-acc)}
.tl-line{flex:1;height:2px;min-width:24px;margin:0 16px;background:linear-gradient(90deg,rgba(62,123,255,.40),rgba(62,123,255,.10));border-radius:1px;position:relative;overflow:hidden}
.tl-line::after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(186,230,253,.9),transparent);animation:tlFlow 3s ease-in-out infinite}
@keyframes tlFlow{0%{left:-30%}100%{left:100%}}
.honor-band{display:flex;align-items:center;gap:32px;padding:28px 40px;border-radius:var(--radius);background:var(--grad-band);border:1px solid rgba(62,123,255,.18)}
.honor-medal{flex-shrink:0;width:54px;height:54px;border-radius:50%;background:rgba(62,123,255,.12);border:1px solid rgba(62,123,255,.38);display:flex;align-items:center;justify-content:center}
.honor-medal svg{width:26px;height:26px;stroke:var(--cyan);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.honor-quote{flex-shrink:0}
.honor-quote .q{font-size:22px;font-weight:700;color:var(--cyan)}
.honor-quote .f{margin-top:4px;font-size:13px;color:var(--t-mid)}
.honor-sep{width:1px;height:56px;background:rgba(84,184,255,.25);flex-shrink:0}
.honor-band .desc{font-size:14px;line-height:1.75;color:var(--t-strong2)}

/* ============ Credentials ============ */
.cred{background:var(--grad-hero)}
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.cred-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s}
.cred-card:hover{border-color:rgba(62,123,255,.3)}
.cred-icon{width:44px;height:44px;border-radius:10px;background:rgba(33,89,153,.25);display:flex;align-items:center;justify-content:center}
.cred-icon svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.5;opacity:.9}
.cred-card h3{font-size:19px;font-weight:700}
.cred-card p{font-size:13px;color:var(--t-mid);flex:1}

/* 二级小标题：管理体系与行业认证 */
.cred-subtitle{margin:64px 0 24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.cred-subtitle::before{content:"";display:inline-block;width:32px;height:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan-glow);transform:translateY(-4px)}
.cred-subtitle{font-size:22px;font-weight:700;color:var(--t-strong)}

/* 紧凑型认证卡：3 列网格 */
.cred-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.cred-mini{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 22px 20px;background:linear-gradient(180deg,var(--bg-card-2),var(--bg-card));border:1px solid var(--line-soft);border-radius:14px;transition:border-color .25s,transform .25s,box-shadow .25s;overflow:hidden}
.cred-mini::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;transition:opacity .3s}
.cred-mini:hover{border-color:rgba(62,123,255,.32);transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.35),0 0 0 1px rgba(62,123,255,.06) inset}
.cred-mini:hover::before{opacity:1}
.cred-mini-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cred-mini-title{font-size:16px;font-weight:700;color:var(--t-strong);line-height:1.45;flex:1}
.cred-mini-code{font-family:inherit;font-size:12px;letter-spacing:.02em;color:var(--t-acc2);background:rgba(62,123,255,.06);border:1px solid rgba(62,123,255,.14);border-radius:6px;padding:6px 10px;word-break:break-all}
.cred-mini-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.cred-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#34D399;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.28);border-radius:999px;padding:3px 10px}
.cred-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:#34D399;box-shadow:0 0 6px rgba(52,211,153,.7)}
.cred-issuer{font-size:12px;color:var(--t-mid);text-align:right;flex:1;line-height:1.4}
/* 资质卡增强：发证机构脚注 */
.cred-card .cred-foot{margin-top:auto;border-top:1px dashed rgba(62,123,255,.18);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cred-card .cred-foot .org{font-size:12px;color:var(--t-dim);line-height:1.5}
.cred-card .cred-foot .org b{display:block;font-size:11px;font-weight:600;color:var(--t-body);letter-spacing:.5px;margin-bottom:2px}
.cred-card .cred-foot .yr{flex-shrink:0;font-family:var(--font-en);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--t-acc);background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.22);border-radius:6px;padding:4px 10px}
/* 代表性软著列表 */
.ip-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.ip-item{display:flex;align-items:center;gap:14px;padding:15px 18px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:12px;transition:border-color .25s,transform .25s}
.ip-item:hover{border-color:rgba(62,123,255,.32);transform:translateX(5px)}
.ip-item .no{flex-shrink:0;width:30px;height:30px;border-radius:8px;background:rgba(33,89,153,.22);border:1px solid rgba(62,123,255,.14);display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:12px;font-weight:800;color:var(--t-acc2)}
.ip-item .nm{flex:1;font-size:14px;font-weight:600;color:var(--t-strong);line-height:1.5}
.ip-item .yr{flex-shrink:0;font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:1px;color:var(--t-dim)}
/* 认证区备注 */
.cred-note{display:flex;align-items:center;gap:10px;margin-top:20px;padding:14px 18px;border-radius:10px;background:rgba(62,123,255,.05);border:1px dashed rgba(62,123,255,.18);font-size:12.5px;color:var(--t-mid)}
.cred-note svg{width:16px;height:16px;stroke:var(--cyan);fill:none;stroke-width:1.8;flex-shrink:0}
@media (max-width:1024px){.ip-list{grid-template-columns:1fr}}
@media (max-width:640px){.ip-list{grid-template-columns:1fr}.ip-item{padding:13px 15px}}

/* ============ News ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{display:flex;flex-direction:column;gap:16px;transition:transform .25s}
.news-card:hover{transform:translateY(-4px)}
.news-img{position:relative;border-radius:var(--radius);overflow:hidden;height:200px}
.news-img img{width:100%;height:100%;object-fit:cover}
.news-date{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:8px;background:rgba(5,15,30,.85);font-family:var(--font-en);font-weight:700;font-size:12px;color:var(--t-acc)}
.news-card h3{font-size:18px;font-weight:700;line-height:27px;min-height:54px}
.news-card p{font-size:14px;line-height:24px;color:var(--t-mid);flex:1}
.news-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--t-acc)}
.news-more svg{width:14px;height:14px;stroke:var(--t-acc);fill:none;stroke-width:2}
/* 新闻报道来源标注（媒体报道卡） */
.news-src{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--t-mid);letter-spacing:.5px;align-self:flex-start}
.news-src::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--t-acc);flex-shrink:0}
.link-btn{padding:10px 20px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--t-strong2);cursor:pointer;white-space:nowrap}

/* ============ CTA ============ */
.cta{padding:100px 0;background:var(--grad-cta)}
.cta-inner{display:flex;gap:60px;align-items:flex-start}
.cta-left{flex:1;display:flex;flex-direction:column;gap:20px;padding-top:40px}
.cta-left .h-section{margin-top:4px}
.cta-left p{font-size:17px;line-height:30px;color:var(--t-mid);max-width:640px}
.cta-actions{display:flex;gap:16px;margin-top:8px}
.cta-card{width:460px;flex-shrink:0;background:var(--glass-strong);backdrop-filter:blur(24px);border:1px solid rgba(84,184,255,.22);border-radius:24px;padding:10px 32px 8px;box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.04)}
.cta-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(120,160,220,.09);text-decoration:none}
.cta-row:last-child{border-bottom:none;padding-bottom:17px}
.cta-row .ci{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:linear-gradient(135deg,rgba(33,89,153,.35),rgba(62,123,255,.15));border:1px solid rgba(62,123,255,.18);display:flex;align-items:center;justify-content:center}
.cta-row .ci svg{width:16px;height:16px;stroke:var(--cyan);fill:none;stroke-width:1.6}
.cta-row .cl{width:48px;flex-shrink:0;font-size:12px;color:var(--t-body)}
.cta-row .cv{flex:1;font-size:14px;font-weight:500;color:var(--t-strong);line-height:1.5;word-break:break-all;transition:color .3s}
.cta-row:hover .cv{color:var(--cyan)}

/* ============ Footer ============ */
footer{background:var(--footer-bg);border-top:1px solid var(--line);padding:72px 0 0}
.footer-top{display:flex;gap:80px;justify-content:space-between;padding-bottom:56px}
.f-brand{width:360px;display:flex;flex-direction:column;gap:20px}
.f-brand p{font-size:14px;line-height:24px;color:var(--t-dim)}
.f-cols{display:flex;gap:80px}
.f-col{display:flex;flex-direction:column;gap:14px}
.f-col h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.f-col a,.f-col span{font-size:13px;color:var(--t-mid);transition:color .2s}
.f-col a:hover{color:var(--cyan)}
.footer-bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--t-dim)}

/* ============ About ============ */
.about-intro{position:relative;display:flex;flex-direction:column;gap:22px;padding:48px 52px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.about-intro::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(62,123,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(62,123,255,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at 15% 0%,#000 15%,transparent 65%)}
.about-intro>*{position:relative}
.about-intro h3{font-size:26px;font-weight:700;color:var(--t-strong)}
.about-intro h3 .en{display:block;margin-top:8px;font-family:var(--font-en);font-weight:700;font-size:11px;letter-spacing:3px;color:var(--t-dimmer)}
.about-intro p{font-size:15px;line-height:29px;color:var(--t-mid)}
.about-quote{display:flex;align-items:center;gap:20px;padding:26px 30px;border-left:3px solid var(--cyan);border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(62,123,255,.09),rgba(62,123,255,0) 72%)}
.about-quote .mark{font-size:52px;font-family:inherit;color:var(--cyan);line-height:.6;transform:translateY(12px)}
.about-quote .zt{font-size:21px;font-weight:700;letter-spacing:.1em;background:linear-gradient(100deg,#EAF6FF 10%,var(--t-acc) 45%,var(--cyan) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.about-quote .sub{margin-top:5px;font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--t-dimmer)}
.about-mv{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:24px;border-top:1px solid var(--line-soft)}
.about-mv .item{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s,transform .3s}
.about-mv .item:hover{border-color:rgba(62,123,255,.4);transform:translateY(-3px)}
.about-mv .mv-icon{width:40px;height:40px;border-radius:10px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center}
.about-mv .mv-icon svg{width:20px;height:20px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.about-mv .label{font-family:var(--font-en);font-weight:700;font-size:10px;letter-spacing:2px;color:var(--t-dimmer)}
.about-mv .text{font-size:17px;font-weight:700;color:var(--t-strong);line-height:1.35}
.about-mv .mv-desc{font-size:14px;line-height:24px;color:var(--t-mid);flex:1}
.about-mv .mv-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.about-mv .mv-tags span{font-size:12px;color:var(--t-acc);padding:4px 12px;border-radius:20px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.20);white-space:nowrap}
.about-nums{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(130px,auto);gap:16px;margin:32px 0 44px;align-items:stretch}
.about-num{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;transition:border-color .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden}
.about-num:hover{border-color:rgba(62,123,255,.4);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.about-num .v{font-family:var(--font-en);font-size:34px;font-weight:800;line-height:1;color:transparent;background:linear-gradient(180deg,#FFFFFF 20%,var(--t-acc) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.about-num .u{font-size:14px;font-weight:700;color:var(--cyan)}
.about-num .k{font-size:13px;color:var(--t-mid)}
/* bento 大卡片 */
.about-num.wide{flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;padding:24px 28px;text-align:left}
.about-num.wide::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;background:linear-gradient(180deg,transparent,var(--cyan),transparent);border-radius:2px}
.about-num.wide .num-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-shrink:0}
.about-num.wide .sub{font-size:13px;color:var(--t-body)}
.about-num.wide .v{font-size:40px}
.about-num.wide .k{font-size:14px;color:var(--t-mid)}
/* bento spans */
.about-num.n1{grid-column:span 5}
.about-num.n2{grid-column:span 3}
.about-num.n3{grid-column:span 4}
.about-num.n4{grid-column:span 3}
.about-num.n5{grid-column:span 5}
.about-num.n6{grid-column:span 4}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:44px}
.about-value{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;gap:12px;overflow:hidden;transition:border-color .25s,transform .25s}
.about-value::after{content:attr(data-i);position:absolute;right:18px;top:12px;font-family:var(--font-en);font-weight:800;font-size:40px;line-height:1;color:rgba(186,230,253,.08)}
.about-value:hover{border-color:rgba(62,123,255,.35);transform:translateY(-4px)}
.about-value .ic{width:44px;height:44px;border-radius:12px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center}
.about-value .ic svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.about-value h4{font-size:18px;font-weight:700}
.about-value .en{font-family:var(--font-en);font-weight:600;font-size:10px;letter-spacing:1.5px;color:var(--t-dimmer)}
.about-value p{font-size:14px;line-height:24px;color:var(--t-mid);flex:1}
/* ---- 关于我们 · 发展历程时间轴 ---- */
.about-timeline{display:flex;gap:0;position:relative;padding-top:8px}
.about-timeline::before{content:"";position:absolute;top:37px;left:12px;right:12px;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(62,123,255,.06) 0%,rgba(62,123,255,.18) 30%,rgba(62,123,255,.40) 68%,rgba(186,230,253,.65) 100%)}
.about-timeline::after{content:"";position:absolute;top:36px;left:12px;right:12px;height:4px;border-radius:4px;background:linear-gradient(90deg,transparent 0%,rgba(190,242,255,.9) 10%,transparent 22%) no-repeat;background-size:24% 100%;filter:blur(.6px);animation:tlFlow 5.5s linear infinite;pointer-events:none}
@keyframes tlFlow{0%{background-position:-30% 0}100%{background-position:130% 0}}
.about-tl-item{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;padding-right:20px;opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.about-timeline.in .about-tl-item{opacity:1;transform:none}
.about-timeline.in .about-tl-item:nth-child(1){transition-delay:.05s}
.about-timeline.in .about-tl-item:nth-child(2){transition-delay:.15s}
.about-timeline.in .about-tl-item:nth-child(3){transition-delay:.25s}
.about-timeline.in .about-tl-item:nth-child(4){transition-delay:.35s}
.about-timeline.in .about-tl-item:nth-child(5){transition-delay:.45s}
.about-timeline.in .about-tl-item:nth-child(6){transition-delay:.55s}
.about-tl-item:last-child{padding-right:0}
.about-tl-dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#BDEFFF 0%,var(--cyan) 70%);box-shadow:0 0 0 4px rgba(62,123,255,.12),0 0 12px rgba(62,123,255,.45);position:relative;z-index:1;margin-top:24px;transition:box-shadow .3s}
.about-tl-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(62,123,255,.55);animation:tlPulse 3.2s ease-out infinite;pointer-events:none}
@keyframes tlPulse{0%{transform:scale(.55);opacity:.9}70%{transform:scale(2.3);opacity:0}100%{transform:scale(2.3);opacity:0}}
.about-tl-item:nth-child(2) .about-tl-dot::after{animation-delay:.5s}
.about-tl-item:nth-child(3) .about-tl-dot::after{animation-delay:1s}
.about-tl-item:nth-child(4) .about-tl-dot::after{animation-delay:1.5s}
.about-tl-item:nth-child(5) .about-tl-dot::after{animation-delay:2s}
.about-tl-item:nth-child(6) .about-tl-dot::after{animation-delay:2.5s}
.about-tl-item:hover .about-tl-dot{box-shadow:0 0 0 6px rgba(62,123,255,.18),0 0 20px rgba(62,123,255,.75)}
.about-tl-item:last-child .about-tl-dot{background:radial-gradient(circle at 35% 35%,#FFFFFF 0%,#BDEFFF 60%);box-shadow:0 0 0 4px rgba(255,255,255,.15),0 0 18px rgba(62,123,255,.85);animation:tlGlow 2.6s ease-in-out infinite}
@keyframes tlGlow{0%,100%{box-shadow:0 0 0 4px rgba(255,255,255,.15),0 0 14px rgba(62,123,255,.6)}50%{box-shadow:0 0 0 6px rgba(255,255,255,.22),0 0 26px rgba(62,123,255,.95)}}
.about-tl-year{font-family:var(--font-en);font-weight:800;font-size:22px;color:var(--t-acc);line-height:1;transition:color .3s,letter-spacing .3s}
.about-tl-item:hover .about-tl-year{color:#D6F2FF;letter-spacing:1px}
.about-tl-item:last-child .about-tl-year{background:linear-gradient(90deg,var(--t-acc),#FFFFFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.about-tl-text{font-size:13px;line-height:22px;color:var(--t-mid);transition:color .3s}
.about-tl-item:hover .about-tl-text{color:var(--t-body)}
.about-tl-item:last-child .about-tl-text{color:var(--t-mid)}

/* ============ Reveal Animation ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cloud,.hero-mist .band,.hero-smoke .smoke,.hero-earth-wrap,.hero-earth-scale,.hero-earth,.hero-orbit,.sat.drone svg{animation:none}.hero h1 .l1,.hero h1 .l2{animation:none}}

/* ============ Responsive ============ */
@media (max-width:1280px){
  .hero h1{font-size:52px;line-height:64px}
  .h-section{font-size:38px}
}
@media (max-width:1024px){
  .menu{display:none}
  .sol-grid,.stats-grid,.cred-grid{grid-template-columns:1fr 1fr}
  .sol-grid>.sol-card{grid-column:auto}
  .stat-card.w4,.stat-card.w3,.stat-card.w2{grid-column:span 1}
  .stat-card.w2{background:var(--bg-card)}
  .cred-mini-grid{grid-template-columns:1fr 1fr}
  .tech-grid,.low-grid,.train-grid,.cta-inner{grid-template-columns:1fr;display:grid}
  .train-feature{min-height:440px}
  .tech-list,.proj-grid,.news-grid{grid-template-columns:1fr 1fr}
  .about-nums{grid-template-columns:repeat(3,1fr)}
  .about-num.n1,.about-num.n2,.about-num.n3,.about-num.n4,.about-num.n5,.about-num.n6{grid-column:span 1}
  .about-num.wide{flex-direction:column;text-align:center;padding:24px 20px}
  .about-num.wide::before{display:none}
  .about-num.wide .num-main{align-items:center}
  .about-num.wide .sub{display:none}
  .about-mv{grid-template-columns:1fr}
  .about-intro{padding:36px 32px}
  .hero-copy{max-width:100%;padding-top:140px}
  .hero-earth-wrap{width:340px}
  .hero-orbit.o1{--r:96px}
  .hero-orbit.o2{--r:108px}
  .hero-earth{opacity:.7}
  .hero{height:auto;padding-bottom:40px}
}
@media (max-width:640px){
  .hero-earth-wrap{display:none}
  .sol-grid,.stats-grid,.cred-grid,.tech-list,.proj-grid,.news-grid,.cred-mini-grid{grid-template-columns:1fr}
  .sol-grid>.sol-card{grid-column:auto}
  .stat-card.w4,.stat-card.w3,.stat-card.w2{grid-column:span 1}
  .stat-card.w2{background:var(--bg-card)}
  .about-values{grid-template-columns:1fr}
  .about-nums{grid-template-columns:1fr 1fr}
  .about-num.n1,.about-num.n2,.about-num.n3,.about-num.n4,.about-num.n5,.about-num.n6{grid-column:span 1}
  .about-num.wide{flex-direction:column;text-align:center;padding:24px 16px}
  .about-num.wide::before{display:none}
  .about-num.wide .num-main{align-items:center}
  .about-num.wide .sub{display:none}
  .about-intro{padding:28px 20px}
  .about-quote .zt{font-size:17px}
  .about-timeline{flex-direction:column;gap:0;padding:4px 0 4px 2px}
  .about-timeline::before{top:14px;bottom:14px;left:7px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,rgba(62,123,255,.06),rgba(62,123,255,.30) 60%,rgba(186,230,253,.6))}
  .about-timeline::after{display:none}
  .about-tl-item{display:grid;grid-template-columns:22px 1fr;column-gap:14px;padding:10px 0;align-items:start}
  .about-tl-dot{grid-column:1;grid-row:1;margin-top:5px}
  .about-tl-year{grid-column:2;grid-row:1}
  .about-tl-text{grid-column:2;grid-row:2;margin-top:6px}
  .about-tl-item:last-child{padding-right:0}
  .about-mv{grid-template-columns:1fr;gap:16px}
  .train-loop{flex-direction:column;align-items:flex-start;gap:16px}
  .tl-steps{flex-wrap:wrap;gap:12px 20px}
  .tl-line{display:none}
  .honor-sep{display:none}
  .data-band,.honor-band,.train-banner{flex-direction:column;align-items:flex-start}
  .tb-tags{margin-left:0;flex-wrap:wrap}
  .footer-top{flex-direction:column;gap:40px}
  .sec-head{flex-direction:column;align-items:flex-start}
  .hero h1{font-size:40px;line-height:56px}
  .cta-card{width:100%}
}
/* ============ 子页面共享样式 ============ */
/* 更多按钮增强（带箭头与 hover 态） */
.link-btn{display:inline-flex;align-items:center;gap:8px;transition:background .2s,border-color .2s,color .2s,transform .2s}
.link-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.link-btn:hover{background:rgba(62,123,255,.08);border-color:rgba(62,123,255,.35);color:var(--t-acc)}
.link-btn:hover svg{transform:translateX(3px)}

/* 子页面页头横幅 */
.page-hero{position:relative;padding:196px 0 96px;background:var(--grad-hero);overflow:hidden}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none}
.page-hero .ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(62,123,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(62,123,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 40%,#000 30%,transparent 75%)}
.page-hero .ph-glow{position:absolute;top:-160px;right:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,rgba(62,123,255,.10),transparent 70%);filter:blur(10px)}
.page-hero .container{position:relative;z-index:1}
.ph-crumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--t-dim);margin-bottom:26px}
.ph-crumb a{color:var(--t-mid);transition:color .2s}
.ph-crumb a:hover{color:var(--cyan)}
.ph-crumb .sep{color:var(--t-dimmer)}
.ph-crumb .cur{color:var(--t-acc)}
.ph-title{font-size:52px;font-weight:700;letter-spacing:.02em;line-height:1.25}
.ph-desc{margin-top:18px;max-width:660px;font-size:16px;line-height:29px;color:var(--t-mid)}
@media (max-width:1280px){.ph-title{font-size:42px}}
@media (max-width:640px){.page-hero{padding:160px 0 72px}.ph-title{font-size:34px}}

/* ===== Hero 无人机图形 ===== */
.ph-drone{position:absolute;top:105px;right:max(2%,calc((100% - 1280px)/2));width:460px;height:360px;pointer-events:none}
.ph-drone svg{width:100%;height:100%;overflow:visible}
.ph-drone .dr-body{animation:drFloat 6s ease-in-out infinite}
.ph-drone .dr-rotor{transform-box:fill-box;transform-origin:center;animation:drSpin .5s linear infinite}
.ph-drone .dr-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:drRing 3s ease-out infinite}
.ph-drone .dr-radar{transform-box:fill-box;transform-origin:center;animation:drSpin 18s linear infinite}
.ph-drone .dr-beam{animation:drBeam 3s ease-in-out infinite}
.ph-drone .dr-lamp{animation:drBeam 1.6s ease-in-out infinite}
.ph-drone .dr-dash{stroke-dasharray:6 10;animation:drDash 24s linear infinite}
@keyframes drFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes drSpin{to{transform:rotate(360deg)}}
@keyframes drRing{0%{transform:scale(.3);opacity:0}25%{opacity:.8}100%{transform:scale(1.05);opacity:0}}
@keyframes drBeam{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes drDash{to{stroke-dashoffset:-640}}
@media (max-width:1280px){.ph-drone{width:370px;height:290px;margin-top:-150px;opacity:.55}}
@media (max-width:920px){.ph-drone{display:none}}

/* 业务详情大卡（solutions/tech 通用） */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.detail-card{position:relative;background:radial-gradient(ellipse 90% 90% at 50% 0%,rgba(62,123,255,.04),transparent 70%),var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:36px;display:flex;flex-direction:column;gap:18px;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}
.detail-card::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent 5%,rgba(62,123,255,.25) 25%,rgba(186,230,253,.45) 50%,rgba(62,123,255,.25) 75%,transparent 95%);opacity:.6;transition:opacity .3s,box-shadow .3s}
.detail-card:hover{border-color:rgba(62,123,255,.45);transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.42),0 0 0 1px rgba(62,123,255,.12)}
.detail-card:hover::before{opacity:1;box-shadow:0 0 14px rgba(62,123,255,.25)}
.dc-head{display:flex;align-items:center;gap:16px}
.dc-head .sol-icon{width:56px;height:56px}
.dc-head h3{font-size:24px;font-weight:700}
.dc-head .en{font-family:var(--font-en);font-weight:600;font-size:10px;letter-spacing:1.5px;color:var(--t-dimmer);display:block;margin-top:5px}
.dc-desc{font-size:14.5px;line-height:26px;color:var(--t-mid)}
.dc-list{display:flex;flex-direction:column;gap:10px}
.dc-list li{display:flex;gap:10px;font-size:13.5px;line-height:22px;color:var(--t-body)}
.dc-list li::before{content:"";flex-shrink:0;width:16px;height:16px;margin-top:2px;border-radius:50%;background:rgba(62,123,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338BDF8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat;border:1px solid rgba(62,123,255,.22)}
.dc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.dc-tags span{padding:5px 13px;border-radius:100px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.18);font-size:12px;font-weight:500;color:var(--t-acc)}
.dc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:auto}
.dc-metrics .m{background:rgba(33,89,153,.14);border-radius:10px;padding:12px 10px;text-align:center}
.dc-metrics .m .v{font-family:var(--font-en);font-size:19px;font-weight:800;color:var(--t-acc)}
.dc-metrics .m .k{font-size:11px;color:var(--t-mid);margin-top:3px}
@media (max-width:1024px){.detail-grid{grid-template-columns:1fr}}
@media (max-width:640px){.detail-card{padding:26px 22px}.dc-metrics{grid-template-columns:1fr 1fr}}

/* 子页面通用小节标题 */
.sub-head{display:flex;align-items:baseline;gap:14px;margin:88px 0 32px;flex-wrap:wrap}
.sub-head::before{content:"";display:inline-block;width:32px;height:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan-glow);transform:translateY(-4px)}
.sub-head h3{font-size:26px;font-weight:700;color:var(--text)}
.sub-head span{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:2.5px;color:var(--t-dimmer)}

/* 新闻列表页（news.html） */
.news-tabs{display:flex;gap:10px;margin-bottom:40px;flex-wrap:wrap}
.news-tab{padding:9px 20px;border-radius:100px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--t-mid);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:9px;user-select:none}
.news-tab:hover{color:var(--text);border-color:rgba(62,123,255,.3);transform:translateY(-1px)}
.news-tab i{font-style:normal;font-family:var(--font-en);font-size:11px;font-weight:700;padding:1px 8px;border-radius:100px;background:rgba(148,163,184,.12);color:var(--t-mid);transition:all .2s}
.news-tab.on{background:rgba(62,123,255,.12);border-color:rgba(62,123,255,.45);color:var(--t-acc);font-weight:600;animation:tabPop .35s cubic-bezier(.34,1.56,.64,1)}
.news-tab.on i{background:rgba(62,123,255,.22);color:var(--t-acc)}
@keyframes tabPop{0%{transform:scale(.92)}60%{transform:scale(1.05)}100%{transform:scale(1)}}
.hidden-cat{display:none!important}
@keyframes newsIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
[data-cat].pop{animation:newsIn .55s cubic-bezier(.22,.9,.36,1) both}
/* 分类色变量 */
.cat-bid{--c:62,123,255}
.cat-company{--c:75,91,240}
.cat-industry{--c:45,212,191}
.cat-rescue{--c:251,191,36}
.news-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin-bottom:24px}
.news-feature .nf-big .news-img{height:300px}
.news-feature .nf-big h3{font-size:21px;line-height:32px;min-height:64px}
.news-feature .nf-big p{font-size:14.5px}
.news-row{display:flex;flex-direction:column;gap:14px;padding:24px 26px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .25s,transform .25s}
.news-row:hover{border-color:rgba(62,123,255,.32);transform:translateY(-3px)}
.news-row .nr-head{display:flex;align-items:center;gap:12px}
.nr-tag{padding:4px 12px;border-radius:6px;background:rgba(var(--c,56,189,248),.14);border:1px solid rgba(var(--c,56,189,248),.22);font-size:12px;font-weight:700;letter-spacing:1px;color:rgb(var(--c,56,189,248));flex-shrink:0}
.nr-date{font-family:var(--font-en);font-size:12px;letter-spacing:1px;color:var(--t-dim);margin-left:auto;flex-shrink:0}
.news-row h3{font-size:19px;font-weight:700;line-height:1.45}
.news-row p{font-size:14px;line-height:24px;color:var(--t-mid);flex:1}
/* 卡片分类徽标（图片左上角） */
.news-chip{position:absolute;left:14px;top:14px;padding:5px 13px;border-radius:8px;background:rgba(5,15,30,.82);backdrop-filter:blur(6px);border:1px solid rgba(var(--c,56,189,248),.35);font-size:12px;font-weight:700;letter-spacing:1px;color:rgb(var(--c,56,189,248))}
/* 卡片 hover 动效增强 */
.news-img img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,.9,.36,1)}
.news-card:hover .news-img img{transform:scale(1.07)}
.news-card h3{transition:color .3s}
.news-card:hover h3{color:var(--t-acc)}
.news-more svg{transition:transform .3s}
.news-more:hover svg{transform:translateX(5px)}
/* 快讯滚动条 */
.news-ticker{display:flex;align-items:center;margin-top:42px;border:1px solid var(--line-soft);border-radius:100px;background:var(--glass);overflow:hidden}
.nt-label{display:flex;align-items:center;gap:9px;padding:12px 22px;background:rgba(62,123,255,.1);border-right:1px solid var(--line-soft);font-size:13px;font-weight:700;letter-spacing:1px;color:var(--t-acc);flex-shrink:0;white-space:nowrap}
.nt-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 0 rgba(62,123,255,.5);animation:ntPulse 1.8s infinite}
@keyframes ntPulse{70%{box-shadow:0 0 0 8px rgba(62,123,255,0)}100%{box-shadow:0 0 0 0 rgba(62,123,255,0)}}
.nt-view{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.nt-track{display:flex;width:max-content;animation:nticker 38s linear infinite}
.nt-group{display:flex;gap:64px;padding:12px 32px;white-space:nowrap}
.nt-item{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:var(--t-mid)}
.nt-item b{font-family:var(--font-en);font-size:12px;font-weight:700;color:rgba(62,123,255,.85);letter-spacing:.5px}
.nt-item .nt-sep{width:5px;height:5px;border-radius:50%;background:rgba(62,123,255,.4)}
.nt-view:hover .nt-track{animation-play-state:paused}
@keyframes nticker{to{transform:translateX(-50%)}}
/* 新闻详情模态框 */
.news-card,.news-row{cursor:pointer}
.news-modal{position:fixed;inset:0;z-index:900;display:none}
.news-modal.show{display:block}
.nm-mask{position:absolute;inset:0;background:rgba(4,9,20,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.nm-dialog{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(820px,calc(100vw - 40px));max-height:86vh;border-radius:20px;overflow:hidden;border:1px solid rgba(62,123,255,.25);background:var(--modal-grad);box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.03) inset,0 0 60px rgba(62,123,255,.08)}
.news-modal.show .nm-mask{animation:nmFade .3s both}
.news-modal.show .nm-dialog{animation:nmIn .38s cubic-bezier(.22,.9,.36,1) both}
.news-modal.closing .nm-mask{animation:nmFadeR .26s both}
.news-modal.closing .nm-dialog{animation:nmOut .26s cubic-bezier(.4,0,1,1) both}
@keyframes nmFade{from{opacity:0}to{opacity:1}}
@keyframes nmFadeR{from{opacity:1}to{opacity:0}}
@keyframes nmIn{from{opacity:0;transform:translate(-50%,-46%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes nmOut{from{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.96)}}
.nm-close{position:absolute;top:14px;right:14px;z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid rgba(148,163,184,.25);background:rgba(5,12,26,.72);color:var(--t-strong2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;backdrop-filter:blur(4px)}
.nm-close:hover{border-color:rgba(62,123,255,.55);color:#fff;transform:rotate(90deg);background:rgba(62,123,255,.18)}
.nm-close svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.nm-scroll{max-height:86vh;overflow-y:auto;overscroll-behavior:contain}
.nm-scroll::-webkit-scrollbar{width:8px}
.nm-scroll::-webkit-scrollbar-thumb{background:rgba(62,123,255,.25);border-radius:4px}
.nm-scroll::-webkit-scrollbar-track{background:transparent}
.nm-img{position:relative;height:260px;overflow:hidden;flex-shrink:0}
.nm-img img{width:100%;height:100%;object-fit:cover;display:block}
.nm-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,13,.15) 0%,rgba(10,11,13,0) 40%,rgba(9,10,12,.92) 100%)}
.nm-chip{position:absolute;top:16px;left:16px;z-index:2;font-size:12px;font-weight:600;padding:5px 14px;border-radius:100px;background:rgba(var(--c,56,189,248),.16);border:1px solid rgba(var(--c,56,189,248),.35);color:rgb(var(--c,56,189,248));backdrop-filter:blur(6px)}
.nm-body{padding:6px 44px 36px;margin-top:-44px;position:relative;z-index:2}
.nm-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12.5px;margin-bottom:14px}
.nm-cat{font-weight:700;padding:3px 12px;border-radius:100px;background:rgba(var(--c,56,189,248),.13);border:1px solid rgba(var(--c,56,189,248),.3);color:rgb(var(--c,56,189,248))}
.nm-date{font-family:var(--font-en);font-weight:700;color:var(--t-acc2);letter-spacing:.5px}
.nm-src{color:var(--t-dim)}
.nm-title{font-size:25px;line-height:1.42;font-weight:800;letter-spacing:.5px;margin-bottom:22px;text-wrap:balance}
.nm-content p{font-size:14.5px;line-height:2.05;color:var(--t-body);margin-bottom:16px;text-align:justify}
.nm-content p::first-letter{font-size:1em}
.nm-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:26px;padding:20px 24px;border-radius:14px;border:1px dashed rgba(62,123,255,.3);background:rgba(33,89,153,.1)}
.nm-foot span{font-size:13px;color:var(--t-mid)}
/* 详情丰富组件：阅读时长 / 导语 / 分节标题 / 关键数据 / 引语 / 标签 / 上下篇 */
.nm-read{position:absolute;right:16px;bottom:14px;z-index:2;font-size:12px;font-weight:600;padding:4px 12px;border-radius:100px;background:rgba(5,12,26,.68);border:1px solid rgba(148,163,184,.28);color:var(--t-strong2);backdrop-filter:blur(6px);letter-spacing:.5px}
.nm-lead{position:relative;font-size:15.5px;line-height:1.95;color:var(--t-body);font-weight:500;padding:4px 0 4px 18px;margin:-8px 0 24px;border-left:3px solid rgba(var(--c,56,189,248),.65);text-align:justify}
.nm-content h4{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--t-body);letter-spacing:1px;margin:26px 0 12px}
.nm-content h4::before{content:'';width:8px;height:8px;border-radius:2px;background:rgba(var(--c,56,189,248),.9);transform:rotate(45deg);box-shadow:0 0 10px rgba(var(--c,56,189,248),.5)}
.nm-content h4::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--c,56,189,248),.28),transparent)}
/* 正文配图（小节插图） */
.nm-fig{margin:18px 0 22px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.18);box-shadow:0 10px 30px rgba(2,8,20,.28)}
.nm-fig img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover}
.nm-fig figcaption{margin:0;padding:10px 14px;font-size:12px;line-height:1.6;color:var(--t-mid);background:rgba(33,89,153,.08);border-top:1px solid rgba(148,163,184,.12);letter-spacing:.4px}
html[data-theme="light"] .nm-fig{box-shadow:0 10px 26px rgba(15,42,82,.14);border-color:rgba(100,116,139,.22)}
html[data-theme="light"] .nm-fig figcaption{background:rgba(226,236,248,.6)}
.nm-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:28px 0 6px}
.nm-metric{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;border-radius:12px;background:rgba(33,89,153,.13);border:1px solid rgba(62,123,255,.14);transition:border-color .25s,transform .25s}
.nm-metric:hover{border-color:rgba(var(--c,56,189,248),.4);transform:translateY(-2px)}
.nm-metric .v{font-family:var(--font-en);font-size:21px;font-weight:800;color:var(--t-acc);line-height:1.15}
.nm-metric .k{font-size:11.5px;color:var(--t-body);letter-spacing:.5px}
.nm-quote{position:relative;margin:26px 0 8px;padding:22px 26px 20px 58px;border-radius:14px;background:var(--grad-loop);border:1px solid rgba(62,123,255,.16)}
.nm-quote-mark{position:absolute;left:18px;top:6px;font-family:inherit;font-size:58px;line-height:1;color:rgba(var(--c,56,189,248),.4);font-style:italic;user-select:none}
.nm-quote p{font-size:15px;line-height:1.9;color:var(--t-body);font-weight:500;text-align:justify}
.nm-quote footer{margin-top:10px;font-size:12.5px;color:var(--t-body);letter-spacing:.5px;background:none;border:0;padding:0}
.nm-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:22px}
.nm-tags span{font-size:12px;padding:5px 13px;border-radius:100px;background:rgba(148,163,184,.09);border:1px solid rgba(148,163,184,.2);color:var(--t-body);transition:all .25s;cursor:default}
.nm-tags span:hover{border-color:rgba(var(--c,56,189,248),.45);color:var(--t-acc);background:rgba(var(--c,56,189,248),.08)}
/* 相关报道外链区 */
.nm-links{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:18px;border-top:1px dashed rgba(148,163,184,.25)}
.nm-links::before{content:"相关报道";font-size:12px;letter-spacing:.2em;color:var(--t-dim);margin-bottom:2px}
.nm-link{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(148,163,184,.06);text-decoration:none;transition:border-color .25s,background .25s,transform .25s}
.nm-link:hover{border-color:rgba(62,123,255,.45);background:rgba(62,123,255,.08);transform:translateY(-2px)}
.nm-link .lt{font-size:13.5px;font-weight:600;color:var(--t-strong);line-height:1.5}
.nm-link:hover .lt{color:var(--t-acc)}
.nm-link .ls{font-size:12px;color:var(--t-dim);letter-spacing:.3px}
html[data-theme="light"] .nm-links{border-top-color:rgba(15,36,68,.12)}
html[data-theme="light"] .nm-link{border-color:rgba(15,36,68,.1);background:rgba(15,36,68,.03)}
html[data-theme="light"] .nm-link:hover{border-color:rgba(14,50,203,.45);background:rgba(14,50,203,.06)}
.nm-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(62,123,255,.14)}
.nm-nav-btn{display:flex;flex-direction:column;gap:7px;padding:16px 18px;border-radius:12px;background:var(--glass);border:1px solid var(--line-soft);cursor:pointer;text-align:left;transition:border-color .25s,background .25s,transform .25s;font-family:inherit}
.nm-nav-btn:hover{border-color:rgba(62,123,255,.42);background:rgba(33,89,153,.16);transform:translateY(-2px)}
.nm-nav-btn.next{text-align:right;align-items:flex-end}
.nm-nav-btn .nn-dir{font-size:11.5px;color:var(--t-dim);letter-spacing:2px;font-weight:700}
.nm-nav-btn:hover .nn-dir{color:var(--t-acc2)}
.nm-nav-btn .nn-title{font-size:13px;line-height:1.6;color:var(--t-body);font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:1024px){.news-feature{grid-template-columns:1fr}}
@media (max-width:640px){
  .news-ticker{border-radius:16px}
  .nt-group{gap:36px;padding:12px 20px}
  .nm-dialog{width:calc(100vw - 28px);max-height:90vh}
  .nm-img{height:190px}
  .nm-body{padding:6px 22px 26px}
  .nm-title{font-size:20px}
  .nm-foot{flex-direction:column;align-items:flex-start}
  .nm-lead{font-size:14.5px;padding-left:14px}
  .nm-metrics{grid-template-columns:1fr 1fr}
  .nm-quote{padding:18px 18px 16px 46px}
  .nm-quote-mark{left:12px;font-size:46px}
  .nm-nav{grid-template-columns:1fr}
}

/* 架构分层（tech.html） */
.arch-stack{display:flex;flex-direction:column;gap:14px}
.arch-layer{display:flex;align-items:center;gap:22px;padding:26px 30px;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--grad-loop);transition:border-color .25s,transform .25s}
.arch-layer:hover{border-color:rgba(62,123,255,.35);transform:translateX(6px)}
.arch-layer .al-badge{flex-shrink:0;width:64px;height:64px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--font-en);font-weight:800;font-size:15px}
.arch-layer .al-badge svg{width:26px;height:26px;stroke-width:1.5;fill:none}
.arch-layer h4{font-size:19px;font-weight:700}
.arch-layer p{font-size:13.5px;line-height:22px;color:var(--t-mid);margin-top:4px}
.al-0 .al-badge{background:rgba(170,210,255,.10);border:1px solid rgba(170,210,255,.3);color:#BAD5FF}
.al-0 .al-badge svg{stroke:#BAD5FF}
.al-1 .al-badge{background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.3);color:var(--t-acc2)}
.al-1 .al-badge svg{stroke:var(--t-acc2)}
.al-2 .al-badge{background:rgba(52,211,153,.09);border:1px solid rgba(52,211,153,.3);color:#6EE7B7}
.al-2 .al-badge svg{stroke:#6EE7B7}
.al-3 .al-badge{background:rgba(245,181,68,.09);border:1px solid rgba(245,181,68,.3);color:#FCD34D}
.al-3 .al-badge svg{stroke:#FCD34D}
.arch-arrow{align-self:center;width:1px;height:18px;background:linear-gradient(180deg,rgba(62,123,255,.5),rgba(62,123,255,.1))}
@media (max-width:640px){.arch-layer{flex-direction:column;align-items:flex-start;gap:14px}.arch-arrow{height:10px}}

/* 团队/合作条（about & projects） */
.team-band{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.team-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;gap:12px;text-align:center;transition:border-color .25s,transform .25s}
.team-card:hover{border-color:rgba(62,123,255,.35);transform:translateY(-3px)}
.team-card .tc-ic{width:52px;height:52px;margin:0 auto;border-radius:14px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center}
.team-card .tc-ic svg{width:26px;height:26px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.team-card h4{font-size:17px;font-weight:700}
.team-card .en{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--t-dimmer)}
.team-card p{font-size:13px;line-height:22px;color:var(--t-mid);flex:1}
@media (max-width:1024px){.team-band{grid-template-columns:1fr 1fr}}

/* ============ Projects 增强：领域分布 / 年份徽标 / 典型案例 / 锦旗墙 / 客户评价 / 服务流程 ============ */
.field-band{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.field-item{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 26px 24px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.field-item:hover{border-color:rgba(62,123,255,.35);transform:translateY(-3px)}
.field-item .fi-ic{width:46px;height:46px;border-radius:12px;background:rgba(33,89,153,.3);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.field-item .fi-ic svg{width:23px;height:23px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.field-item h4{font-size:16px;font-weight:700}
.field-item .fi-num{display:flex;align-items:baseline;gap:5px;margin:8px 0 10px}
.field-item .fi-num .v{font-family:var(--font-en);font-size:28px;font-weight:800;color:var(--cyan);line-height:1}
.field-item .fi-num .u{font-size:12px;color:var(--t-dim)}
.field-item .fi-num .pct{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:1px;color:var(--t-dim);margin-left:auto}
.field-bar{height:6px;border-radius:100px;background:rgba(62,123,255,.10);overflow:hidden}
.field-bar i{display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,var(--cyan),#2E5BFF);box-shadow:0 0 10px var(--cyan-glow);width:0;transition:width 1.4s cubic-bezier(.22,.61,.36,1) .25s}
.reveal.in .field-bar i{width:var(--w)}
.field-item p{font-size:12.5px;line-height:20px;color:var(--t-mid);margin-top:10px}

.p-year{margin-left:auto;padding:4px 11px;border-radius:100px;background:rgba(148,163,184,.08);border:1px solid var(--line);font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:1px;color:var(--t-mid);flex-shrink:0}

.case-study{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--grad-band);overflow:hidden}
.case-head{display:flex;align-items:center;gap:16px;padding:26px 34px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.case-head .badge{padding:6px 14px;border-radius:100px;background:rgba(62,123,255,.14);border:1px solid rgba(62,123,255,.3);font-size:12px;font-weight:600;letter-spacing:1.5px;color:var(--t-acc);flex-shrink:0}
.case-head h3{font-size:20px;font-weight:700}
.case-head .en{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:2px;color:var(--t-dimmer)}
.case-body{display:grid;grid-template-columns:repeat(3,1fr)}
.case-col{padding:26px 32px}
.case-col + .case-col{border-left:1px dashed rgba(62,123,255,.18)}
.case-col .k{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:2px;color:var(--t-dimmer);margin-bottom:12px}
.case-col h5{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--t-strong);line-height:1.5}
.case-col p{font-size:13.5px;line-height:23px;color:var(--t-body)}
.case-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 32px 30px}
.case-metrics .m{background:rgba(33,89,153,.14);border-radius:12px;padding:14px 12px;text-align:center}
.case-metrics .m .v{font-family:var(--font-en);font-size:22px;font-weight:800;color:var(--t-acc)}
.case-metrics .m .k{font-size:11px;color:var(--t-mid);margin-top:4px}

.honor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.honor-item{display:flex;gap:18px;padding:24px 26px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .25s,transform .25s,box-shadow .25s;cursor:pointer}
.honor-item:hover{border-color:rgba(62,123,255,.3);transform:translateY(-3px);box-shadow:0 14px 34px rgba(2,8,20,.28)}
.honor-item:focus-visible{outline:2px solid rgba(62,123,255,.6);outline-offset:2px}
.honor-more{display:inline-block;margin-top:10px;font-size:12px;color:var(--cyan);opacity:.75;letter-spacing:.04em;transition:opacity .25s,transform .25s}
.honor-item:hover .honor-more{opacity:1;transform:translateX(3px)}
.honor-item .hm{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(62,123,255,.25),rgba(33,89,153,.2));border:1px solid rgba(62,123,255,.28);display:flex;align-items:center;justify-content:center}
.honor-item .hm svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.5}
.honor-item .q{font-size:15px;font-weight:700;color:var(--t-strong);line-height:1.55}
.honor-item .f{font-size:12px;color:var(--t-dim);margin-top:6px}

.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.voice-card{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 28px 26px;display:flex;flex-direction:column;gap:16px;transition:border-color .25s,transform .25s;overflow:hidden}
.voice-card:hover{border-color:rgba(62,123,255,.3);transform:translateY(-3px)}
.voice-card::before{content:"\201C";position:absolute;right:22px;top:0;font-family:inherit;font-size:88px;line-height:1;color:rgba(62,123,255,.10);pointer-events:none}
.voice-card p{font-size:13.5px;line-height:24px;color:var(--t-body);flex:1}
.voice-card .who{display:flex;align-items:center;gap:12px}
.voice-card .who .av{width:38px;height:38px;border-radius:50%;background:rgba(33,89,153,.35);border:1px solid rgba(62,123,255,.25);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--t-acc);flex-shrink:0}
.voice-card .who .nm{font-size:14px;font-weight:600}
.voice-card .who .ti{font-size:12px;color:var(--t-dim);margin-top:2px}

.flow-band{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.flow-step{position:relative;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);padding:22px 16px;text-align:center;transition:border-color .25s,transform .25s}
.flow-step:hover{border-color:rgba(62,123,255,.35);transform:translateY(-3px)}
.flow-step .n{width:34px;height:34px;margin:0 auto 12px;border-radius:50%;background:rgba(62,123,255,.12);border:1px solid rgba(62,123,255,.35);display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:14px;font-weight:800;color:var(--t-acc2)}
.flow-step h5{font-size:15px;font-weight:700}
.flow-step p{font-size:12px;line-height:19px;color:var(--t-mid);margin-top:8px}
.flow-step::after{content:"";position:absolute;top:50%;right:-12px;width:8px;height:8px;border-top:1.5px solid rgba(62,123,255,.45);border-right:1.5px solid rgba(62,123,255,.45);transform:translateY(-50%) rotate(45deg)}
.flow-step:last-child::after{display:none}

@media (max-width:1024px){
  .field-band{grid-template-columns:1fr 1fr}
  .case-body{grid-template-columns:1fr}
  .case-col + .case-col{border-left:none;border-top:1px dashed rgba(62,123,255,.18)}
  .case-metrics{grid-template-columns:1fr 1fr}
  .honor-grid{grid-template-columns:1fr}
  .voice-grid{grid-template-columns:1fr}
  .flow-band{grid-template-columns:repeat(3,1fr);gap:14px}
  .flow-step:nth-child(3)::after{display:none}
}
@media (max-width:640px){
  .field-band{grid-template-columns:1fr}
  .flow-band{grid-template-columns:1fr 1fr}
  .flow-step::after{display:none}
  .case-metrics{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){.team-band{grid-template-columns:1fr}}

/* ============ 主题切换按钮 ============ */
.nav-right{display:flex;align-items:center;gap:12px}
.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--t-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .25s,color .25s,transform .25s}
.theme-toggle:hover{border-color:rgba(62,123,255,.5);color:var(--t-acc);transform:rotate(20deg)}
.theme-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ic-moon{display:none}
html[data-theme="light"] .theme-toggle .ic-sun{display:none}
html[data-theme="light"] .theme-toggle .ic-moon{display:block}
html[data-theme="light"] .theme-toggle{background:rgba(20,50,90,.05)}

/* ============ 浅色主题 ============ */
html[data-theme="light"]{
  --bg:#F3F6FB; --bg-panel:#FFFFFF; --bg-card:#FFFFFF; --bg-card-2:#EFF4FA;
  --cyan:#0E32CB; --cyan-soft:rgba(14,50,203,.09); --cyan-glow:rgba(14,50,203,.22);
  --blue:#2038D8; --blue-deep:#142CCB; --ice:#2743C9; --indigo:#6366F1; --gold:#E0780A;
  --text:#24304A; --text-mid:#4E5D7A; --text-dim:#6B7A93; --text-dimmer:#9AA6BC;
  --t-strong:#131C2E; --t-strong2:#33415C; --t-acc:#0E32CB; --t-acc2:#1E3FD0;
  --t-mid:#4E5D7A; --t-dim:#74829D; --t-dimmer:#9AA6BC; --t-body:#37435C;
  --line:rgba(19,28,46,.20); --line-soft:rgba(19,28,46,.10);
  --grad-btn:linear-gradient(135deg,#1D3FD6,#0E32CB);
  --grad-banner:linear-gradient(135deg,rgba(147,197,253,.35),rgba(255,255,255,.88));
  --grad-hero:linear-gradient(135deg,#F3F6FB 0%,#EDF2FA 55%,#F6F9FD 100%);
  --grad-cta:linear-gradient(90deg,#E4EFFA 0%,#D4E6F8 100%);
  --grad-band:linear-gradient(135deg,rgba(14,50,203,.10),rgba(255,255,255,.55));
  --grad-loop:linear-gradient(135deg,rgba(14,50,203,.10),rgba(14,50,203,.02));
  --grad-chip:linear-gradient(180deg,#EAF3FC 0%,#DCEAF9 48%,#CFE2F6 100%);
  --nav-bg:rgba(243,246,251,.92);
  --footer-bg:#E8EDF6;
  --glass:rgba(243,246,251,.88);
  --glass-strong:#FFFFFF;
  --modal-grad:linear-gradient(180deg,#FCFDFF,#F5F8FC);
}
/* 浅色下的 hero 标题改为白字 + 深蓝阴影保证可读性 */
html[data-theme="light"] .hero h1 .l1,
html[data-theme="light"] .hero h1 .l2{color:#FFFFFF;-webkit-text-fill-color:#FFFFFF;background:none;text-shadow:0 2px 20px rgba(11,37,69,.55),0 1px 4px rgba(11,37,69,.35)}
html[data-theme="light"] .hero-sub{color:#FFFFFF;text-shadow:0 1px 10px rgba(11,37,69,.45)}
html[data-theme="light"] .about-num .v{background:linear-gradient(180deg,#0F2A52 20%,#0284C7 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
html[data-theme="light"] .about-quote{background:linear-gradient(100deg,#0B2545 0%,#0F3A63 55%,#0A2440 100%);border-left-color:#38BDF8;box-shadow:0 8px 26px rgba(11,37,69,.28)}
html[data-theme="light"] .about-quote .zt{background:none;color:#FFFFFF;-webkit-text-fill-color:#FFFFFF;text-shadow:0 1px 12px rgba(56,189,248,.35)}
html[data-theme="light"] .about-quote .mark{color:#7DD3FC}
html[data-theme="light"] .about-quote .sub{color:rgba(234,246,255,.62)}
html[data-theme="light"] .about-tl-item:last-child .about-tl-year{background:linear-gradient(90deg,#0369A1,#0C4A6E);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* 浅色下组件级修正 */
html[data-theme="light"] .nm-img::after{background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 40%,rgba(245,250,255,.96) 100%)}
html[data-theme="light"] .tb-tag{color:#0B4A75;border-color:rgba(2,132,199,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px rgba(2,48,90,.12);text-shadow:none}
html[data-theme="light"] .cred-tag{color:#047857;background:rgba(5,150,105,.09);border-color:rgba(5,150,105,.3)}
html[data-theme="light"] .cred-tag::before{background:#059669;box-shadow:0 0 6px rgba(5,150,105,.5)}
html[data-theme="light"] .nav{box-shadow:0 6px 20px rgba(15,42,80,.08)}
html[data-theme="light"] .btn-ghost,
html[data-theme="light"] .link-btn,
html[data-theme="light"] .news-tab{background:rgba(255,255,255,.75)}
html[data-theme="light"] .btn-ghost:hover{background:#FFFFFF}
html[data-theme="light"] .stat-card:hover,
html[data-theme="light"] .sol-card:hover,
html[data-theme="light"] .detail-card:hover,
html[data-theme="light"] .proj-card:hover,
html[data-theme="light"] .cred-mini:hover,
html[data-theme="light"] .about-num:hover{box-shadow:0 14px 36px rgba(15,42,80,.12)}
html[data-theme="light"] .nm-dialog{box-shadow:0 30px 90px rgba(15,42,80,.25),0 0 60px rgba(14,50,203,.08)}
html[data-theme="light"] .cta-card{box-shadow:0 24px 60px rgba(15,42,80,.14),inset 0 1px 0 rgba(255,255,255,.6)}
html[data-theme="light"] .train-banner{box-shadow:0 16px 32px rgba(15,42,80,.08)}
html[data-theme="light"] .nm-scroll::-webkit-scrollbar-thumb{background:rgba(14,50,203,.3)}
/* 浅色下的图形/图片适配 */
html[data-theme="light"] .ph-drone{filter:brightness(.72) saturate(1.15)}
html[data-theme="light"] .hero-earth{filter:brightness(.92) drop-shadow(0 0 30px rgba(2,132,199,.3))}
html[data-theme="light"] .hero-mountains{filter:brightness(1.12) saturate(.85);opacity:.75}
html[data-theme="light"] .hero-grid{background-image:linear-gradient(rgba(30,95,166,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(30,95,166,.08) 1px,transparent 1px)}
html[data-theme="light"] .page-hero .ph-grid{background-image:linear-gradient(rgba(30,95,166,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(30,95,166,.08) 1px,transparent 1px)}
/* 浅色下分类色加深（保证白底可读） */
html[data-theme="light"] .cat-bid{--c:14,50,203}
html[data-theme="light"] .cat-company{--c:75,91,240}
html[data-theme="light"] .cat-industry{--c:13,148,136}
html[data-theme="light"] .cat-rescue{--c:224,120,10}
/* 浅色下架构层徽标配色加深 */
html[data-theme="light"] .al-0 .al-badge{color:#142CCB}
html[data-theme="light"] .al-0 .al-badge svg{stroke:#142CCB}
html[data-theme="light"] .al-1 .al-badge{color:#0369A1}
html[data-theme="light"] .al-1 .al-badge svg{stroke:#0369A1}
html[data-theme="light"] .al-2 .al-badge{color:#047857}
html[data-theme="light"] .al-2 .al-badge svg{stroke:#047857}
html[data-theme="light"] .al-3 .al-badge{color:#B45309}
html[data-theme="light"] .al-3 .al-badge svg{stroke:#B45309}
html[data-theme="light"] .nt-item b{color:rgba(14,50,203,.95)}
/* 主题切换平滑过渡 */
body,.nav,footer,.page-hero,.tech,.cred,.cta{transition:background-color .4s ease,color .4s ease}

/* ============ 移动端抽屉导航 ============ */
.nav-burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--glass);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:border-color .25s,background .25s}
.nav-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--t-strong);transition:transform .3s,opacity .3s}
.nav-burger:hover{border-color:rgba(62,123,255,.4)}
.m-drawer{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.m-drawer.open{visibility:visible;pointer-events:auto}
.m-drawer-mask{position:absolute;inset:0;background:rgba(2,8,20,.66);backdrop-filter:blur(4px);opacity:0;transition:opacity .32s ease}
.m-drawer.open .m-drawer-mask{opacity:1}
.m-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(330px,86vw);background:var(--bg-card);border-left:1px solid var(--line);box-shadow:-20px 0 60px rgba(0,0,0,.5);transform:translateX(102%);transition:transform .36s cubic-bezier(.22,.8,.3,1);display:flex;flex-direction:column;padding:18px 18px 24px;overflow-y:auto;overscroll-behavior:contain}
.m-drawer.open .m-drawer-panel{transform:none}
.m-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.m-drawer-close{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid rgba(148,163,184,.25);background:transparent;color:var(--t-mid);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s,transform .25s}
.m-drawer-close:hover{border-color:rgba(62,123,255,.55);color:#fff;transform:rotate(90deg)}
.m-drawer-close svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.m-menu{display:flex;flex-direction:column;gap:2px}
.m-menu a{display:flex;align-items:center;justify-content:space-between;padding:14px 14px;border-radius:12px;font-size:16px;font-weight:500;color:var(--t-mid);text-decoration:none;transition:background .2s,color .2s}
.m-menu a::after{content:"›";font-size:18px;color:var(--t-dimmer);transition:color .2s,transform .2s}
.m-menu a:hover,.m-menu a:active{background:rgba(62,123,255,.08);color:var(--t-acc)}
.m-menu a:hover::after{color:var(--cyan);transform:translateX(3px)}
.m-menu a.active{color:var(--cyan);background:rgba(62,123,255,.1);font-weight:700}
.m-menu a.active::after{color:var(--cyan)}
.m-drawer-foot{margin-top:auto;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--t-dimmer);letter-spacing:.5px;text-align:center}
html[data-theme="light"] .m-drawer-panel{box-shadow:-20px 0 60px rgba(15,42,82,.2)}
html[data-theme="light"] .m-drawer-close:hover{color:#16233A}

/* ============ 移动端排版增强 ============ */
@media (max-width:1024px){
  .nav,.nav-inner{height:72px}
  .nav-burger{display:flex}
  .page-hero{padding-top:172px}
}
@media (max-width:768px){
  .section{padding:60px 0}
  .sec-head{margin-bottom:36px;gap:12px}
  .h-section{font-size:28px}
  .sec-desc{font-size:14px;line-height:24px}
  .hero-copy{padding-top:118px}
  .hero h1{font-size:34px;line-height:48px;letter-spacing:.02em}
  .hero-desc{font-size:15px;line-height:26px}
  .hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px}
  .cta{padding:60px 0}
  .cta-left{padding-top:0;gap:14px}
  .cta-left p{font-size:15px;line-height:26px}
  .cta-actions{flex-wrap:wrap}
  .cta-card{padding:6px 22px 4px}
  .footer-bottom{flex-direction:column;gap:8px;justify-content:center;text-align:center}
  .news-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .news-tabs::-webkit-scrollbar{display:none}
  .news-ticker{margin-top:28px}
  .nm-dialog{width:calc(100vw - 20px);max-height:92vh;border-radius:14px;top:50%}
  .nm-img{height:180px}
  .nm-body{padding:6px 16px 24px}
  .nm-quote{padding:16px 14px 14px 42px}
  .nm-quote-mark{left:12px;font-size:42px;top:2px}
  .nt-label{padding:10px 14px;font-size:12px}
  .nt-group{gap:40px;padding:10px 18px}
  .data-band,.honor-band,.train-banner{padding:20px 18px}
}
@media (max-width:420px){
  .logo-en{display:none}
  .logo img{width:36px;height:36px}
  .hero h1{font-size:29px;line-height:42px}
  .hero-tag span{font-size:10px;letter-spacing:2px}
  .ph-title{font-size:27px}
  .ph-desc{font-size:14px;line-height:24px}
  .container{padding:0 16px}
  .about-nums{grid-template-columns:1fr}
  .dc-metrics{grid-template-columns:1fr 1fr}
}

/* ============ 移动端自适配优化 ============ */
@media (max-width:768px){
  /* 数据带：竖排改两列网格，去掉分隔竖线，压缩高度 */
  .data-band{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;padding:22px 16px}
  .data-band .sep{display:none}
  .data-band .item .v{font-size:26px}
  .data-band .item .k{font-size:12px}
  /* 锦旗带 / 培训横幅：收窄间距与字号 */
  .honor-band{gap:16px;padding:22px 18px}
  .honor-quote .q{font-size:18px}
  .honor-sep{display:none}
  .train-banner{gap:16px;padding:22px 18px}
  /* 案例研究：收窄内边距 */
  .case-head{padding:20px 18px;gap:10px}
  .case-head h3{font-size:17px}
  .case-col{padding:20px 18px}
  .case-metrics{padding:0 18px 22px;grid-template-columns:1fr 1fr}
  /* 培训主卡 */
  .train-feature{min-height:420px}
  .train-feature .body{padding:26px 20px 24px}
  .train-feature h3{font-size:20px}
  /* 统计卡：收窄内边距防裁切 */
  .stat-card{padding:22px 18px}
  .stat-num .n{font-size:36px}
  .stat-num .u{font-size:18px}
  .stat-label{font-size:14px}
  /* 培训闭环横条：768px 下提前换行，防止步骤条被裁切 */
  .train-loop{flex-wrap:wrap}
  .tl-steps{flex-wrap:wrap;gap:12px 20px}
  .tl-line{display:none}
  /* 触摸目标加大：查看更多类文字链接 */
  .sol-more,.news-more{min-height:44px}
  /* 页脚栏目：改两列网格，防溢出 */
  .f-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
  .f-brand{width:100%}
  /* 项目卡片内边距收窄 */
  .proj-card{padding:24px 20px}
  .proj-foot{flex-wrap:wrap}
  .cred-card{padding:24px 20px}
  .cred-mini{padding:18px 16px}
}

/* ============ 企业介绍 · 丰富模块 ============ */
/* 企业档案信息格 */
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.pf-item{display:flex;flex-direction:column;gap:9px;padding:20px 22px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);transition:border-color .25s,transform .25s}
.pf-item:hover{border-color:rgba(62,123,255,.35);transform:translateY(-2px)}
.pf-item .k{font-family:var(--font-en);font-weight:600;font-size:10px;letter-spacing:1.5px;color:var(--t-dimmer)}
.pf-item .v{font-size:15px;font-weight:700;color:var(--t-strong);line-height:1.4}
.pf-item .v em{font-style:normal;color:var(--t-acc)}
/* 服务版图：三列卡片（复用 team-card 结构） */
.team-band.cols3{grid-template-columns:repeat(3,1fr)}
.team-band.cols3 .team-card{padding:30px 26px}
.team-band.cols3 .team-card .rc-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:2px}
.team-band.cols3 .team-card .rc-tags span{font-size:12px;color:var(--t-acc);padding:4px 12px;border-radius:20px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.20);white-space:nowrap}
/* 合作生态：复用 about-mv 卡片，去掉顶部分隔线 */
.about-mv.eco{border-top:none;padding-top:0}
/* 发展历程：里程碑标签 */
.about-tl-tag{display:inline-flex;width:max-content;align-self:flex-start;align-items:center;gap:5px;font-size:11px;color:var(--t-acc);padding:3px 10px;border-radius:20px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.18);white-space:nowrap}
.about-tl-tag::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
@media (max-width:1024px){
  .profile-grid{grid-template-columns:repeat(2,1fr)}
  .team-band.cols3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .profile-grid{grid-template-columns:1fr 1fr;gap:12px}
  .pf-item{padding:16px 14px}
  .pf-item .v{font-size:13px}
  .team-band.cols3{grid-template-columns:1fr}
  .about-tl-tag{font-size:10px;padding:2px 8px}
}

/* ================= 典型案例 ================= */
.tc-card{border:1px solid rgba(62,123,255,.12);border-radius:16px;padding:40px 44px;background:rgba(15,36,68,.45);backdrop-filter:blur(8px)}
.tc-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(62,123,255,.10)}
.tc-header h3{font-size:22px;font-weight:600;color:var(--t-main);margin-bottom:6px}
.tc-header .en{font-size:11px;color:var(--t-sub);letter-spacing:1.2px;font-family:var(--font-en)}
.tc-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.tc-tag{font-size:12px;color:#6E96FF;padding:5px 14px;border-radius:20px;background:rgba(62,123,255,.10);border:1px solid rgba(62,123,255,.18);white-space:nowrap}
.tc-body{display:flex;gap:40px}
.tc-text{flex:1 1 520px}
.tc-block{margin-bottom:26px}
.tc-block:last-child{margin-bottom:0}
.tc-block h4{font-size:15px;font-weight:600;color:var(--t-acc);margin-bottom:10px}
.tc-block p{font-size:14px;line-height:26px;color:var(--t-sub);margin-bottom:10px}
.tc-block p:last-child{margin-bottom:0}
.tc-gallery{flex:1 1 440px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.tc-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid rgba(62,123,255,.12);transition:transform .3s,box-shadow .3s}
.tc-gallery img:hover{transform:scale(1.03);box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* 浅色模式 */
html[data-theme="light"] .tc-card{background:#FFFFFF;border-color:rgba(15,36,68,.08)}
html[data-theme="light"] .tc-header{border-bottom-color:rgba(15,36,68,.08)}
html[data-theme="light"] .tc-block h4{color:#0369A1}
html[data-theme="light"] .tc-tag{color:#0E32CB;background:rgba(14,50,203,.08);border-color:rgba(14,50,203,.15)}
html[data-theme="light"] .tc-gallery img{border-color:rgba(15,36,68,.10)}

/* 移动端 */
@media (max-width:1024px){
  .tc-body{flex-direction:column}
  .tc-gallery{flex:none}
}
@media (max-width:768px){
  .tc-card{padding:28px 24px}
  .tc-header h3{font-size:18px}
  .tc-tags{gap:8px}
  .tc-tag{font-size:11px;padding:4px 12px}
  .tc-block h4{font-size:14px}
  .tc-block p{font-size:13px;line-height:24px}
}
@media (max-width:640px){
  .tc-gallery{grid-template-columns:1fr}
}

/* ================= 业务网络图 ================= */
.net-card{display:flex;gap:44px;align-items:stretch;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-card);padding:34px 38px}
.net-map{flex:1 1 560px;min-width:0;display:flex;align-items:center}
.net-map svg{width:100%;max-width:760px;height:auto;display:block;margin:0 auto}
.net-side{flex:0 0 300px;display:flex;flex-direction:column;gap:24px;border-left:1px solid var(--line-soft);padding-left:34px}
/* 图例 */
.net-legend{display:flex;flex-direction:column;gap:16px}
.net-lg{display:flex;gap:12px;align-items:flex-start}
.net-lg .dot{flex:none;width:12px;height:12px;border-radius:50%;margin-top:5px}
.net-lg .dot.core{background:var(--cyan);box-shadow:0 0 10px var(--cyan-glow)}
.net-lg .dot.prov{background:var(--blue);box-shadow:0 0 8px rgba(62,123,255,.45)}
.net-lg .dot.rad{background:transparent;border:2px dashed var(--indigo)}
.net-lg b{display:block;font-size:14px;font-weight:700;color:var(--t-strong);margin-bottom:2px}
.net-lg p{font-size:12.5px;line-height:1.55;color:var(--t-body)}
/* 数据格 */
.net-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.net-stats .ns{display:flex;flex-direction:column;gap:4px;padding:12px 6px;text-align:center;border:1px solid var(--line-soft);border-radius:10px;background:var(--bg-card-2)}
.net-stats .v{font-family:var(--font-en);font-size:19px;font-weight:700;color:var(--t-acc)}
.net-stats .k{font-size:11px;color:var(--text-mid)}
.net-note{font-size:13px;line-height:1.75;color:var(--t-body)}
/* SVG：指北针 */
.net-compass path{stroke:var(--text-dim);stroke-width:1.4;fill:var(--text-dim)}
.net-compass text{font-family:var(--font-en);font-size:11px;font-weight:600;fill:var(--text-dim);text-anchor:middle}
/* SVG：同心环与轨道 */
.net-ring{fill:none;stroke:var(--cyan);opacity:.16;stroke-width:1;stroke-dasharray:3 9}
.net-ring.r3{stroke:var(--indigo);opacity:.15}
.net-orbit{transform-box:fill-box;transform-origin:center}
.net-orbit.o1{animation:drSpin 110s linear infinite}
.net-orbit.o2{animation:drSpin 170s linear infinite}
.net-sat{fill:var(--cyan)}
/* SVG：连线 */
.net-link{stroke:var(--cyan);opacity:.5;stroke-width:1.4;stroke-dasharray:5 7;fill:none;stroke-linecap:round;animation:drDash 18s linear infinite}
.net-link.prov{stroke:var(--blue);opacity:.34;stroke-width:1.1;stroke-dasharray:4 8;animation-duration:30s}
.net-link.rad{stroke:var(--indigo);opacity:.3;stroke-width:1;stroke-dasharray:3 9;animation:none}
/* SVG：中枢芯片 */
.net-pulse{fill:none;stroke:var(--cyan);stroke-width:1.2;transform-box:fill-box;transform-origin:center;opacity:0;animation:drRing 3.6s ease-out infinite}
.net-pulse.p2{animation-delay:1.8s}
.net-hub .hub-chip{fill:var(--bg-panel);stroke:var(--cyan);stroke-width:1.6;filter:drop-shadow(0 0 14px var(--cyan-glow))}
.net-hub .hub-bar{fill:var(--cyan)}
.net-hub .hub-cn{font-family:var(--font-cn);font-size:15px;font-weight:700;fill:var(--t-strong);text-anchor:middle}
.net-hub .hub-en{font-family:var(--font-en);font-size:8px;font-weight:600;letter-spacing:2px;fill:var(--t-acc2);text-anchor:middle}
/* SVG：节点 */
.net-node .dot{fill:var(--bg-card);stroke:var(--cyan);stroke-width:2}
.net-node.prov .dot{stroke:var(--blue);stroke-width:1.6}
.net-node.rad .dot{stroke:var(--indigo);stroke-width:1.3;stroke-dasharray:2.5 2.5}
.net-node .nm{font-family:var(--font-cn);font-size:12.5px;font-weight:600;fill:var(--t-strong);text-anchor:middle}
.net-node.prov .nm{font-weight:500;fill:var(--t-strong2)}
.net-node.rad .nm{font-size:11.5px;font-weight:500;fill:var(--text-mid)}
.net-node .halo{fill:none;stroke:var(--cyan);stroke-width:1.2;transform-box:fill-box;transform-origin:center;opacity:0;animation:drRing 3s ease-out infinite}
/* 浅色主题：提高线环对比度 */
html[data-theme="light"] .net-ring{opacity:.4}
html[data-theme="light"] .net-ring.r3{opacity:.35}
html[data-theme="light"] .net-link{opacity:.55}
html[data-theme="light"] .net-link.prov{opacity:.45}
html[data-theme="light"] .net-link.rad{opacity:.42}
/* 响应式 */
@media (max-width:1024px){
  .net-card{flex-direction:column;gap:28px;padding:26px 24px}
  .net-side{flex:none;border-left:none;border-top:1px solid var(--line-soft);padding-left:0;padding-top:24px}
}
@media (max-width:768px){
  .net-map{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .net-map svg{min-width:600px}
  .net-stats .v{font-size:17px}
  .net-note{font-size:12.5px}
}

/* ================= 锚点定位偏移（吸顶导航） ================= */
.detail-card,.news-card,.train-banner,section[id]{scroll-margin-top:108px}

/* ================= 业务网络图 V2 · 态势显示屏 ================= */
/* 卡片容器 */
.net-card{box-shadow:0 18px 48px rgba(2,12,27,.26)}
html[data-theme="light"] .net-card{box-shadow:0 18px 40px rgba(15,42,77,.10)}
/* 显示屏面板（深浅主题均为深蓝屏） */
.net-map{align-items:stretch}
.net-screen{position:relative;width:100%;border-radius:14px;padding:14px 18px 12px;background:linear-gradient(165deg,#0C2140,#0A1B33 55%,#0D2A4A);border:1px solid rgba(62,123,255,.22);box-shadow:inset 0 0 44px rgba(62,123,255,.07),0 10px 30px rgba(2,10,24,.35)}
.net-screen svg{width:100%;max-width:760px;height:auto;display:block;margin:8px auto 2px}
/* 顶栏 */
.ns-top{display:flex;align-items:center;justify-content:space-between;padding:0 4px 10px;border-bottom:1px solid rgba(62,123,255,.14)}
.nst-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-en);font-size:10.5px;font-weight:700;letter-spacing:1.6px;color:var(--cyan);color:#6E96FF}
.nst-dot{width:7px;height:7px;border-radius:50%;background:#34D399;box-shadow:0 0 8px #34D399;animation:netBlink 2.4s ease-in-out infinite}
.nst-meta{font-size:11px;letter-spacing:.5px;color:rgba(186,230,253,.55)}
@keyframes netBlink{0%,100%{opacity:1}50%{opacity:.35}}
/* 底部层级指示条 */
.ns-foot{display:flex;gap:20px;flex-wrap:wrap;padding:10px 4px 2px;border-top:1px solid rgba(62,123,255,.12)}
.nsf{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.3px;color:rgba(186,230,253,.72)}
.nsf-dot{width:8px;height:8px;border-radius:50%;flex:none}
.nsf-dot.core{background:#3E7BFF;box-shadow:0 0 8px rgba(62,123,255,.9)}
.nsf-dot.prov{background:#4D79FF;box-shadow:0 0 7px rgba(62,123,255,.7)}
.nsf-dot.rad{background:transparent;border:1.6px dashed #4B5BF0}
/* SVG 内部固定配色（深蓝屏上恒为浅色） */
.net-bg-grid{color:rgba(186,230,253,.6)}
.net-ring{stroke:#3E7BFF}
.net-ring.r3{stroke:#4B5BF0}
.net-ring.solid{stroke:#3E7BFF;opacity:.22;stroke-width:1;stroke-dasharray:none}
.net-sat{fill:#6E96FF;filter:drop-shadow(0 0 4px rgba(110,150,255,.9))}
.net-link{stroke:#3E7BFF;opacity:.55}
.net-link.prov{stroke:#4D79FF;opacity:.4}
.net-link.rad{stroke:#4B5BF0;opacity:.38}
.net-compass path{stroke:#5B779E;fill:#5B779E}
.net-compass text{fill:#5B779E}
.net-hub .hub-glow{fill:url(#hubGlow)}
.net-hub .hub-chip{fill:url(#hubGrad);stroke:#3E7BFF;stroke-width:1.6;filter:drop-shadow(0 0 16px rgba(62,123,255,.5))}
.net-hub .hub-bar{fill:#3E7BFF}
.net-hub .hub-led{fill:#34D399;filter:drop-shadow(0 0 5px #34D399);animation:netBlink 1.8s ease-in-out infinite}
.net-hub .hub-cn{fill:#EAF4FF}
.net-hub .hub-en{fill:#6E96FF}
.net-node .dot{fill:#0A1B33;stroke:#3E7BFF;stroke-width:2;transition:stroke-width .2s}
.net-node.prov .dot{fill:#0A1B33;stroke:#4D79FF;stroke-width:1.6}
.net-node.rad .dot{fill:#0A1B33;stroke:#4B5BF0;stroke-width:1.3;stroke-dasharray:2.5 2.5}
.net-node .nm{fill:#C9E4FF}
.net-node.prov .nm{fill:#A9C6EA}
.net-node.rad .nm{fill:#8FA8CC}
.net-node .halo{stroke:#3E7BFF}
.net-node{transition:transform .2s}
.net-node:hover .dot{stroke-width:3;filter:drop-shadow(0 0 7px rgba(62,123,255,.8))}
.net-node.prov:hover .dot{filter:drop-shadow(0 0 7px rgba(62,123,255,.8))}
.net-node.rad:hover .dot{filter:drop-shadow(0 0 7px rgba(129,140,248,.8))}
.net-node:hover .nm{fill:#6E96FF}
/* 右侧面板：标题条 */
.net-side-head{display:flex;flex-direction:column;gap:3px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.nsh-t{font-size:17px;font-weight:800;letter-spacing:.5px;color:var(--t-strong)}
.nsh-en{font-family:var(--font-en);font-size:9.5px;font-weight:600;letter-spacing:2.6px;color:var(--t-acc2)}
/* 图例卡片 */
.net-legend{gap:12px}
.net-lg{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line-soft);border-radius:12px;background:var(--bg-card-2);overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s}
.net-lg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#3E7BFF,#0EA5E9);opacity:0;transition:opacity .25s}
.net-lg:hover{transform:translateY(-2px);border-color:var(--cyan);box-shadow:0 10px 24px rgba(2,12,27,.16)}
.net-lg:hover::before{opacity:1}
html[data-theme="light"] .net-lg:hover{box-shadow:0 10px 22px rgba(15,42,77,.12)}
.net-badge{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:12.5px;font-weight:800;color:#3E7BFF;border:1px solid rgba(62,123,255,.38);background:rgba(62,123,255,.09)}
.net-lg.prov .net-badge{color:#4D79FF;border-color:rgba(62,123,255,.38);background:rgba(62,123,255,.09)}
.net-lg.rad .net-badge{color:#4B5BF0;border-color:rgba(129,140,248,.38);background:rgba(129,140,248,.09)}
.net-ok{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:#34D399;box-shadow:0 0 7px rgba(52,211,153,.7)}
.net-lg.prov .net-ok{background:#4D79FF;box-shadow:0 0 7px rgba(62,123,255,.7)}
.net-lg.rad .net-ok{background:transparent;border:1.6px dashed #4B5BF0;box-shadow:none}
/* 数据格 */
.net-stats{gap:10px}
.net-stats .ns{position:relative;padding:15px 6px 13px;border-radius:12px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.net-stats .ns::before{content:"";position:absolute;left:14%;right:14%;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#3E7BFF,transparent);opacity:.75}
.net-stats .ns:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(2,12,27,.18)}
html[data-theme="light"] .net-stats .ns:hover{box-shadow:0 10px 20px rgba(15,42,77,.10)}
.net-stats .v{font-size:22px;letter-spacing:.5px;text-shadow:0 0 18px rgba(62,123,255,.35)}
html[data-theme="light"] .net-stats .v{text-shadow:0 0 14px rgba(14,50,203,.25)}
.net-stats .k{font-size:10.5px;letter-spacing:.4px;margin-top:2px}
/* 说明文字 */
.net-note{position:relative;padding:14px 16px 14px 18px;border:1px solid var(--line-soft);border-radius:12px;background:var(--bg-card-2);font-size:12.5px;line-height:1.85;color:var(--t-body)}
.net-note::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(180deg,#3E7BFF,#6366F1)}
.net-note em{font-style:normal;color:var(--cyan);font-weight:600}
html[data-theme="light"] .net-note em{color:#0E32CB}
/* 响应式微调 */
@media (max-width:1024px){
  .net-screen{padding:12px 14px 10px}
}
@media (max-width:768px){
  .ns-top{flex-direction:column;gap:6px;align-items:flex-start}
  .net-screen svg{min-width:600px}
  .ns-foot{gap:14px}
  .net-stats .v{font-size:20px}
}

/* ================= 业务网络图 V3 · 浅色一致 + 态势图丰富 ================= */
/* —— 右侧面板固定深蓝态势台，深浅主题与左侧显示屏保持一致 —— */
.net-side{background:linear-gradient(170deg,#0C2140,#0A1B33 55%,#0D2A4A);border-left:1px solid rgba(62,123,255,.22);border-radius:0 14px 14px 0;padding-top:6px;box-shadow:inset 0 0 44px rgba(62,123,255,.06)}
@media (max-width:1024px){
  .net-side{border-left:none;border-top:1px solid rgba(62,123,255,.22);border-radius:14px;padding-top:26px}
}
.net-side-head{border-bottom:1px solid rgba(62,123,255,.16)}
.nsh-t{color:#EAF4FF;text-shadow:0 0 20px rgba(62,123,255,.25)}
.nsh-en{color:#6E96FF;letter-spacing:3px}
.net-lg{background:rgba(10,27,51,.55);border-color:rgba(62,123,255,.16);backdrop-filter:blur(2px)}
.net-lg b{color:#D9EAFF}
.net-lg p{color:#8FA8CC}
html[data-theme="light"] .net-lg:hover{box-shadow:0 10px 24px rgba(2,10,24,.35)}
.net-badge{background:rgba(62,123,255,.12)}
.net-lg.prov .net-badge{background:rgba(62,123,255,.12)}
.net-lg.rad .net-badge{background:rgba(129,140,248,.12)}
.net-stats .ns{background:rgba(10,27,51,.55);border-color:rgba(62,123,255,.16)}
.net-stats .v{color:#6E96FF;text-shadow:0 0 18px rgba(62,123,255,.4)}
html[data-theme="light"] .net-stats .v{text-shadow:0 0 16px rgba(62,123,255,.35)}
.net-stats .k{color:#8FA8CC}
html[data-theme="light"] .net-stats .ns:hover{box-shadow:0 10px 22px rgba(2,10,24,.3)}
.net-note{background:rgba(10,27,51,.55);border-color:rgba(62,123,255,.16);color:#B7C9E2}
.net-note em{color:#6E96FF}
html[data-theme="light"] .net-note em{color:#6E96FF}
/* —— 态势图新增元素 —— */
.net-radar{opacity:.9}
.net-route{fill:none;stroke:rgba(62,123,255,.4);stroke-width:1.2;stroke-dasharray:6 8;stroke-linecap:round;animation:drDash 24s linear infinite}
.net-route.r2{stroke:rgba(62,123,255,.3);stroke-dasharray:4 9;animation-duration:36s}
.net-drone{opacity:.95}
.net-uplink{fill:none;stroke:rgba(110,150,255,.4);stroke-width:1.1;stroke-dasharray:2 6;stroke-linecap:round;animation:drDash 12s linear infinite}
.net-satellite rect{fill:#0A1B33;stroke:#3E7BFF;stroke-width:1.4}
.net-satellite path{stroke:#6E96FF;stroke-width:1.1;fill:none;stroke-linecap:round}
.net-satellite circle{fill:#6E96FF}
.net-terrain{fill:none;stroke:rgba(62,123,255,.14);stroke-width:1;stroke-linecap:round}
.net-terrain.t2{stroke:rgba(62,123,255,.1)}
.net-dist{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:1px;fill:#6B87AB;text-anchor:start}
.net-tag rect{fill:rgba(8,22,41,.72);stroke:rgba(62,123,255,.3);stroke-width:1}
.net-tag .t1{font-family:var(--font-en);font-size:7.5px;font-weight:700;letter-spacing:1.8px;fill:#5B779E}
.net-tag .t2{font-family:var(--font-cn);font-size:12.5px;font-weight:700;fill:#C9E4FF}
.net-node.mini .dot{fill:#0A1B33;stroke:#3E7BFF;stroke-width:1.2}
.net-node.mini .nm{font-size:10px;font-weight:500;fill:#7794BA}
.net-node.mini:hover .dot{stroke-width:2;filter:drop-shadow(0 0 5px rgba(62,123,255,.7))}

/* ================= 典型案例 · 双卡布局 ================= */
.case-study + .tc-card{margin-top:32px}
.tc-card + .tc-card{margin-top:32px}

/* ================= 返回顶部按钮 ================= */
#backTop{position:fixed;right:26px;bottom:26px;z-index:999;width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:linear-gradient(150deg,rgba(62,123,255,.16),rgba(62,123,255,.04));
  border:1px solid rgba(62,123,255,.38);
  box-shadow:0 6px 20px rgba(2,12,27,.35),inset 0 0 18px rgba(62,123,255,.08);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .3s,transform .3s,visibility .3s,box-shadow .3s,border-color .3s}
#backTop.show{opacity:1;visibility:visible;transform:translateY(0)}
#backTop svg{width:20px;height:20px;fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s,transform .25s}
#backTop:hover{border-color:rgba(62,123,255,.7);box-shadow:0 10px 28px rgba(62,123,255,.38),inset 0 0 22px rgba(62,123,255,.14)}
#backTop:hover svg{stroke:#6E96FF;transform:translateY(-2px)}
#backTop:active{transform:scale(.94)}
/* 浅色主题：浅玻璃底 + 深青箭头 */
html[data-theme="light"] #backTop{background:rgba(255,255,255,.86);border-color:rgba(14,50,203,.4);
  box-shadow:0 6px 20px rgba(15,42,77,.16),inset 0 0 16px rgba(14,50,203,.06)}
html[data-theme="light"] #backTop svg{stroke:#0E32CB}
html[data-theme="light"] #backTop:hover{border-color:rgba(14,50,203,.7);box-shadow:0 10px 26px rgba(15,42,77,.22)}
html[data-theme="light"] #backTop:hover svg{stroke:#0369A1}
/* 移动端 */
@media (max-width:768px){
  #backTop{right:16px;bottom:16px;width:42px;height:42px}
  #backTop svg{width:18px;height:18px}
}

/* ================= 业务网络图 V5 · 秦岭山脉 · 三层景深 ================= */
.net-mtn{pointer-events:none}
.net-mtn path{stroke-linejoin:round}
/* 山脊线：淡虚线增加立体感 */
.net-mtn .ridge{fill:none;stroke-width:0.8;stroke-dasharray:3 4}

/* —— 深色主题：青蓝剪影，远淡近深 —— */
.net-mtn .back{fill:rgba(90,170,255,.05);stroke:rgba(120,195,255,.10);stroke-width:1}
.net-mtn .mid{fill:rgba(70,140,230,.10);stroke:rgba(100,180,250,.15);stroke-width:1.1}
.net-mtn .front{fill:rgba(20,45,80,.40);stroke:rgba(50,145,230,.14);stroke-width:1.2}
.net-mtn .ridge{stroke:rgba(120,200,255,.10)}

/* —— 浅色主题：水墨山水 · 灰蓝淡雅 —— */
html[data-theme="light"] .net-mtn .back{fill:rgba(180,205,230,.22);stroke:rgba(165,195,225,.38);stroke-width:1}
html[data-theme="light"] .net-mtn .mid{fill:rgba(150,180,210,.30);stroke:rgba(140,175,205,.44);stroke-width:1.1}
html[data-theme="light"] .net-mtn .front{fill:rgba(115,150,185,.36);stroke:rgba(105,145,180,.48);stroke-width:1.2}
html[data-theme="light"] .net-mtn .ridge{stroke:rgba(130,170,200,.18)}

/* ============================================================
   新闻中心 · 集团编辑风重设计（Corporate Newsroom · LOGO 色系）
   作用域：body.pg-news（仅 news.html）。
   ★    底色/卡片/文字/线条已全站统一为 NEWS 体系（见 :root 与
   html[data-theme="light"]），此处仅保留 news 页面专属的
   「纸墨编辑部」色彩令牌（--nr-accent/ink/paper），字体已统一
   回全站单一字体栈，不再定义衬线族。
   ============================================================ */
body.pg-news{
  --nr-accent:#3E7BFF; --nr-ink:#EAF0FA; --nr-paper:#0F1626;
}
html[data-theme="light"] body.pg-news{
  --nr-accent:#0E32CB; --nr-ink:#131C2E; --nr-paper:#F3F6FB;
}
/* —— 分类色：低饱和集团色系（铜金/墨灰/蓝灰/赭红/松绿） —— */
.pg-news .cat-bid{--c:200,155,98}
.pg-news .cat-company{--c:148,160,184}
.pg-news .cat-industry{--c:74,118,255}
.pg-news .cat-rescue{--c:205,110,90}
.pg-news .cat-media{--c:130,163,140}
html[data-theme="light"] .pg-news .cat-bid{--c:160,113,60}
html[data-theme="light"] .pg-news .cat-company{--c:74,86,110}
html[data-theme="light"] .pg-news .cat-industry{--c:0,91,239}
html[data-theme="light"] .pg-news .cat-rescue{--c:158,66,49}
html[data-theme="light"] .pg-news .cat-media{--c:73,102,82}
/* —— 刊头：编辑部风 —— */
.pg-news .page-hero{border-bottom:1px solid var(--line-soft)}
.pg-news .page-hero::after{content:"";position:absolute;left:0;right:0;bottom:5px;border-bottom:1px solid var(--line);pointer-events:none}
.pg-news .page-hero .ph-grid{background-image:linear-gradient(rgba(62,123,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(62,123,255,.05) 1px,transparent 1px)}
html[data-theme="light"] .pg-news .page-hero .ph-grid{background-image:linear-gradient(rgba(14,50,203,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(14,50,203,.08) 1px,transparent 1px)}
.pg-news .page-hero .ph-glow{background:radial-gradient(closest-side,rgba(62,123,255,.10),transparent 70%)}
html[data-theme="light"] .pg-news .page-hero .ph-glow{background:radial-gradient(closest-side,rgba(14,50,203,.08),transparent 70%)}

/* —— 快讯条 —— */
.pg-news .news-ticker{border-radius:3px;background:var(--bg-card)}
.pg-news .nt-label{background:var(--cyan-soft);color:var(--t-acc);letter-spacing:.26em}
.pg-news .nt-dot{background:var(--cyan);box-shadow:0 0 0 0 rgba(62,123,255,.5)}
.pg-news .nt-view .nt-item b{color:var(--t-acc)}
.pg-news .logo img{filter:drop-shadow(0 0 6px rgba(62,123,255,.3))}
/* —— 数据带：统一字体大数字 + 铜金顶规线 —— */
.pg-news .data-band{border-radius:4px;border-top:2px solid var(--nr-accent)}
.pg-news .data-band .item .v{font-family:inherit;font-weight:700;font-size:34px;color:var(--t-strong)}
.pg-news .data-band .item .k{letter-spacing:.1em;color:var(--t-dim)}
/* —— 分类 Tab：方形编辑风，选中为墨底纸字 —— */
.pg-news .news-tab{border-radius:2px;background:transparent;letter-spacing:.06em}
.pg-news .news-tab i{border-radius:2px}
.pg-news .news-tab:hover{color:var(--text);border-color:var(--nr-accent);transform:none;background:transparent}
.pg-news .news-tab.on{background:var(--nr-ink);border-color:var(--nr-ink);color:var(--nr-paper)}
.pg-news .news-tab.on i{background:rgba(128,128,128,.18);color:inherit}
/* —— 卡片：纸面卡片（标题统一字体栈） —— */
.pg-news .news-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:4px;padding:16px 16px 22px;transition:transform .25s,border-color .25s,box-shadow .25s}
.pg-news .news-card:hover{transform:translateY(-4px);border-color:rgba(var(--c,200,155,98),.45);box-shadow:0 22px 44px -22px rgba(8,12,24,.55)}
html[data-theme="light"] .pg-news .news-card:hover{box-shadow:0 22px 44px -24px rgba(20,30,54,.28)}
.pg-news .news-card .news-img,.pg-news .nf-big .news-img{border-radius:2px}
.pg-news .news-card h3,.pg-news .news-row h3{font-family:inherit;letter-spacing:.01em}
.pg-news .news-card:hover h3{color:var(--t-acc)}
.pg-news .news-chip{left:auto;right:14px;background:rgba(243,246,251,.94);border:1px solid rgba(19,28,46,.08);border-radius:2px;letter-spacing:.16em;backdrop-filter:none;color:rgb(var(--c,160,113,60))}
.pg-news .news-img img{filter:saturate(.86) contrast(1.03)}
.pg-news .news-card:hover .news-img img{filter:none}
.pg-news .news-date{background:rgba(19,28,46,.78);color:#E6EDF8;border-radius:2px;font-weight:600}
.pg-news .news-row{border-radius:4px}
.pg-news .news-row:hover{border-color:rgba(var(--c,200,155,98),.4)}
.pg-news .nr-tag{border-radius:2px;letter-spacing:.18em}
.pg-news .news-src{color:var(--t-dim)}
.pg-news .news-src::before{background:var(--t-acc)}
/* —— 详情弹层：纸面质感 —— */
.pg-news .nm-dialog{border:1px solid var(--line);border-radius:8px;box-shadow:0 30px 90px rgba(8,12,24,.55),0 0 0 1px rgba(255,255,255,.02) inset}
html[data-theme="light"] .pg-news .nm-dialog{box-shadow:0 30px 90px rgba(20,30,54,.25)}
.pg-news .nm-title{font-family:inherit;font-weight:700;letter-spacing:.02em}
.pg-news .nm-content h4{font-family:inherit;letter-spacing:.12em}
.pg-news .nm-metric{background:rgba(62,123,255,.08);border:1px solid rgba(62,123,255,.18);border-radius:6px}
html[data-theme="light"] .pg-news .nm-metric{background:rgba(14,50,203,.07);border-color:rgba(14,50,203,.2)}
.pg-news .nm-quote{border-radius:6px;border-color:rgba(62,123,255,.24)}
html[data-theme="light"] .pg-news .nm-quote{border-color:rgba(14,50,203,.22)}
.pg-news .nm-metric .v{font-family:inherit}
.pg-news .nm-tags span{border-radius:2px}
.pg-news .nm-read{background:rgba(19,28,46,.74);border-color:rgba(62,123,255,.4);color:#EAF0FA}

/* ============================================================
   NEWS · 参考风格融合（电影感刊头 + 版式节奏 + 大圆角胶囊）
   参考属性：全幅大图刊头/居中白色标题/胶囊 CTA/左标签右大标题/
   大圆角照片卡，叠于 LOGO 蓝体系之上（深浅主题刊头均为暗色照片）
   ============================================================ */
.page-hero{
  background:
    linear-gradient(180deg,rgba(9,10,12,.38),rgba(10,11,13,.42)),
    var(--ph-img,none) center 42%/cover no-repeat,
    var(--grad-hero);
  border-bottom:none;box-shadow:none;
  min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:100px 0 110px;
}
.page-hero::after,.page-hero .ph-grid,.page-hero .ph-glow,.page-hero .ph-drone{display:none}
.page-hero .container{text-align:left;padding-top:0}
.page-hero .ph-crumb{position:static;margin:0 0 44px;justify-content:flex-start;color:rgba(255,255,255,.55);font-size:13px;letter-spacing:.14em}
.page-hero .ph-crumb a{color:rgba(255,255,255,.68)}
.page-hero .ph-crumb a:hover{color:#8FA8FF}
.page-hero .ph-crumb .cur{color:#fff}
.ph-kicker{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin-bottom:26px;font-family:var(--font-en);color:#8FA8FF;font-size:12px;font-weight:700;letter-spacing:.5em;white-space:nowrap}
.ph-kicker span{margin-right:-.5em}
.ph-kicker::before{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,rgba(143,168,255,.9))}
.ph-kicker::after{display:none}
.ph-title{font-family:inherit;font-weight:800;font-size:76px;letter-spacing:.18em;line-height:1.2;color:#fff;text-shadow:0 6px 34px rgba(4,8,16,.5)}
.ph-desc{max-width:560px;margin:28px 0 0;font-size:15px;line-height:2.05;letter-spacing:.04em;color:rgba(255,255,255,.78)}
.ph-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-top:26px;color:rgba(255,255,255,.55);font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.32em}
.ph-meta span{margin-right:-.32em}
.ph-meta span::before{display:none}
@media (max-width:1280px){.ph-title{font-size:56px}}
/* 胶囊 CTA（参考图 Read More，全站子页通用） */
.ph-cta{display:inline-flex;align-items:center;gap:10px;margin-top:38px;padding:13px 32px;border-radius:999px;border:1px solid rgba(255,255,255,.55);color:#fff;font-size:13px;font-weight:600;letter-spacing:.26em;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);transition:all .25s}
.ph-cta::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.ph-cta:hover{background:#fff;border-color:#fff;color:#16233A;letter-spacing:.3em}
/* 快讯条：暗色玻璃（始终位于照片之上） */
.pg-news .news-ticker{background:rgba(10,16,30,.5);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);margin-top:56px}
.pg-news .nt-label{background:rgba(255,124,0,.16);color:#FFA23E}
.pg-news .nt-item{color:rgba(255,255,255,.86)}
.pg-news .nt-item b{color:#8FA8FF}
/* —— 版式节奏：左小标签 + 右大标题 —— */
.pg-news .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}
.pg-news .sec-kicker{font-size:14px;font-weight:800;color:var(--t-acc);letter-spacing:.32em;padding-bottom:12px;white-space:nowrap}
.pg-news .sec-title{font-size:40px;font-weight:800;line-height:1.32;letter-spacing:.02em;color:var(--t-strong);text-align:left}
.pg-news .sec-title span{color:var(--t-mid);font-weight:600}
/* —— 标题字系：粗黑体（对齐参考图） —— */
.pg-news .news-card h3,.pg-news .news-row h3{font-family:inherit;font-weight:700;letter-spacing:.02em}
.pg-news .data-band .item .v{font-family:inherit;font-weight:800}
.pg-news .nm-title,.pg-news .nm-content h4,.pg-news .nm-metric .v{font-family:inherit}
/* —— 大圆角 + 胶囊化 —— */
.pg-news .data-band{border-radius:20px;border-top:none;border:1px solid var(--line-soft);border-top:2px solid var(--cyan)}
.pg-news .news-card{border-radius:18px}
.pg-news .news-card .news-img{border-radius:12px}
.pg-news .news-row{border-radius:18px}
.pg-news .news-tab{border-radius:999px}
.pg-news .nm-dialog{border-radius:22px}
.pg-news .news-more{border:1px solid var(--line);border-radius:999px;padding:8px 20px;width:max-content;gap:8px;transition:all .25s}
.pg-news .news-more:hover{border-color:var(--t-acc);background:var(--cyan-soft)}
/* —— 焦点卡：参考图式全幅照片背景卡 —— */
.pg-news .nf-big{position:relative;border-radius:22px;min-height:480px;display:flex;flex-direction:column;justify-content:flex-end;padding:40px 42px;overflow:hidden;background:#0E1626;border:none}
.pg-news .nf-big .news-img{position:absolute;inset:0;border-radius:0;height:100%}
.pg-news .nf-big .news-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.95)}
.pg-news .nf-big .news-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,30,.08) 26%,rgba(10,16,30,.9) 84%)}
.pg-news .nf-big .news-chip,.pg-news .nf-big .news-date{z-index:2}
.pg-news .nf-big h3{position:relative;z-index:1;color:#fff;font-size:27px;line-height:1.5;max-width:580px;min-height:0}
.pg-news .nf-big p{position:relative;z-index:1;color:rgba(255,255,255,.82);max-width:600px}
.pg-news .nf-big .news-more{position:relative;z-index:1;border-color:rgba(255,255,255,.55);color:#fff;margin-top:18px}
.pg-news .nf-big .news-more svg{stroke:#fff}
.pg-news .nf-big .news-more:hover{background:#fff;border-color:#fff;color:#16233A}
.pg-news .nf-big .news-more:hover svg{stroke:#16233A}
/* —— 移动端适配 —— */
@media (max-width:768px){
  .page-hero{min-height:72vh;padding-bottom:72px}
  .page-hero .container{padding-top:0}
  .ph-title{font-size:30px;letter-spacing:.06em}
  .ph-kicker{letter-spacing:.24em;font-size:10px;gap:12px}
  .ph-kicker span{margin-right:-.24em}
  .ph-kicker::before{width:26px}
  .ph-meta{letter-spacing:.22em}
  .ph-meta span{margin-right:-.22em}
  .pg-news .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:32px}
  .pg-news .sec-title{font-size:28px}
  .pg-news .nf-big{min-height:380px;padding:26px 24px}
  .pg-news .nf-big h3{font-size:21px}
}

/* ============================================================
   NEWS · 底部参考风格融合（深蓝渐变横幅 + 错落引言卡 + 近黑 footer）
   参考属性：错落玻璃引言卡/右侧大标题+胶囊/近黑 footer/圆环装饰，
   叠于 LOGO 蓝体系之上（横幅与 footer 深/浅主题均强制暗色）
   ============================================================ */
.pg-news .cta,html[data-theme="light"] .pg-news .cta{
  padding:120px 0;position:relative;overflow:hidden;border-top:none;
  background:linear-gradient(128deg,#0A0E2A 0%,#101A55 46%,#1633C9 100%);
}
.pg-news .cta::before{content:"";position:absolute;width:760px;height:760px;border-radius:50%;right:-180px;top:-260px;border:1px solid rgba(143,168,255,.16);pointer-events:none}
.pg-news .cta::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-60px;top:-140px;border:1px solid rgba(143,168,255,.09);pointer-events:none}
.pg-news .cta-inner{display:grid;grid-template-columns:1.12fr .88fr;gap:72px;align-items:start}
/* —— 左：错落引言卡 —— */
.pg-news .cta-stage{position:relative;z-index:1}
.pg-news .cq-lead{display:flex;align-items:baseline;gap:16px;margin-bottom:34px}
.pg-news .cq-lead .cn{font-size:30px;font-weight:800;color:#fff;letter-spacing:.06em}
.pg-news .cq-lead .en{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.42em;color:rgba(143,168,255,.85)}
.pg-news .q-card{display:flex;gap:18px;align-items:flex-start;width:min(540px,100%);padding:18px;border-radius:18px;background:rgba(8,16,30,.55);border:1px solid rgba(143,168,255,.16);backdrop-filter:blur(10px);box-shadow:0 18px 44px rgba(3,8,18,.45)}
.pg-news .q-card + .q-card{margin-top:26px}
.pg-news .q-card.q2{margin-left:88px}
.pg-news .q-card.q3{margin-left:176px}
.pg-news .q-img{width:112px;height:112px;flex-shrink:0;border-radius:12px;overflow:hidden}
.pg-news .q-img img{width:100%;height:100%;object-fit:cover}
.pg-news .q-body{flex:1;min-width:0}
.pg-news .q-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pg-news .q-ava{width:30px;height:30px;border-radius:50%;background:#fff;padding:3px;flex-shrink:0}
.pg-news .q-name{font-size:13px;font-weight:700;color:#fff}
.pg-news .q-role{font-size:11px;color:#8FA8FF;letter-spacing:.08em;margin-top:2px}
.pg-news .q-body p{font-size:12.5px;line-height:1.9;color:rgba(255,255,255,.72);margin:0}
/* —— 右：大标题 + 胶囊 + 联系卡 —— */
.pg-news .cta-side{position:relative;z-index:1;padding-top:22px}
.pg-news .cta-side .eyebrow{color:#8FA8FF}
.pg-news .cta-side .h-section{color:#fff;font-size:42px;letter-spacing:.03em}
.pg-news .cta-side > p{color:rgba(255,255,255,.75)}
.pg-news .cta-actions{display:flex;gap:14px;flex-wrap:wrap}
.pg-news .cta-actions .btn-primary,.pg-news .cta-actions .btn-ghost{border-radius:999px;padding:13px 32px;font-size:13px;letter-spacing:.18em}
.pg-news .cta-actions .btn-primary{background:#fff;color:#0F2238;border-color:#fff}
.pg-news .cta-actions .btn-primary:hover{background:#8FA8FF;border-color:#8FA8FF;color:#0B1628}
.pg-news .cta-actions .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.pg-news .cta-actions .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.pg-news .cta-card,html[data-theme="light"] .pg-news .cta-card{width:100%;margin-top:40px;background:rgba(8,15,28,.5);border-color:rgba(143,168,255,.2);box-shadow:0 22px 54px rgba(3,8,18,.5)}
.pg-news .cta-row{border-bottom-color:rgba(143,168,255,.1)}
.pg-news .cta-row .ci,html[data-theme="light"] .pg-news .cta-row .ci{background:rgba(143,168,255,.1);border-color:rgba(143,168,255,.22)}
.pg-news .cta-row .ci svg{stroke:#8FA8FF}
.pg-news .cta-row .cl{color:rgba(255,255,255,.55)}
.pg-news .cta-row .cv{color:rgba(255,255,255,.9)}
.pg-news .cta-row:hover .cv{color:#8FA8FF}
/* —— footer：近黑精致风 —— */
.pg-news footer,html[data-theme="light"] .pg-news footer{background:#0A0F24;border-top:1px solid rgba(255,255,255,.1);padding:88px 0 0;position:relative;overflow:hidden}
.pg-news footer::before{content:"";position:absolute;left:50%;top:-340px;transform:translateX(-50%);width:920px;height:920px;border-radius:50%;border:1px solid rgba(143,168,255,.09);pointer-events:none}
.pg-news footer .logo-cn{color:#fff}
.pg-news footer .logo-en{color:rgba(255,255,255,.4)}
.pg-news .f-brand p{color:rgba(255,255,255,.42)}
.pg-news .f-col h4{color:#fff;font-size:13px;letter-spacing:.2em}
.pg-news .f-col a,.pg-news .f-col span{color:rgba(255,255,255,.5)}
.pg-news .f-col a:hover{color:#8FA8FF}
.pg-news .footer-bottom{border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.35);align-items:center}
.pg-news .to-top{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}
.pg-news .to-top svg{width:16px;height:16px;stroke:rgba(255,255,255,.8);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pg-news .to-top:hover{background:#8FA8FF;border-color:#8FA8FF}
.pg-news .to-top:hover svg{stroke:#0B1628}
/* —— 响应式 —— */
@media (max-width:1024px){
  .pg-news .cta-inner{grid-template-columns:1fr;gap:52px}
  .pg-news .cta-side{padding-top:0}
}
@media (max-width:768px){
  .pg-news .cta{padding:88px 0}
  .pg-news .cta-side .h-section{font-size:30px}
  .pg-news .q-card.q2{margin-left:28px}
  .pg-news .q-card.q3{margin-left:0}
  .pg-news .q-img{width:88px;height:88px}
}

/* —— 数据带 & 筛选 Tab：统一 LOGO 蓝标准（覆盖旧编辑风残留） —— */
.pg-news .data-band{padding:34px 48px}
.pg-news .data-band .item .v{font-size:38px;letter-spacing:.01em;color:var(--t-acc);line-height:1.15}
.pg-news .data-band .item .v span{font-size:20px;font-weight:700;margin-left:2px}
.pg-news .data-band .item .k{margin-top:8px;font-size:13px;letter-spacing:.12em}
.pg-news .data-band .sep{height:52px;background:var(--line-soft)}
.pg-news .news-tab{padding:10px 22px;flex-shrink:0;white-space:nowrap}
.pg-news .news-tab:hover{border-color:var(--t-acc);color:var(--t-acc)}
/* 计数徽章：上标式数字（去实底，轻盈不生硬） */
.pg-news .news-tab i,html[data-theme="light"] .pg-news .news-tab i{background:transparent;padding:0;font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--t-dim);transform:translateY(-5px);transition:color .2s}
.pg-news .news-tab:hover i{color:var(--t-acc)}
.pg-news .news-tab.on,html[data-theme="light"] .pg-news .news-tab.on{background:var(--t-acc);border-color:var(--t-acc);color:#fff;box-shadow:0 8px 20px rgba(14,50,203,.25)}
.pg-news .news-tab.on i,html[data-theme="light"] .pg-news .news-tab.on i{background:transparent;color:rgba(255,255,255,.72)}

/* ============================================================
   全站风格统一：对齐新闻中心设计语言（标准群青蓝 #0E32CB/#005BEF + 橙点缀）
   ============================================================ */
/* —— 按钮胶囊化 + 标题粗黑体 —— */
.btn-primary,.btn-ghost{border-radius:999px}
.h-section{font-weight:800}
/* —— footer：近黑精致风（深浅主题一致） —— */
footer,html[data-theme="light"] footer{background:#0A0F24;border-top:1px solid rgba(255,255,255,.1);padding:88px 0 0;position:relative;overflow:hidden}
footer::before{content:"";position:absolute;left:50%;top:-340px;transform:translateX(-50%);width:920px;height:920px;border-radius:50%;border:1px solid rgba(143,168,255,.09);pointer-events:none}
footer .logo-cn{color:#fff}
footer .logo-en{color:rgba(255,255,255,.4)}
.f-brand p{color:rgba(255,255,255,.42)}
.f-col h4{color:#fff;font-size:13px;letter-spacing:.2em}
.f-col a,.f-col span{color:rgba(255,255,255,.5)}
.f-col a:hover{color:#8FA8FF}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.35)}
/* —— CTA：深蓝渐变横幅（深浅主题一致） —— */
.cta,html[data-theme="light"] .cta{padding:110px 0;position:relative;overflow:hidden;border-top:none;background:linear-gradient(128deg,#0A0E2A 0%,#101A55 46%,#1633C9 100%)}
.cta::before{content:"";position:absolute;width:760px;height:760px;border-radius:50%;right:-180px;top:-260px;border:1px solid rgba(143,168,255,.16);pointer-events:none}
.cta::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-60px;top:-140px;border:1px solid rgba(143,168,255,.09);pointer-events:none}
.cta .eyebrow{color:#8FA8FF}
.cta .h-section{color:#fff}
.cta .cta-left p{color:rgba(255,255,255,.75)}
.cta .btn-primary{background:#fff;color:#0F2238;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.cta .btn-primary:hover{background:#8FA8FF;color:#0B1628;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.cta .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.cta .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.cta .cta-card,html[data-theme="light"] .cta .cta-card{background:rgba(8,15,28,.5);border-color:rgba(143,168,255,.2);box-shadow:0 22px 54px rgba(3,8,18,.5)}
.cta .cta-row{border-bottom-color:rgba(143,168,255,.1)}
.cta .cta-row .ci{background:rgba(143,168,255,.1);border-color:rgba(143,168,255,.22)}
.cta .cta-row .ci svg{stroke:#8FA8FF}
.cta .cta-row .cl{color:rgba(255,255,255,.55)}
.cta .cta-row .cv{color:rgba(255,255,255,.9)}
.cta .cta-row:hover .cv{color:#8FA8FF}

/* —— 首页 HERO 动画保护：保持原有天青色调与背景（用户要求不动） —— */
.pg-index .hero{background:linear-gradient(135deg,#0B1428 0%,#0F2444 55%,#0A1224 100%)}
html[data-theme="light"] .pg-index .hero{background:linear-gradient(135deg,#E9F1FB 0%,#D8E8F8 55%,#F2F7FC 100%)}
.pg-index .hero-tag .dot{background:#38BDF8;box-shadow:0 0 8px #38BDF8}
.pg-index .hero-tag span{color:#BAE6FD}
.pg-index .hero h1 .l1,.pg-index .hero h1 .l2{background:linear-gradient(100deg,#60A5FA 0%,#EAF6FF 16%,#BAE6FD 32%,#FFFFFF 45%,#38BDF8 58%,#BAE6FD 74%,#60A5FA 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text}
.pg-index .hero-sub{color:#60A5FA}
html[data-theme="light"] .pg-index .hero-sub{color:#2563EB}
html[data-theme="light"] .pg-index .hero-earth{filter:brightness(.92) drop-shadow(0 0 30px rgba(2,132,199,.3))}


/* —— 各内页刊头照片（按页内容分配：news=破晓出征 projects=晨光林海） —— */
body.pg-news .page-hero{--ph-img:url('hero-news.png')}
body.pg-projects .page-hero{--ph-img:url('hero-projects.png')}
body.pg-about .page-hero{--ph-img:url('hero-mountains.png')}
body.pg-solutions .page-hero{--ph-img:url('hero-solutions.png')}
body.pg-tech .page-hero{--ph-img:url('hero-tech.png')}
body.pg-credentials .page-hero{--ph-img:url('hero-cred.png')}
/* ============================================================
   全站卡片语言统一：对齐 news.html（sec-head 版式 / 数据带 / 圆角悬停）
   ============================================================ */
/* —— 区块标题：news sec-head 同构（左大标题 + 右蓝色 kicker） —— */
.sub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:88px 0 40px;flex-wrap:wrap}
.sub-head::before{display:none}
.sub-head h3{font-size:34px;font-weight:800;letter-spacing:.02em;line-height:1.32;color:var(--t-strong)}
.sub-head span{font-family:var(--font-en);font-size:14px;font-weight:800;letter-spacing:.32em;color:var(--t-acc);padding-bottom:12px;white-space:nowrap}
/* —— 数据带：news 同款（橙色顶线 + 38px 粗黑数字） —— */
.data-band{border-radius:20px;border-top:none;border:1px solid var(--line-soft);border-top:2px solid var(--cyan);padding:34px 48px}
.data-band .item .v{font-family:inherit;font-weight:800;font-size:38px;letter-spacing:.01em;color:var(--t-acc);line-height:1.15}
.data-band .item .v span{font-size:20px;font-weight:700;margin-left:2px}
.data-band .item .k{margin-top:8px;font-size:13px;letter-spacing:.12em}
.data-band .sep{height:52px;background:var(--line-soft)}
/* —— 卡片统一 18px 圆角 + 悬停浮起 —— */
.detail-card,.team-card,.cred-mini,.tech-item,.ip-item,.tc-card,.field-item{border-radius:18px;transition:transform .25s,box-shadow .25s,border-color .25s}
.detail-card:hover,.team-card:hover,.cred-mini:hover,.tech-item:hover,.ip-item:hover,.tc-card:hover,.field-item:hover{transform:translateY(-4px);border-color:rgba(62,123,255,.3);box-shadow:0 16px 40px rgba(0,0,0,.35)}
html[data-theme="light"] .detail-card:hover,html[data-theme="light"] .team-card:hover,html[data-theme="light"] .cred-mini:hover,html[data-theme="light"] .tech-item:hover,html[data-theme="light"] .ip-item:hover,html[data-theme="light"] .tc-card:hover,html[data-theme="light"] .field-item:hover{box-shadow:0 16px 40px rgba(14,50,203,.12)}
@media (max-width:768px){
  .sub-head{margin:64px 0 28px;gap:10px;flex-direction:column;align-items:flex-start;justify-content:flex-start}
  .sub-head h3{font-size:24px}
  .sub-head span{font-size:11px;letter-spacing:.24em;padding-bottom:0;white-space:normal}
}

/* ============================================================
   全站风格参考 GOUNGXIN（goungxin.cn/example）编辑极简风融合：
   暖纸白底 / 超大紧字距粗黑标题 / 近黑巨型文字 CTA + 橙色圆点 /
   卡片轻量化。群青蓝 #0E32CB 品牌强调色保持不变；首页 HERO 不动。
   ============================================================ */
/* —— 浅色主题：冷纸白底（全站已统一为 NEWS 冷纸白 #F3F6FB） —— */
html[data-theme="light"]{
  --bg:#F3F6FB;
  --bg-card-2:#EFF4FA;
  --grad-hero:linear-gradient(135deg,#F3F6FB 0%,#EDF2FA 55%,#F6F9FD 100%);
  --line:rgba(19,28,46,.20); --line-soft:rgba(19,28,46,.10);
}
/* —— 区块标题：GOUNGXIN 式超大编辑标题（Work 同构） —— */
.sub-head{margin:110px 0 46px}
.sub-head h3{font-size:46px;font-weight:900;letter-spacing:-.02em;line-height:1.18}
.sub-head span{font-size:12px;letter-spacing:.3em;color:var(--text-dim);font-weight:600}
/* —— CTA：白色巨字横幅 + 淡山影背景（呼应「守护每一寸山河」，深浅主题一致） —— */
/* —— 太阳 + 日照金山：太阳位置由 --sun-* 变量统一驱动（本体/日晕/山体染色同源） —— */
.pg-news .cta,html[data-theme="light"] .pg-news .cta,
.cta,html[data-theme="light"] .cta{
  --sun-x:calc(94% - 52px); --sun-y:86px; --sun-d:104px;
  background:
    radial-gradient(700px 460px at var(--sun-x) var(--sun-y),rgba(255,186,92,.30),rgba(255,166,66,.10) 50%,transparent 72%),
    linear-gradient(188deg,transparent 46%,rgba(255,170,70,.14) 60%,rgba(255,140,50,.07) 76%,transparent 92%),
    linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 100%),
    url('hero-mountains.png') center 40%/cover no-repeat,
    #F7F7F4;
  border-top:1px solid rgba(22,35,58,.08);
  overflow:hidden;
}
/* 太阳本体：亮黄白核 → 金 → 橙边，暖光呼吸 */
.pg-news .cta::before,.cta::before{
  width:var(--sun-d);height:var(--sun-d);right:auto;left:var(--sun-x);top:var(--sun-y);transform:translate(-50%,-50%);border:none;
  background:radial-gradient(circle at 38% 32%,#FFF7DC 0%,#FFE59A 30%,#FFBB4A 64%,#FF8E22 100%);
  box-shadow:0 0 22px rgba(255,196,96,.55),0 0 70px rgba(255,158,48,.36),0 0 150px 26px rgba(255,148,40,.20);
  animation:sunBreath 6s ease-in-out infinite;
}
/* 大范围柔和日晕 */
.pg-news .cta::after,.cta::after{
  display:block;width:560px;height:560px;right:auto;left:var(--sun-x);top:var(--sun-y);transform:translate(-50%,-50%);
  border:none;background:radial-gradient(circle,rgba(255,170,60,.18),rgba(255,150,40,.06) 46%,transparent 70%);
}
@keyframes sunBreath{
  0%,100%{box-shadow:0 0 22px rgba(255,196,96,.55),0 0 70px rgba(255,158,48,.36),0 0 150px 26px rgba(255,148,40,.20)}
  50%{box-shadow:0 0 32px rgba(255,204,110,.68),0 0 96px rgba(255,164,56,.46),0 0 190px 36px rgba(255,150,40,.28)}
}
@media (prefers-reduced-motion:reduce){.pg-news .cta::before,.cta::before{animation:none}}
.pg-news .cta-side .h-section,.pg-news .cta .h-section,.cta .h-section{
  font-size:50px;font-weight:900;letter-spacing:-.01em;line-height:1.24;
}
@media (max-width:1024px){
  .pg-news .cta-side .h-section,.pg-news .cta .h-section,.cta .h-section{font-size:42px}
  .pg-news .cta,html[data-theme="light"] .pg-news .cta,.cta,html[data-theme="light"] .cta{--sun-x:calc(95% - 32px);--sun-y:54px;--sun-d:64px}
  .pg-news .cta::after,.cta::after{width:360px;height:360px}
}
@media (max-width:768px){
  .sub-head{margin:72px 0 30px}
  .sub-head h3{font-size:30px}
  .pg-news .cta-side .h-section,.pg-news .cta .h-section,.cta .h-section{font-size:30px}
}
/* —— 卡片轻量化：弱边框、收紧圆角、更干净的悬停 —— */
.detail-card,.team-card,.cred-mini,.tech-item,.ip-item,.tc-card,.field-item{border-radius:14px;border-color:var(--line-soft)}
.detail-card:hover,.team-card:hover,.cred-mini:hover,.tech-item:hover,.ip-item:hover,.tc-card:hover,.field-item:hover{border-color:rgba(14,50,203,.28)}

/* ============================================================
   ABOUT · 融合 goungxin.cn/about 版式骨架
   巨型居中 LOGO 旗帜区（左上小图+左下引言）/ 细线夹列表行+
   悬停斜向箭头。刊头与卡片语言随 news.html 全站标准。
   ============================================================ */
/* —— 卡片/段标题语言：与 news.html 全站保持一致（46px/900 标题、
   14px 圆角卡片、悬停浮起），不再使用参考站的小号标题与近直角卡 —— */
body.pg-about .pf-item .v em{color:var(--t-acc)}
/* —— 旗帜区：巨型居中 LOGO + 左上小图 + 左下引言 —— */
.pg-about .gx-flag{position:relative;height:600px;margin-top:8px}
.pg-about .gx-flag-photo{position:absolute;left:0;top:0;width:260px;height:346px;overflow:hidden}
.pg-about .gx-flag-photo img{display:block;width:100%;height:150%;margin-top:-25%;object-fit:cover}
.pg-about .gx-flag-logo{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:min(420px,46%)}
.pg-about .gx-flag-content{position:absolute;left:308px;bottom:26px;max-width:600px}
.pg-about .gx-flag-content h3{font-size:17px;font-weight:500;letter-spacing:.06em;color:var(--t-acc);line-height:1.5}
.pg-about .gx-flag-content p{margin-top:16px;font-size:13.5px;line-height:1.9;color:var(--t-mid)}
.pg-about .gx-intro{max-width:780px;margin:60px auto 0;display:flex;flex-direction:column;gap:20px}
.pg-about .gx-intro p{font-size:14px;line-height:2.05;color:var(--t-mid);letter-spacing:.01em}
/* —— 发展历程：细线夹列表行 + 悬停斜向箭头 —— */
.pg-about .gx-case-list{list-style:none;border-top:1px solid var(--line)}
.pg-about .gx-case-list li{display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);padding:26px 6px;transition:border-color .25s}
.pg-about .gx-case-list li:hover{border-bottom-color:rgba(14,50,203,.4)}
.pg-about .gx-case-list .l{display:flex;align-items:baseline;gap:16px;flex-shrink:0;width:220px}
.pg-about .gx-case-list .l b{font-family:var(--font-en);font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--t-strong);transition:color .25s}
.pg-about .gx-case-list li:hover .l b{color:var(--t-acc)}
.pg-about .gx-case-list .l span{font-size:12.5px;letter-spacing:.08em;color:var(--t-dimmer)}
.pg-about .gx-case-list li p{flex:1;font-size:13.5px;line-height:1.8;color:var(--t-mid)}
.pg-about .gx-case-list .arrow{position:relative;overflow:hidden;width:22px;height:22px;flex-shrink:0;color:var(--t-acc)}
.pg-about .gx-case-list .arrow i{display:block;width:22px;height:22px;transition:all .2s;position:relative}
.pg-about .gx-case-list .arrow i svg{width:100%;height:100%}
.pg-about .gx-case-list .arrow i+i{position:absolute;right:100%;top:100%}
.pg-about .gx-case-list li:hover .arrow i:first-child{transform:translate(100%,-100%)}
.pg-about .gx-case-list li:hover .arrow i+i{right:0;top:0}
/* —— 移动端 —— */
@media (max-width:768px){
  .pg-about .gx-flag{height:auto;display:flex;flex-direction:column;gap:26px;padding-bottom:4px}
  .pg-about .gx-flag-photo{position:static;width:100%;height:210px}
  .pg-about .gx-flag-photo img{height:100%;margin:0}
  .pg-about .gx-flag-logo{position:static;transform:none;width:76%;margin:6px auto 0}
  .pg-about .gx-flag-content{position:static;max-width:100%}
  .pg-about .gx-intro{margin-top:40px;gap:14px}
  .pg-about .gx-case-list li{flex-wrap:wrap;gap:8px 16px;padding:18px 2px}
  .pg-about .gx-case-list .l{width:auto;gap:10px}
  .pg-about .gx-case-list li p{flex-basis:100%;font-size:12.5px}
  .pg-about .gx-case-list .arrow{margin-left:auto}
}

/* ============================================================
   版块细化与动效（全站）
   1) 统计数字：等宽数字防抖 + 滚动计数（JS 配合 .cv-num）
   2) 数据带条目逐个错峰入场（from-only 关键帧，结束后不锁 hover）
   3) 卡片网格同版块 stagger（JS 写入 transition-delay）
   4) 内页刊头内容分层入场（面包屑→眉题→标题→描述→按钮）
   5) prefers-reduced-motion 全部降级
   ============================================================ */
.data-band .item .v{font-variant-numeric:tabular-nums}
.data-band .item .v .cv-num{font:inherit}
.data-band .item{transition:transform .3s ease}
.data-band .item:hover{transform:translateY(-4px)}
@keyframes dbUp{from{opacity:0;transform:translateY(16px)}}
.data-band.in .item{animation:dbUp .6s cubic-bezier(.22,.9,.36,1) backwards;animation-delay:var(--d,0ms)}
/* —— 内页刊头内容分层入场（index 用 .hero，不受影响） —— */
@keyframes phUp{from{opacity:0;transform:translateY(22px)}}
.page-hero .container>*{animation:phUp .75s cubic-bezier(.22,.9,.36,1) backwards}
.page-hero .container>*:nth-child(1){animation-delay:.05s}
.page-hero .container>*:nth-child(2){animation-delay:.15s}
.page-hero .container>*:nth-child(3){animation-delay:.25s}
.page-hero .container>*:nth-child(4){animation-delay:.35s}
.page-hero .container>*:nth-child(5){animation-delay:.45s}
.page-hero .container>*:nth-child(6){animation-delay:.55s}
/* —— 降级：用户偏好减少动态时关闭全部入场动画 —— */
@media (prefers-reduced-motion:reduce){
  .data-band.in .item,.page-hero .container>*{animation:none}
  .reveal{transition:none}
}

/* ============================================================
   CTA 白底版元素体系：文字/按钮/联系卡翻转为深色（两主题一致）
   ============================================================ */
.cta .eyebrow,.pg-news .cta-side .eyebrow,html[data-theme="light"] .pg-news .cta-side .eyebrow{color:#0E32CB}
.cta .h-section,.pg-news .cta .h-section,.pg-news .cta-side .h-section{color:#16233A}
.cta .cta-left p,.pg-news .cta-side>p{color:rgba(33,39,51,.72)}
.cta .btn-primary,.pg-news .cta-actions .btn-primary{background:linear-gradient(135deg,#1D3FD6,#0E32CB);color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(14,50,203,.28)}
.cta .btn-primary:hover,.pg-news .cta-actions .btn-primary:hover{background:linear-gradient(135deg,#1633C9,#0B28B8);color:#fff}
.cta .btn-ghost,.pg-news .cta-actions .btn-ghost{border-color:rgba(22,35,58,.32);color:#16233A;background:transparent}
.cta .btn-ghost:hover,.pg-news .cta-actions .btn-ghost:hover{border-color:#16233A;background:rgba(22,35,58,.05);color:#16233A}
.cta .cta-card,.pg-news .cta .cta-card,html[data-theme="light"] .cta .cta-card,html[data-theme="light"] .pg-news .cta .cta-card{background:rgba(255,255,255,.78);border-color:rgba(14,50,203,.16);box-shadow:0 22px 54px rgba(15,42,80,.12)}
.cta .cta-row,.pg-news .cta-row{border-bottom-color:rgba(22,35,58,.1)}
.cta .cta-row .ci,.pg-news .cta-row .ci,html[data-theme="light"] .pg-news .cta-row .ci{background:rgba(14,50,203,.07);border-color:rgba(14,50,203,.18)}
.cta .cta-row .ci svg,.pg-news .cta-row .ci svg{stroke:#0E32CB}
.cta .cta-row .cl,.pg-news .cta-row .cl{color:rgba(33,39,51,.55)}
.cta .cta-row .cv,.pg-news .cta-row .cv{color:#16233A}
.cta .cta-row:hover .cv,.pg-news .cta-row:hover .cv{color:#0E32CB}
/* —— news 动态卡在白底 CTA 上的浅色化 —— */
.pg-news .cq-lead .cn{color:#16233A}
.pg-news .cq-lead .en{color:rgba(14,50,203,.6)}
.pg-news .q-card{background:rgba(255,255,255,.82);border-color:rgba(14,50,203,.14);box-shadow:0 18px 44px rgba(15,42,80,.1)}
.pg-news .q-name{color:#16233A}
.pg-news .q-role{color:#0E32CB}
.pg-news .q-body p{color:rgba(33,39,51,.75)}
/* —— news 动态卡在白底 CTA 上的浅色化 —— */
.pg-news .cq-lead .cn{color:#16233A}
.pg-news .cq-lead .en{color:rgba(14,50,203,.6)}
.pg-news .q-card{background:rgba(255,255,255,.82);border-color:rgba(14,50,203,.14);box-shadow:0 18px 44px rgba(15,42,80,.1)}
.pg-news .q-name{color:#16233A}
.pg-news .q-role{color:#0E32CB}
.pg-news .q-body p{color:rgba(33,39,51,.75)}

/* ============================================================
   首页 HERO 大气背景图（AI 生成 hero-bg.png：蓝调时刻云层光柱+群山+机群）
   仅替换背景层；网格/云雾/地球无人机动画全部保留。深浅主题统一暗调电影感。
   ============================================================ */
.pg-index .hero,html[data-theme="light"] .pg-index .hero{
  background:
    linear-gradient(90deg,rgba(7,10,20,.84) 0%,rgba(7,10,20,.52) 40%,rgba(7,10,20,.24) 72%,rgba(7,10,20,.18) 100%),
    url('hero-bg.png') center 32%/cover no-repeat,
    #070A14;
}
/* 照片自带群山，原山影剪影图退场，避免双重山脊 */
.pg-index .hero-mountains{display:none}
/* 浅色主题下 HERO 文字回到暗底白字体系 */
html[data-theme="light"] .pg-index .hero-tag span{color:#BAE6FD}
html[data-theme="light"] .pg-index .hero-sub{color:#60A5FA}
html[data-theme="light"] .pg-index .hero-desc{color:rgba(203,218,238,.82)}
html[data-theme="light"] .pg-index .btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.42);color:#fff}
html[data-theme="light"] .pg-index .btn-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.65)}
/* 移动端：弱化机群与线波光效，保证文字可读 */
@media (max-width:768px){
  .pg-index .hero-wave{opacity:.35}
  .pg-index .drone-wrap{opacity:.22}
}

/* ============================================================
   ABOUT 介绍区公共件：联语眉题
   ============================================================ */
.pg-about .ai-quote{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:.16em;color:var(--t-acc)}
.pg-about .ai-quote::before{content:"";width:34px;height:2px;background:var(--t-acc);flex-shrink:0}
@media (max-width:768px){
  .pg-about .ai-quote{font-size:13px;letter-spacing:.1em}
}

/* ============================================================
   ABOUT 发展历程：中央时间轴交替卡片（移动端退化为左侧单轨）
   ============================================================ */
.tl-band{position:relative;max-width:1000px;margin:10px auto 0;padding:6px 0}
.tl-band::before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;transform:translateX(-50%);border-radius:2px;background:linear-gradient(180deg,transparent,var(--line) 6%,var(--line) 94%,transparent)}
.tl-item{position:relative;padding:15px 0}
.tl-card{position:relative;margin-left:40px;max-width:600px;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:14px;padding:20px 24px 18px;transition:transform .25s,border-color .25s,box-shadow .25s}
.tl-card:hover{transform:translateY(-3px);border-color:rgba(62,123,255,.45);box-shadow:0 16px 36px rgba(0,0,0,.22)}
.tl-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tl-year{font-family:var(--font-en);font-size:28px;font-weight:800;letter-spacing:.01em;color:var(--t-strong);line-height:1}
.tl-tag{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--t-acc);padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--cyan) 12%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 26%,transparent)}
.tl-card p{margin-top:10px;font-size:13.5px;line-height:1.85;color:var(--t-mid)}
.tl-node{position:absolute;left:12px;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:var(--bg);border:2.5px solid var(--cyan);box-shadow:0 0 0 5px color-mix(in srgb,var(--cyan) 14%,transparent);z-index:1}
.tl-item:last-child .tl-node::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid var(--cyan);opacity:0;animation:tlPulse 2.4s ease-out infinite}
@keyframes tlPulse{0%{transform:scale(.55);opacity:.75}70%{opacity:.25}100%{transform:scale(1.9);opacity:0}}
@media (min-width:1025px){
  .tl-band::before{left:50%}
  .tl-item{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;padding:17px 0}
  .tl-node{left:50%}
  .tl-card{margin:0;max-width:none}
  .tl-item:nth-child(odd) .tl-card{grid-column:1;justify-self:end;text-align:right}
  .tl-item:nth-child(odd) .tl-head{justify-content:flex-end}
  .tl-item:nth-child(even) .tl-card{grid-column:2;justify-self:start}
}
@media (max-width:768px){
  .tl-year{font-size:24px}
  .tl-card{padding:16px 18px 15px}
  .tl-card p{font-size:12.5px}
}

/* HERO 右侧静态主角机（hero-craft / craft-glow / craft-ring）已于 2026.09.08 删除；
   动态组合 2026.09.08 定稿 = 线波光效（#herowave）+ 无人机机群（#fleet）双 canvas 共存；
   #network 空天地人连线光点已废弃删除 */


/* ============ Footer 备案链接 ============ */
.footer-bottom a{color:inherit;text-decoration:none;transition:color .2s}
.footer-bottom a:hover{color:#8FA8FF;text-decoration:underline}

/* ============================================================
   HERO 右侧光影氛围（2026.09.08）：天光光束 + 柔光晕 + 侧漏光
   机群在其上层飞行，形成"光束打底 → 机群穿光"的体积光纵深。
   原则：低透明度 + 大柔化 + 慢呼吸，大气稳重，不抢主体。
   ============================================================ */
.hero-lights{position:absolute;left:36%;right:0;top:0;bottom:0;z-index:3;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.hl-beam,.hl-halo,.hl-leak{position:absolute;display:block;will-change:opacity}
/* 主光柱：右上斜向天光，扫向画面中下 */
.hl-beam.b1{top:-26%;right:8%;width:210px;height:152%;background:linear-gradient(180deg,rgba(140,196,255,0) 0%,rgba(140,196,255,.09) 30%,rgba(172,212,255,.12) 50%,rgba(140,196,255,.07) 72%,rgba(140,196,255,0) 100%);filter:blur(28px);transform:rotate(23deg);transform-origin:top center;animation:hlBreath1 9s ease-in-out infinite}
/* 副光柱：略窄略淡，角度错开增加层次 */
.hl-beam.b2{top:-12%;right:20%;width:120px;height:132%;background:linear-gradient(180deg,rgba(124,182,255,0) 0%,rgba(124,182,255,.08) 38%,rgba(154,202,255,.10) 60%,rgba(124,182,255,0) 100%);filter:blur(22px);transform:rotate(15deg);transform-origin:top center;animation:hlBreath2 12s ease-in-out infinite}
/* 柔光晕：右上大团辉光，托住地球与机群密集区 */
.hl-halo{top:-20%;right:-6%;width:760px;height:760px;border-radius:50%;background:radial-gradient(closest-side,rgba(126,186,255,.15),rgba(86,152,255,.05) 46%,transparent 72%);filter:blur(12px);animation:hlBreath1 8s ease-in-out infinite}
/* 侧漏光：右缘一束宽幅柔光，模拟画面外的光源 */
.hl-leak{top:2%;right:-12%;width:580px;height:230px;background:radial-gradient(closest-side,rgba(152,206,255,.10),transparent 70%);filter:blur(10px);transform:rotate(-7deg);animation:hlBreath2 10s ease-in-out infinite reverse}
@keyframes hlBreath1{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes hlBreath2{0%,100%{opacity:.88}50%{opacity:.6}}
/* 浅色主题：背景偏亮，光照改为常规叠加并整体减淡，避免泛白 */
html[data-theme="light"] .hero-lights{mix-blend-mode:normal;opacity:.55}
@media (max-width:1100px){
  .hero-lights{left:24%}
  .hl-halo{width:600px;height:600px;right:-4%}
}
@media (max-width:768px){
  .hero-lights{left:0;opacity:.4}
}
@media (prefers-reduced-motion:reduce){.hl-beam,.hl-halo,.hl-leak{animation:none}}

/* ============================================================
   卡片语言全站统一层（最末覆盖）
   统一：18px 圆角 / hover 位移 -4px + 群青蓝边框 + 同款阴影
   覆盖此前 14/16/18px 混用与各自为政的悬停效果
   ============================================================ */
.detail-card,.team-card,.cred-mini,.tech-item,.ip-item,.tc-card,.field-item,.tl-card,.cred-card,.sol-card,.pf-item{border-radius:18px}
.detail-card,.team-card,.cred-mini,.tech-item,.ip-item,.tc-card,.field-item,.tl-card,.cred-card,.sol-card,.pf-item{transition:transform .28s cubic-bezier(.22,.8,.3,1),border-color .28s,box-shadow .28s}
.detail-card:hover,.team-card:hover,.cred-mini:hover,.tech-item:hover,.ip-item:hover,.tc-card:hover,.field-item:hover,.tl-card:hover,.cred-card:hover,.sol-card:hover,.pf-item:hover{transform:translateY(-4px);border-color:rgba(62,123,255,.38);box-shadow:0 16px 40px rgba(0,0,0,.32)}
html[data-theme="light"] .detail-card:hover,html[data-theme="light"] .team-card:hover,html[data-theme="light"] .cred-mini:hover,html[data-theme="light"] .tech-item:hover,html[data-theme="light"] .ip-item:hover,html[data-theme="light"] .tc-card:hover,html[data-theme="light"] .field-item:hover,html[data-theme="light"] .tl-card:hover,html[data-theme="light"] .cred-card:hover,html[data-theme="light"] .sol-card:hover,html[data-theme="light"] .pf-item:hover{border-color:rgba(14,50,203,.30);box-shadow:0 16px 36px rgba(14,50,203,.10)}
@media (prefers-reduced-motion:reduce){
  .detail-card:hover,.team-card:hover,.cred-mini:hover,.tech-item:hover,.ip-item:hover,.tc-card:hover,.field-item:hover,.tl-card:hover,.cred-card:hover,.sol-card:hover,.pf-item:hover{transform:none}
}

/* ============================================================
   发展历程时间轴：卡片内月份节点要点（tl-pts）
   ============================================================ */
.tl-pts{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.tl-pts li{position:relative;padding-left:16px;font-size:12.5px;line-height:1.7;color:var(--t-mid)}
.tl-pts li::before{content:"";position:absolute;left:2px;top:.66em;width:5px;height:5px;border-radius:50%;background:var(--cyan);opacity:.75}
.tl-pts li b{font-family:var(--font-en);font-weight:700;font-size:11.5px;letter-spacing:.06em;color:var(--t-acc);margin-right:7px}
@media (min-width:1025px){
  .tl-item:nth-child(odd) .tl-pts li{padding-left:0;padding-right:16px}
  .tl-item:nth-child(odd) .tl-pts li::before{left:auto;right:2px}
  .tl-item:nth-child(odd) .tl-pts li b{margin-right:0;margin-left:7px}
}
@media (max-width:768px){
  .tl-pts{margin-top:10px;gap:6px}
  .tl-pts li{font-size:12px}
}

/* ============================================================
   ABOUT 公司介绍 V5（参考「标题+引言+数据 ｜ 信息面板」版式）
   左栏：联语眉题 + 「公司简介」大标题 + 定位引言 + 三项数据
   右栏：信息面板 = LOGO 横排字标 + 体系/支撑正文
   ============================================================ */
.pg-about .ab-intro{display:block}
.pg-about .ab-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:stretch}
.pg-about .ab-left h3{margin-top:18px;font-size:38px;font-weight:900;letter-spacing:-.01em;line-height:1.25;color:var(--t-strong)}
.pg-about .ab-left h3 .en{display:block;margin-top:10px;font-family:var(--font-en);font-size:11.5px;font-weight:600;letter-spacing:.22em;color:var(--t-dimmer)}
.pg-about .ab-lead{margin-top:26px;font-size:16.5px;line-height:2.1;letter-spacing:.005em;color:var(--t-body)}
.pg-about .ab-stats{display:flex;gap:52px;margin-top:38px}
.pg-about .ab-st b{display:block;font-family:var(--font-en);font-size:46px;font-weight:800;letter-spacing:.01em;line-height:1;color:var(--cyan)}
.pg-about .ab-st span{display:block;margin-top:9px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--t-dimmer)}
.pg-about .ab-panel{margin:0;display:flex;flex-direction:column;padding:38px 40px;border:1px solid var(--line-soft);border-radius:18px;background-color:var(--bg-panel)}
.pg-about .abp-brand{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--line-soft)}
.pg-about .abp-brand img{width:46px;height:46px;object-fit:contain}
.pg-about .abp-bt b{display:block;font-size:17px;font-weight:900;letter-spacing:.14em;color:var(--t-strong)}
.pg-about .abp-bt span{display:block;margin-top:4px;font-family:var(--font-en);font-size:9px;font-weight:600;letter-spacing:.3em;color:var(--t-dimmer)}
.pg-about .ab-panel p{margin-top:20px;font-size:13.5px;line-height:2.15;color:var(--t-mid);letter-spacing:.01em}
.pg-about .ab-panel p:first-of-type{margin-top:24px}
@media (max-width:1024px){
  .pg-about .ab-grid{grid-template-columns:1fr;gap:34px}
}
@media (max-width:768px){
  .pg-about .ab-left h3{font-size:26px}
  .pg-about .ab-left h3 .en{font-size:9.5px;letter-spacing:.08em}
  .pg-about .ab-stats{gap:34px;margin-top:30px}
  .pg-about .ab-st b{font-size:36px}
  .pg-about .ab-panel{padding:30px 22px}
}

/* ============================================================
   动效柔化层（全站最末）：解决卡片动态与悬停「生硬」问题
   原则：不改各元素悬停终态（位移量/描边/阴影保持已统一语言），
   仅把时长放缓 + 换柔和缓动曲线，让「入场/浮起/描边」从容有弹性。
   ============================================================ */
/* A 组：主体卡片 —— 悬停浮起/描边/阴影 0.45s 柔和减速 */
.detail-card,.sol-card,.tc-card,.cred-card,.cred-mini,.tech-item,.stat-card,.proj-card,.t-card,.team-card,.field-item,.honor-item,.voice-card,.about-mv .item,.about-num,.about-value,.tl-card,.pf-item,.data-band .item,.news-card,.pg-news .news-card{transition-duration:.45s;transition-timing-function:cubic-bezier(.22,.72,.28,1)}
/* B 组：小行项/标签/小卡 —— 0.34s，跟手但不跳 */
.ip-item,.news-row,.flow-step,.arch-layer,.nm-metric,.nm-link,.nm-nav-btn,.net-lg,.net-stats .ns,.tc-gallery img,.tb-tag,.btn,.btn-primary{transition-duration:.34s;transition-timing-function:cubic-bezier(.22,.72,.28,1)}
/* 入场渐显：保留叙事节奏并更从容（0.85s 柔和减速），位移 24px → 18px 弱化冲势 */
.reveal{transition-duration:.85s;transition-timing-function:cubic-bezier(.2,.68,.28,1)}
.reveal{transform:translateY(18px)}
.about-tl-item{transition-duration:.85s;transition-timing-function:cubic-bezier(.2,.68,.28,1)}
@media (prefers-reduced-motion:reduce){
  .reveal,.about-tl-item{transition-duration:.01s}
}

/* ============================================================
   全站底色 = NEWS 统一收口层（文件最末，2026.09.08）
   此前 news.html 独享「藏蓝夜幕/冷纸白」底色体系，其余页面为
   石墨黑/暖纸白 —— 现已在 :root 与浅色主题层统一为 NEWS 体系。
   此层负责把 news 卡片/列表行的「分类色悬停描边」也收口为
   全站统一的群青蓝描边 + 同款阴影，做到页面间零观感差异。
   ============================================================ */
.pg-news .news-card:hover{border-color:rgba(62,123,255,.38);box-shadow:0 16px 40px rgba(0,0,0,.32)}
html[data-theme="light"] .pg-news .news-card:hover{border-color:rgba(14,50,203,.30);box-shadow:0 16px 36px rgba(14,50,203,.10)}
.pg-news .news-row:hover{border-color:rgba(62,123,255,.38)}
html[data-theme="light"] .pg-news .news-row:hover{border-color:rgba(14,50,203,.30)}

/* ============================================================
   大字体高级渐变（文件最末层，2026.09.09）
   展示级标题与数据大字统一使用群青蓝渐变文字：
   深色 = 白→雾蓝→群青（自上而下沉稳落色）
   浅色 = 群青深蓝→亮蓝（同族深化）
   首页 HERO 标题已有流光动效（pg-index 保护块），不参与。
   ============================================================ */
:root{
  --grad-display:linear-gradient(180deg,#FFFFFF 0%,#D6E1FF 42%,#8FB0FF 100%);
  --grad-numeric:linear-gradient(180deg,#9DB8FF 0%,#2E63E8 100%);
}
html[data-theme="light"]{
  --grad-display:linear-gradient(180deg,#06038B 0%,#0E32CB 58%,#005BEF 100%);
  --grad-numeric:linear-gradient(180deg,#0B1FA8 0%,#005BEF 100%);
}
/* —— 展示级标题（46px 级）：.h-section / .sub-head h3 / news 区块题 / about 大段题 —— */
.h-section,.sub-head h3,.pg-news .sec-title,.pg-about .ab-left h3{
  background:var(--grad-display);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* CTA 深底横幅内的标题保持纯白，不参与渐变 */
.pg-news .cta-side .h-section,.pg-news .cta .h-section,.cta .h-section{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  -webkit-text-fill-color:#fff;color:#fff;
}
/* —— 内页刊头大标题（照片底，双主题一致）：白→淡群青 —— */
.ph-title{
  background:linear-gradient(180deg,#FFFFFF 18%,#CBD9FF 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
/* —— 数据大字（32-46px 数字）：群青渐变 —— */
.data-band .item .v,.stat-num .n,.pg-about .ab-st b,.about-num .v,.field-item .fi-num .v{
  background:var(--grad-numeric);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ============================================================
   CTA 横幅标题 → 品牌橙金渐变（文件最末层，2026.09.09）
   「携手守护每一寸山河」等 CTA 大标题此前被排除层强制纯白；
   用户指定换为品牌橙金渐变（#FFC300→#FFBD00→#FF7C00），
   与 CTA 右上橙色发光球同族呼应。深蓝渐变横幅深浅主题一致，
   故不拆分主题。此规则置于排除层之后，覆盖其纯白声明。
   ============================================================ */
.cta .h-section,.cta-side .h-section,.pg-news .cta-side .h-section{
  background:linear-gradient(180deg,#FFC300 0%,#FFBD00 46%,#FF7C00 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
