:root{--dark: #0b1c33;--dark-2: #12294a;--blue: #1a73e8;--blue-deep: #1557b0;--cyan: #38bdf8;--bg: #f2f6fb;--line: #e3eaf3;--ink: #1c2b3a;--ink-2: #5a6b7e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--ink);line-height:1.7;background:#fff}a{text-decoration:none;color:inherit}.container{max-width:1160px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,var(--dark) 0%,#0d2240 100%)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px;font-weight:800;letter-spacing:1px}.logo .l-ic{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--cyan));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #38bdf859}.logo .l-ic svg{width:18px;height:18px}.logo em{font-style:normal;color:var(--cyan)}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:15px;color:#dbe6f5;position:relative;padding:6px 0;transition:color .2s}.nav a:hover{color:#fff}.nav a.router-link-active{color:#fff;font-weight:600}.nav a.router-link-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.nav .nav-contact{background:#fff;color:var(--blue-deep);font-weight:700;padding:8px 22px;border-radius:999px;transition:transform .2s,box-shadow .2s}.nav .nav-contact:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000004d;color:var(--blue-deep)}.nav-toggle{display:none;background:none;border:none;font-size:24px;color:#fff;cursor:pointer;padding:4px 8px}.mobile-nav{display:none;background:var(--dark);border-top:1px solid rgba(255,255,255,.08);padding:8px 24px 14px}.mobile-nav a{display:block;padding:10px 0;font-size:15px;color:#dbe6f5;border-bottom:1px solid rgba(255,255,255,.06)}.mobile-nav a:last-child{border-bottom:none}.section{padding:64px 24px}.section.bg{background:var(--bg)}.section h2{font-size:28px;text-align:center;font-weight:800;color:var(--ink);margin-bottom:8px}.section .sub{text-align:center;color:var(--ink-2);font-size:15.5px;max-width:680px;margin:0 auto 40px}.t-line{position:relative;display:inline-block;padding-bottom:10px;margin-bottom:18px}.t-line:after{content:"";position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--cyan))}.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--dark) 0%,var(--dark-2) 55%,#0a1f3e 100%);color:#fff}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at 30% 50%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 30% 50%,#000 20%,transparent 75%)}.hero .inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;max-width:1160px;margin:0 auto;padding:88px 24px 84px}.hero .tag{display:inline-block;font-size:12.5px;letter-spacing:2.5px;color:#7dd3fc;border:1px solid rgba(125,211,252,.35);border-radius:999px;padding:5px 16px;margin-bottom:22px;background:#7dd3fc14}.hero h1{font-size:40px;font-weight:800;line-height:1.25;margin-bottom:10px;letter-spacing:1px}.hero .hero-sub{font-size:36px;font-weight:800;line-height:1.3;margin-bottom:18px;letter-spacing:1px;background:linear-gradient(92deg,#7dd3fc,#60a5fa 55%,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{font-size:17px;color:#cbd5e1;margin-bottom:34px}.hero .btns{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 34px;border-radius:10px;font-weight:700;font-size:15.5px;transition:transform .2s,box-shadow .2s}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 8px 24px #2563eb66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #2563eb8c}.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:#ffffff0f}.btn-ghost:hover{transform:translateY(-2px);background:#ffffff26}.hero-art{display:flex;align-items:center;justify-content:center}.hero-art svg{width:100%;max-width:480px;height:auto}.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.prod-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px 28px;box-shadow:0 4px 20px #0f172a0d;transition:transform .25s,box-shadow .25s,border-color .25s}.prod-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #0f172a1f;border-color:#1a73e859}.prod-card .icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;background:linear-gradient(135deg,#1a73e81f,#38bdf81f);border:1px solid rgba(26,115,232,.22)}.prod-card .icon svg{width:27px;height:27px}.prod-card h3{font-size:18px;font-weight:800;margin-bottom:4px}.prod-card .p-tag{display:inline-block;font-size:12.5px;color:var(--blue);background:#1a73e814;border-radius:999px;padding:2px 12px;margin-bottom:12px;font-weight:600}.prod-card p{font-size:14px;color:var(--ink-2);line-height:1.85}.prod-card .go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--blue);font-weight:700;font-size:14px}.prod-card .go:hover{text-decoration:underline}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0f172a14}.card .num{font-size:28px;font-weight:800;background:linear-gradient(92deg,var(--blue),#7c3aed);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;margin-bottom:8px}.card h3{font-size:16px;color:var(--blue-deep);margin-bottom:8px;font-weight:700}.card p{font-size:13.5px;color:var(--ink-2);line-height:1.8}.client-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.client-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 22px;text-align:center;transition:transform .2s,box-shadow .2s}.client-item:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0f172a14}.client-item .ic{font-size:26px;margin-bottom:10px}.client-item b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px}.client-item span{font-size:13px;color:var(--ink-2)}.page-header{background:linear-gradient(160deg,var(--dark),var(--dark-2) 60%,#0a1f3e);color:#fff;text-align:center;padding:60px 24px 54px;position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:52px 52px}.page-header h1{position:relative;z-index:1;font-size:32px;font-weight:800}.page-header p{position:relative;z-index:1;color:#cbd5e1;margin-top:10px;font-size:15.5px}.about-header{text-align:center;padding:60px 24px 40px;background:linear-gradient(180deg,#eaf2fc,#f6faff);position:relative;overflow:hidden}.about-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(26,115,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,115,232,.05) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.about-header h1{position:relative;z-index:1;font-size:34px;font-weight:800;color:var(--ink)}.about-header p{position:relative;z-index:1;color:var(--ink-2);font-size:15.5px;margin-top:10px}.about-cols{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"intro contact" "cap cap" "clients clients" "mvv mvv";gap:26px}.ab-intro{grid-area:intro}.ab-contact{grid-area:contact}.ab-cap{grid-area:cap}.ab-clients{grid-area:clients}.ab-mvv{grid-area:mvv}.client-tags{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:8px}.ctag{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:transform .2s,box-shadow .2s}.ctag:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f172a14}.ctag b{display:block;font-size:15px;color:var(--blue-deep);margin-bottom:4px}.ctag span{font-size:12.5px;color:var(--ink-2);line-height:1.7}.about-top{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;margin-bottom:26px}.about-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 30px;box-shadow:0 4px 20px #0f172a0d}.about-card h2{font-size:21px;font-weight:800;color:var(--ink)}.about-card p{font-size:14.5px;color:var(--ink-2);line-height:2}.about-card .ci{margin-bottom:14px}.about-card .ci b{display:inline-block;min-width:72px;font-size:14px;color:var(--ink)}.about-card .ci span{font-size:14.5px;color:var(--ink-2)}.about-card .ci a{color:var(--blue)}.about-card .ci a:hover{text-decoration:underline}.feature-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.f-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;text-align:center;transition:transform .2s,box-shadow .2s}.f-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0f172a1a}.f-card .fi{width:56px;height:56px;margin:0 auto 16px;border-radius:16px;background:linear-gradient(135deg,#1a73e81f,#38bdf81f);border:1px solid rgba(26,115,232,.22);display:flex;align-items:center;justify-content:center}.f-card .fi svg{width:28px;height:28px}.f-card b{display:block;font-size:16.5px;color:var(--ink);margin-bottom:8px}.f-card span{font-size:13.5px;color:var(--ink-2)}.mvv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}.mvv{border-left:3px solid var(--blue);background:var(--bg);border-radius:0 12px 12px 0;padding:20px}.mvv h4{font-size:16px;color:var(--blue-deep);margin-bottom:8px}.mvv p{font-size:13.5px;color:var(--ink-2);line-height:1.9}.p-layout{display:grid;grid-template-columns:270px 1fr;gap:26px;align-items:start}.p-nav{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 14px;box-shadow:0 4px 20px #0f172a0d;position:sticky;top:84px}.p-nav .pn-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink);padding:6px 12px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}.p-nav .pn-t i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan))}.p-nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;background:none;padding:13px 14px;border-radius:12px;cursor:pointer;font-size:14.5px;color:var(--ink-2);font-family:inherit;transition:background .2s,color .2s}.p-nav-item:hover{background:var(--bg);color:var(--ink)}.p-nav-item.on{background:linear-gradient(135deg,#1a73e81a,#38bdf81a);color:var(--blue-deep);font-weight:700}.p-nav-item svg{width:20px;height:20px;flex:0 0 auto}.p-main{background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 32px;box-shadow:0 4px 20px #0f172a0d}.p-main .pm-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px}.p-main .pm-head h2{font-size:22px;font-weight:800}.p-main .p-url{display:inline-block;border:1px dashed rgba(26,115,232,.45);color:var(--blue-deep);background:#1a73e80d;border-radius:8px;padding:6px 16px;font-size:14px;font-weight:600}.p-main .sec-t{font-size:17px;font-weight:800;color:var(--ink);margin:26px 0 14px}.p-main .sec-t:first-of-type{margin-top:6px}.feat-card{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:22px 20px}.feat-card .fi{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.feat-card .fi svg{width:21px;height:21px}.feat-card b{display:block;font-size:15px;color:var(--ink);margin-bottom:6px}.feat-card span{font-size:13px;color:var(--ink-2);line-height:1.8}.detect-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 18px;text-align:center;transition:transform .2s,box-shadow .2s}.detect-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #0f172a14}.detect-card .di{width:44px;height:44px;margin:0 auto 10px;border-radius:12px;background:linear-gradient(135deg,#1a73e81f,#38bdf81f);display:flex;align-items:center;justify-content:center}.detect-card .di svg{width:22px;height:22px}.detect-card b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:4px}.detect-card span{font-size:12.5px;color:var(--ink-2)}.contact-hero{text-align:center;padding:60px 24px 40px;background:var(--bg);position:relative}.contact-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(26,115,232,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(26,115,232,.05) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.contact-hero h1{position:relative;z-index:1;font-size:34px;font-weight:800;color:var(--ink)}.contact-hero p{position:relative;z-index:1;color:var(--ink-2);font-size:15.5px;margin-top:10px}.contact-body{background:var(--bg);position:relative}.contact-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(26,115,232,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(26,115,232,.045) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}.contact-wrap{position:relative;display:grid;grid-template-columns:1fr 1.15fr;gap:26px;align-items:start}.contact-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 30px;box-shadow:0 6px 24px #0f172a12}.contact-card h2{font-size:21px;font-weight:800;color:var(--ink)}.c-item{display:flex;gap:12px;margin-bottom:16px}.c-item .ic{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#1a73e81f,#38bdf81f);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.c-item .ic svg{width:20px;height:20px}.c-item b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:2px}.c-item span,.c-item a{font-size:14px;color:var(--ink-2);word-break:break-all}.c-item a:hover{color:var(--blue)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13.5px;color:var(--ink);margin-bottom:6px;font-weight:600}.form-group input,.form-group textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14.5px;font-family:inherit;color:var(--ink);background:#fafcff;transition:border-color .2s,box-shadow .2s;outline:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1a73e81f;background:#fff}.form-group textarea{resize:vertical;min-height:100px}.form-tip{font-size:13px;color:#16a34a;margin-top:10px}.form-err{font-size:13px;color:#dc2626;margin-top:10px}.ci-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.ci-toggle{background:#fff;border:1px solid var(--line);border-radius:8px;width:34px;height:34px;color:var(--ink-2);font-size:13px;cursor:pointer;line-height:1;transform:rotate(180deg);transition:transform .25s}.ci-toggle.open{transform:rotate(0)}.site-footer{background:#070f1e;color:#94a3b8;padding:46px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:36px}.footer-grid h4{color:#fff;font-size:14.5px;margin-bottom:14px;font-weight:700;letter-spacing:1px}.footer-grid p{font-size:13px;line-height:2.1}.footer-grid a{display:block;color:#94a3b8;font-size:13px;line-height:2.4;transition:color .2s}.footer-grid a:hover{color:#7dd3fc}.f-brand{font-size:18px;font-weight:800;color:#fff;margin-bottom:10px}.f-brand em{font-style:normal;color:#38bdf8}.copyright{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;font-size:12.5px;color:#64748b}.copyright .container{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;text-align:center}.copyright .links a{color:#94a3b8;margin:0 10px}.copyright .links a:hover{color:#7dd3fc}.ph-m,.p-tabs,.m-only{display:none}.pm-shot{background:linear-gradient(160deg,var(--dark),var(--dark-2) 60%,#0a1f3e);border-radius:16px;padding:22px 20px;margin-bottom:24px;color:#fff}.shot-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.shot-top b{font-size:15.5px}.shot-url{font-size:12.5px;color:#7dd3fc;border:1px dashed rgba(125,211,252,.4);border-radius:6px;padding:3px 10px}.shot-stats{display:flex;gap:10px;margin-bottom:14px}.shot-stats .st{flex:1;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:10px;text-align:center;padding:10px 0}.shot-stats .st b{display:block;font-size:20px;color:#7dd3fc}.shot-stats .st.hot b{color:#f87171}.shot-stats .st.ok b{color:#4ade80}.shot-stats .st span{font-size:12px;color:#94a3b8}.shot-ring{display:flex;align-items:center;gap:16px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 16px;margin-bottom:12px}.shot-ring .ring{width:52px;height:52px;border-radius:50%;background:conic-gradient(#38bdf8 0,#38bdf8 75%,#ffffff26 75%,#ffffff26);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.shot-ring .ring span{width:40px;height:40px;border-radius:50%;background:var(--dark-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#7dd3fc}.shot-ring .ring-txt b{display:block;font-size:15px}.shot-ring .ring-txt span{font-size:12.5px;color:#94a3b8}.shot-badges{display:flex;gap:10px;margin-bottom:16px}.shot-badges .bd{font-size:12.5px;border-radius:999px;padding:5px 16px;font-weight:600}.bd.no{color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.35)}.bd.wait{color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.35)}.bd.yes{color:#4ade80;background:#4ade801f;border:1px solid rgba(74,222,128,.35)}@media (max-width: 960px){.site-header{background:#fff;border-bottom:1px solid var(--line)}.logo{color:var(--ink)}.logo em{color:var(--blue)}.nav-toggle{color:var(--ink)}.mobile-nav{background:#fff;border-top:1px solid var(--line)}.mobile-nav a{color:var(--ink);border-bottom:1px solid var(--line)}.hero .inner{grid-template-columns:1fr;text-align:center;padding:64px 24px 56px}.hero .btns{justify-content:center}.hero-art{margin-top:8px}.hero-art svg{max-width:340px}.prod-grid,.grid-3,.grid-4,.grid-2,.mvv-grid,.client-bar{grid-template-columns:repeat(2,1fr)}.about-cols{grid-template-columns:1fr;grid-template-areas:"intro" "cap" "clients" "contact" "mvv"}.contact-wrap,.p-layout{grid-template-columns:1fr}.p-nav{display:none}.ph-m{display:block}.ph-pc{display:none}.p-tabs{display:flex;gap:10px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}.p-tabs button{flex:1;min-width:96px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 10px;font-size:13.5px;font-family:inherit;color:var(--ink-2);cursor:pointer;transition:all .2s;white-space:nowrap}.p-tabs button.on{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;border-color:transparent;font-weight:700}.m-only{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .f-contact{order:1}.footer-grid .f-nav{order:2}.footer-grid .f-brand-box{order:3}.footer-grid .f-products{order:4}.hero h1{font-size:31px}.hero .hero-sub{font-size:27px}}@media (max-width: 620px){.nav{display:none}.nav-toggle{display:block;border:1px solid var(--line);border-radius:8px}.mobile-nav{display:block}.prod-grid,.grid-3,.grid-4,.grid-2,.mvv-grid,.client-bar{grid-template-columns:1fr}.feature-3{grid-template-columns:repeat(3,1fr);gap:10px}.f-card{padding:18px 10px}.f-card .fi{width:42px;height:42px;border-radius:12px;margin-bottom:10px}.f-card .fi svg{width:21px;height:21px}.f-card b{font-size:14px}.f-card span{font-size:11px;line-height:1.6}.hero .inner{padding:56px 20px 48px}.hero h1{font-size:25px}.hero .hero-sub{font-size:21px}.hero p{font-size:15px}.section{padding:48px 20px}.page-header{padding:46px 20px 42px}.page-header h1{font-size:25px}.footer-grid{grid-template-columns:1fr;gap:24px}.p-main,.about-card,.contact-card{padding:24px 20px}.feat-card{display:flex;gap:14px;text-align:left}.feat-card .fi{flex:0 0 auto;margin-bottom:0}.detect-card{padding:16px 12px}}
