:root{--navy:#031927;--ink:#0b2031;--turquoise:#0ea8c1;--bright:#04bce3;--link:#00768b;--muted:#526879;--paper:#f2f7fa}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.45}a{color:inherit}button,summary{font:inherit;cursor:pointer}button{border:0}img{display:block;max-width:100%}.wrap{width:calc(100% - 160px);max-width:1600px;margin:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(58px,6.25vw,100px);font-weight:600;letter-spacing:-.045em}h2{font-size:clamp(40px,4.35vw,68px);font-weight:600}h1 span,h2 span{color:var(--bright)}p+p{margin-top:14px}.hero-shell{position:relative;background:var(--navy);color:#fff;isolation:isolate;overflow:clip}.hero-art{position:absolute;inset:0;z-index:-2;background:url('/assets/hero-optimized-1536.webp') center center/cover no-repeat}.hero-shell:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,25,39,.35),transparent 64%)}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:300px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:36px;font-size:16px}nav a{text-decoration:none}nav .nav-link span,nav .nav-contact span{display:none}.services{position:relative}.services summary{list-style:none;display:flex;gap:12px;align-items:center}.services summary::-webkit-details-marker{display:none}.services summary span{color:var(--bright)}.service-menu{position:absolute;z-index:20;top:35px;right:0;width:350px;padding:15px;background:#092637;box-shadow:0 15px 30px #0006;border:1px solid #284657}.service-menu a{display:block;padding:12px}.service-menu a:hover{background:#163c4f}.hero{padding-top:125px;padding-bottom:70px;min-height:660px}.hero h1{white-space:nowrap}.hero-copy{max-width:625px;margin-top:26px;color:#d8e4eb;font-size:23px;line-height:1.38}.actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:15px 26px;border-radius:3px;background:var(--bright);color:#032333;text-decoration:none;font-size:16px;font-weight:700;line-height:1.3}.button:hover{background:#54d4ed}.text-link{display:inline-block;color:var(--link);text-decoration-thickness:1px;text-underline-offset:6px;font-weight:600;font-size:17px;line-height:1.5}.text-link span{display:inline-block;margin-left:12px}.hero .text-link{color:#c0e9f0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:60px;padding-bottom:60px}.intro h2{padding-top:6px}.intro h2 span,.capabilities h2 span{color:#009bb9}.intro p{color:var(--muted);font-size:19px}.intro .text-link{margin-top:22px}.capabilities{background:linear-gradient(115deg,#edf5f9,#f8fafc);padding:46px 0 0}.capabilities h2{font-size:42px}.capabilities>.wrap>p{margin-top:12px;color:var(--muted);font-size:20px}.cap-grid{display:grid;grid-template-columns:1.06fr 1fr;grid-template-rows:repeat(4,auto);column-gap:36px;margin-top:22px}.capability{min-width:0;display:grid;grid-template-columns:190px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #d4e0e7}.capability img{width:100%;height:170px;object-fit:cover;mix-blend-mode:multiply;align-self:center}.capability .cap-copy{position:relative;padding-left:43px}.number{font-size:30px;line-height:1;font-weight:300;color:#8da3b5;letter-spacing:-.05em;position:absolute;left:0;top:1px}.capability h3{font-size:24px;letter-spacing:-.025em;line-height:1.13}.capability p{font-size:17px;line-height:1.35;color:var(--muted);margin-top:10px}.capability .text-link{font-size:15px;margin-top:10px}.lead-capability{grid-row:1/5;display:block;position:relative;padding:65px 0 50px;border-bottom:0;border-right:1px solid #d4e0e7;overflow:hidden;min-height:780px}.lead-capability img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}.lead-capability .cap-copy{position:relative;padding:0;max-width:255px;z-index:1}.lead-capability .number{position:static;display:block;margin-bottom:28px;font-size:40px}.lead-capability h3{font-size:29px}.lead-capability p{font-size:19px;margin-top:18px}.lead-capability .text-link{font-size:17px;margin-top:20px}.itps-feature{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--navy)}.feature-art{position:absolute;inset:0;z-index:-2;background:url('/assets/feature-optimized-1672.webp') right center/auto 100% no-repeat}.itps-feature:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 20%,rgba(3,25,39,.92) 42%,transparent 70%)}.feature-layout{position:relative;padding-top:55px;padding-bottom:55px;min-height:630px}.feature-copy{width:58%;max-width:760px}.eyebrow{color:#a6d4df;font-size:18px;margin-bottom:20px}.feature-copy h2{font-size:54px;margin-bottom:22px}.feature-copy>p:not(.eyebrow){font-size:20px;color:#d5e1e9;line-height:1.4}.feature-copy .boundary{border-left:5px solid var(--bright);padding-left:17px;color:var(--bright)!important;margin-top:24px}.feature-copy .actions{gap:25px}.feature-copy .text-link{color:var(--bright);max-width:310px;font-size:17px}.art-caption{position:absolute;right:0;bottom:20px;color:#99aebd;font-size:13px}.menu-toggle,.mobile-home{display:none}.skip{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:var(--ink);padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #d57b12;outline-offset:5px}dialog{border:1px solid #b8cdd7;border-radius:4px;max-width:540px;width:calc(100% - 40px);padding:40px;color:var(--ink)}dialog::backdrop{background:#021420bd}dialog h2{font-size:32px;margin-bottom:20px}dialog p{overflow-wrap:anywhere}dialog .button{margin-top:25px}.dialog-close{position:absolute;right:10px;top:5px;background:transparent;font-size:30px}
@media(min-width:1700px){.hero{min-height:720px}}@media(max-width:1150px){.wrap{width:calc(100% - 80px)}.brand{width:240px}nav{gap:22px;font-size:14px}.site-header{height:96px}.hero{padding-top:100px;min-height:620px}.hero-copy{font-size:21px;max-width:560px}.intro{gap:35px}.capabilities h2{font-size:34px}.cap-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:0 30px}.lead-capability{grid-row:auto;grid-column:1/-1;min-height:470px;border-right:0;border-bottom:1px solid #cddde6;margin-bottom:10px}.lead-capability img{left:35%;width:65%;object-fit:contain}.lead-capability .cap-copy{max-width:38%}.capability:not(.lead-capability){display:block;padding:24px 0}.capability:not(.lead-capability) img{height:170px;object-fit:contain}.capability:not(.lead-capability) .cap-copy{margin-top:15px}.feature-copy{width:65%}.feature-copy h2{font-size:44px}.feature-art{opacity:.7}.itps-feature:after{background:linear-gradient(90deg,var(--navy) 10%,#031927dd 45%,transparent)}.feature-copy .actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.site-header{height:85px;gap:15px}.brand{width:220px}.menu-toggle{display:block;background:transparent;color:white;font-size:15px;padding:10px 0 10px 10px}.menu-toggle span{margin-left:8px}nav{display:none;position:absolute;z-index:30;top:78px;left:20px;right:20px;max-height:calc(100dvh - 100px);overflow:auto;background:#072536;padding:18px;font-size:17px;box-shadow:0 20px 30px #0008}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:5px}nav a,nav summary{padding:12px}.mobile-home{display:block}.service-menu{position:static;width:auto;box-shadow:none;border:0;padding:0 0 5px 10px}.service-menu a{font-size:16px}.hero{padding-top:72px;padding-bottom:270px;min-height:0}.hero h1{font-size:40px;white-space:normal;line-height:1.07;letter-spacing:-.045em}.hero h1 span{display:block;margin-top:7px}.hero h1 br{display:none}.hero-copy{font-size:18px;line-height:1.45;margin-top:24px}.hero .actions{gap:23px;align-items:flex-start;flex-direction:column;margin-top:26px}.hero-art{background-size:auto 650px;background-position:62% bottom;opacity:.9}.hero-shell:after{background:linear-gradient(180deg,var(--navy) 0%,#031927f5 41%,#031927bb 62%,transparent 88%)}.button{font-size:15px;min-height:48px;padding:14px 21px}.text-link{font-size:16px}.intro{display:block;padding-top:40px;padding-bottom:40px}.intro h2{font-size:36px;margin-bottom:25px}.intro p{font-size:17px;line-height:1.5}.capabilities{padding-top:35px}.capabilities h2{font-size:31px;line-height:1.13}.capabilities>.wrap>p{font-size:17px;margin-top:15px}.cap-grid{display:block;margin-top:10px}.lead-capability{padding-top:30px;min-height:640px;padding-bottom:320px;margin:0}.lead-capability img{top:auto;bottom:0;left:0;width:100%;height:340px;object-fit:cover;object-position:65% 65%}.lead-capability .cap-copy{max-width:none}.lead-capability .number{font-size:30px;margin-bottom:14px}.lead-capability h3{font-size:27px;max-width:300px}.lead-capability p{font-size:17px;max-width:330px;margin-top:14px}.lead-capability .text-link{font-size:16px;margin-top:16px}.capability:not(.lead-capability){display:grid;grid-template-columns:100px 1fr;gap:10px;padding:26px 0}.capability:not(.lead-capability) img{height:130px;object-fit:cover}.capability:not(.lead-capability) .cap-copy{padding-left:0;margin-top:0}.capability:not(.lead-capability) .number{position:static;display:block;font-size:24px;margin-bottom:10px}.capability h3{font-size:22px;line-height:1.15}.capability p{font-size:16px;line-height:1.45}.capability .text-link{font-size:15px}.capability .text-link span{margin-left:5px}.feature-layout{padding-top:38px;padding-bottom:300px;min-height:0}.feature-copy{width:100%;max-width:none}.feature-copy h2{font-size:35px;line-height:1.12}.eyebrow{font-size:15px;margin-bottom:18px}.feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.5}.feature-copy .actions{gap:24px;margin-top:27px}.feature-copy .text-link{font-size:16px;max-width:100%}.feature-art{background-size:auto 370px;background-position:right bottom;opacity:1}.itps-feature:after{background:linear-gradient(180deg,var(--navy) 40%,#031927ed 65%,transparent 85%)}.art-caption{font-size:11px;bottom:15px}.boundary{margin-top:22px!important}}
/* Keep navigation legible where the architectural roof passes behind it. */
.site-header:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:125px;background:linear-gradient(#031927dc,#03192785 65%,transparent)}
@media(max-width:700px){.hero-art{background-position:right bottom}.hero-shell:after{background:linear-gradient(180deg,var(--navy) 0%,#031927f5 41%,#031927dd 62%,transparent 88%)}}
.capability:not(.lead-capability) img{object-fit:contain}@media(min-width:701px) and (max-width:1150px){.itps-feature:after{background:linear-gradient(90deg,var(--navy) 10%,#031927ee 58%,#03192744)}}
