html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:#fafafc;margin:0}.skip-link{z-index:9999;background:#fff;padding:10px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:8px}:where(.visual-v2) *{box-sizing:border-box}.visual-v2{scroll-behavior:smooth;color:#20283b;background:#fafafc;margin:0;scroll-padding-top:72px;font:15px/1.75 Segoe UI,Microsoft YaHei,system-ui,sans-serif}:where(.visual-v2) button,:where(.visual-v2) a{-webkit-tap-highlight-color:transparent}:where(.visual-v2) a{color:inherit;text-decoration:none}:where(.visual-v2) button{font:inherit;cursor:pointer}:where(.visual-v2) button:focus-visible,:where(.visual-v2) a:focus-visible{outline-offset:5px;outline:3px solid #7169e8}:where(.visual-v2) button{color:inherit}:where(.visual-v2) [hidden]{display:none!important}:where(.visual-v2) .wrap{max-width:1240px;margin:0 auto;padding:0 40px}:where(.visual-v2) .header{justify-content:space-between;align-items:center;gap:20px;height:100px;display:flex}:where(.visual-v2) .brand{letter-spacing:-.06em;align-items:center;gap:18px;font-size:23px;font-weight:800;display:flex}:where(.visual-v2) .brand span{letter-spacing:.08em;color:#596174;border-left:1px solid #d9dce7;padding-left:18px;font-size:11px;font-weight:400}:where(.visual-v2) .header nav{color:#525b70;align-items:center;gap:29px;font-size:12px;display:flex}:where(.visual-v2) .header nav button{background:0 0;border:0;padding:0;font-size:12px}:where(.visual-v2) .hero{grid-template-columns:1.07fr 1fr;align-items:center;gap:18px;padding-top:35px;padding-bottom:70px;display:grid}:where(.visual-v2) .eyebrow{letter-spacing:.15em;color:#5e6380;font-size:10px;font-weight:600}:where(.visual-v2) .hero .eyebrow{align-items:center;gap:8px;margin:0 0 27px;display:flex}:where(.visual-v2) .eyebrow>span{background:#6460d7;border-radius:50%;width:7px;height:7px}:where(.visual-v2) .hello{color:#343f59;margin:0 0 14px;font-size:20px}:where(.visual-v2) .hero h1{letter-spacing:-.055em;margin:0 0 24px;font-size:clamp(38px,4vw,52px);font-weight:650;line-height:1.37}:where(.visual-v2) .hero h1 span,:where(.visual-v2) .about-hero h1 span{color:#6058c9}:where(.visual-v2) .intro{color:#606a7d;margin:0 0 27px;font-size:14px;line-height:1.95}:where(.visual-v2) .hero-actions{align-items:center;gap:14px;display:flex}:where(.visual-v2) .primary{color:#fff;background:#625bd2;border:1px solid #625bd2;border-radius:8px;justify-content:space-between;align-items:center;gap:32px;padding:13px 20px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 7px 20px #625bd219}:where(.visual-v2) .primary b{font-size:18px;line-height:1}:where(.visual-v2) .secondary{background:0 0;border:1px solid #d7dae6;border-radius:8px;align-items:center;gap:20px;padding:13px 20px;font-size:12px;display:inline-flex}:where(.visual-v2) .ownership{color:#626d80;align-items:center;gap:18px;margin-top:33px;font-size:11px;display:flex}:where(.visual-v2) .ownership>span{color:#3c4660;font-weight:600}:where(.visual-v2) .ownership p{border-left:1px solid #d4d7e3;margin:0;padding-left:18px}:where(.visual-v2) .ownership i{color:#9b9eb0;margin:0 9px;font-style:normal}:where(.visual-v2) .engineering{isolation:isolate;height:570px;position:relative}:where(.visual-v2) .diagram-caption{color:#5c667b;letter-spacing:.05em;justify-content:space-between;font-size:10px;display:flex;position:absolute;top:12px;left:70px;right:16px}:where(.visual-v2) .index{font-variant-numeric:tabular-nums;color:#777e93}:where(.visual-v2) .grid-paper{opacity:.7;z-index:-2;background-image:radial-gradient(#cdd0e0 1px,#0000 1px);background-size:19px 19px;position:absolute;inset:57px 0 45px 38px;mask-image:radial-gradient(#000 10%,#0000 72%)}:where(.visual-v2) .engineering:before{content:"";z-index:-1;background:radial-gradient(#e9e6ff88,#0000 68%);border-radius:50%;position:absolute;inset:75px 30px 70px 50px}:where(.visual-v2) .connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}:where(.visual-v2) .system-card{background:#fff;border:1px solid #e2e3ec;border-radius:14px;gap:16px;padding:22px 25px;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;box-shadow:0 14px 35px #34356108}:where(.visual-v2) .system-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #34356113}:where(.visual-v2) .system-card small{letter-spacing:.15em;color:#6b718a;font-size:8px}:where(.visual-v2) .system-card h2{color:#30394f;letter-spacing:-.02em;margin:3px 0;font-size:21px;font-weight:600}:where(.visual-v2) .system-card p{color:#667087;white-space:nowrap;margin:3px 0 12px;font-size:11px}:where(.visual-v2) .mini-icon{color:#625bd2;background:#efedfd;border-radius:9px;place-items:center;width:35px;height:35px;font-size:23px;display:grid}:where(.visual-v2) .mini-icon.teal{color:#4e8988;background:#eaf4f2}:where(.visual-v2) .mini-icon.slate{color:#637591;background:#edf1f8}:where(.visual-v2) .corner{color:#8589a1;font-size:15px;position:absolute;top:20px;right:20px}:where(.visual-v2) .knowledge{top:69px;left:105px;right:0}:where(.visual-v2) .analysis{top:233px;left:137px;right:-8px}:where(.visual-v2) .workflow{top:400px;left:77px;right:30px}:where(.visual-v2) .evidence-row{color:#656681;align-items:center;gap:9px;font-size:9px;display:flex}:where(.visual-v2) .evidence-row span{background:#f8f7fc;border:1px solid #e8e6f5;border-radius:4px;padding:3px 8px}:where(.visual-v2) .evidence-row b{color:#aaa7c2;font-weight:400}:where(.visual-v2) .evidence-row i{margin-left:20px;font-style:normal}:where(.visual-v2) .micro-bars{align-items:end;gap:7px;height:35px;display:flex}:where(.visual-v2) .micro-bars i{background:#87aeaa;border-radius:2px 2px 0 0;width:9px;max-height:31px;display:block}:where(.visual-v2) .micro-bars i:nth-child(2n){background:#c1d6d1}:where(.visual-v2) .micro-bars span{color:#5d7478;align-self:center;margin-left:12px;font-size:8px}:where(.visual-v2) .steps{color:#60718d;align-items:center;gap:11px;font-size:9px;display:flex}:where(.visual-v2) .steps span{background:#f2f4f9;border-radius:4px;padding:3px 8px}:where(.visual-v2) .steps i{color:#aeb6c7;font-style:normal}:where(.visual-v2) .diagram-note{color:#6d758b;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:-8px;left:110px}:where(.visual-v2) .diagram-note i{background:#a5a6c0;border-radius:50%;width:5px;height:5px}:where(.visual-v2) .section-head{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}:where(.visual-v2) .section-head .eyebrow{margin:0 0 12px}:where(.visual-v2) .section-head h2{letter-spacing:-.04em;margin:0;font-size:29px;font-weight:600;line-height:1.4}:where(.visual-v2) .section-head>p{color:#657087;margin:0;font-size:12px;line-height:1.9}:where(.visual-v2) .projects{border-top:1px solid #e6e7ed;padding-top:28px;padding-bottom:30px}:where(.visual-v2) .project{background:#fff;border:1px solid #dfe2ee;border-radius:15px;overflow:hidden}:where(.visual-v2) .featured{background:linear-gradient(115deg,#fff,#f2f2fb);grid-template-columns:.85fr 1.15fr;gap:30px;padding:37px 0 0 37px;display:grid}:where(.visual-v2) .project-number{color:#646080;align-items:center;gap:16px;font-size:12px;font-weight:600;display:flex}:where(.visual-v2) .project-number span{letter-spacing:.12em;color:#68718a;font-size:9px;font-weight:500}:where(.visual-v2) .project-text h3{letter-spacing:-.03em;margin:20px 0 12px;font-size:27px;font-weight:600;line-height:1.4}:where(.visual-v2) .project-text>p{color:#657087;margin:0 0 20px;font-size:13px}:where(.visual-v2) .tags{flex-wrap:wrap;gap:8px;display:flex}:where(.visual-v2) .tags span{color:#625e8b;background:#f0eff9;border-radius:4px;padding:3px 8px;font-size:10px}:where(.visual-v2) .text-link{color:#5e57bc;background:0 0;border:0;justify-content:space-between;align-items:center;gap:38px;padding:0;font-size:12px;font-weight:600;display:inline-flex}:where(.visual-v2) .project-text .text-link{margin:27px 0 32px}:where(.visual-v2) .screen{background:#fff;border:1px solid #d5d9e9;border-radius:10px 0 0;align-self:end;min-width:0;margin:9px -20px -12px 0;position:relative;overflow:hidden;box-shadow:-10px -10px 32px #4c51840a}:where(.visual-v2) .screen-bar{background:#f9fafe;border-bottom:1px solid #e5e7f0;align-items:center;gap:4px;height:28px;padding:0 12px;display:flex}:where(.visual-v2) .screen-bar i{background:#bfc5d7;border-radius:100%;width:4px;height:4px}:where(.visual-v2) .screen-bar span{letter-spacing:.12em;color:#737f98;margin-left:auto;margin-right:24px;font-size:7px}:where(.visual-v2) .screen img{object-fit:cover;object-position:left top;width:100%;height:275px;display:block}:where(.visual-v2) .screen-label{color:#6a748a;background:#ffffffdf;border-radius:4px;padding:5px 9px;font-size:9px;position:absolute;bottom:20px;right:25px}:where(.visual-v2) .project-pair{grid-template-columns:1fr 1fr;gap:23px;margin-top:23px;display:grid}:where(.visual-v2) .small .project-text{padding:26px 30px 0}:where(.visual-v2) .small .project-text h3{margin-top:15px;font-size:23px}:where(.visual-v2) .small .text-link{margin:4px 0 23px}:where(.visual-v2) .small>img{object-fit:cover;object-position:left top;border:1px solid #e0e4ee;border-radius:8px 8px 0 0;width:calc(100% - 40px);height:180px;margin:0 20px -8px}:where(.visual-v2) .capabilities{padding-top:75px;padding-bottom:60px}:where(.visual-v2) .cap-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}:where(.visual-v2) .cap-card{background:#fff;border:1px solid #dfe2ec;border-radius:12px;padding:25px 26px 0}:where(.visual-v2) .cap-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}:where(.visual-v2) .cap-top>span{color:#787c92;font-size:10px}:where(.visual-v2) .cap-top>b{color:#736dba;font-size:22px;font-weight:500}:where(.visual-v2) .cap-card .eyebrow{letter-spacing:.1em;margin-bottom:6px;font-size:8px}:where(.visual-v2) .cap-card h3{margin:0;font-size:21px;font-weight:600}:where(.visual-v2) .cap-card ul{color:#59667d;margin:23px 0 25px;padding:0;font-size:12px;line-height:2.3;list-style:none}:where(.visual-v2) .cap-card li:before{content:"—";color:#b5b6ca;margin-right:12px}:where(.visual-v2) .cap-card>a{color:#5e57bc;border-top:1px solid #e9eaf2;justify-content:space-between;padding:16px 0;font-size:11px;display:flex}:where(.visual-v2) .about-teaser{padding-top:35px;padding-bottom:80px}:where(.visual-v2) .about-teaser h2{letter-spacing:-.03em;font-size:27px;font-weight:500;line-height:1.6}:where(.visual-v2) .about-teaser>p:not(.eyebrow){color:#626f85;font-size:13px;line-height:2}:where(.visual-v2) .about-teaser .text-link{margin-top:15px}:where(.visual-v2) .footer{color:#657087;border-top:1px solid #e0e3ec;justify-content:space-between;align-items:center;padding-top:25px;padding-bottom:28px;font-size:10px;display:flex}:where(.visual-v2) .footer>span:first-child{color:#48546e;font-weight:600}:where(.visual-v2) .about-hero{padding-top:55px;padding-bottom:62px}:where(.visual-v2) .about-hero h1{letter-spacing:-.045em;margin:22px 0;font-size:50px;font-weight:600;line-height:1.4}:where(.visual-v2) .about-hero>p:not(.eyebrow){color:#5f6d84;max-width:700px;font-size:15px;line-height:2}:where(.visual-v2) .about-grid{grid-template-columns:1.1fr 1fr;gap:90px;padding-bottom:70px;display:grid}:where(.visual-v2) .about-grid h2{margin:10px 0 24px;font-size:25px;font-weight:600}:where(.visual-v2) .lead{color:#5b6980;margin-bottom:30px;font-size:14px}:where(.visual-v2) .practice-item{border-top:1px solid #e5e7ef;gap:20px;padding:19px 0;display:flex}:where(.visual-v2) .practice-item>span{color:#7a7b9a;padding-top:5px;font-size:10px}:where(.visual-v2) .practice-item h3{margin:0 0 5px;font-size:16px;font-weight:600}:where(.visual-v2) .practice-item p{color:#67748b;margin:0;font-size:12px}:where(.visual-v2) .working-note{color:#555581;background:#eeedf8;border:1px solid #e0deef;border-radius:10px;margin-top:28px;padding:20px 24px}:where(.visual-v2) .working-note b{font-size:13px;font-weight:600}:where(.visual-v2) .working-note p{margin:7px 0 0;font-size:12px;line-height:1.9}:where(.visual-v2) .education{padding:0 0 0 20px}:where(.visual-v2) .timeline{border-left:1px solid #d8d9e8;margin:35px 0 0 6px;padding-left:31px}:where(.visual-v2) .timeline li{padding:0 0 46px;position:relative}:where(.visual-v2) .timeline li:before{content:"";background:#746ccc;border:3px solid #fafafc;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-36px;box-shadow:0 0 0 1px #9a94ca}:where(.visual-v2) .time{letter-spacing:.06em;color:#5d6180;margin-bottom:12px;font-size:11px}:where(.visual-v2) .timeline h3{margin:0 0 6px;font-size:21px;font-weight:600}:where(.visual-v2) .timeline p{color:#63718a;margin:0;font-size:13px}:where(.visual-v2) .timeline li>span{letter-spacing:.15em;color:#7a8298;margin-top:13px;font-size:8px;display:block}:where(.visual-v2) .contact{border-top:1px solid #e1e4ed;justify-content:space-between;align-items:center;padding-top:35px;padding-bottom:60px;display:flex}:where(.visual-v2) .contact h2{margin:8px 0;font-size:25px;font-weight:500}@media (width<=1050px){:where(.visual-v2) .hero{grid-template-columns:1fr 1fr}:where(.visual-v2) .hero h1{font-size:40px}:where(.visual-v2) .engineering{transform-origin:100%;margin-left:-45px;transform:scale(.9)}:where(.visual-v2) .wide-break{display:none}:where(.visual-v2) .about-grid{gap:40px}:where(.visual-v2) .header nav{gap:20px}}@media (width<=760px){:where(.visual-v2) .wrap{padding-left:22px;padding-right:22px}:where(.visual-v2) .header{gap:10px;height:78px}:where(.visual-v2) .brand{font-size:21px}:where(.visual-v2) .brand span{display:none}:where(.visual-v2) .header nav{gap:16px;font-size:10px}:where(.visual-v2) .header nav button{font-size:10px}:where(.visual-v2) .header nav>a:nth-child(2){display:none}:where(.visual-v2) .hero{flex-direction:column;align-items:stretch;gap:12px;padding-top:30px;padding-bottom:30px;display:flex}:where(.visual-v2) .hero .eyebrow{margin-bottom:20px;font-size:9px}:where(.visual-v2) .hello{font-size:17px}:where(.visual-v2) .hero h1{margin-bottom:20px;font-size:38px;line-height:1.4}:where(.visual-v2) .desktop-break{display:none}:where(.visual-v2) .intro{font-size:13px}:where(.visual-v2) .primary,:where(.visual-v2) .secondary{gap:18px;padding:12px 15px;font-size:11px}:where(.visual-v2) .ownership{gap:10px;margin-top:25px;font-size:10px}:where(.visual-v2) .ownership p{padding-left:10px}:where(.visual-v2) .ownership i{margin:0 3px}:where(.visual-v2) .engineering{height:480px;margin:0;transform:none}:where(.visual-v2) .diagram-caption{font-size:9px;top:15px;left:10px;right:5px}:where(.visual-v2) .connections{display:none}:where(.visual-v2) .grid-paper{inset:30px -10px 0}:where(.visual-v2) .system-card{border-radius:12px;gap:12px;padding:16px 17px}:where(.visual-v2) .system-card h2{font-size:18px}:where(.visual-v2) .system-card p{margin-bottom:8px;font-size:10px}:where(.visual-v2) .system-card small{font-size:7px}:where(.visual-v2) .mini-icon{width:30px;height:30px;font-size:20px}:where(.visual-v2) .knowledge{top:55px;left:24px;right:0}:where(.visual-v2) .analysis{top:195px;left:0;right:24px}:where(.visual-v2) .workflow{top:335px;left:24px;right:0}:where(.visual-v2) .corner{top:15px;right:16px}:where(.visual-v2) .micro-bars{height:29px}:where(.visual-v2) .diagram-note{display:none}:where(.visual-v2) .section-head{margin-bottom:22px;display:block}:where(.visual-v2) .section-head h2{font-size:24px}:where(.visual-v2) .section-head>p{margin-top:14px;font-size:12px}:where(.visual-v2) .projects{padding-top:24px}:where(.visual-v2) .featured{grid-template-columns:1fr;gap:0;padding:24px 0 0 24px}:where(.visual-v2) .project-text h3{margin:16px 0 12px;font-size:24px}:where(.visual-v2) .project-text>p{font-size:12px}:where(.visual-v2) .project-text .text-link{margin:20px 0 24px}:where(.visual-v2) .screen{margin:0 -20px -8px 0}:where(.visual-v2) .screen img{height:185px}:where(.visual-v2) .project-pair{grid-template-columns:1fr;gap:18px;margin-top:18px}:where(.visual-v2) .small .project-text{padding:24px 24px 0}:where(.visual-v2) .small>img{height:155px}:where(.visual-v2) .capabilities{padding-top:38px;padding-bottom:25px}:where(.visual-v2) .cap-grid{grid-template-columns:1fr;gap:15px}:where(.visual-v2) .cap-card{padding:22px 24px 0}:where(.visual-v2) .cap-top{margin-bottom:10px}:where(.visual-v2) .cap-card ul{margin:17px 0;font-size:13px}:where(.visual-v2) .cap-card h3{font-size:22px}:where(.visual-v2) .about-teaser{padding-top:25px;padding-bottom:45px}:where(.visual-v2) .about-teaser h2{font-size:23px}:where(.visual-v2) .footer{flex-wrap:wrap;gap:15px;font-size:9px}:where(.visual-v2) .footer>span:nth-child(2){order:3;width:100%}:where(.visual-v2) .about-hero{padding-top:25px;padding-bottom:30px}:where(.visual-v2) .about-hero h1{margin-top:15px;font-size:37px}:where(.visual-v2) .about-hero>p:not(.eyebrow){font-size:13px}:where(.visual-v2) .about-grid{grid-template-columns:1fr;gap:40px;padding-bottom:38px}:where(.visual-v2) .education{padding:0}:where(.visual-v2) .timeline h3{font-size:20px}:where(.visual-v2) .contact{flex-direction:column;align-items:start;gap:20px;padding-top:25px;padding-bottom:40px}:where(.visual-v2) .contact h2{font-size:23px}}@media (prefers-reduced-motion:reduce){.visual-v2{scroll-behavior:auto}:where(.visual-v2) .system-card{transition:none}}@media (width<=760px){:where(.visual-v2) .engineering{height:350px}:where(.visual-v2) .knowledge{top:45px}:where(.visual-v2) .analysis{top:145px}:where(.visual-v2) .workflow{top:245px}:where(.visual-v2) .system-card p{margin-bottom:0}:where(.visual-v2) .system-card .evidence-row,:where(.visual-v2) .system-card .micro-bars,:where(.visual-v2) .system-card .steps{display:none}:where(.visual-v2) .system-card small{font-size:8px}}@media (width>=761px) and (width<=1000px){:where(.visual-v2) .hero{grid-template-columns:1fr}:where(.visual-v2) .hero .engineering{justify-self:center;width:min(100%,540px);margin:0;transform:none}:where(.visual-v2) .hero-copy{max-width:620px}:where(.visual-v2) .desktop-break{display:none}}@media (width<=760px){:where(.visual-v2) .desktop-break{display:inline}}:where(.visual-v2) .timeline{list-style:none}:where(.visual-v2) .small-screen{margin:0 20px -8px;display:block}:where(.visual-v2) .small-screen img{object-fit:cover;object-position:left top;border:1px solid #e0e4ee;border-radius:8px 8px 0 0;width:100%;height:180px;display:block}:where(.visual-v2) .project-details-link{color:#5e57bc;margin-left:20px;font-size:11px}:where(.visual-v2) .hero-copy{max-width:none;margin:0}:where(.visual-v2) .about-teaser .text-link{display:inline-flex}:where(.visual-v2) .hero{margin-top:0}:where(.visual-v2) .footer a{white-space:nowrap}@media (width<=760px){:where(.visual-v2) .small-screen img{height:155px}}:where(.visual-v2) .hero-copy{font:inherit}:where(.visual-v2) .hero h1{color:#20283b}:where(.visual-v2) .hero h1 span{color:#6058c9}:where(.visual-v2) .ownership{background:0 0;border:0;border-radius:0;flex-direction:row;padding:0}:where(.visual-v2) .screen-bar span,:where(.visual-v2) .cap-top>span,:where(.visual-v2) .practice-item>span,:where(.visual-v2) .timeline li>span{color:#59647b}
