@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--navy:#061d4b;--ink:#0a1c43;--blue:#0861dc;--pale:#f3f7fd;--line:#dfe7f2;--muted:#45516a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}.shell{max-width:1180px;margin:0 auto;padding-left:28px;padding-right:28px}header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid #e7ebf2;height:84px;position:sticky;top:0}.nav{align-items:center;gap:42px;height:100%;display:flex;position:relative}.logo{letter-spacing:-1.6px;white-space:nowrap;align-items:center;gap:10px;font:700 28px Manrope;display:inline-flex}.mark{width:27px;height:28px;display:inline-block;position:relative}.mark i{background:#0965dd;border-radius:50%;width:7px;height:7px;position:absolute}.mark i:first-child{top:0;left:10px}.mark i:nth-child(2){top:7px;left:2px}.mark i:nth-child(3){top:7px;left:17px}.mark i:nth-child(4){top:14px;left:10px}.mark i:nth-child(5){top:21px;left:2px}nav{align-self:stretch;align-items:center;gap:31px;margin-left:auto;display:flex}nav a{align-items:center;height:100%;font-size:14px;font-weight:500;display:flex;position:relative}nav a.active{color:var(--blue)}nav a.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:22px;left:0;right:0}.contact-link{color:#fff;background:var(--navy);border-radius:6px;padding:12px 25px;font-size:14px;font-weight:600}.menu{color:var(--ink);background:0 0;border:0;margin-left:auto;display:none}.hero{background:linear-gradient(90deg,#fff 0%,#f8fbff 45%,#eaf3fb 100%);overflow:hidden}.hero-inner{align-items:center;height:505px;display:flex;position:relative}.hero-copy{z-index:2;width:53%;padding-bottom:8px}.eyebrow{text-transform:uppercase;letter-spacing:1.3px;color:var(--blue);margin:0 0 14px;font-size:11px;font-weight:700}h1,h2,h3,h4{font-family:Manrope,sans-serif}h1{letter-spacing:-2.4px;max-width:590px;margin:0 0 19px;font-size:48px;line-height:1.23}h1 em{color:var(--blue);font-style:normal}.intro{color:#17223a;max-width:555px;margin:0;font-size:16px;line-height:1.63}.actions{align-items:center;gap:26px;margin-top:31px;display:flex}.button{background:var(--blue);color:#fff;white-space:nowrap;border-radius:7px;align-items:center;gap:14px;padding:14px 21px;font-size:14px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#004cb3;transform:translateY(-2px)}.button.secondary{color:var(--ink);background:0 0;padding-left:0}.button.secondary:hover{color:var(--blue);background:0 0}.city{background:linear-gradient(135deg,#085abc14,#3a94bf 25%,#07325e 100%);width:56%;height:100%;position:absolute;top:0;right:-4%;overflow:hidden}.halo{background:radial-gradient(circle,#ffffffeb 0,#f8fcff5c 27%,#0000 68%);border-radius:50%;width:420px;height:420px;position:absolute;top:-120px;left:-135px}.buildings{align-items:end;gap:15px;height:270px;display:flex;position:absolute;bottom:76px;left:95px;right:0}.buildings i{background:linear-gradient(90deg,#0b466b,#367fa3 44%,#134b70);width:52px;display:block;position:relative;box-shadow:inset -7px 0 #00000026}.buildings i:after{content:"";background:repeating-linear-gradient(#c6efffcc 0 3px,#0000 3px 16px);position:absolute;inset:16px 8px}.buildings i:first-child{height:98px}.buildings i:nth-child(2){height:162px}.buildings i:nth-child(3){width:61px;height:224px}.buildings i:nth-child(4){width:68px;height:194px}.buildings i:nth-child(5){height:132px}.buildings i:nth-child(6){height:177px}.network{opacity:.62;width:100%;height:100%;position:absolute;inset:0}.network path{fill:none;stroke:#d8f7ff;stroke-width:1px}.network circle{fill:#fff;filter:drop-shadow(0 0 5px #fff)}.bridge{background:linear-gradient(#d9f1fd4d,#0000);border-top:3px solid #d8effc;width:82%;height:115px;position:absolute;bottom:0;right:0;transform:skew(-36deg)}.bridge span{background:#d8effc;width:1px;height:115px;position:absolute;bottom:0}.bridge span:first-child{left:12%}.bridge span:nth-child(2){height:150px;left:28%}.bridge span:nth-child(3){height:182px;left:48%}.bridge span:nth-child(4){height:150px;left:70%}.bridge span:nth-child(5){left:88%}.section{padding-top:52px;padding-bottom:52px}h2{text-align:center;letter-spacing:-1.25px;margin:0 0 22px;font-size:27px}.services{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.service{border:1px solid var(--line);border-radius:10px;min-height:260px;padding:17px;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 12px #1936630a}.service:hover{transform:translateY(-5px);box-shadow:0 12px 24px #1936631f}.icon{width:54px;height:54px;color:var(--blue);background:#edf4ff;border-radius:50%;place-items:center;margin-bottom:13px;display:grid}.service h3{letter-spacing:-.55px;margin:0 0 13px;font-size:16px;line-height:1.34}.service p{color:#3e4961;margin:0 0 12px;font-size:13px;line-height:1.48}.service a{color:var(--blue);margin-top:auto;display:inline-flex}.approach{background:linear-gradient(#fff,#fff)}.approach>div{background:var(--pale);border-radius:11px;padding:49px 16px 13px;position:relative}.step-grid{grid-template-columns:repeat(5,1fr);display:grid}.step{text-align:center;padding:0 13px;position:relative}.step:not(:last-child):after{content:"";border-top:1px dashed #9fb7d9;height:1px;position:absolute;top:65px;left:64%;right:-36%}.step-number{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid;position:absolute;top:-38px;left:calc(50% - 13px)}.step-icon{height:55px;color:var(--navy);place-items:center;display:grid}.step-icon svg{stroke-width:1.6px;width:40px;height:40px}.step h3{margin:7px 0;font-size:14px}.step p{color:#39465d;margin:0;font-size:11px;line-height:1.42}.experience{color:#fff;background:radial-gradient(circle at 88% 8%,#164d87,#0000 23%),linear-gradient(110deg,#03173e,#072a58);padding:35px 0}.experience-grid{grid-template-columns:1.15fr 1.85fr;align-items:center;gap:50px;display:grid}.experience .eyebrow{color:#9ec9ff}.experience h2{text-align:left;color:#fff;margin:0 0 11px;line-height:1.12}.experience p:not(.eyebrow){color:#e0eafa;max-width:355px;margin-bottom:13px;font-size:13px;line-height:1.46}.experience .secondary{color:#fff}.metrics{grid-template-columns:repeat(3,1fr);display:grid}.metrics article{text-align:center;border-left:1px solid #b0d7ff52;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:140px;display:flex}.metrics svg{color:#50a0ff;width:29px}.metrics strong{letter-spacing:-1.5px;font:500 29px Manrope}.metrics span{color:#dbe8f8;font-size:12px}.contact-card{background:#f0f5fc;border-radius:11px;grid-template-columns:300px 1fr auto;align-items:center;gap:34px;padding:19px 24px 19px 0;display:grid;overflow:hidden}.office{background:linear-gradient(135deg,#d8e4e9,#98aebb);border-radius:0 10px 10px 0;height:150px;position:relative;overflow:hidden}.office:after{content:"";opacity:.6;background:repeating-linear-gradient(90deg,#d5e3e9 0 24px,#b7ccd5 24px 27px);width:200px;height:120px;position:absolute;top:12px;right:-45px}.desk{z-index:2;background:#564c46;width:195px;height:33px;position:absolute;bottom:19px;right:14px;transform:skew(-14deg)}.plant{z-index:3;background:#2d4036;border-radius:50% 50% 0 0;width:12px;height:56px;position:absolute;bottom:33px;left:48px;box-shadow:-14px -15px #345a40,12px -22px #466f50,-22px -35px #547e53,25px -40px #3e6249}.contact-copy .eyebrow{margin-bottom:5px}.contact-copy h2{text-align:left;margin:0 0 6px;font-size:24px}.contact-copy>p:not(.eyebrow){margin:0 0 16px;font-size:13px;line-height:1.45}.details{color:#1c2944;gap:27px;font-size:12px;display:flex}.details span{align-items:center;gap:7px;display:flex}.details svg{width:17px;color:var(--blue)}footer{color:#fff;background:linear-gradient(120deg,#03173e,#061b45);padding:31px 0}.footer-grid{grid-template-columns:1.4fr .9fr 1.35fr .9fr;gap:45px;display:grid}.footer-grid .logo{font-size:24px}.footer-grid p{color:#d6e2f3;max-width:180px;font-size:13px;line-height:1.55}.footer-grid h4{margin:0 0 10px;font-size:13px}.footer-grid a,.footer-grid small{color:#d6e2f3;font-size:11px;line-height:1.9;display:block}.footer-grid small{margin-top:11px}@media (width<=850px){header{height:70px}.nav{gap:20px}nav,.contact-link{display:none}.menu{display:block}.mobile-nav{background:#fff;gap:13px;padding:15px 28px 20px;display:grid;position:absolute;top:69px;left:0;right:0;box-shadow:0 9px 15px #0000001a}.hero-inner{align-items:flex-start;height:auto;min-height:655px;padding-top:57px}.hero-copy{width:100%}.city{opacity:.86;width:100%;height:290px;top:auto;bottom:0;right:0}.hero-copy{padding-bottom:235px}h1{max-width:620px;font-size:42px}.services{grid-template-columns:repeat(2,1fr)}.service{min-height:220px}.experience-grid{grid-template-columns:1fr;gap:20px}.metrics{max-width:600px}.contact-card{grid-template-columns:200px 1fr}.contact-card>.button{grid-column:2;justify-self:start}.office{grid-row:span 2;height:190px}.footer-grid{grid-template-columns:1.5fr 1fr 1.3fr}}@media (width<=580px){.shell{padding-left:20px;padding-right:20px}.logo{font-size:24px}.hero-inner{min-height:690px;padding-top:44px}h1{letter-spacing:-1.8px;font-size:35px}.intro{font-size:15px}.actions{flex-wrap:wrap;gap:16px}.city{height:275px}.buildings{gap:8px;left:35px}.buildings i{width:38px}.buildings i:nth-child(3),.buildings i:nth-child(4){width:45px}.section{padding-top:39px;padding-bottom:39px}h2{font-size:25px}.services{grid-template-columns:1fr}.service{min-height:0;padding:20px}.approach>div{padding:22px 18px 10px}.step-grid{display:block}.step{text-align:left;padding:0 0 25px 59px}.step:not(:last-child):after{border-top:0;border-left:1px dashed #9fb7d9;height:auto;inset:48px auto -2px 25px}.step-number{top:4px;left:13px}.step-icon{height:32px;position:absolute;top:39px;left:0}.step-icon svg{width:29px;height:29px}.step h3{margin:0 0 6px;font-size:16px}.step p{font-size:12px}.experience{padding:36px 0}.experience h2{font-size:26px}.metrics{grid-template-columns:1fr}.metrics article{border-top:1px solid #b0d7ff42;border-left:0;min-height:102px}.contact-card{grid-template-columns:1fr;gap:19px;padding:0 20px 22px}.office{border-radius:0;grid-row:auto;height:170px;margin:0 -20px}.contact-card>.button{grid-column:auto}.details{gap:8px;display:grid}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:span 2}.hero-inner{min-height:0;display:block}.hero-copy{padding-bottom:0}.city{width:100%;margin-top:20px;position:relative;bottom:auto;right:auto}}.city{background:#e9f4fb}.city:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#fffffff0 0%,#ffffffb8 18%,#fff0 47%);position:absolute;inset:0}.city img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}@media (width<=580px){.city:after{background:linear-gradient(#f7fbff3d,#0000 22%)}.city img{object-position:58% center}}.contact-page{background:#f7faff;min-height:calc(100vh - 84px)}.contact-hero{background:linear-gradient(110deg,#fff 0%,#f0f7ff 65%,#dfeefa 100%);border-bottom:1px solid #e2eaf4;padding:77px 0 70px}.contact-hero h1{max-width:680px;margin-bottom:15px}.contact-hero>div>p:not(.eyebrow){color:#35445f;max-width:570px;font-size:17px;line-height:1.6}.contact-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:65px;padding-top:65px;padding-bottom:76px;display:grid}.contact-aside{padding:17px 0}.contact-aside h2,.form-card h2{text-align:left;margin-bottom:12px;font-size:27px}.contact-aside>p{color:#47556e;max-width:380px;margin:0 0 31px;line-height:1.6}.contact-method{color:var(--blue);align-items:center;gap:15px;margin:19px 0;display:flex}.contact-method>svg{width:21px}.contact-method div{color:var(--ink);gap:3px;font-size:14px;display:grid}.contact-method strong{font:700 12px Manrope,sans-serif}.contact-method a,.contact-method span{color:#43516b}.form-card{background:#fff;border:1px solid #dfe7f2;border-radius:12px;padding:38px;box-shadow:0 12px 35px #112f5914}.form-intro{color:#50607a;margin:-2px 0 27px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-grid label{color:#17294d;gap:8px;font:700 13px Manrope,sans-serif;display:grid}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfdbea;border-radius:6px;outline:none;padding:12px 13px;font:400 15px DM Sans,sans-serif;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:125px}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0861dc1f}.privacy{color:#647188;margin:20px 0;font-size:12px;line-height:1.5}form button.button{cursor:pointer;border:0;font-family:DM Sans,sans-serif}form button.button:disabled{opacity:.65;cursor:wait;transform:none}.form-error{color:#a22020;background:#fff1f1;border-radius:6px;margin:0 0 16px;padding:11px 13px;font-size:13px;line-height:1.45}.honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.success-message{flex-direction:column;justify-content:center;align-items:flex-start;min-height:340px;display:flex}.success-message>svg{color:var(--blue);width:46px;height:46px;margin-bottom:19px}.success-message h2{margin-bottom:10px}.success-message p{color:#4d5b72;max-width:430px;margin:0 0 25px;line-height:1.6}@media (width<=850px){.contact-layout{grid-template-columns:1fr;gap:22px;padding-top:38px}.contact-aside{padding:0}.contact-aside>p{max-width:580px}.contact-hero{padding:58px 0}}@media (width<=580px){.contact-hero{padding:45px 0 40px}.contact-hero h1{font-size:36px}.contact-layout{padding-bottom:42px}.form-card{padding:26px 20px}.form-grid{grid-template-columns:1fr;gap:17px}.form-grid .full{grid-column:auto}.contact-aside h2,.form-card h2{font-size:24px}}#home>#contact{display:none}#services.section{padding-top:72px;padding-bottom:76px}#services h2{margin-bottom:30px}#services .services{gap:20px}#services .service{isolation:isolate;color:#fff;background:linear-gradient(#02163c1a 0%,#03183df5 82%);border:0;flex-direction:column;min-height:335px;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 9px 23px #0d264c26}#services .service-image{z-index:0;object-fit:cover;object-position:center;opacity:.72;width:100%;height:100%;position:absolute;inset:0}#services .service:after{content:"";z-index:0;background:linear-gradient(#03183d7a 0%,#03183df5 82%);position:absolute;inset:0}#services .service:hover{transform:translateY(-7px);box-shadow:0 17px 30px #0d264c3b}#services .service .icon{z-index:1;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff2e;border:1px solid #ffffff59;position:relative}#services .service h3,#services .service p,#services .service a{z-index:1;position:relative}#services .service h3{color:#fff;margin-top:48px;font-size:18px}#services .service p{color:#ffffffe0;font-size:14px;line-height:1.58}#services .service>span{z-index:1;color:#8ec2ff;margin-top:auto;display:inline-flex;position:relative}@media (width<=850px){#services.section{padding-top:55px;padding-bottom:55px}#services .service{min-height:290px}#services .service h3{margin-top:26px}}@media (width<=580px){#services.section{padding-top:43px;padding-bottom:43px}#services .service{min-height:275px}}.services-menu{align-items:center;height:100%;display:flex;position:relative}.services-menu summary{cursor:pointer;align-items:center;gap:7px;font-size:14px;font-weight:500;list-style:none;display:flex}.services-menu summary::-webkit-details-marker{display:none}.services-menu summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .2s;transform:rotate(45deg)translateY(-2px)}.services-menu[open] summary:after{transform:rotate(225deg)translate(-2px,-1px)}.services-popover{background:#fff;border:1px solid #dbe5f1;border-radius:9px;width:274px;padding:9px;position:absolute;top:67px;right:-30px;box-shadow:0 14px 30px #0a1c4326}.services-popover a{border-radius:6px;height:auto;padding:11px 13px;font-size:13px;line-height:1.3;display:block}.services-popover a:hover{color:var(--blue);background:#f0f6ff}.mobile-services{display:none}@media (width<=850px){.services-menu{display:none}.mobile-services{display:block}.mobile-services summary{cursor:pointer;font-weight:500;list-style:none}.mobile-services summary::-webkit-details-marker{display:none}.mobile-services summary:after{content:" +";color:var(--blue);margin-left:5px}.mobile-services[open] summary:after{content:" −"}.mobile-services div{border-left:1px solid #d7e1ee;gap:8px;margin:9px 0 4px 12px;padding-left:13px;display:grid}.mobile-services a{color:#46546d;font-size:13px}}.service-page{background:#fff}.service-hero{background:#061d4b;height:460px;position:relative;overflow:hidden}.service-hero>img{object-fit:cover;object-position:center 34%;width:100%;height:100%}.service-hero-overlay{color:#fff;background:linear-gradient(90deg,#031333eb,#03133399 48%,#03133314);position:absolute;inset:0}.back-link{color:#d8eaff;margin-top:34px;font-size:13px;display:inline-block}.service-hero-copy{max-width:640px;padding-top:56px}.service-hero .icon{color:#fff;background:#ffffff2b;border:1px solid #ffffff52;margin-bottom:17px}.service-hero .eyebrow{color:#96c7ff}.service-hero h1{margin:0 0 13px;font-size:46px}.service-hero-copy>p:last-child{color:#e6effc;max-width:570px;font-size:17px;line-height:1.6}.service-content{grid-template-columns:.8fr 1.25fr;gap:70px;padding-top:80px;padding-bottom:85px;display:grid}.service-intro h2{text-align:left;font-size:31px;line-height:1.25}.service-intro>p:not(.eyebrow){color:#47556d;margin-bottom:27px;line-height:1.65}.service-columns{gap:18px;display:grid}.service-columns article{background:#fbfdff;border:1px solid #e0e8f2;border-radius:10px;padding:23px 24px}.service-columns h3{margin:0 0 11px;font-size:16px}.service-columns ul{margin:0;padding:0;list-style:none}.service-columns li{color:#4a5870;margin:9px 0;padding-left:18px;font-size:14px;line-height:1.5;position:relative}.service-columns li:before{content:"•";color:#0861dc;font-weight:700;position:absolute;left:0}@media (width<=850px){.service-content{grid-template-columns:1fr;gap:34px;padding-top:55px;padding-bottom:55px}.service-hero h1{font-size:40px}}@media (width<=580px){.service-hero{height:500px}.service-hero>img{object-position:center}.service-hero-overlay{background:linear-gradient(90deg,#031333e8,#0313338c)}.service-hero-copy{padding-top:49px}.service-hero h1{font-size:34px}.service-hero-copy>p:last-child{font-size:15px}.service-content{padding-top:40px;padding-bottom:45px}.service-intro h2{font-size:27px}}.experience-page{background:#fff}.experience-page-hero{background:linear-gradient(110deg,#fff 0%,#f2f7fe 64%,#dcecf9 100%);border-bottom:1px solid #dfe8f3;padding:86px 0 80px}.experience-page-hero h1{max-width:720px;margin:0 0 16px}.experience-page-hero>div>p:last-child{color:#42516a;max-width:675px;font-size:17px;line-height:1.65}.capabilities{grid-template-columns:.78fr 1.25fr;align-items:start;gap:68px;padding-top:80px;padding-bottom:82px;display:grid}.capabilities-intro h2{text-align:left;font-size:31px;line-height:1.3}.capabilities-intro>p:last-child{color:#47556d;line-height:1.65}.capability-grid{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.capability-grid article{background:#fbfdff;border:1px solid #e0e8f2;border-radius:10px;padding:23px}.capability-grid .icon{margin-bottom:17px}.capability-grid h3{margin:0 0 9px;font-size:16px}.capability-grid p{color:#4c5970;margin:0;font-size:14px;line-height:1.55}.experience-band{color:#fff;background:linear-gradient(110deg,#041b47,#0b376e);padding:62px 0}.experience-band>div{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.experience-band .eyebrow{color:#92c3ff}.experience-band h2{text-align:left;color:#fff;margin:0;font-size:29px;line-height:1.28}.experience-band>div>p{color:#dfeafb;margin:0;font-size:15px;line-height:1.65}.experience-cta{text-align:center;padding-top:66px;padding-bottom:71px}.experience-cta h2{margin-bottom:21px;font-size:29px}@media (width<=850px){.capabilities{grid-template-columns:1fr;gap:30px;padding-top:55px;padding-bottom:55px}.experience-band>div{grid-template-columns:1fr;gap:20px}.experience-page-hero{padding:60px 0}}@media (width<=580px){.experience-page-hero{padding:45px 0}.experience-page-hero h1{font-size:35px}.experience-page-hero>div>p:last-child{font-size:15px}.capability-grid{grid-template-columns:1fr}.capabilities-intro h2{font-size:27px}.experience-band{padding:44px 0}.experience-band h2{font-size:26px}.experience-cta{padding:45px 20px}.experience-cta h2{font-size:26px}}
