:root{--navy:#07152d;--navy-2:#0d2448;--ink:#142642;--muted:#586a84;--paper:#f6f8fc;--white:#fff;--blue:#5f8fff;--cyan:#63e6d0;--line:#dce4f0;--radius:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans SC","Microsoft YaHei","PingFang SC",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#a7c0ff;color:#07152d}
a{color:inherit;text-decoration:none;text-underline-offset:.22em}
button{font:inherit}
button,a,summary{outline-offset:4px}
:focus-visible{outline:3px solid var(--cyan)!important}
.skip-link{position:absolute;left:16px;top:-80px;z-index:1000;padding:10px 16px;color:#07152d;background:#fff;border-radius:8px}
.skip-link:focus{top:12px}
.shell{width:min(100% - 48px,1200px);margin-inline:auto}
.site-header{position:relative;z-index:30;background:var(--navy);color:#eef4ff;border-bottom:1px solid #ffffff21}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.brand img{width:38px;height:38px}
.brand small{display:block;margin-top:-3px;color:#a6b8d7;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:clamp(16px,2vw,34px);font-size:14px;font-weight:650}
.site-nav a{color:#c4d1e7;transition:color .2s}
.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff}
.header-actions{display:flex;align-items:center;gap:12px}
.header-contact{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 17px;border-radius:999px;background:#e7efff;color:#09214c;font-weight:750;font-size:13px;white-space:nowrap;transition:transform .2s,background .2s}
.header-contact:hover{background:#fff;transform:translateY(-2px)}
.header-contact svg{width:17px;height:17px}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{display:grid;place-items:center;width:42px;height:42px;cursor:pointer;border:1px solid #ffffff3e;border-radius:10px;list-style:none;font-size:0;line-height:1}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary:before{content:"";width:18px;height:2px;background:currentColor;box-shadow:0 -6px currentColor,0 6px currentColor}
.mobile-menu__panel{position:absolute;right:0;top:52px;display:grid;min-width:230px;padding:8px;border:1px solid #dce4f0;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 18px 40px #07152d2d}
.mobile-menu__panel a{padding:12px 14px;border-radius:8px;font-size:14px;font-weight:700}
.mobile-menu__panel a:hover{background:#eff4ff}
.hero{position:relative;overflow:hidden;isolation:isolate;min-height:690px;background:radial-gradient(ellipse at 72% 45%,#183d78 0%,#0c254c 30%,#07152d 70%);color:#fff}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 48%,#69b9ff20,transparent 35%),linear-gradient(110deg,#07152d 13%,transparent 70%);pointer-events:none}
.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:12px;min-height:690px;padding-block:72px 90px}
.hero__copy{position:relative;z-index:2;max-width:680px}
.hero__signal{display:inline-flex;align-items:center;gap:10px;margin-bottom:25px;color:#a9c5fc;font-size:13px;letter-spacing:.08em;font-weight:750}
.hero__signal:before{content:"";width:27px;height:1px;background:var(--cyan);box-shadow:0 0 13px var(--cyan)}
.hero h1{margin:0;font-size:clamp(44px,4.2vw,62px);line-height:1.18;letter-spacing:-.035em;font-weight:800;text-wrap:balance}
.hero h1 strong{color:#86adff;font-weight:inherit}
.hero__lead{max-width:580px;margin:26px 0 0;color:#c6d5ed;font-size:clamp(17px,1.4vw,20px);line-height:1.8}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:12px;font-size:15px;font-weight:800;transition:transform .22s,background .22s,box-shadow .22s}
.button:hover{transform:translateY(-3px)}
.button--blue{background:#6794ff;color:#081a37;box-shadow:0 12px 30px #355bbf46}
.button--blue:hover{background:#91b2ff;box-shadow:0 17px 36px #355bbf60}
.button--ghost{border-color:#b9d1ff76;color:#fff;background:#ffffff0b}
.button--ghost:hover{background:#ffffff1b}
.button--ink{background:var(--navy);color:#fff}
.button--light{background:#fff;color:var(--navy)}
.button svg{width:17px;height:17px}
.hero__note{display:flex;align-items:center;gap:14px;max-width:560px;margin-top:42px;padding-top:20px;border-top:1px solid #ffffff2e;color:#9eb6d7;font-size:13px;line-height:1.7}
.hero__note b{color:#e2eeff;font-weight:700}
.signal-stage{position:relative;height:min(540px,42vw);min-height:410px;isolation:isolate}
.signal-stage:before{content:"";position:absolute;inset:9% 5%;border:1px solid #729cf333;border-radius:50%;transform:rotate(-24deg)}
.signal-stage:after{content:"";position:absolute;inset:23% 18%;border:1px solid #91b5ff2a;border-radius:50%;transform:rotate(18deg)}
.signal-stage__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.signal-stage__svg path{fill:none;stroke:#7fb0ff6e;stroke-width:1.5;stroke-dasharray:6 10;animation:flow 22s linear infinite}
.signal-stage__svg path:nth-child(2){stroke:#68e6d0a6;animation-duration:17s;animation-direction:reverse}
.signal-stage__svg circle{fill:#a8c9ff}
.signal-node{position:absolute;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #92b2fa65;border-radius:11px;background:#0c2344e8;box-shadow:0 14px 34px #02091460;backdrop-filter:blur(8px);font-size:12px;font-weight:700;color:#eaf3ff;white-space:nowrap}
.signal-node i{display:block;width:7px;height:7px;border-radius:50%;background:#77a4ff}
.signal-node--one{left:1%;top:23%}
.signal-node--two{left:0;bottom:24%}
.signal-node--two i{background:var(--cyan)}
.signal-core{position:absolute;left:41%;top:31%;display:grid;place-items:center;width:46%;aspect-ratio:1;border:1px solid #9cc2ff7a;border-radius:24px;background:linear-gradient(145deg,#28559ab3,#0e254f 68%);box-shadow:0 25px 75px #010817ad,inset 0 1px #ffffff63;transform:rotate(-7deg)}
.signal-core:before{content:"";position:absolute;inset:12%;border:1px solid #b7d2ff55;border-radius:17px}
.signal-core:after{content:"";position:absolute;inset:24%;border:1px solid #8ac9ff5c;border-radius:13px;background:#77b9ff12}
.signal-core__text{position:relative;z-index:2;text-align:center;transform:rotate(7deg);line-height:1.5}
.signal-core__text strong{display:block;font-size:clamp(18px,1.8vw,26px);letter-spacing:.05em}
.signal-core__text span{color:#afcfff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.signal-output{position:absolute;right:0;bottom:13%;padding:9px 12px;border-radius:8px;border:1px solid #63e6d07c;background:#0b2745;color:#a2ffe9;font-size:11px;letter-spacing:.06em}
@keyframes flow{to{stroke-dashoffset:-320}}
.hero__edge{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#6f9aff,transparent)}
.intro-band{background:#fff;border-bottom:1px solid var(--line)}
.intro-band__inner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:22px}
.intro-band p{margin:0;color:#4a5d78;font-size:13px;line-height:1.6}
.intro-band strong{color:var(--ink)}
.intro-band a{flex:none;color:#2455b5;font-size:13px;font-weight:800}
.section{padding-block:104px}
.section--white{background:#fff}
.section--navy{background:var(--navy);color:#fff}
.section--faq{background:#0d2445}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}
.section-head h2{max-width:760px;margin:0;font-size:clamp(34px,3.25vw,50px);line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.section-head p{max-width:340px;margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.section--navy .section-head p{color:#b3c5df}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.route{position:relative;display:flex;flex-direction:column;min-height:375px;overflow:hidden;padding:38px;border-radius:var(--radius);transition:transform .25s,box-shadow .25s}
.route:hover{transform:translateY(-5px);box-shadow:0 20px 42px #07152d25}
.route--software{background:#eaf0ff}
.route--ai{background:#dff5f1}
.route:before{content:"";position:absolute;right:-100px;bottom:-185px;width:430px;height:430px;border:1px solid #456bba38;border-radius:50%;box-shadow:0 0 0 54px #ffffff43,0 0 0 110px #ffffff30}
.route--ai:before{border-color:#399b8b4d}
.route__top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.route__index{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#49638b}
.route__arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #92acd7;font-size:22px;line-height:1}
.route h3{position:relative;max-width:430px;margin:58px 0 16px;font-size:clamp(26px,2.6vw,38px);line-height:1.25}
.route p{position:relative;max-width:430px;margin:0;color:#526882;font-size:15px;line-height:1.8}
.route__tags{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:32px}
.route__tags span{padding:6px 9px;border:1px solid #728bb149;border-radius:6px;color:#344e70;font-size:11px;font-weight:700}
.service-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-line{display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto 1fr auto;column-gap:15px;min-height:262px;padding:30px 27px;border-right:1px solid var(--line);transition:background .2s}
.service-line:last-child{border-right:0}
.service-line:hover{background:#f1f5fd}
.service-line__icon{grid-column:1;grid-row:1;display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:#e9f0ff;color:#315fc0;font-size:18px}
.service-line h3{grid-column:2;grid-row:1;align-self:center;margin:0;font-size:20px}
.service-line p{grid-column:1/-1;grid-row:2;margin:20px 0 0;color:#5e6f87;font-size:13px;line-height:1.75}
.service-line__more{grid-column:1/-1;grid-row:3;padding-top:20px;color:#2455b5;font-size:13px;font-weight:800}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.process__step{position:relative;padding-top:34px;border-top:1px solid #92a6c444}
.process__step:before{content:"";position:absolute;left:0;top:-3px;width:36px;height:5px;background:var(--cyan)}
.process__step strong{display:block;margin-bottom:14px;color:#b0c8ee;font-size:13px;letter-spacing:.1em}
.process__step h3{margin:0 0 9px;font-size:20px}
.process__step p{margin:0;color:#adc0dc;font-size:13px;line-height:1.8}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case-tile{overflow:hidden;border-radius:var(--radius);background:#fff;box-shadow:0 12px 32px #1b35551a;transition:transform .2s,box-shadow .2s}
.case-tile:hover{transform:translateY(-5px);box-shadow:0 20px 42px #1b355528}
.case-tile img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.case-tile__body{padding:24px}
.case-tile__body span{color:#336acb;font-size:12px;font-weight:800}
.case-tile h3{margin:9px 0;font-size:20px;line-height:1.4}
.case-tile p{margin:0;color:#5e6f87;font-size:13px;line-height:1.7}
.case-tile__more{display:block;margin-top:18px;color:#2755ac;font-size:13px;font-weight:800}
.text-link{display:inline-flex;gap:8px;align-items:center;color:#2c5fc0;font-weight:800}
.text-link:hover{text-decoration:underline}
.answer-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.answer-layout h2{margin:0;font-size:clamp(33px,3vw,48px);line-height:1.25}
.answer-layout>div>p{max-width:380px;color:#aebfd8;line-height:1.8}
.answers{border-top:1px solid #ffffff39}
.answer{padding:23px 0;border-bottom:1px solid #ffffff39}
.answer h3{margin:0 0 8px;font-size:18px}
.answer p{margin:0;color:#b5c8e2;font-size:14px;line-height:1.85}
.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:55px 60px;border-radius:var(--radius);background:#dfeaff}
.contact-panel h2{margin:0 0 12px;font-size:clamp(30px,2.9vw,43px);line-height:1.2}
.contact-panel p{max-width:620px;margin:0;color:#526783;font-size:15px;line-height:1.8}
.contact-panel__actions{display:flex;flex-wrap:wrap;gap:10px;flex:none}
.footer{padding:65px 0 28px;background:#061126;color:#b5c5df}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.footer .brand{color:#fff}
.footer p{max-width:320px;font-size:13px;line-height:1.8}
.footer h2{margin:0 0 16px;color:#fff;font-size:14px}
.footer a:not(.brand){display:block;margin:0 0 12px;font-size:13px}
.footer a:hover{color:#fff;text-decoration:underline}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:22px;border-top:1px solid #ffffff24;font-size:12px}
.footer__bottom a{display:inline!important}
.inner-hero{padding:90px 0 74px;background:radial-gradient(ellipse at 90% 0%,#24519b 0%,#0d2448 36%,#07152d 75%);color:#fff}
.inner-hero__crumb{margin-bottom:28px;color:#bbcee9;font-size:13px}
.inner-hero__crumb a{text-decoration:underline}
.inner-hero h1{max-width:900px;margin:0;font-size:clamp(38px,4.1vw,61px);line-height:1.18;letter-spacing:-.025em}
.inner-hero p{max-width:750px;margin:22px 0 0;color:#c1d0e9;font-size:18px;line-height:1.75}
.inner-section{padding:85px 0}
.inner-section--white{background:#fff}
.inner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.inner-prose{max-width:790px;color:#445875;font-size:16px;line-height:1.9}
.inner-prose h2{margin:0 0 22px;color:var(--ink);font-size:clamp(29px,3vw,42px);line-height:1.25}
.inner-prose h3{margin:32px 0 10px;color:var(--ink);font-size:21px}
.inner-prose p{margin:0 0 18px}
.inner-prose ul{margin:0;padding-left:22px}
.inner-prose li{margin-bottom:10px}
.decision-list{display:grid;gap:14px}
.decision-item{padding:25px 28px;border-radius:var(--radius);background:#fff;box-shadow:0 12px 30px #12345a0f}
.decision-item h3{margin:0 0 8px;font-size:19px}
.decision-item p{margin:0;color:#596e86;font-size:14px;line-height:1.8}
.quick-answer{padding:26px 31px;border-radius:var(--radius);background:#e8efff;color:#2a466c;font-size:16px;line-height:1.85}
.quick-answer strong{color:#102e62}
.pill-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.pill-links a{padding:11px 15px;border:1px solid #8fa6cc;border-radius:999px;color:#2255ad;font-size:13px;font-weight:700}
.pill-links a:hover{background:#dfeaff}
.inner-hero .pill-links a{color:#e3efff;border-color:#9ab8e485}
.inner-hero .pill-links a:hover{background:#ffffff20}
.site-home .fa,.site-home .fas,.site-home .fab{line-height:1}
@media(max-width:1040px){.site-nav{gap:15px}.hero__inner{grid-template-columns:1.05fr .95fr}.signal-node--one{left:-5%}.signal-node--two{left:-5%}.service-lines{grid-template-columns:repeat(2,1fr)}.service-line:nth-child(2){border-right:0}.service-line:last-child{border-top:1px solid var(--line)}.contact-panel{padding:40px;align-items:flex-start;flex-direction:column}.footer__grid{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:760px){.shell{width:min(100% - 36px,1200px)}.site-header__inner{min-height:67px}.site-nav{display:none}.mobile-menu{display:block}.header-contact{padding:0 12px;font-size:12px}.brand{font-size:17px}.brand img{width:34px;height:34px}.hero{min-height:0}.hero__inner{display:block;min-height:0;padding-block:68px 35px}.hero h1{font-size:clamp(38px,8.8vw,48px)}.hero__lead{font-size:16px}.hero__note{margin-top:28px}.signal-stage{height:350px;min-height:350px;margin-top:35px}.signal-core{width:39%;left:45%;top:27%}.signal-core__text strong{font-size:16px}.signal-node{font-size:10px;padding:8px 9px}.signal-node--one,.signal-node--two{left:1%}.intro-band__inner{display:block}.intro-band a{display:inline-block;margin-top:10px}.section{padding-block:70px}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:17px}.route-grid,.case-grid,.answer-layout,.inner-grid{grid-template-columns:1fr}.route{min-height:320px;padding:30px}.route h3{margin-top:43px}.service-lines{grid-template-columns:1fr}.service-line{min-height:0;padding:25px 2px;border-right:0;border-bottom:1px solid var(--line)}.service-line:last-child{border:0}.service-line h3{margin-top:0}.process{grid-template-columns:1fr 1fr;gap:30px 18px}.answer-layout{gap:34px}.contact-panel{padding:31px 25px}.contact-panel__actions{width:100%}.footer__grid{grid-template-columns:1fr 1fr;gap:30px}.footer__grid>div:first-child{grid-column:1/-1}.footer__bottom{display:block;margin-top:40px}.footer__bottom span{display:block;margin-top:8px}.inner-hero{padding:55px 0}.inner-hero p{font-size:16px}}
@media(max-width:440px){.header-actions{gap:8px}.header-contact{font-size:0;width:40px;height:40px;padding:0;justify-content:center}.header-contact svg{width:19px;height:19px}.hero__actions{display:grid}.hero__actions .button{width:100%}.signal-stage{height:310px;min-height:310px}.signal-core{width:43%;left:43%}.signal-output{font-size:9px}.process{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr}.footer__grid>div:first-child{grid-column:auto}}
.site-pillar .header-contact{font-size:12px;width:auto;min-width:0;padding:0 11px}
@media(max-width:760px){.hero__note{display:block}.hero__note b{display:block;margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
