:root{--blue:#0096FF;--blue-dark:#007dcc;--ink:#071018;--paper:#f4f7f9;--white:#fff;--muted:#65717c;--line:#dce5ea;--pad:clamp(20px,5vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Inter,Arial,sans-serif}body.dark{--paper:#06111a;--white:#0d1b25;--ink:#f6fbff;--muted:#a4b0ba;--line:#213441}a{color:inherit;text-decoration:none}.skip{position:absolute;left:-999px}.skip:focus{left:15px;top:15px;z-index:99;background:#fff;padding:10px}.top{height:78px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(15px);border-bottom:1px solid transparent}.top.scrolled{border-color:var(--line)}.logo{font:800 23px Manrope;letter-spacing:-1.8px}.logo span{color:var(--blue)}.nav{display:flex;gap:26px;align-items:center;font:700 11px Inter;letter-spacing:.1em;text-transform:uppercase}.nav>a{position:relative}.nav>a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transition:.25s}.nav>a:hover:after{transform:scaleX(1)}.drop{position:relative}.drop button{border:0;background:none;color:inherit;font:inherit}.drop>div{position:absolute;top:22px;left:-18px;min-width:220px;padding:10px;background:var(--white);border:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-6px);transition:.2s}.drop:hover>div{visibility:visible;opacity:1;transform:none}.drop>div a{display:block;padding:8px;font-size:12px}.nav-right{display:flex;gap:11px;align-items:center}.theme,.menu{border:0;background:none;color:inherit;font-size:20px}.nav-cta,.button{background:var(--blue);border:1px solid var(--blue);color:#fff;padding:12px 16px;font:700 11px Inter;letter-spacing:.1em;text-transform:uppercase;transition:.25s}.nav-cta:hover,.button:hover{background:var(--blue-dark);transform:translateY(-2px)}.menu,.mobile-nav{display:none}.hero{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:#fff;position:relative;overflow:hidden}.hero-copy{padding:130px var(--pad) 80px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}.hero-word{position:absolute;bottom:-.28em;left:-.05em;font:800 25vw/1 Manrope;letter-spacing:-.14em;color:#fff1}.label{font:500 10px 'IBM Plex Mono';letter-spacing:.15em;margin:0 0 23px}.label:before{content:'— ';color:var(--blue)}.hero .label:before{color:#fff}.hero h1,.page-hero h1{margin:0;font:800 clamp(57px,7.3vw,112px)/.9 Manrope;letter-spacing:-.085em;text-transform:uppercase}.hero p:not(.label){max-width:440px;margin:30px 0;color:#e6f5ff;font-size:16px}.hero-actions{display:flex;gap:20px;align-items:center}.hero .button{background:#fff;color:var(--blue);border-color:#fff}.text-btn{font:700 11px Inter;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #fff;padding:8px 0}.hero-photo{margin:0;position:relative;overflow:hidden;clip-path:inset(0)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) contrast(1.1)}.hero-photo:after,.wide-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0096ff77,transparent 55%),linear-gradient(0deg,#06111a99,transparent 50%)}.photo-note{position:absolute;z-index:2;bottom:35px;left:35px;right:35px;border-top:1px solid #fff8;padding-top:10px;display:flex;justify-content:space-between;font:10px 'IBM Plex Mono';letter-spacing:.1em}.section{padding:clamp(85px,12vw,175px) var(--pad)}.statement{background:var(--white)}.statement-grid,.why-grid,.flow{display:grid;grid-template-columns:.75fr 1.6fr;gap:60px}.display,h2{font:800 clamp(40px,6vw,88px)/.94 Manrope;letter-spacing:-.08em;text-transform:uppercase;margin:0}.channels{margin-top:70px;border-top:1px solid var(--ink)}.channel{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font:700 clamp(25px,3.5vw,49px) Manrope;letter-spacing:-.06em;text-transform:uppercase}.channel:hover{color:var(--blue)}.channel small{font:500 10px 'IBM Plex Mono';letter-spacing:.1em;color:var(--muted)}.services{background:var(--blue);color:#fff;position:relative;overflow:hidden}.services-head{display:grid;grid-template-columns:.8fr 1.5fr;gap:50px;margin-bottom:65px}.services .label:before{color:#fff}.service-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:55px}.service-list{border-top:1px solid #fff8}.service{padding:23px 0;border-bottom:1px solid #fff8;display:grid;grid-template-columns:45px 1fr 30px;gap:14px;cursor:pointer;transition:.25s}.service:hover,.service.active{padding-left:18px;background:#fff1}.service .num{font:500 10px 'IBM Plex Mono'}.service h3{margin:0;font:700 clamp(22px,2.4vw,36px)/1 Manrope;letter-spacing:-.055em;text-transform:uppercase}.service p{display:none;margin:8px 0 0;font-size:13px;color:#e4f4ff}.service:hover p,.service.active p{display:block}.arrow{font-size:25px}.service-photo{min-height:520px;position:relative;overflow:hidden}.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.7) contrast(1.1);opacity:0;transform:scale(1.08);transition:.65s}.service-photo img.visible{opacity:1;transform:scale(1)}.capabilities{margin-top:50px;border-top:1px solid var(--ink)}.cap{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.cap h3{margin:0;font:700 clamp(19px,2.3vw,32px) Manrope;letter-spacing:-.05em;text-transform:uppercase}.cap p{margin:0;color:var(--muted)}.wide-photo{position:relative;height:76vh;min-height:500px;overflow:hidden;color:#fff;background:#06111a}.wide-photo img{width:100%;height:112%;object-fit:cover;filter:grayscale(.6) contrast(1.12)}.wide-copy{position:absolute;z-index:2;inset:auto var(--pad) 55px}.wide-copy h2{color:#fff}.flow{background:var(--white)}.stages{border-top:1px solid var(--ink);margin-top:45px}.stage{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font:800 clamp(27px,3.8vw,54px) Manrope;letter-spacing:-.07em;opacity:.25;transition:.3s}.stage.on{opacity:1}.stage b{font-weight:400;color:var(--blue)}.process{background:var(--blue);color:#fff;padding:120px 0 120px var(--pad);overflow:hidden}.process h2{padding-right:var(--pad);margin-bottom:65px}.steps{display:flex;width:max-content}.step{width:min(43vw,560px);padding:18px 55px 15px 0;margin-right:55px;border-top:1px solid #fff8}.step em{font:500 10px 'IBM Plex Mono';letter-spacing:.12em;font-style:normal}.step h3{font:700 clamp(31px,4vw,57px) Manrope;letter-spacing:-.07em;text-transform:uppercase;margin:35px 0 13px}.step p{max-width:340px;color:#e2f3ff}.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.number{border-top:1px solid var(--ink);padding-top:20px}.number b{display:block;font:800 clamp(65px,10vw,145px)/.8 Manrope;letter-spacing:-.1em}.number span{display:block;margin-top:20px;font:500 10px 'IBM Plex Mono';letter-spacing:.15em}.cta{background:var(--blue);color:#fff}.cta .label:before{color:#fff}.cta p:not(.label){max-width:460px;color:#e4f4ff;margin:27px 0}.cta .button{background:#fff;color:var(--blue);border-color:#fff}.page-hero{min-height:650px;background:var(--blue);color:#fff;padding:130px calc(var(--pad) + 43%) 85px var(--pad);display:flex;justify-content:center;flex-direction:column;position:relative}.page-hero .intro{font-size:17px;max-width:540px;color:#e5f4ff}.page-hero .button{background:#fff;color:var(--blue);border-color:#fff;align-self:flex-start}.page-image{position:absolute;right:var(--pad);top:100px;width:37%;height:430px;margin:0;overflow:hidden}.page-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.1)}.page-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0096ff55,transparent)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.feature{padding:28px 22px 28px 0;border-bottom:1px solid var(--line);min-height:170px}.feature:nth-child(3n+2){padding-left:22px;border-inline:1px solid var(--line)}.feature:nth-child(3n+3){padding-left:22px}.feature h3{font:700 22px Manrope;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 8px}.feature p,.prose p{color:var(--muted);margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--white)}.contact-copy{padding:120px var(--pad);background:var(--blue);color:#fff}.contact-copy h1{font:800 clamp(45px,6vw,85px)/.92 Manrope;letter-spacing:-.08em;text-transform:uppercase;margin:0}.contact-copy p{color:#e4f4ff;font-size:16px}.form-wrap{padding:100px var(--pad)}.form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{font-size:12px;font-weight:700}.form input,.form select,.form textarea,.popup input,.popup select,.popup textarea{width:100%;display:block;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:11px 0;outline:none;color:var(--ink);margin-top:5px}.form textarea,.popup textarea{min-height:100px;resize:vertical}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--blue)}.trap{position:absolute!important;left:-10000px!important}.footer{background:#071018;color:#fff;padding:85px var(--pad);display:grid;grid-template-columns:2.5fr repeat(3,1fr);gap:35px}.footer-logo{display:block;font:800 clamp(32px,5vw,70px) Manrope;letter-spacing:-.08em}.footer p{color:#bcd2e2}.footer b{font:500 10px 'IBM Plex Mono';letter-spacing:.14em;color:#8ecbff}.footer a,.footer span{display:block;margin:8px 0;color:#c8d6e0;font-size:13px}.copyright{display:flex;justify-content:space-between;padding:20px var(--pad);background:#071018;color:#87a0b2;border-top:1px solid #ffffff2b;font:500 10px 'IBM Plex Mono';letter-spacing:.1em}.popup{width:min(520px,calc(100% - 30px));background:var(--blue);color:#fff;border:0;padding:35px}.popup::backdrop{background:#06111acc}.popup h2{font-size:40px}.popup form{display:grid;gap:15px}.popup input,.popup select,.popup textarea{color:#fff;border-color:#fff8}.popup select option{color:#000}.popup .button{background:#fff;color:var(--blue);border-color:#fff}.close{position:absolute;right:15px;top:8px;border:0;background:none;color:#fff;font-size:28px}@media(max-width:800px){.nav,.nav-cta{display:none}.menu{display:block;font:700 11px Inter;text-transform:uppercase;letter-spacing:.1em}.mobile-nav{position:fixed;display:grid;z-index:19;top:78px;inset-inline:0;padding:24px;background:var(--blue);color:#fff;transform:translateY(-130%);transition:.3s}.mobile-nav.open{transform:none}.mobile-nav a{font:700 23px Manrope;letter-spacing:-.04em;padding:5px 0}.hero{grid-template-columns:1fr}.hero-copy{min-height:560px;padding:120px 24px 65px}.hero-photo{height:400px}.section,.statement,.services,.why,.flow{padding:85px 24px}.statement-grid,.services-head,.service-layout,.why-grid,.flow{grid-template-columns:1fr;gap:30px}.service-photo{min-height:340px;order:-1}.feature-grid{grid-template-columns:1fr}.feature,.feature:nth-child(n){padding:25px 0;border-inline:0}.page-hero{padding:110px 24px 0;min-height:auto}.page-image{position:relative;right:auto;top:auto;width:100%;height:300px;margin-top:40px}.contact{grid-template-columns:1fr}.contact-copy,.form-wrap{padding:80px 24px}.footer{grid-template-columns:1fr 1fr;padding:70px 24px}.footer>div:first-child{grid-column:span 2}.copyright{padding:20px 24px;display:block}.copyright span{display:block;margin-top:5px}.process{padding:85px 0 85px 24px}.step{width:78vw;margin-right:30px;padding-right:30px}.numbers{grid-template-columns:1fr}.cap{grid-template-columns:1fr;gap:5px}.form-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Native select controls need explicit colours in dark mode. */
body.dark .form select,body.dark .popup select{background-color:#0d1b25;color:#f6fbff;color-scheme:dark}body.dark .form select option,body.dark .popup select option{background:#0d1b25;color:#f6fbff}body.dark .form select option:checked,body.dark .popup select option:checked{background:#0096FF;color:#fff}body.dark .form select:focus,body.dark .popup select:focus{border-color:#0096FF}
/* Split popup: form on the left, warehouse image on the right. */
.popup{width:min(940px,calc(100% - 32px));max-width:940px;padding:0;background:var(--white);color:var(--ink);overflow:hidden}.popup-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:540px}.popup-form{padding:48px}.popup .label{color:var(--ink)}.popup h2{font-size:clamp(36px,4vw,54px);color:var(--ink)}.popup-copy{max-width:350px;color:var(--muted);font-size:14px;margin:15px 0 25px}.popup form{gap:13px}.popup input,.popup select,.popup textarea{color:var(--ink);border-color:var(--line)}.popup select option{background:var(--white);color:var(--ink)}.popup .button{width:100%;justify-content:center;background:var(--blue);color:#fff;border-color:var(--blue)}.popup-image{position:relative;margin:0;overflow:hidden;background:var(--blue)}.popup-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#0076cce0)}.popup-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(.45) contrast(1.1)}.popup-image figcaption{position:absolute;z-index:1;bottom:28px;left:28px;color:#fff;font:500 10px 'IBM Plex Mono';letter-spacing:.13em}.popup .close{z-index:3;right:13px;top:8px;color:#fff}@media(max-width:650px){.popup{width:min(520px,calc(100% - 24px))}.popup-grid{grid-template-columns:1fr;min-height:0}.popup-form{padding:45px 27px 30px}.popup-image{height:190px;order:-1}.popup-image figcaption{bottom:18px;left:20px}.popup .close{color:#fff}}
/* Team page */
.team-intro{background:var(--white)}.team-principles{max-width:720px;margin:65px 0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;color:var(--muted);font-size:16px}.team-principles p{margin:0}.team-roster{background:var(--paper)}.team-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.team-heading>p:last-child{max-width:340px;color:var(--muted);font-size:13px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.team-card{border-top:1px solid var(--ink);padding-top:13px}.team-portrait{height:370px;position:relative;overflow:hidden;margin-bottom:18px;background:var(--blue)}.team-portrait:before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.8) contrast(1.08);opacity:.78;transition:transform .5s,filter .5s}.team-card:hover .team-portrait:before{transform:scale(1.05);filter:grayscale(.2) contrast(1.04)}.portrait-one:before{background-image:url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=850&q=85')}.portrait-two:before{background-image:url('https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=850&q=85')}.portrait-three:before{background-image:url('https://images.unsplash.com/photo-1521737711867-e3b97375f902?auto=format&fit=crop&w=850&q=85')}.portrait-four:before{background-image:url('https://images.unsplash.com/photo-1556761175-5973dc0f32e7?auto=format&fit=crop&w=850&q=85')}.team-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#007dccaa,transparent 65%)}.team-portrait span{position:absolute;z-index:1;right:14px;bottom:10px;color:#fff;font:500 10px 'IBM Plex Mono';letter-spacing:.12em}.team-role{font:500 10px 'IBM Plex Mono';letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 7px}.team-card h2{margin:0;font:700 clamp(20px,2vw,29px)/1.05 Manrope;letter-spacing:-.055em;text-transform:uppercase}.team-card>p:last-child{margin:7px 0;color:var(--muted);font-size:13px}.team-disciplines{background:var(--blue);color:#fff}.team-disciplines .label:before{color:#fff}.discipline-list{border-top:1px solid #fff8;margin-top:52px}.discipline-list>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:25px;align-items:center;border-bottom:1px solid #fff8;padding:20px 0}.discipline-list span{font:500 10px 'IBM Plex Mono'}.discipline-list h2{font-size:clamp(26px,3vw,44px)}.discipline-list p{margin:0;color:#e1f3ff}@media(max-width:800px){.team-principles{grid-template-columns:1fr;margin:40px 0 0}.team-heading{display:block;margin-bottom:35px}.team-heading>p:last-child{margin-top:12px}.team-grid{grid-template-columns:1fr 1fr;gap:16px}.team-portrait{height:290px}.discipline-list>div{grid-template-columns:38px 1fr;gap:10px}.discipline-list p{grid-column:2}.team-hero .page-image{margin-bottom:0}}@media(max-width:480px){.team-grid{grid-template-columns:1fr}.team-portrait{height:350px}}
