:root{
  --bg:#FFFFFF; --bg-soft:#F6F8FC;
  --panel:#FFFFFF; --panel2:#FAFBFE;
  --ink:#0B1220; --ink-2:#45505F; --ink-3:#8A94A6;
  --blue:#002FA7; --blue-2:#1E3A8A; --blue-3:#4F8CFF;
  --line:#E9EDF3; --line-2:#D6DDE8;
  --grad:linear-gradient(135deg,#002FA7 0%,#4F8CFF 100%);
  --radius:16px;
  --font-display:'Sora','Noto Sans SC',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;
  --font-body:'Noto Sans SC','PingFang SC','Microsoft YaHei',-apple-system,sans-serif;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:180ms; --dur-base:340ms; --dur-slow:640ms;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-body);
  line-height:1.7;font-size:15px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* 微噪点颗粒（高级质感） */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}

/* ===== 时空网格背景 + 淡蓝光斑 ===== */
.bg-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(rgba(0,47,167,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,47,167,.04) 1px,transparent 1px),
    radial-gradient(1100px 620px at 88% -12%,rgba(0,47,167,.10),transparent 60%),
    radial-gradient(820px 520px at -4% 12%,rgba(79,140,255,.08),transparent 55%),
    radial-gradient(700px 460px at 50% 116%,rgba(0,47,167,.06),transparent 58%);
  background-size:56px 56px,56px 56px,auto,auto,auto;
}

/* ===== 建设期提示横幅 ===== */
.dev-banner{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 16px;text-align:center;font-size:13px;font-weight:600;letter-spacing:.5px;color:#fff;background:linear-gradient(90deg,#F59E0B 0%,#F97316 100%)}
.dev-banner .dot{width:7px;height:7px;border-radius:50%;background:#fff;flex:none;animation:devPulse 1.6s ease-in-out infinite}
.dev-banner .dot:last-child{animation-delay:.8s}
@keyframes devPulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.dev-banner .dot{animation:none}}

/* ===== 顶部导航 ===== */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:38px;height:38px;flex:none}
.brand .name{display:flex;flex-direction:column;line-height:1.25}
.brand .name b{font-size:16px;letter-spacing:.5px;font-weight:800;color:var(--ink);font-family:var(--font-display)}
.brand .name span{font-size:10px;letter-spacing:2.5px;color:var(--ink-3)}
.brand .name .domain{font-size:9px;letter-spacing:1.6px;color:var(--blue);font-weight:600;font-family:var(--font-display);margin-top:1px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:13px;color:var(--ink-2);padding:7px 11px;border-radius:9px;transition:.2s;white-space:nowrap;line-height:1.2}
.nav-links a .cn{font-weight:500}
.nav-links a .en{font-size:8.5px;letter-spacing:1.2px;color:var(--ink-3);font-family:var(--font-display);font-weight:600;text-transform:uppercase;transition:.2s}
.nav-links a:hover{color:var(--blue)}
.nav-links a:hover .en{color:var(--blue)}
.nav-cta{display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;padding:11px 22px;border-radius:10px;cursor:pointer;transition:.2s;border:none;white-space:nowrap}
.btn-solid{background:var(--grad);color:#fff;box-shadow:0 6px 18px rgba(0,47,167,.28)}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,47,167,.36)}
.btn-ghost{background:transparent;color:var(--blue);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--blue);background:rgba(0,47,167,.04)}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:24px;cursor:pointer}

/* ===== Hero ===== */
.hero{position:relative;padding:104px 0 84px;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:11.5px;letter-spacing:3px;color:var(--blue);font-weight:600;text-transform:uppercase;margin-bottom:28px}
.hero-eyebrow::before{content:"";width:30px;height:2px;background:var(--blue)}
.hero h1{margin:0}
.hero-en{display:block;font-family:var(--font-display);font-weight:800;font-size:58px;line-height:1.02;letter-spacing:-.025em;color:var(--ink)}
.hero-en em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-cn{display:block;font-family:var(--font-body);font-weight:900;font-size:23px;line-height:1.4;margin-top:18px;color:var(--ink);letter-spacing:.5px}
.hero .lead{margin-top:22px;font-size:16px;color:var(--ink-2);max-width:560px;line-height:1.9}
.hero .lead strong{color:var(--blue);font-weight:700}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-facts{display:flex;gap:44px;margin-top:48px;flex-wrap:wrap}
.hero-facts .f b{font-family:var(--font-display);font-size:38px;font-weight:800;line-height:1;color:var(--blue);letter-spacing:-.02em;
  text-shadow:0 1px 0 #1E40AF,0 2px 0 #1E3A8A,0 3px 0 #172B6B,0 4px 0 #13245C,0 8px 16px rgba(0,47,167,.24)}
.hero-facts .f span{display:block;font-size:12px;color:var(--ink-3);margin-top:8px;letter-spacing:1.5px}

/* ===== 右侧时空星轨动感画面 ===== */
.hero-visual{position:relative}
.space{position:relative;width:100%;aspect-ratio:1/1;max-width:500px;margin:0 auto}
.space::before{content:"";position:absolute;inset:16%;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(0,47,167,.10),rgba(79,140,255,.04) 55%,transparent 70%)}
.orbit{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(0,47,167,.16)}
.o1{width:96%;height:96%;animation:spin 30s linear infinite}
.o2{width:72%;height:72%;border-style:dashed;animation:spin 20s linear infinite reverse}
.o3{width:48%;height:48%;border:1px solid rgba(0,47,167,.22);animation:spin 13s linear infinite}
.sat{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(0,47,167,.16),0 0 14px rgba(0,47,167,.8)}
.o1 .sat{top:-4.5px;left:calc(50% - 4.5px)}
.o2 .sat{top:-4.5px;left:calc(50% - 4.5px)}
.o2 .sat.b{top:auto;bottom:-4.5px;background:var(--blue-3)}
.o3 .sat{top:-4.5px;left:calc(50% - 4.5px);width:7px;height:7px;background:var(--blue-3)}
.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:3}
.core-num{font-family:var(--font-display);font-weight:800;font-size:60px;line-height:1;color:var(--blue);letter-spacing:-.02em;
  text-shadow:0 1px 0 #1E40AF,0 2px 0 #1E3A8A,0 3px 0 #172B6B,0 4px 0 #13245C,0 10px 22px rgba(0,47,167,.28);
  animation:breathe 4.5s ease-in-out infinite}
.core-label{font-family:var(--font-display);font-size:11px;letter-spacing:4px;color:var(--ink-3);margin-top:10px;text-transform:uppercase}
.core-link{display:block;cursor:pointer;transition:transform .25s var(--ease-out)}
.core-link:hover{transform:translate(-50%,-50%) scale(1.04)}
.core-enter{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:12.5px;font-weight:700;letter-spacing:1px;color:#fff;background:var(--grad);padding:8px 18px;border-radius:999px;box-shadow:0 6px 16px rgba(0,47,167,.30);transition:.2s}
.core-link:hover .core-enter{box-shadow:0 10px 26px rgba(0,47,167,.42)}
.particles i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--blue-3);opacity:.55;animation:floaty 6s ease-in-out infinite}
.particles i:nth-child(1){left:12%;top:22%;animation-delay:0s}
.particles i:nth-child(2){left:86%;top:30%;animation-delay:1.2s;width:3px;height:3px}
.particles i:nth-child(3){left:16%;top:74%;animation-delay:2.1s}
.particles i:nth-child(4){left:82%;top:70%;animation-delay:3s;width:3px;height:3px}
.particles i:nth-child(5){left:50%;top:8%;animation-delay:4s;width:4px;height:4px}
@keyframes spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes floaty{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-16px);opacity:.8}}

/* ===== 数据看板条 ===== */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel2)}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.stat{text-align:center;padding:34px 12px;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:24%;height:52%;width:1px;background:var(--line)}
.stat b{display:block;font-family:var(--font-display);font-size:40px;font-weight:800;line-height:1;color:var(--blue);letter-spacing:-.02em;
  text-shadow:0 1px 0 #1E40AF,0 2px 0 #1E3A8A,0 3px 0 #172B6B,0 4px 0 #13245C,0 9px 18px rgba(0,47,167,.22)}
.stat b small{font-size:15px;margin-left:3px;font-weight:700}
.stat span{display:block;font-size:12px;color:var(--ink-3);margin-top:10px;letter-spacing:1.5px}

/* ===== 通用 section ===== */
section{padding:96px 0}
.sec-head{margin-bottom:56px}
.center{text-align:center}
.sec-en{display:block;font-family:var(--font-display);font-weight:800;font-size:38px;line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.sec-cn{font-family:var(--font-body);font-weight:700;font-size:17px;color:var(--blue);margin-top:14px;letter-spacing:2px}
.sec-desc{color:var(--ink-2);font-size:15px;margin-top:16px;max-width:720px;line-height:1.85}
.center .sec-desc{margin-left:auto;margin-right:auto}

/* ===== 卡片 ===== */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:.28s;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.card:hover{transform:translateY(-4px);border-color:rgba(0,47,167,.35);box-shadow:0 18px 44px rgba(0,47,167,.12)}
.card .icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(0,47,167,.06);margin-bottom:18px;flex:none}
.card .icon svg{width:24px;height:24px}
.card h3{font-size:16.5px;font-weight:700;margin-bottom:8px;letter-spacing:.3px;color:var(--ink)}
.card p{font-size:13.5px;color:var(--ink-2);line-height:1.75}
.card .num{position:absolute;top:20px;right:22px;font-family:var(--font-display);font-size:30px;font-weight:800;color:rgba(0,47,167,.10);line-height:1}
.card .more{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--blue);margin-top:16px;font-weight:600}
.card .more:hover{gap:10px}

/* 6+1 体系 */
.g6{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* +1 中台大卡 */
.plus1{margin-top:20px;background:var(--ink);border-radius:var(--radius);padding:40px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;position:relative;overflow:hidden}
.plus1::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 85% 20%,rgba(79,140,255,.28),transparent 60%)}
.plus1>*{position:relative;z-index:1}
.plus1 .ph{font-family:var(--font-display);font-size:12px;letter-spacing:3px;color:var(--blue-3);text-transform:uppercase}
.plus1 h3{font-size:24px;font-weight:800;margin:12px 0 12px;color:#fff}
.plus1 h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.plus1 p{font-size:14px;color:rgba(255,255,255,.72)}
.plus1 .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.plus1 .tags span{font-size:12px;color:#E3EBFF;border:1px solid rgba(255,255,255,.22);padding:6px 14px;border-radius:999px}
.plus1 .ring{display:flex;align-items:center;justify-content:center}
.plus1 .ring .core{width:180px;height:180px;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(79,140,255,.35),transparent 70%);border:1px solid rgba(255,255,255,.25);box-shadow:0 0 60px rgba(79,140,255,.25)}
.plus1 .ring .core::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px dashed rgba(255,255,255,.3)}
.plus1 .ring .core b{font-size:20px;letter-spacing:2px;color:#fff;font-weight:800}

/* 六大平台 */
.plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plat-grid .card{border-top:3px solid transparent}
.plat-grid .card:nth-child(odd){border-top-color:var(--blue)}
.plat-grid .card:nth-child(even){border-top-color:var(--blue-3)}

/* 技术底座 */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* 站点编码 */
.code-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.code-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;text-align:center;position:relative;overflow:hidden;transition:.25s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.code-card:hover{transform:translateY(-3px);border-color:rgba(0,47,167,.35);box-shadow:0 14px 36px rgba(0,47,167,.10)}
.code-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.code-card .lv{font-size:11px;color:var(--ink-3);letter-spacing:2.5px;text-transform:uppercase}
.code-card .code{font-family:var(--font-display);font-size:30px;font-weight:800;margin:12px 0 6px;letter-spacing:-.01em;color:var(--blue);text-shadow:0 1px 0 #1E40AF,0 2px 0 #1E3A8A,0 3px 0 #172B6B,0 6px 12px rgba(0,47,167,.20)}
.code-card .eg{font-size:12.5px;color:var(--blue-3);font-weight:600}
.code-card .ds{font-size:12px;color:var(--ink-2);margin-top:8px}

/* 路线图 */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.phase-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;transition:.25s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.phase-card:hover{border-color:rgba(0,47,167,.35)}
.phase-card .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--blue);border:1px solid rgba(0,47,167,.4);padding:4px 14px;border-radius:999px;margin-bottom:16px}
.phase-card .time{font-size:12px;color:var(--ink-3);margin-bottom:8px}
.phase-card h3{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.phase-card p{font-size:13px;color:var(--ink-2)}
.phase-card .idx{position:absolute;top:20px;right:22px;font-family:var(--font-display);font-size:34px;font-weight:800;color:rgba(0,47,167,.10)}

/* 试点区域 */
.pilot{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.pilot h3{font-size:26px;font-weight:800;margin-bottom:12px;color:var(--ink)}
.pilot h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pilot p{font-size:14px;color:var(--ink-2);margin-bottom:10px}
.pilot .p-items{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pilot .p-item{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 18px;min-width:120px;box-shadow:0 1px 2px rgba(11,18,32,.03)}
.pilot .p-item b{display:block;font-size:16px;color:var(--blue)}
.pilot .p-item span{font-size:12px;color:var(--ink-3)}
/* 试点右卡 */
.vis-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.vis-card .cap{font-family:var(--font-display);font-size:11px;letter-spacing:3px;color:var(--ink-3);margin-bottom:6px}
.vis-card .big{font-family:var(--font-display);font-size:34px;font-weight:800;line-height:1.1;color:var(--blue);letter-spacing:-.02em;text-shadow:0 1px 0 #1E40AF,0 2px 0 #1E3A8A,0 4px 10px rgba(0,47,167,.18)}
.vis-card .big small{font-size:14px;font-weight:600;letter-spacing:1px}
.vis-card .desc{font-size:12.5px;color:var(--ink-2);margin-top:10px}
.vis-rows{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.vis-rows .r{display:flex;align-items:center;justify-content:space-between;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.vis-rows .r .k{font-size:12.5px;color:var(--ink-2)}
.vis-rows .r .v{font-size:13px;font-weight:700;color:var(--blue)}

/* ===== 生态协同 ===== */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.partner-group{margin-bottom:44px}
.partner-group:last-child{margin-bottom:0}
.pg-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:var(--blue);letter-spacing:1.5px;margin-bottom:20px}
.pg-title::after{content:"";flex:1;height:1px;background:var(--line-2)}
.pg-title .cn{font-family:var(--font-display);font-size:11px;color:var(--ink-3);font-weight:600;letter-spacing:2px}
.partner{display:flex;flex-direction:column;height:100%}
.partner .ph-tag{align-self:flex-start;display:inline-block;font-size:11px;letter-spacing:1.5px;color:var(--ink-3);border:1px solid var(--line-2);padding:3px 11px;border-radius:999px;margin-bottom:15px}
.partner .icon{margin-bottom:14px}
.partner h3{font-size:17px;font-weight:700;margin-bottom:5px;letter-spacing:.3px;color:var(--ink)}
.partner .sub{font-size:12.5px;color:var(--blue);margin-bottom:11px;line-height:1.5}
.partner p{font-size:13px;color:var(--ink-2);line-height:1.75}
.partner .link{font-size:12.5px;color:var(--blue-3);margin-top:auto;padding-top:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.partner .link::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--blue)}

/* CTA */
.cta{text-align:center;padding:100px 0;position:relative}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(720px 300px at 50% 50%,rgba(0,47,167,.08),transparent 70%);pointer-events:none}
.cta h2{font-size:36px;font-weight:800;margin-bottom:18px;color:var(--ink);font-family:var(--font-body)}
.cta h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta p{color:var(--ink-2);font-size:15px;max-width:620px;margin:0 auto 34px}
.cta .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== 页脚 ===== */
footer{border-top:1px solid var(--line);padding:56px 0 0;background:var(--panel2)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}
.footer-brand .brand{margin-bottom:16px}
.footer-brand p{font-size:13px;color:var(--ink-2);max-width:320px}
.footer-col h4{font-size:14px;font-weight:700;margin-bottom:16px;color:var(--ink)}
.footer-col a{display:block;font-size:13px;color:var(--ink-2);padding:5px 0;transition:.2s}
.footer-col a:hover{color:var(--blue)}
.footer-declare{margin:0 auto 34px;max-width:980px;padding:16px 20px;font-size:12px;line-height:1.9;color:var(--ink-3);text-align:center;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.footer-declare b{color:var(--ink-2)}
.footer-bottom{text-align:center;padding:20px 0 28px;font-size:12px;color:var(--ink-3)}
.footer-bottom .icp{margin-top:6px}

/* ===== 展示渠道八级 ===== */
.ch-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}
.ch-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 12px;text-align:center;position:relative;overflow:hidden;transition:.2s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.ch-card:hover{border-color:rgba(0,47,167,.4)}
.ch-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.ch-card .lv{font-size:11px;color:var(--ink-3);letter-spacing:1px}
.ch-card .code{font-family:var(--font-display);font-size:19px;font-weight:800;margin:8px 0 4px;color:var(--blue)}
.ch-card .en{font-size:11.5px;color:var(--blue-3);font-weight:600}
.ch-card .ds{font-size:11px;color:var(--ink-2);margin-top:6px;line-height:1.5}
.ch-card.key{border-color:rgba(0,47,167,.5);background:var(--ink)}
.ch-card.key .lv,.ch-card.key .ds{color:rgba(255,255,255,.6)}
.ch-card.key .code{color:#fff}
.ch-card.key .en{color:var(--blue-3)}

/* ===== 编排入场动效 ===== */
.reveal{opacity:0;translate:0 30px;transition:opacity var(--dur-base) var(--ease-out),translate var(--dur-base) var(--ease-out)}
.reveal.in{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;translate:0 0;transition:none}
  .orbit,.sat,.particles i,.core-num{animation:none}
}

/* ===== 响应式 ===== */
@media(max-width:960px){
  .hero .grid{grid-template-columns:1fr;gap:48px}
  .hero-en{font-size:44px}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
  .stat:nth-child(4)::before{display:none}
  .g6,.plat-grid{grid-template-columns:repeat(2,1fr)}
  .g4,.code-wrap{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .road{grid-template-columns:1fr}
  .pilot{grid-template-columns:1fr;padding:34px}
  .ch-strip{grid-template-columns:repeat(4,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .sec-en{font-size:30px}
}
@media(max-width:640px){
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav-cta .btn-ghost{display:none}
  .hero{padding:64px 0}
  .hero-en{font-size:32px}
  .hero-cn{font-size:18px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .g6,.plat-grid,.g4,.code-wrap,.g2,.g3{grid-template-columns:1fr}
  .ch-strip{grid-template-columns:repeat(2,1fr)}
  .plus1{grid-template-columns:1fr}
  .sec-en{font-size:26px}
  section{padding:64px 0}
}

/* ===== AI 智能 + 农业数据大模型 ===== */
.engine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.engine-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.28s;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.engine-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.engine-card:hover{transform:translateY(-4px);border-color:rgba(0,47,167,.4);box-shadow:0 18px 44px rgba(0,47,167,.14)}
.engine-card .e-emoji{font-size:40px;line-height:1;margin-bottom:14px}
.engine-card .ph-tag{display:inline-block;font-size:10.5px;letter-spacing:1.5px;color:var(--blue);font-family:var(--font-display);font-weight:600;text-transform:uppercase;margin-bottom:10px}
.engine-card h3{font-size:22px;font-weight:800;color:var(--ink);margin-bottom:6px}
.engine-card .e-tagline{font-size:13px;color:var(--blue);font-weight:600;margin-bottom:12px}
.engine-card .e-desc{font-size:13.5px;color:var(--ink-2);line-height:1.8}
.engine-card .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.engine-card .tags span{font-size:12px;color:var(--ink-2);border:1px solid var(--line-2);padding:5px 12px;border-radius:999px}
.engine-card .more{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--blue);margin-top:20px;font-weight:600}

/* 服务对象 */
.serve-band{margin-top:34px;background:var(--ink);border-radius:var(--radius);padding:30px 36px;position:relative;overflow:hidden}
.serve-band::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 300px at 80% 0%,rgba(79,140,255,.26),transparent 60%)}
.serve-band>*{position:relative;z-index:1}
.serve-title{font-size:13px;letter-spacing:2px;color:var(--blue-3);font-weight:600;text-transform:uppercase;margin-bottom:20px}
.serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.serve{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px 20px}
.serve b{display:block;font-size:15px;color:#fff;font-weight:700;margin-bottom:6px}
.serve span{font-size:12.5px;color:rgba(255,255,255,.65);line-height:1.7}

/* 技术底座 标签 */
.tech-card .ph-tag{display:inline-block;font-size:10.5px;letter-spacing:1.5px;color:var(--blue);font-family:var(--font-display);font-weight:600;text-transform:uppercase;margin:-6px 0 8px}
.tech-card .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.tech-card .tags span{font-size:11.5px;color:var(--ink-2);border:1px solid var(--line-2);padding:4px 11px;border-radius:999px;line-height:1.5}

/* ===== 全国数据底座 · 库站页项卡面 ===== */
.layer-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:26px}
.layer{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px 16px;text-align:center;position:relative;overflow:hidden;transition:.2s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.layer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.layer:hover{border-color:rgba(0,47,167,.4);transform:translateY(-3px)}
.layer .l-n{font-size:34px;font-weight:800;font-family:var(--font-display);color:var(--blue);line-height:1;text-shadow:0 1px 0 #1E40AF,0 3px 0 #1E3A8A,0 8px 16px rgba(0,47,167,.16)}
.layer .l-en{font-size:9.5px;letter-spacing:1.5px;color:var(--blue-3);font-weight:700;text-transform:uppercase;margin:12px 0 8px}
.layer .l-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px}
.layer .l-desc{font-size:11.5px;color:var(--ink-3);line-height:1.7}

.geo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:30px}
.geo{background:var(--ink);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px 14px;text-align:center;position:relative;overflow:hidden;transition:.2s}
.geo:hover{border-color:rgba(79,140,255,.5)}
.geo .g-lv{font-size:22px;font-weight:800;color:#fff;font-family:var(--font-display)}
.geo .g-cnt{font-size:20px;font-weight:800;font-family:var(--font-display);color:var(--blue-3);margin:8px 0 4px;line-height:1}
.geo .g-unit{font-size:11px;color:rgba(255,255,255,.6);letter-spacing:1px}
.geo .g-desc{font-size:10.5px;color:rgba(255,255,255,.45);margin-top:8px;line-height:1.5}

.province-cloud{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:34px}
.province-cloud .pc{font-size:12px;color:var(--ink-2);border:1px solid var(--line-2);padding:5px 13px;border-radius:999px;background:var(--panel);transition:.2s}
.province-cloud .pc:hover{color:var(--blue);border-color:rgba(0,47,167,.4)}

.biz-path{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:30px 36px}
.biz-title{font-size:13px;letter-spacing:2px;color:var(--blue);font-weight:700;margin-bottom:22px}
.biz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.biz .b-step{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--grad);color:#fff;font-family:var(--font-display);font-weight:700;font-size:13px;margin-bottom:12px;box-shadow:0 6px 16px rgba(0,47,167,.28)}
.biz b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px}
.biz .b-desc{font-size:12.5px;color:var(--ink-3);line-height:1.7}

@media(max-width:960px){
  .engine-grid,.serve-grid,.layer-strip,.geo-strip,.biz-steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .engine-grid,.serve-grid,.biz-steps{grid-template-columns:1fr}
  .layer-strip{grid-template-columns:repeat(2,1fr)}
  .geo-strip{grid-template-columns:repeat(3,1fr)}
}

/* ===== 数字孪生 ===== */
.twin-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:stretch}
.twin-board{position:relative;background:var(--ink);border-radius:var(--radius);padding:18px;overflow:hidden}
.twin-board::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 340px at 80% 0%,rgba(79,140,255,.22),transparent 60%)}
.twin-map{position:relative;height:100%;min-height:360px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#0B1220,#12203E)}
.tm-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:3px;padding:12px;opacity:.55}
.tm-grid i{background:rgba(79,140,255,.07);border:1px solid rgba(79,140,255,.13);border-radius:4px}
.tm-grid i:nth-child(5n){background:rgba(79,140,255,.16)}
.tm-grid i:nth-child(7n){background:rgba(79,140,255,.10)}
.tm-pin{position:absolute;display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#fff;background:rgba(11,18,32,.82);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.tm-pin em{font-style:normal;font-size:13px}
.tm-pin::after{content:"";position:absolute;left:50%;bottom:-7px;width:2px;height:7px;background:var(--blue-3)}
.tm-pin.p1{left:12%;top:22%}
.tm-pin.p2{right:10%;top:30%}
.tm-pin.p3{left:20%;bottom:24%}
.tm-pin.p4{right:14%;bottom:18%}
.tm-badge{position:absolute;left:12px;top:12px;font-size:10px;letter-spacing:1.5px;color:#E3EBFF;background:rgba(0,47,167,.5);border:1px solid rgba(79,140,255,.5);padding:4px 12px;border-radius:999px;z-index:2}
.tm-legend{position:absolute;left:12px;bottom:12px;display:flex;gap:12px;z-index:2}
.tm-legend span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:rgba(255,255,255,.7)}
.tm-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.tm-legend .c1{background:#4F8CFF}.tm-legend .c2{background:#7C3AED}.tm-legend .c3{background:#22C55E}.tm-legend .c4{background:#F59E0B}

.twin-points{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.twin-point{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;position:relative;overflow:hidden;transition:.25s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.twin-point::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.twin-point:hover{border-color:rgba(0,47,167,.4);transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,47,167,.10)}
.twin-point .t-en{display:block;font-family:var(--font-display);font-size:10px;letter-spacing:1.5px;color:var(--blue);font-weight:600;text-transform:uppercase;margin-bottom:10px}
.twin-point h3{font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:8px}
.twin-point p{font-size:13px;color:var(--ink-2);line-height:1.75}

/* ===== OPC 商务 ===== */
.opc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.opc-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;position:relative;overflow:hidden;transition:.25s;box-shadow:0 1px 3px rgba(11,18,32,.03)}
.opc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad)}
.opc-card:hover{transform:translateY(-4px);border-color:rgba(0,47,167,.4);box-shadow:0 18px 44px rgba(0,47,167,.12)}
.opc-card .o-idx{position:absolute;top:20px;right:22px;font-family:var(--font-display);font-size:30px;font-weight:800;color:rgba(0,47,167,.10);line-height:1}
.opc-card .o-icon{font-size:34px;line-height:1;margin-bottom:14px}
.opc-card .o-en{display:block;font-family:var(--font-display);font-size:10px;letter-spacing:1.5px;color:var(--blue);font-weight:600;text-transform:uppercase;margin-bottom:8px}
.opc-card h3{font-size:16.5px;font-weight:700;color:var(--ink);margin-bottom:8px}
.opc-card p{font-size:13px;color:var(--ink-2);line-height:1.75}
.opc-card .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.opc-card .tags span{font-size:11.5px;color:var(--ink-2);border:1px solid var(--line-2);padding:4px 11px;border-radius:999px}

/* 8 项导航（恢复默认间距） */
.nav-links{gap:2px}
.nav-links a{padding:7px 11px;font-size:13px}
.nav-links a .en{font-size:8.5px;letter-spacing:1.2px}
@media(max-width:1180px){
  .nav-cta .btn-ghost{display:none}
}

@media(max-width:960px){
  .twin-grid{grid-template-columns:1fr}
  .opc-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .twin-points{grid-template-columns:1fr}
  .opc-grid{grid-template-columns:1fr}
  .tm-map{min-height:300px}
}

/* ===== 编码标准（地理标志 + 经纬度海拔） ===== */
.std-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.std-block{background:linear-gradient(160deg,var(--panel2),#F4F6FA);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.std-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.std-head .std-en{font-family:var(--font-display);font-size:10.5px;letter-spacing:2px;color:var(--blue);font-weight:700;text-transform:uppercase}
.std-head h3{font-size:17px;font-weight:800;color:var(--ink)}
.std-head .std-tag{margin-left:auto;font-size:11px;color:var(--blue);border:1px solid rgba(0,47,167,.3);padding:3px 10px;border-radius:999px;white-space:nowrap}
.std-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.std-item{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.std-type{font-size:12px;color:var(--ink);font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px}
.std-type em{font-style:normal;font-size:10px;color:var(--ink-3);font-weight:500}
.std-rule{font-size:12px;color:var(--ink-2);margin-top:5px;line-height:1.55}
.std-ex{font-family:"SF Mono",Consolas,monospace;font-size:11px;color:var(--blue);margin-top:6px;font-weight:600}
.std-ex small{margin-left:6px;color:var(--ink-3);font-size:10px;font-weight:400}
.std-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.std-cats span{font-size:12px;color:var(--ink-2);border:1px solid var(--line-2);padding:5px 12px;border-radius:999px;background:var(--panel)}
.std-cats span b{color:var(--blue);margin-right:5px;font-weight:700}
.std-coords{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.std-coords span{font-size:12px;color:var(--ink-2);border:1px solid var(--line);padding:6px 12px;border-radius:9px;background:var(--panel)}
.std-coords span b{color:var(--blue);margin-right:6px;font-weight:700}
.std-note{font-size:12px;color:var(--ink-3);margin-top:14px;line-height:1.6;padding:10px 14px;background:rgba(0,47,167,.05);border-radius:9px}
@media(max-width:960px){
  .std-wrap{grid-template-columns:1fr}
}
@media(max-width:640px){
  .std-grid{grid-template-columns:1fr}
}
