@font-face{font-family:QuartzSans;src:local('Helvetica Neue');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafaf7;color:#022c59;font-family:QuartzSans,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #01c2f5;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}p{line-height:1.6}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:999;background:#022c59;color:white;padding:16px}.skip-link:focus{top:10px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:16px 4.2%;gap:36px;background:#fff;position:relative;z-index:30;border-bottom:1px solid #e5e8e9}.brand{width:205px;flex-shrink:0}.brand img{width:100%;height:72px;object-fit:contain}#primary-nav{display:flex;align-items:center;gap:32px}#primary-nav a{font-size:13px;line-height:1.5;padding:12px 0;position:relative}#primary-nav a[aria-current=page]:after{content:'';position:absolute;left:0;bottom:3px;width:18px;height:2px;background:#01a9d5}#primary-nav a:hover{color:#008caf}#primary-nav .nav-contact{border:1px solid #ccd5dd;padding:13px 19px;margin-left:12px}#primary-nav .nav-contact span{margin-left:23px}.menu-toggle{display:none;background:none;border:0}.elementor{--e-global-color-primary:#022c59;--e-global-color-secondary:#022c59;--e-global-color-text:#526271;--e-global-color-accent:#01c2f5;--e-global-typography-primary-font-family:Arial;--e-global-typography-primary-font-weight:400;--e-global-typography-text-font-family:Arial;--e-global-typography-text-font-weight:400}body .elementor.elementor .e-con{--container-max-width:100%;--container-default-padding-top:0;--container-default-padding-bottom:0;--container-default-padding-left:0;--container-default-padding-right:0;--gap:0;--widgets-spacing:0px;--border-radius:0}body .elementor.elementor .elementor-widget{margin-bottom:0}body .elementor.elementor .elementor-heading-title{font-family:inherit;color:inherit;font-weight:400;line-height:1.05;letter-spacing:-.055em}.elementor p:last-child{margin-bottom:0}body .elementor.elementor .q-section{padding:100px 5%;display:flex;flex-direction:column;gap:32px}body .elementor.elementor .eyebrow,.eyebrow{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.6}body .elementor.elementor .q-title .elementor-heading-title{font-size:clamp(46px,5.4vw,86px)}body .elementor.elementor .q-heading .elementor-heading-title{font-size:clamp(36px,4.2vw,62px)}body .elementor.elementor .q-copy{font-size:17px;line-height:1.65;color:#5b6976;max-width:650px}body .elementor.elementor .q-copy p{margin:0 0 16px}body .elementor.elementor .q-copy strong{color:#022c59;font-weight:500}body .elementor.elementor .hero{min-height:690px;min-height:calc(100svh - 108px);padding:66px 5% 40px;justify-content:space-between;color:#fff;position:relative;background-size:cover;background-position:center;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,23,43,.67),rgba(1,23,43,.08)),linear-gradient(0deg,rgba(1,23,43,.45),transparent 60%);z-index:-1}body .elementor.elementor .hero .q-title{max-width:1000px;margin-top:34px}body .elementor.elementor .hero .q-title .elementor-heading-title{font-size:clamp(56px,7.7vw,114px);line-height:.99;letter-spacing:-.065em;color:#fff}body .elementor.elementor .hero .hero-caption{font-size:16px;max-width:375px;color:#fff;margin-top:26px;line-height:1.5}body .elementor.elementor .hero-bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:end;margin-top:50px;gap:32px}body .elementor.elementor .hero-bottom .elementor-widget{width:auto;max-width:48%}.hero-location{font-size:11px;line-height:1.8;text-align:right;color:#e6eced}body .elementor.elementor .elementor-button,.q-button{border:0;border-radius:0;background:#022c59;color:#fff;font-size:13px;font-weight:400;letter-spacing:.015em;line-height:1.4;padding:18px 26px;display:inline-block;transition:background .2s,transform .2s}body .elementor.elementor .elementor-button:hover,.q-button:hover{background:#064475;color:#fff;transform:translateY(-2px)}body .elementor.elementor .hero .elementor-button{background:#01c2f5;color:#022c59}body .elementor.elementor .section-head{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:24px;width:100%}body .elementor.elementor .section-head>.elementor-widget{width:auto}body .elementor.elementor .text-link .elementor-button{padding:12px 0 8px;background:transparent!important;color:inherit;border-bottom:1px solid #9aadb9;white-space:nowrap}body .elementor.elementor .intro{display:grid;grid-template-columns:1fr 2fr;gap:65px;border-bottom:1px solid #dce1e2}body .elementor.elementor .intro .q-heading{max-width:820px}body .elementor.elementor .intro .intro-content{display:flex;flex-direction:column;gap:30px}body .elementor.elementor .intro .q-copy{margin-left:auto;max-width:510px}body .elementor.elementor .proof-strip{padding:32px 5%;flex-direction:row;justify-content:space-between;border-bottom:1px solid #dce1e2;gap:32px}body .elementor.elementor .proof-strip .elementor-widget{width:auto}.proof-item{font-size:12px;color:#657582}.proof-item strong{display:block;font-size:27px;letter-spacing:-.04em;color:#022c59;margin-bottom:5px;font-weight:400}body .elementor.elementor .work-section{gap:48px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 28px}.project-image{display:block;position:relative;overflow:hidden;background:#dae1e3;aspect-ratio:1.3}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-image:hover img{transform:scale(1.045)}.image-arrow{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:45px;height:45px;background:#fff;color:#022c59;border-radius:50%;font-size:23px;transition:background .2s}.project-image:hover .image-arrow{background:#01c2f5}.image-label{position:absolute;bottom:20px;left:20px;padding:8px 13px;background:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:24px}.project-caption .eyebrow{font-size:9px;color:#667887;margin-bottom:10px}.project-caption h3{font-size:clamp(22px,2.4vw,35px);font-weight:400;line-height:1.15;letter-spacing:-.04em}.project-index{font-size:12px;color:#7b8b98;padding-top:5px}.project-excerpt{display:none;font-size:14px;color:#637581;max-width:450px;margin-top:12px}.project-controls{display:flex;align-items:center;gap:20px;border-top:1px solid #cbd3d9;border-bottom:1px solid #cbd3d9;padding:20px 0}.status-filters{display:flex;gap:6px;margin-right:auto}.status-filters button,.view-switch button{background:transparent;border:0;padding:11px 14px;font-size:12px}.status-filters button[aria-pressed=true],.view-switch button[aria-pressed=true]{background:#022c59;color:#fff}.sector-select select{max-width:200px;background:transparent;color:#022c59;border:0;border-bottom:1px solid #a4b1bb;padding:10px 20px 10px 0;font-size:12px}.view-switch{display:flex;gap:4px}.project-meta-line{display:flex;justify-content:space-between;gap:20px;margin:18px 0 30px;font-size:11px;color:#667887}.project-browser[data-mode=list] .project-grid{grid-template-columns:1fr;gap:0}.project-browser[data-mode=list] .project-card{display:grid;grid-template-columns:240px 1fr;gap:35px;border-bottom:1px solid #cbd3d9;padding:25px 0}.project-browser[data-mode=list] .project-image{aspect-ratio:1.5}.project-browser[data-mode=list] .project-excerpt{display:block}.project-browser[data-mode=list] .image-label{display:none}.project-card[hidden],.empty-projects[hidden]{display:none!important}.empty-projects{padding:60px 0}.empty-projects h3{font-weight:400;font-size:30px}.empty-projects p{margin:15px 0 25px}body .elementor.elementor .navy-section{background:#022c59;color:#fff}body .elementor.elementor .navy-section .q-copy{color:#c3d0dc}body .elementor.elementor .lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:32px}body .elementor.elementor .life-step{padding:28px 24px 0 0;border-top:1px solid #54718e;gap:32px;flex-direction:column}body .elementor.elementor .life-step+.life-step{padding-left:24px;border-left:1px solid #54718e}body .elementor.elementor .life-step .eyebrow{color:#01c2f5}body .elementor.elementor .life-step .elementor-heading-title{font-size:25px;letter-spacing:-.035em;line-height:1.15;min-height:58px}body .elementor.elementor .life-step .q-copy{font-size:13px;line-height:1.6;color:#c3d0dc}body .elementor.elementor .split-section{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}body .elementor.elementor .split-copy{display:flex;flex-direction:column;gap:28px}body .elementor.elementor .editorial-image img{width:100%;aspect-ratio:1.05;object-fit:cover}body .elementor.elementor .impact-section{background:#eef0eb}body .elementor.elementor .page-intro{padding-top:78px;padding-bottom:65px;gap:30px}body .elementor.elementor .page-intro .q-title{max-width:950px}body .elementor.elementor .page-intro .q-copy{max-width:580px;margin-left:auto}body .elementor.elementor .project-page{padding-top:0}body .elementor.elementor .full-image{padding:0 5%}body .elementor.elementor .full-image img{width:100%;max-height:730px;object-fit:cover}body .elementor.elementor .case-image img{object-fit:contain;max-height:none;background:#eee}body .elementor.elementor .fact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:40px;padding-bottom:40px;border-bottom:1px solid #d1d9de}.fact strong{display:block;font-weight:400;font-size:18px;margin-top:9px}.fact{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#667887}.fact strong{color:#022c59;text-transform:none;letter-spacing:-.02em}body .elementor.elementor .source-note{font-size:11px;line-height:1.7;color:#6d7b86}body .elementor.elementor .source-note a{text-decoration:underline;text-underline-offset:3px}body .elementor.elementor .service-list{gap:0;padding-top:0}body .elementor.elementor .service-row{display:grid;grid-template-columns:.3fr 1fr 1.4fr;gap:40px;border-top:1px solid #cbd3d9;padding:35px 0}body .elementor.elementor .service-row .elementor-heading-title{font-size:37px}body .elementor.elementor .service-row .q-copy{font-size:16px}body .elementor.elementor .contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;padding-top:20px}.contact-details h3{font-size:22px;font-weight:400;margin:28px 0 12px}.contact-details p{font-size:15px;color:#5b6976}.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-details .small{font-size:11px;margin-top:15px;max-width:340px}.demo-form{background:#f0f2ef;padding:38px}.form-intro{margin-bottom:30px}.form-intro p{font-size:22px;line-height:1.3;letter-spacing:-.035em;margin-top:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.demo-form label{display:block;font-size:12px;margin-bottom:24px}.demo-form label span{color:#7b8a93}.demo-form input,.demo-form select,.demo-form textarea{width:100%;border:0;border-bottom:1px solid #a5b0b6;background:transparent;border-radius:0;padding:13px 0;font-size:14px;color:#022c59;resize:vertical}.demo-form select{padding-right:20px}.form-note{font-size:11px;color:#667783;margin-bottom:20px}.demo-form [role=status]{font-size:14px;margin-top:20px}.demo-form [role=status]:empty{display:none}.site-footer{background:#022c59;color:#fff;padding:65px 5% 28px}.footer-top{padding-bottom:65px;border-bottom:1px solid #3d5f80}.footer-top .eyebrow{color:#90adc6;margin-bottom:30px}.footer-invite{font-size:clamp(42px,6.8vw,96px);line-height:1.02;letter-spacing:-.055em;display:block;position:relative}.footer-invite span{position:absolute;right:10px;bottom:0;color:#01c2f5;transition:transform .25s}.footer-invite:hover span{transform:translate(8px,-8px)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:30px;font-size:11px;line-height:1.8;color:#b5c7d6}.footer-bottom strong{font-size:12px;letter-spacing:.06em;color:#fff}.footer-bottom p{margin-top:7px}.demo-label{font-size:10px;color:#90adc6}.error-page{padding:120px 5%}.error-page h1{font-size:60px;letter-spacing:-.05em;margin:35px 0}.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.will-reveal.is-visible{opacity:1;transform:none}
@media(min-width:1500px){body .elementor.elementor .q-section{padding-left:max(5%,calc((100vw - 1450px)/2));padding-right:max(5%,calc((100vw - 1450px)/2))}}
@media(max-width:1024px){#primary-nav{gap:20px}.site-header{padding:14px 4%}.brand{width:175px}body .elementor.elementor .q-section{padding:70px 5%}body .elementor.elementor .hero{min-height:650px;padding:55px 5% 35px}body .elementor.elementor .lifecycle{grid-template-columns:repeat(3,1fr);gap:35px 0}body .elementor.elementor .life-step+.life-step{border-left:0}body .elementor.elementor .life-step{padding-left:0!important}body .elementor.elementor .intro{grid-template-columns:.6fr 2fr;gap:30px}body .elementor.elementor .page-intro{padding-bottom:45px}body .elementor.elementor .project-page{padding-top:0}body .elementor.elementor .full-image{padding:0 5%}body .elementor.elementor .contact-layout{grid-template-columns:.7fr 1.3fr;gap:5%}.demo-form{padding:26px}.project-controls{flex-wrap:wrap}.sector-select{margin-left:auto}.view-switch{margin-left:auto}body .elementor.elementor .service-row{gap:25px}}
@media(max-width:760px){.site-header{height:86px;padding:10px 5%}.brand{width:165px}.brand img{height:61px}.menu-toggle{display:flex;gap:16px;align-items:center;font-size:12px;padding:12px 0}.menu-toggle span{font-size:18px}#primary-nav{display:none;position:absolute;top:85px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:15px 5% 30px;border-bottom:1px solid #cbd3d9;box-shadow:0 20px 25px #022c5910}#primary-nav.is-open{display:flex}#primary-nav a{font-size:22px;padding:13px 0}#primary-nav a[aria-current=page]:after{bottom:6px}#primary-nav .nav-contact{margin:12px 0 0;padding:14px 18px}body .elementor.elementor .q-section{padding:58px 6%;gap:25px}body .elementor.elementor .hero{min-height:660px;min-height:calc(100svh - 86px);padding:35px 6% 30px;background-position:60% center}body .elementor.elementor .hero .q-title .elementor-heading-title{font-size:clamp(49px,10.8vw,75px);line-height:1.04;letter-spacing:-.055em}body .elementor.elementor .hero .q-title{margin-top:24px}body .elementor.elementor .hero .eyebrow{max-width:300px;font-size:8px;line-height:1.9}body .elementor.elementor .hero .hero-caption{font-size:14px;max-width:270px;margin-top:22px}body .elementor.elementor .hero-bottom{margin-top:35px;gap:20px;align-items:end}body .elementor.elementor .hero-bottom .elementor-widget{max-width:60%}.hero-location{font-size:9px}body .elementor.elementor .hero .elementor-button{font-size:12px;padding:16px 18px}body .elementor.elementor .intro{display:flex;gap:25px}body .elementor.elementor .intro .q-copy{margin-left:0;font-size:15px}body .elementor.elementor .q-heading .elementor-heading-title{font-size:37px}body .elementor.elementor .proof-strip{padding:25px 6%;display:grid;grid-template-columns:1fr 1fr;gap:25px}.proof-item{font-size:10px}.proof-item strong{font-size:24px}body .elementor.elementor .section-head{align-items:start;gap:22px;flex-direction:column}.project-grid{grid-template-columns:1fr;gap:38px}.project-image{aspect-ratio:1.12}.project-caption{padding-top:18px}.project-caption h3{font-size:28px}body .elementor.elementor .lifecycle{grid-template-columns:1fr;gap:28px;margin-top:15px}body .elementor.elementor .life-step{padding:22px 0 0;display:grid;grid-template-columns:35px 1fr;gap:16px}body .elementor.elementor .life-step .q-copy{grid-column:2;font-size:14px}body .elementor.elementor .life-step .elementor-heading-title{min-height:0;font-size:26px}body .elementor.elementor .split-section{display:flex;gap:36px}body .elementor.elementor .split-copy{gap:23px}body .elementor.elementor .editorial-image{width:100%}body .elementor.elementor .editorial-image img{aspect-ratio:1.15}body .elementor.elementor .page-intro .q-title .elementor-heading-title{font-size:53px}body .elementor.elementor .page-intro .q-copy{font-size:15px;margin-left:0}body .elementor.elementor .project-page{padding-top:0}.project-controls{gap:16px;padding:15px 0}.status-filters{width:100%;justify-content:space-between}.status-filters button{padding:11px 12px}.sector-select{margin-left:0}.view-switch{margin-left:auto}.view-switch button{padding:9px}.project-meta-line{font-size:10px;align-items:start}.project-meta-line span:last-child{max-width:180px;text-align:right}.project-browser[data-mode=list] .project-card{grid-template-columns:100px 1fr;gap:18px;padding:20px 0}.project-browser[data-mode=list] .project-image{aspect-ratio:1}.project-browser[data-mode=list] .image-arrow{display:none}.project-browser[data-mode=list] h3{font-size:23px}.project-browser[data-mode=list] .project-caption{padding-top:0}.project-browser[data-mode=list] .project-excerpt{font-size:12px}.project-browser[data-mode=list] .project-index{display:none}body .elementor.elementor .full-image{padding:0 6%}body .elementor.elementor .fact-row{grid-template-columns:1fr 1fr;gap:30px}body .elementor.elementor .service-list{padding-top:0}body .elementor.elementor .service-row{grid-template-columns:30px 1fr;gap:20px;padding:28px 0}body .elementor.elementor .service-row .q-copy{grid-column:2;font-size:15px}body .elementor.elementor .service-row .elementor-heading-title{font-size:32px}body .elementor.elementor .contact-layout{display:flex;gap:40px}.demo-form{padding:25px 20px}.form-row{grid-template-columns:1fr;gap:0}.site-footer{padding:50px 6% 25px}.footer-top{padding-bottom:40px}.footer-invite{font-size:43px}.footer-invite span{font-size:35px;right:0}.footer-bottom{flex-direction:column;gap:25px}.error-page h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}

body .elementor.elementor .hero::before{z-index:0;inset:0;width:100%;height:100%;transform:none;pointer-events:none}body .elementor.elementor .hero>.elementor-element{z-index:1}
body .elementor.elementor .hero::before{content:''}
