:root{font-family:DM Sans,sans-serif;color:#142d46;background:#fff;font-synthesis:none;font-weight:400;--navy:#142d46;--blue:#487eb7;--muted:#697581;--line:#e4e9ee;--light:#f5f8fb;--heading:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #598fc6;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}svg{flex-shrink:0}.icon{vertical-align:middle}p,h1,h2,h3{margin:0}button{border:0}.container{width:min(1232px,calc(100% - 112px));margin-inline:auto}.header{height:96px;background:#ffffffed;position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid #edf0f2}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:9px;line-height:1;flex-shrink:0}.brand>svg{width:38px;height:42px}.brand>span{font-family:var(--heading);font-size:25px;letter-spacing:-1.3px;font-weight:800}.brand-tech{font-weight:450}.brand-dot{color:var(--blue)}.desktop-nav{display:flex;gap:27px;margin-left:auto;margin-right:28px;font-size:12px;font-weight:500;color:#65717c}.desktop-nav a{transition:color .2s;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--navy)}.desktop-nav a[aria-current]:after{content:"";position:absolute;bottom:-10px;left:0;width:15px;height:2px;background:var(--blue)}.header-cta{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:600;padding:13px 17px;border:1px solid #d6dfe7;border-radius:5px;transition:background .2s}.header-cta .icon{width:16px;height:16px}.header-cta:hover{background:var(--light)}.menu-toggle,.mobile-nav[hidden]{display:none}.skip-link{position:fixed;top:-80px;left:20px;padding:15px;background:var(--navy);color:#fff;z-index:100}.skip-link:focus{top:12px}.hero{position:relative;background:linear-gradient(110deg,#f8fafb 25%,#f0f5fa);overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:12px;padding-top:77px;padding-bottom:65px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.7px;font-weight:650;line-height:1.5;color:#6a8299}.tiny-line{height:2px;width:22px;background:#5d91c8;display:inline-block}.hero h1{font-family:var(--heading);font-size:clamp(39px,3.65vw,53px);font-weight:550;line-height:1.22;letter-spacing:-2.1px;margin-top:25px;max-width:620px}.hero h1>span{color:var(--blue)}.hero-copy>p{font-size:14px;line-height:1.85;color:#697582;max-width:470px;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:19px 23px;font-size:12px;font-weight:550;line-height:1.4;border-radius:5px;transition:background .2s,transform .2s;min-height:52px}.button .icon{width:18px;height:18px}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:#254665}.hero-button{margin-top:29px}.hero-note{display:flex;align-items:center;gap:8px;font-size:10px;color:#83909b;margin-top:20px}.hero-note>span{width:5px;height:5px;border-radius:50%;background:#6995bc}.hero-bottom{display:flex;justify-content:space-between;padding-block:23px;border-top:1px solid #dfe7ef;font-size:9px;letter-spacing:1.6px;color:#8393a3}.hero-bottom>a{font-size:10px;letter-spacing:0;color:#59728c}.hero-bottom>a span{margin-left:26px;font-size:18px}.flow-art{width:100%;position:relative;aspect-ratio:560/500;isolation:isolate;animation:art-enter 1s ease both}.art-grid{position:absolute;inset:0;background-image:radial-gradient(#a7bfd4 .8px,transparent .8px);background-size:20px 20px;-webkit-mask-image:radial-gradient(ellipse,#0008,transparent 70%);mask-image:radial-gradient(ellipse,#0008,transparent 70%)}.orbit{position:absolute;border:1px solid #a5bed128;border-radius:50%;width:68%;aspect-ratio:1;left:15%;top:12%}.orbit-inner{width:47%;left:25.5%;top:24%}.flow-lines{position:absolute;inset:0;width:100%;height:100%}.flow-core{position:absolute;left:42%;top:42%;width:16%;aspect-ratio:1;border-radius:25%;display:grid;place-items:center;background:#183650;box-shadow:0 0 0 10px #dce7f044,0 16px 30px #203c5620;color:#fff;transform:rotate(-7deg)}.flow-core>svg{width:60%;height:60%;transform:rotate(7deg)}.flow-node{position:absolute;left:10%;width:11%;aspect-ratio:1;border-radius:13px;border:1px solid #dae4ed;background:#fcfdfe;display:grid;place-items:center;color:#849db3;box-shadow:0 5px 15px #12334e04}.node-one{top:23%}.node-two{top:44%;left:7%}.node-three{top:66%;left:13%}.flow-output{position:absolute;left:73%;display:flex;align-items:center;gap:8px;font-size:9px;white-space:nowrap;color:#4a6e91;border:1px solid #d9e5f0;background:#f9fcff;padding:12px;border-radius:5px;box-shadow:0 5px 14px #12334e03}.flow-output .icon{width:13px;height:13px}.output-one{top:24.5%}.output-two{top:46%}.output-three{top:67.5%}.art-label{position:absolute;top:14%;font-size:7px;letter-spacing:1.5px;color:#8b9cad}.art-label-left{left:6%}.art-label-right{right:0}.art-caption{position:absolute;bottom:7%;left:20%;color:#8b9cac;font-size:9px;display:flex;align-items:center;gap:8px}.art-caption>span{width:4px;height:4px;background:#7d9fbf;border-radius:50%}.section{padding-block:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}.section-heading h2{font-family:var(--heading);font-size:34px;line-height:1.3;font-weight:550;letter-spacing:-1.2px;margin-top:17px}.section-heading>p{max-width:290px;font-size:13px;line-height:1.85;color:var(--muted);padding-bottom:3px}.problem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:27px}.problem{border-top:1px solid var(--line);padding-top:24px;position:relative}.problem-icon{color:#5e85aa}.problem-icon .icon{width:24px;height:24px}.problem-number{position:absolute;right:0;top:28px;font-size:9px;color:#a8b3bd}.problem h3{font-family:var(--heading);font-size:15px;font-weight:650;line-height:1.5;margin-top:24px;max-width:180px}.problem p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:11px}.takeaway{display:flex;align-items:center;gap:27px;padding:29px 35px;margin-top:45px;background:#f4f7fa;border-radius:5px}.takeaway-symbol{font-size:39px;font-weight:400;color:#7fa3c6}.takeaway p{font-family:var(--heading);font-size:19px;line-height:1.6;letter-spacing:-.5px;font-weight:550}.takeaway p>span{color:#748ca1}.small-cross{margin-left:auto;color:#b7c8d7;font-size:27px;font-weight:400}.method{background:var(--navy);color:#fff;position:relative}.method .eyebrow{color:#8ba7c1}.method .section-heading>p{color:#a4b5c6}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:55px}.step{border-top:1px solid #ffffff24;padding-top:21px}.step-top{display:flex;justify-content:space-between;align-items:center;color:#82add5}.step-top>span{font-size:12px}.step-top>.icon{width:19px;height:19px}.step h3{font-family:var(--heading);font-size:25px;font-weight:500;letter-spacing:-.8px;margin-top:32px}.step h3>span{color:#8ab3de}.step>p{font-size:13px;line-height:1.85;color:#a8b9c9;margin-top:15px;max-width:300px}.step-caption{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#7c98b3;margin-top:29px}.method-foot{font-size:11px;line-height:1.9;color:#d3dfe9;margin-top:50px;padding-top:26px;border-top:1px solid #ffffff18}.method-foot>span{color:#8ea5bb;margin-left:5px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-visual{height:235px;background:#edf3f8;border-radius:6px;overflow:hidden;position:relative}.project-canteen{background:#e8eef3}.project-custom{background:#1d3a54;color:#dae8f4}.visual-corner{position:absolute;left:20px;top:20px;font-size:7px;letter-spacing:1.4px;color:#7290ab}.visual-bottom{position:absolute;left:20px;bottom:18px;font-size:9px;color:#7791a8}.project-custom .visual-corner,.project-custom .visual-bottom{color:#8da9c2}.project-illustration{position:absolute;width:170px;height:170px;left:50%;top:51%;transform:translate(-50%,-50%)}.illustration-ring{width:150px;height:150px;border:1px solid #a5bdcf55;position:absolute;top:10px;left:10px;border-radius:50%}.illustration-ring.second{width:210px;height:210px;top:-20px;left:-20px;border-style:dashed;opacity:.6}.project-glyph{position:absolute;inset:43px;display:grid;place-items:center;background:#fff9;color:#527da2;border:1px solid #bccfdf66;border-radius:21px;transform:rotate(-8deg);box-shadow:0 12px 24px #25445e09;transition:transform .4s}.project-glyph .icon{width:37px;height:37px;transform:rotate(8deg);stroke-width:1.2}.project-custom .project-glyph{background:#284b68;color:#b9d9f6;border-color:#6889a644}.project:hover .project-glyph{transform:rotate(0) translateY(-4px)}.mini-node{position:absolute;border-radius:7px;background:#fff;border:1px solid #d5e1ea;width:29px;height:29px;display:grid;place-items:center;color:#6c94b6}.mini-node .icon{width:14px;height:14px}.mini-one{top:21px;right:21px;transform:rotate(8deg)}.mini-two{bottom:24px;left:8px;transform:rotate(-8deg)}.project-custom .mini-node{background:#2e4d67;border-color:#526c8355;color:#a6c7e5}.project-meta{font-size:8px;letter-spacing:1.3px;font-weight:550;color:#7890a5;margin-top:24px}.project h3{font-family:var(--heading);font-size:20px;line-height:1.5;font-weight:650;letter-spacing:-.7px;margin-top:9px}.project h3 a{display:flex;align-items:center;justify-content:space-between;gap:10px}.project h3 .icon{width:16px;height:16px}.project>p{font-size:12px;line-height:1.85;color:var(--muted);max-width:320px;margin-top:9px}.project-note{border-top:1px solid var(--line);margin-top:40px;padding-top:25px;font-size:11px;line-height:1.8;color:#7f8c98;display:flex;justify-content:space-between;gap:25px}.project-note>a{color:#365e83;white-space:nowrap}.project-note .icon{width:15px;height:15px;margin-left:13px}.team{background:#f7f9fb;border-top:1px solid #edf1f5}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-photo{height:240px;border-radius:5px;background:#eaf0f5;overflow:hidden}.portrait-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;color:#9cafc0;background:radial-gradient(ellipse at center,#f4f7fa,#eaf0f5)}.portrait-placeholder .icon{width:43px;height:43px;stroke-width:.8}.portrait-placeholder>span{font-size:10px}.team-member h3{font-family:var(--heading);font-size:16px;font-weight:600;margin-top:23px;letter-spacing:-.4px}.team-role{color:#6e8ca6;font-size:10px;margin-top:7px}.team-member>p{font-size:12px;line-height:1.8;max-width:290px;color:#8a96a1;margin-top:12px}.contact{background:#132c44;color:#fff}.contact-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding-block:80px}.contact .eyebrow{color:#92abc2;font-size:8px;letter-spacing:1.3px}.contact h2{font-family:var(--heading);font-size:clamp(34px,3.4vw,47px);font-weight:500;line-height:1.27;letter-spacing:-1.7px;margin-top:25px}.contact h2 span{color:#91b6dc}.contact-inner>div>p{font-size:12px;line-height:1.85;color:#a6b8c8;margin-top:22px}.button-light{background:#edf4fa;color:#16334c;margin-top:27px;gap:15px}.button-light:hover{background:#fff}.contact-inner>div>.contact-pending{font-size:10px;color:#94a9bc;margin-top:12px}.contact-details{align-self:center;max-width:310px;justify-self:end;width:100%}.contact-detail{border-bottom:1px solid #ffffff1a;padding-block:22px}.contact-detail>span{display:block;font-size:8px;letter-spacing:1.5px;color:#839db5;margin-bottom:12px}.contact-detail>p,.contact-detail>a{font-size:12px;color:#ccdae5;line-height:1.8}.contact-detail>a{display:flex;justify-content:space-between;align-items:center}.contact-detail .icon{width:15px;height:15px}.contact-signature{display:flex;align-items:center;gap:20px;margin-top:30px;color:#7e9ab3}.contact-signature>svg{width:30px;height:32px}.contact-signature>span{font-size:11px;line-height:1.7}.footer{border-top:1px solid #ffffff1c;padding-block:32px 23px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer .brand>span{font-size:23px}.footer .brand>svg{width:31px;height:34px}.back-top{font-size:10px;color:#9ab0c4}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:30px;color:#809ab1;font-size:9px;line-height:1.8}.footer-bottom>div{display:flex;gap:15px}.footer-bottom>div:empty{display:none}dialog{color:var(--navy);border:1px solid var(--line);border-radius:12px;max-width:440px;width:calc(100% - 40px);padding:40px;box-shadow:0 20px 80px #0e284433}dialog::backdrop{background:#0c263b88;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:10px;background:none;font-size:28px;color:#7c8fa1;padding:6px}.dialog-icon{display:inline-flex;padding:12px;background:var(--light);border-radius:10px;margin-bottom:20px}dialog h2{font-family:var(--heading);font-size:24px;line-height:1.3;letter-spacing:-.8px}dialog p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:16px}.dialog-ok{margin-top:24px}.reveal{transition:opacity .65s ease,transform .65s ease}.reveal:not(.is-visible){opacity:0;transform:translateY(18px)}.hero-copy{animation:copy-enter .7s ease both}@keyframes copy-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes art-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.load-error{max-width:600px;margin:100px auto;padding:25px}.load-error p{margin-block:25px}@media(min-width:1500px){.hero-layout{padding-block:94px 80px}.hero h1{font-size:55px}.flow-art{max-width:550px}.hero-copy>p{font-size:15px}}@media(max-width:1200px){.container{width:calc(100% - 80px)}.desktop-nav{gap:18px;margin-right:10px}.brand>span{font-size:23px}.header-inner{gap:18px}.hero-layout{gap:0;padding-block:65px 50px}.hero h1{font-size:43px}.flow-output{font-size:8px;padding:10px 7px;gap:5px}.flow-output .icon{width:11px;height:11px}.section{padding-block:80px}.problem-grid{gap:19px}.problem h3{font-size:14px}.steps{gap:32px}.project-grid{gap:23px}.contact-inner{gap:50px}}@media(max-width:1059px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;padding:13px 5px;width:32px;min-height:44px;justify-content:center}.menu-toggle span{width:22px;height:1.5px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:15px 40px 25px;box-shadow:0 15px 20px #16334b0c;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f0f3f5;font-size:14px}.mobile-nav .icon{width:17px;height:17px}.hero h1{font-size:37px;letter-spacing:-1.6px}.hero-copy>p{font-size:13px}.hero-button{font-size:10px;gap:10px;padding:17px}.flow-output{left:71%;font-size:7px}.art-label{font-size:6px}.art-caption{font-size:7px}.problem-grid{grid-template-columns:repeat(3,1fr);gap:30px}.problem h3{max-width:200px}.problem-grid .problem:nth-child(n+4){margin-top:8px}.section-heading h2{font-size:29px}.section-heading>p{max-width:250px;font-size:12px}.project-visual{height:210px}.project h3{font-size:18px}.team-photo{height:210px}.team-member h3{font-size:14px}.contact-inner{grid-template-columns:1.4fr 1fr}.contact h2{font-size:36px}}@media(max-width:760px){html{scroll-padding-top:85px}.container{width:calc(100% - 44px)}.header{height:77px}.brand>span{font-size:22px}.brand>svg{width:31px;height:35px}.header-inner{gap:17px}.header-cta{font-size:10px;padding:10px 12px;gap:10px}.header-cta .icon{width:14px;height:14px}.menu-toggle{width:25px}.hero-layout{grid-template-columns:1fr;padding-top:47px;padding-bottom:0}.hero h1{font-size:clamp(34px,6.7vw,45px);line-height:1.22;max-width:560px;letter-spacing:-1.6px;margin-top:21px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero-copy>p{font-size:13px;max-width:500px;margin-top:21px}.hero-button{font-size:11px;padding:18px 19px;gap:14px;margin-top:25px}.hero-note{font-size:9px;margin-top:16px}.flow-art{width:90%;max-width:460px;margin:-8px auto -2px;aspect-ratio:560/410}.flow-lines{top:-10%;height:122%}.orbit{top:2%;width:64%;left:17%}.orbit-inner{width:44%;left:27%;top:15%}.flow-core{top:40%;left:42%}.flow-node{width:10%}.node-one{top:17%}.node-two{top:43%}.node-three{top:68%}.output-one{top:18%}.output-two{top:45%}.output-three{top:71%}.flow-output{font-size:8px;padding:9px 7px;left:73%}.art-label{top:6%;font-size:6px}.art-caption{bottom:3%;font-size:8px;left:20%}.hero-bottom{padding-block:16px;align-items:center}.hero-bottom>span{font-size:7px;letter-spacing:1px;max-width:170px;line-height:1.6}.hero-bottom>a{font-size:9px}.hero-bottom>a span{margin-left:8px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:29px;letter-spacing:-1px;margin-top:15px}.section-heading>p{margin-top:19px;max-width:390px;font-size:12px}.problem-grid{grid-template-columns:repeat(2,1fr);gap:28px 25px}.problem{padding-top:20px}.problem h3{font-size:14px;margin-top:18px}.problem p{font-size:11px;line-height:1.8}.problem-number{top:24px}.problem-grid .problem:nth-child(n+4){margin-top:0}.problem-grid .problem:last-child{grid-column:1/-1;display:grid;grid-template-columns:28px 1fr;gap:0 16px;align-items:start}.problem:last-child h3{margin-top:0;max-width:none;padding-right:18px}.problem:last-child p{grid-column:2;margin-top:7px;max-width:320px}.takeaway{padding:22px 20px;gap:16px;margin-top:30px}.takeaway p{font-size:16px;letter-spacing:-.4px}.takeaway-symbol{font-size:30px}.small-cross{display:none}.steps{grid-template-columns:1fr;gap:30px;margin-top:34px}.step{display:grid;grid-template-columns:40px 1fr;column-gap:18px;padding-top:24px}.step-top{grid-row:1/4;flex-direction:column;justify-content:flex-start;gap:25px;align-items:flex-start;padding-top:5px}.step h3{font-size:24px;margin-top:0}.step p{margin-top:11px;max-width:400px;font-size:12px}.step-caption{margin-top:18px;font-size:8px}.method-foot{margin-top:33px;padding-top:22px;font-size:10px}.method-foot>span{display:block;margin:3px 0 0}.project-grid{grid-template-columns:1fr;gap:34px}.project-visual{height:240px}.project h3{font-size:21px}.project>p{max-width:100%;font-size:12px}.project-meta{margin-top:19px}.project-note{flex-direction:column;gap:13px;margin-top:30px;padding-top:22px}.team-grid{grid-template-columns:1fr;gap:28px}.team-member{display:grid;grid-template-columns:118px 1fr;gap:0 21px;align-content:start}.team-photo{height:150px;grid-row:1/4}.team-member h3{font-size:14px;margin-top:13px;line-height:1.5}.team-role{font-size:10px;margin-top:6px}.team-member>p{font-size:11px;margin-top:10px}.portrait-placeholder .icon{width:33px;height:33px}.portrait-placeholder>span{font-size:8px;text-align:center}.portrait-placeholder{gap:12px}.contact-inner{grid-template-columns:1fr;gap:30px;padding-block:60px 45px}.contact h2{font-size:clamp(32px,7vw,43px);letter-spacing:-1.1px}.contact .eyebrow{font-size:7px;gap:8px;letter-spacing:1px}.contact .tiny-line{width:16px}.contact-details{justify-self:start;max-width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.contact-signature{display:none}.contact-detail>p,.contact-detail>a{font-size:11px}.contact-detail{padding-block:20px}.button-light{font-size:11px}.footer{padding-top:25px}.footer-bottom{flex-direction:column;gap:8px;margin-top:23px;font-size:8px}.footer .brand>span{font-size:21px}.back-top{font-size:9px}.mobile-nav{padding-inline:22px}}@media(max-width:380px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:32px}.hero-button{font-size:10px;width:100%;gap:10px;padding-inline:12px}.flow-art{width:94%}.flow-output{font-size:6px;gap:4px;padding:8px 5px}.flow-output .icon{width:9px;height:9px}.art-caption{font-size:6px}.hero-bottom>span{max-width:140px;font-size:6px}.hero-bottom>a{font-size:8px}.team-member{grid-template-columns:95px 1fr;column-gap:16px}.team-member h3{font-size:12px}.contact-details{grid-template-columns:1fr}.takeaway p{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal:not(.is-visible){opacity:1;transform:none}}
