:root{--bg:#fff;--fg:#111;--acc:#c62828;--mut:#6b7280;--line:#e9ecef}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none}header,nav,section,footer,main,article{display:block}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}:target{scroll-margin-top:70px}body{font:16px/1.65 Arial,"Microsoft YaHei",sans-serif;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;color:#111;color:var(--fg);background:#fff;background:var(--bg);-webkit-font-smoothing:antialiased}a,button{-webkit-tap-highlight-color:transparent}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.hdr{position:sticky;top:0;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--line);z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;height:58px}.logo{font-weight:800;font-size:19px;letter-spacing:.5px;color:#111;color:var(--fg);text-decoration:none}nav{display:flex}nav a{color:#111;color:var(--fg);text-decoration:none;padding:7px 11px;border-radius:8px;font-size:15px}nav a:hover{background:#f2f4f7}nav a.a{color:#c62828;color:var(--acc)}.lang{background:none;border:1px solid #e9ecef;border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:14px}.hero{background:linear-gradient(135deg,#101828,#1f2a44);color:#fff;padding:56px 0 44px}.hero h1{font-size:36px;font-size:clamp(28px,4.4vw,42px);line-height:1.15;max-width:680px}.hero .sub{margin-top:12px;max-width:620px;color:#cdd5e1;font-size:17px}.cta{margin-top:20px;display:flex;flex-wrap:wrap}.cta .btn+.btn{margin-left:12px}.btn{display:inline-block;background:#c62828;background:var(--acc);color:#fff;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:15px}.btn.ghost{background:transparent;border:1px solid #fff;color:#fff}.stats{border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--line)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:18px 0}.grid4 b{display:block;font-size:26px;color:#c62828;color:var(--acc)}.grid4 span{color:#6b7280;color:var(--mut)}.sec{padding:40px 0}.sec h2{font-size:30px;font-size:clamp(24px,3.4vw,34px);margin-bottom:8px}.lead{font-size:18px;color:#333;max-width:760px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.card{background:#fafbfc;border:1px solid #e9ecef;border:1px solid var(--line);border-radius:14px;padding:16px}.card h3{font-size:17px;margin-bottom:6px}.card .spec{color:#c62828;color:var(--acc);font-size:14px}.card p{color:#6b7280;color:var(--mut);font-size:15px}.viewer{background:#0d1420;color:#fff;border-radius:14px;margin-top:18px;overflow:hidden}.vtitle{padding:12px 16px;font-weight:600}.stage{position:relative;display:flex;justify-content:center;align-items:center}.stage canvas{display:block;width:100%;max-height:300px;background:radial-gradient(circle at 50% 35%,#16223a,#0d1420)}.vbtn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hhint{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#8b98ab;font-size:13px;background:none}.about{background:#f6f8fb}.grid3 .card{margin:0}.contact .quote{color:#6b7280;color:var(--mut);margin-bottom:6px}form{display:block}form input,form textarea,form .btn,form .ok{margin-top:10px}form input,form textarea{width:100%;padding:12px;border:1px solid #e9ecef;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}form .ok{color:#15803d;font-weight:600}ul.info{list-style:none;display:grid;gap:14px}ul.info b{display:block;color:#6b7280;color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.4px}ul.info a{color:#111;color:var(--fg);text-decoration:none}footer{background:#101828;color:#9aa5b1;padding:22px 0;text-align:center;line-height:1.8}@media(max-width:820px){.grid4{grid-template-columns:repeat(2,1fr)}.grid2,.grid3{grid-template-columns:1fr}.hero{padding:44px 0}.sec{padding:30px 0}}@media(max-width:560px){.logo{font-size:16px}nav a{padding:7px 6px;font-size:13px}.lang{padding:6px 8px;font-size:13px}}