@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f5f4ed;--ink:#152b38;--muted:#536369;--accent:#d5e879;--line:#ced2c8;--sans:"Figtree Variable", Arial, sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a,button,input,textarea{outline-offset:6px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #527416}::selection{background:var(--accent);color:var(--ink)}.wrap{width:min(1320px,100% - 112px);margin-inline:auto}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:32px;display:flex}.logo{align-items:center;gap:11px;text-decoration:none;display:inline-flex}.logo svg{width:37px;height:37px}.logo span{letter-spacing:-1.3px;font-size:29px;font-weight:650}.header nav{align-items:center;gap:34px;font-size:15px;display:flex}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:6px}.nav-contact span{margin-left:17px}.hero{grid-template-columns:1.3fr 1fr;padding-top:94px;display:grid;position:relative}.hero-copy{z-index:1;position:relative}h1,h2{letter-spacing:-2.4px;margin:0;font-weight:400;line-height:1.14}h1{width:112%;font-size:clamp(48px,5.6vw,82px)}p{margin:0 0 24px;font-size:18px;line-height:1.65}.hero-copy>p{max-width:510px;color:var(--muted);margin-top:32px;font-size:20px;line-height:1.6}.button{background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:30px;padding:19px 24px;font-size:16px;font-weight:550;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.button:hover{background:var(--accent);color:var(--ink)}.quiet-link{width:fit-content;margin-top:25px;font-size:15px;text-decoration:none;display:block}.quiet-link span{margin-left:22px}.quiet-link:hover{text-decoration:underline}.structure{align-self:center;margin:10px -20px 0 -35px}.structure svg{width:100%;overflow:visible}.hero-foot{border-bottom:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;padding:60px 0 25px;font-size:14px;display:flex}.intro{grid-template-columns:1fr 1fr;gap:100px;padding-block:100px 60px;display:grid}h2{font-size:clamp(36px,3.7vw,53px);line-height:1.21}.large{font-size:23px;line-height:1.5}.intro p:not(.large),.about p:not(.large){color:var(--muted)}.services{padding-bottom:100px}.services article{border-top:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:32px;padding:36px 0 24px;display:grid}h3{letter-spacing:-.7px;margin:0 0 18px;font-size:27px;font-weight:450;line-height:1.25}.services p{font-size:17px}.services .service-detail{color:var(--muted);font-size:14px}.approach{background:var(--ink);color:var(--paper);padding-block:96px}.approach-inner{grid-template-columns:1.2fr 1fr;gap:120px;display:grid}.approach-inner>div>p{color:#c8d1d1;max-width:440px;margin-top:30px}.text-link{border-bottom:1px solid #7b898d;padding-bottom:8px;font-size:16px;text-decoration:none;display:inline-block}.text-link span{margin-left:28px}.steps article{border-top:1px solid #50616a;margin-bottom:30px;padding-top:25px}.steps article:last-child{margin-bottom:0}.steps h3{font-size:23px}.steps p{color:#c8d1d1;margin-bottom:0;font-size:17px}.about{grid-template-columns:1fr 1fr;gap:100px;padding-block:110px;display:grid}.contact{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding-block:85px 95px;display:grid}.contact h2{font-size:60px}.contact>div>p{max-width:430px;margin-top:28px}.form-pair{grid-template-columns:1fr 1fr;gap:24px;display:grid}label{margin-bottom:24px;font-size:15px;display:block}input,textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #84918d;border-radius:0;padding:12px 0;display:block}textarea{resize:vertical}textarea::placeholder{color:#68766f;font-size:15px}form .button{width:100%}.form-note,#form-status{color:var(--muted);margin-top:15px;font-size:13px;line-height:1.5}.footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding-block:30px;font-size:13px;display:flex}.footer .logo{color:var(--ink)}.footer .logo span{font-size:23px}.footer .logo svg{width:29px;height:29px}.skip{background:var(--ink);color:#fff;z-index:20;padding:15px;position:absolute;top:-80px;left:20px}.skip:focus{top:10px}.document{max-width:780px;min-height:70vh;padding-block:80px}.document h1{width:auto;margin-bottom:35px;font-size:54px}.document h2{margin:40px 0 20px;font-size:28px}@media (width>=1550px){.hero{padding-top:110px}.structure{max-width:550px}}@media (width<=1050px){.wrap{width:calc(100% - 64px)}.header nav{gap:22px}.hero{padding-top:70px}h1{font-size:59px}.intro,.about,.contact{gap:50px}.approach-inner{gap:60px}.services article{grid-template-columns:1fr 1.25fr;gap:20px}.contact h2{font-size:48px}}@media (width<=760px){.wrap{width:calc(100% - 40px)}.header{padding-block:22px}.logo span{font-size:25px}.header nav>a:not(.nav-contact){display:none}.header nav{font-size:14px}.hero{grid-template-columns:1fr;padding-top:54px}h1{letter-spacing:-1.8px;width:100%;font-size:clamp(43px,8vw,60px)}.hero-copy>p{margin-top:26px;font-size:18px}.button{gap:18px;padding:18px 20px;font-size:15px}.structure{width:90%;max-width:430px;margin:35px auto 0}.hero-foot{flex-direction:column;gap:12px;padding-top:20px;font-size:12px}.intro,.about,.contact,.approach-inner{grid-template-columns:1fr;gap:32px}.intro{padding-block:60px 25px}h2{font-size:39px}.large{font-size:21px}.services{padding-bottom:55px}.services article{grid-template-columns:1fr;gap:14px;padding-top:25px}.services article>div{grid-column:1}.services h3{font-size:25px}.approach{padding-block:60px}.about{padding-block:65px}.contact{padding-block:55px}.contact h2{font-size:47px}.footer{flex-wrap:wrap;justify-content:space-between}.footer>span:first-of-type{display:none}.form-pair{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.header{z-index:10;position:relative}.solutions-menu summary,.mobile-nav summary{cursor:pointer;list-style:none}.solutions-menu summary::-webkit-details-marker,.mobile-nav summary::-webkit-details-marker{display:none}.solutions-menu summary span{margin-left:6px}.solutions-menu summary:hover{text-underline-offset:5px;text-decoration:underline}.solutions-menu summary:focus-visible,.mobile-nav summary:focus-visible{outline-offset:6px;outline:2px solid #527416}.solutions-dropdown{background:var(--paper);border:1px solid var(--line);width:350px;padding:12px 24px;position:absolute;top:calc(100% - 15px);right:0;box-shadow:0 16px 30px #152b3810}.solutions-dropdown a{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:18px 0;display:flex}.solutions-dropdown a:last-child{border-bottom:none}.mobile-nav{display:none}.solution-directory{padding-bottom:96px}.solution-directory article{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding:36px 0 40px;display:grid}.solution-directory h3{font-size:36px}.solution-directory h3 a{align-items:baseline;gap:28px;text-decoration:none;display:flex}.solution-directory h3 a:hover{text-decoration:underline 1px}.solution-directory h3 span{color:var(--muted);font-size:25px}.solution-directory p{color:var(--muted);max-width:570px}.solution-explore{gap:24px;font-size:15px;text-decoration-thickness:1px;display:inline-flex}.engagements{background:var(--ink);color:var(--paper);padding-block:90px}.engagements-intro{grid-template-columns:1fr 1fr;gap:100px;margin-bottom:55px;display:grid}.engagements-intro>p{color:#c8d1d1;align-self:end;margin:0}.engagement-rows{border-top:1px solid #52636a;margin-bottom:36px}.engagement-rows article{border-bottom:1px solid #52636a;grid-template-columns:1fr 1fr;gap:100px;padding:32px 0;scroll-margin-top:30px;display:grid}.engagement-rows h3{font-size:29px}.engagement-rows p{color:#d6dddd;font-size:17px}.engagement-rows .engagement-detail{color:var(--accent);margin:0;font-size:14px}.engagements .text-link{color:var(--paper)}.site-footer{border-top:1px solid var(--line);padding-block:45px 25px}.footer-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:42px;display:flex}.footer-top p{color:var(--muted);margin:0;font-size:16px}.site-footer nav{grid-template-columns:1fr 1fr;gap:50px;margin-bottom:45px;margin-left:50%;display:grid}.site-footer nav h2{letter-spacing:0;margin-bottom:18px;font-size:16px;font-weight:600}.site-footer nav a{width:fit-content;color:var(--muted);margin-bottom:12px;font-size:15px;line-height:1.5;text-decoration:none;display:block}.site-footer nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:22px;font-size:13px;display:flex}.solution-hero{padding-block:44px 76px}.back-link{color:var(--muted);gap:20px;margin-bottom:45px;font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.solution-hero h1{text-wrap:balance;width:auto;max-width:1050px;font-size:clamp(44px,5.3vw,76px);line-height:1.12}.solution-lead{grid-template-columns:1fr 1fr;gap:100px;margin-top:38px;display:grid}.solution-lead>p{color:var(--muted);margin-bottom:0;font-size:21px}.solution-lead .button{place-self:start end;margin-top:8px}.solution-context{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding-block:64px 40px;display:grid}.solution-context h2{font-size:36px}.solution-context .large{font-size:21px}.solution-services{padding-bottom:80px}.solution-services article{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding-block:36px;scroll-margin-top:30px;display:grid}.solution-services h3{max-width:380px;font-size:30px}.solution-services p{color:var(--muted)}.solution-services .deliverable{border-left:2px solid #9eae62;margin-bottom:0;padding-left:20px;font-size:15px}.deliverable strong{color:var(--ink);margin-bottom:6px;font-weight:550;display:block}.solution-handover{background:#e9eddf;padding-block:75px}.solution-handover>div,.solution-next{grid-template-columns:1fr 1fr;gap:100px;display:grid}.solution-handover p:not(.large){color:var(--muted)}.solution-next{padding-block:90px}.solution-next p{color:var(--muted)}.related-solutions{border-top:1px solid var(--line);padding-block:35px 65px}.related-solutions h2{letter-spacing:-.4px;margin-bottom:25px;font-size:23px}.related-solutions a{gap:22px;margin:10px 40px 10px 0;font-size:16px;text-decoration-thickness:1px;display:inline-flex}.company-hero{grid-template-columns:1.1fr 1fr;gap:100px;padding-block:86px 75px;display:grid}.company-hero h1{text-wrap:balance;width:auto;font-size:clamp(44px,4.6vw,66px)}.company-hero .large{font-size:25px}.company-hero p:not(.large){color:var(--muted)}.company-practice{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:100px;padding-block:60px 80px;display:grid}.company-practice h2{font-size:40px}.practice-rows article{border-top:1px solid var(--line);margin-bottom:30px;padding-top:25px}.practice-rows h3{font-size:24px}.practice-rows p{color:var(--muted);margin-bottom:0;font-size:17px}.engineer-section{background:#e9eddf;padding-block:80px}.engineer-intro{grid-template-columns:1fr 1fr;gap:100px;margin-bottom:55px;display:grid}.engineer-intro>p{max-width:470px;color:var(--muted);align-self:end;margin-bottom:0}.engineer-profile{grid-template-columns:.9fr 1.1fr;align-items:start;gap:85px;display:grid}.engineer-profile img{aspect-ratio:4/5;object-fit:cover;object-position:center 38%;width:100%;height:auto;display:block}.engineer-bio{padding-top:8px}.engineer-bio h3{margin-bottom:8px;font-size:38px}.engineer-bio .engineer-role{margin-bottom:28px;font-size:16px}.engineer-bio p:not(.large){color:var(--muted);font-size:17px}.engineer-bio .large{font-size:23px}@media (width<=1050px){.solution-directory article,.engagements-intro,.engagement-rows article,.solution-lead,.solution-context,.solution-services article,.solution-handover>div,.solution-next,.company-hero,.company-practice,.engineer-intro{gap:50px}.engineer-profile{gap:45px}.solution-directory h3{font-size:31px}.site-footer nav{margin-left:35%}}@media (width<=760px){.header .desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{padding:10px 0 10px 15px;font-size:15px}.mobile-nav summary span{margin-left:15px}.header .mobile-nav nav{background:var(--paper);border:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:15px 20px;display:flex;position:absolute;top:calc(100% - 1px);left:-1px;right:-1px;box-shadow:0 16px 30px #152b3810}.header .mobile-nav nav a{border-bottom:1px solid var(--line);padding:13px 0;font-size:16px;display:block}.header .mobile-nav nav a:last-child{border-bottom:none}.solution-directory article,.engagements-intro,.engagement-rows article,.solution-lead,.solution-context,.solution-services article,.solution-handover>div,.solution-next,.company-hero,.company-practice,.engineer-intro,.engineer-profile{grid-template-columns:1fr;gap:24px}.solution-directory{padding-bottom:55px}.solution-directory article{gap:6px;padding-block:28px 34px}.solution-directory h3{font-size:29px}.solution-directory h3 a{justify-content:space-between;gap:15px}.solution-directory p{margin-bottom:20px;font-size:17px}.engagements{padding-block:60px}.engagements-intro{margin-bottom:35px}.engagement-rows article{gap:3px;padding-block:28px}.engagement-rows h3{font-size:26px}.footer-top{flex-direction:column;align-items:start;margin-bottom:30px}.site-footer nav{gap:30px;margin-left:0}.solution-hero{padding-block:30px 50px}.solution-hero h1{letter-spacing:-1.5px;font-size:clamp(40px,8vw,60px)}.back-link{margin-bottom:32px}.solution-lead{margin-top:26px}.solution-lead>p{font-size:19px}.solution-lead .button{justify-self:start}.solution-context{gap:20px;padding-block:40px 20px}.solution-context h2{font-size:32px}.solution-context .large{font-size:20px}.solution-services{padding-bottom:45px}.solution-services article{gap:5px;padding-block:28px}.solution-services h3{font-size:27px}.solution-services p{font-size:17px}.solution-handover,.engineer-section,.solution-next{padding-block:55px}.related-solutions{padding-bottom:40px}.related-solutions a{justify-content:space-between;margin-right:0;padding-block:10px;display:flex}.company-hero{gap:28px;padding-block:50px 35px}.company-hero h1{letter-spacing:-1.8px;font-size:45px}.company-hero .large{font-size:23px}.company-practice{padding-block:40px}.company-practice h2{font-size:36px}.engineer-intro{margin-bottom:35px}.engineer-profile{gap:30px}.engineer-profile img{max-width:520px}.engineer-bio h3{font-size:34px}}
