@font-face{font-family:Chivo;src:url('assets/fonts/chivo-latin-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#092457;--blue:#1552ff;--blue-dark:#0b2eb2;--blue-field:#1040e5;--blue-light:#edf3ff;--blue-mid:#b8cdff;--gutter:clamp(20px,3.05vw,56px);--body:18px;--title:clamp(48px,5.2vw,76px);--small:16px;--ease-assembly:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Chivo,Arial,sans-serif;font-size:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0}
a,button{transition:color .18s,background-color .18s,transform .18s}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
::selection{background:var(--blue);color:var(--paper)}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:600;letter-spacing:-.055em;line-height:1.02}
h2{font-size:var(--title)}
h3{font-size:28px;letter-spacing:-.035em;line-height:1.15}
.frame{padding-inline:var(--gutter);max-width:1800px;margin-inline:auto}
.skip-link{position:absolute;left:20px;top:-90px;z-index:20;padding:14px 20px;background:var(--blue);color:var(--paper)}
.skip-link:focus{top:12px}
.site-header{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:23px;line-height:1.04;font-weight:650;letter-spacing:-.055em}
.wordmark svg{width:30px;height:38px;fill:var(--blue)}
.site-nav{display:flex;align-items:center;gap:36px;font-size:var(--small)}
.site-nav>a{display:inline-flex;align-items:center;min-height:44px}
.site-nav>a:not(.nav-cta):hover{color:var(--blue)}
.nav-cta{display:inline-flex;align-items:center;gap:34px;min-height:50px;padding:12px 20px;background:var(--blue-light);color:var(--blue)}
.nav-cta:hover{color:var(--paper);background:var(--blue)}
.menu-toggle{display:none;background:var(--blue-light);padding:10px 13px;color:var(--blue);align-items:center;gap:15px;min-height:44px}
.hero{display:grid;grid-template-columns:44% 56%;column-gap:0;position:relative;padding-top:48px;padding-bottom:54px}
.hero-copy{padding-top:15px;position:relative;z-index:1}
h1{font-size:clamp(68px,6.9vw,124px);line-height:1.015;letter-spacing:-.065em;font-weight:650;white-space:nowrap}
.hero-description{max-width:470px;margin-top:34px;font-size:20px;line-height:1.55;padding-right:20px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--blue);color:var(--paper);padding:18px 24px;min-height:60px;font-size:var(--body);font-weight:500;line-height:1.3}
.hero .button{margin-top:30px}
.button:hover{background:var(--blue-dark);transform:translateY(-2px)}
.button:active{transform:translateY(0)}
.button span{font-size:24px;line-height:1}
.engineering-figure{align-self:start;margin-top:-8px;min-width:0;width:100%;overflow:hidden}
.engineering-f{display:block;width:100%;height:auto;overflow:hidden}
.engineering-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:var(--small);padding:12px 24px 0 34px;line-height:1.4}
.motion-control{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 12px;background:var(--blue-light);color:var(--blue);font-size:14px;line-height:1.25;white-space:nowrap}
.motion-control:hover{background:var(--blue);color:var(--paper)}
.motion-control:disabled{cursor:default;background:var(--blue-light);color:var(--ink)}
.motion-icon{font-size:22px;line-height:1}
.f-piece{transform-box:view-box;transform-origin:0 0}
.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;margin-top:28px;font-size:var(--small)}
.hero-foot p{line-height:1.45}
.hero-foot a{display:flex;align-items:center;gap:28px;min-height:44px}
.hero-foot a:hover{color:var(--blue)}
.capabilities{padding-top:130px;padding-bottom:152px}
.section-opening{display:grid;grid-template-columns:1.55fr 1fr;align-items:end;gap:60px;margin-bottom:66px}
.section-opening h2{font-size:clamp(44px,4.35vw,70px)}
.section-opening>p{max-width:385px;justify-self:end}
.capability-explorer{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;align-items:stretch}
.capability-controls{display:flex;flex-direction:column;justify-content:center;gap:8px}
.capability-controls button{display:flex;text-align:left;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 22px;background:var(--paper);font-size:clamp(20px,1.85vw,28px);font-weight:450;letter-spacing:-.04em;line-height:1.2}
.capability-controls button span{opacity:0;color:var(--blue);flex-shrink:0}
.capability-controls button[aria-selected=true]{background:var(--blue-light);color:var(--blue)}
.capability-controls button[aria-selected=true] span,.capability-controls button:hover span{opacity:1}
.capability-controls button:hover{color:var(--blue)}
.capability-panel{background:var(--blue-light);padding:42px;min-height:475px;display:flex;flex-direction:column}
.capability-panel+.capability-panel{margin-top:28px}
.js .capability-panel+.capability-panel{margin-top:0}
.panel-opening{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:26px}
.panel-opening h3{font-size:clamp(30px,3.15vw,48px);color:var(--blue);line-height:1.05;letter-spacing:-.05em}
.panel-symbol{font-size:52px;color:var(--blue);line-height:.9}
.capability-panel>p{max-width:510px;line-height:1.6}
.scope-list{list-style:none;padding:0;margin:28px 0 36px;font-size:var(--small);line-height:1.5}
.scope-list li{display:flex;align-items:baseline;gap:12px;margin-top:12px}
.scope-list li:before{content:'+';color:var(--blue);font-size:20px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;color:var(--blue);font-size:var(--small);background:transparent;padding:0;text-align:left}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.capability-panel>.text-link{margin-top:auto;align-self:start;font-weight:500}
.approach{background:var(--blue-field);color:var(--paper);padding-block:108px 100px}
.approach-opening{display:grid;grid-template-columns:1.55fr 1fr;align-items:end;gap:60px}
.approach-opening h2{font-size:clamp(44px,4.35vw,70px)}
.approach-opening>p{max-width:385px;justify-self:end}
.process{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;align-items:end;margin-top:74px}
.process-step{display:flex;flex-direction:column;align-items:start}
.process-step h3{font-size:24px;line-height:1.15;letter-spacing:-.035em;max-width:340px;margin-top:30px}
.process-step p{font-size:var(--small);line-height:1.6;max-width:360px;margin-top:18px}
.process-shape{display:block;position:relative;width:104px;height:100px}
.shape-frame{width:82px;height:82px;border:18px solid var(--paper);margin-bottom:0}
.shape-build:before,.shape-build:after{content:'';position:absolute;background:var(--paper);width:88px;height:30px;left:0;top:8px}
.shape-build:after{top:58px;left:30px}
.shape-ship{width:124px;height:124px;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 28%,28% 28%,28% 43%,85% 43%,85% 71%,28% 71%,28% 100%,0 100%)}
.approach a:focus-visible,.approach button:focus-visible{outline-color:var(--paper)}
.contact{padding-top:144px;padding-bottom:110px}
.contact-opening{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end}
.contact-opening h2{font-size:clamp(46px,5.15vw,82px)}
.contact-invitation{max-width:400px;justify-self:end}
.contact-invitation .button{margin-top:28px}
.contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(30px,5.45vw,90px);letter-spacing:-.055em;line-height:1.1;color:var(--blue);margin-top:92px;padding-block:10px}
.contact-email:hover{color:var(--blue-dark)}
.contact-email span{font-size:.8em}
.contact-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;margin-top:48px;align-items:start;font-size:var(--small)}
.contact-details address{font-style:normal}
.contact-details>p{justify-self:end}
.contact-details>a{display:inline-flex;align-items:center;min-height:44px}
.contact-details a:hover{color:var(--blue)}
.site-footer{padding-top:56px;padding-bottom:28px;background:var(--blue-light)}
.footer-wordmark{display:block;font-size:clamp(72px,14.4vw,250px);line-height:.85;font-weight:650;letter-spacing:-.075em;color:var(--blue);padding-bottom:5px}
.footer-wordmark span{display:block;font-size:.4em;letter-spacing:-.06em;margin-top:18px}
.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:64px;font-size:14px}
.footer-meta a{display:inline-flex;align-items:center;min-height:44px;padding-block:10px}
.footer-meta a:hover{color:var(--blue)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{border:0;background:var(--paper);color:var(--ink);padding:42px;width:min(640px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto}
dialog::backdrop{background:rgb(9 36 87 / .65)}
.dialog-close{position:absolute;right:15px;top:12px;background:var(--blue-light);color:var(--blue);width:44px;height:44px;font-size:30px;line-height:1}
.dialog-close:hover{background:var(--blue);color:var(--paper)}
dialog h2{font-size:44px;line-height:1.05;letter-spacing:-.05em;margin-top:12px}
dialog>p{margin-top:24px;font-size:var(--small);max-width:450px}
form{margin-top:30px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:var(--small)}
.field label span{font-size:14px}
input,select,textarea{border:1px solid var(--blue-mid);border-radius:0;background:var(--paper);width:100%;min-height:48px;padding:10px 12px;line-height:1.4}
textarea{resize:vertical}
select{padding-right:26px}
.email-ready{margin-top:28px;font-size:var(--small)}
.email-ready .button{margin-top:24px}
.email-ready #copy-email{display:flex;margin-top:16px}
.email-ready #copy-status:not(:empty){margin-top:16px}
.email-fallback{margin-top:24px}
.email-fallback a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1800px){.approach>.frame{max-width:1800px}.site-footer{max-width:none;padding-inline:max(var(--gutter),calc((100vw - 1688px)/2))}}
@media(max-width:1100px){.site-nav{gap:22px}.hero{grid-template-columns:44% 56%;padding-top:50px}.hero-description{font-size:18px;max-width:430px}.engineering-figure{margin-top:0}.engineering-figure figcaption{gap:12px;padding-inline:18px;font-size:14px}.motion-control{font-size:13px;gap:8px}.hero-foot{margin-top:46px}.capability-explorer{gap:26px;grid-template-columns:1fr 1.25fr}.capability-panel{padding:30px}.section-opening,.approach-opening{gap:40px}.process{gap:32px}.contact-opening{gap:40px}.footer-meta{flex-wrap:wrap}.footer-meta p{width:100%}}
@media(max-width:850px){.site-header{min-height:106px}.wordmark{font-size:21px;gap:10px}.wordmark svg{width:26px;height:34px}.site-nav{gap:19px;font-size:14px}.nav-cta{gap:18px;padding:12px 15px}.hero{grid-template-columns:43% 57%;padding-top:42px}.hero-copy{padding-top:20px}.hero h1{font-size:clamp(50px,6.8vw,60px)}.hero-description{font-size:18px;max-width:340px;padding-right:12px;margin-top:28px}.engineering-figure{margin-top:0}.engineering-figure figcaption{align-items:start;padding:10px 14px 0;font-size:13px;gap:10px}.motion-control{font-size:13px;padding:8px;white-space:normal;max-width:125px}.hero-foot{margin-top:32px}.section-opening,.approach-opening{grid-template-columns:1fr;gap:28px;margin-bottom:42px}.section-opening>p,.approach-opening>p{justify-self:start;max-width:470px}.capabilities{padding-top:90px;padding-bottom:100px}.capability-explorer{grid-template-columns:1fr;gap:24px}.capability-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px}.capability-controls button{min-height:64px;font-size:21px;padding:15px 17px}.capability-panel{min-height:420px;padding:36px}.panel-opening h3{font-size:44px}.scope-list{margin-bottom:30px}.approach{padding-block:80px}.approach-opening{margin:0}.process{gap:30px;margin-top:54px}.process-step h3{font-size:22px}.process-step p{font-size:16px}.process-shape{transform:scale(.8);transform-origin:left bottom}.contact{padding-block:100px 80px}.contact-opening{grid-template-columns:1fr;gap:30px}.contact-invitation{justify-self:start;max-width:470px}.contact-email{margin-top:96px}.contact-details{gap:24px}.footer-meta{font-size:14px;gap:18px}.footer-meta p{width:100%}}
@media(max-width:750px){:root{--gutter:22px;--body:17px;--title:44px}.site-header{position:relative;flex-wrap:wrap;min-height:100px;gap:0;padding-block:24px}.wordmark{font-size:21px}.menu-toggle:not([hidden]){display:inline-flex}.site-nav{width:100%;display:flex;flex-wrap:wrap;gap:12px 24px;padding-block:24px 0;font-size:16px}.site-nav a{min-height:44px;display:inline-flex;align-items:center}.site-nav>a[href='#contact']{display:inline-flex}.site-nav .nav-cta{width:100%;justify-content:space-between;margin-top:2px}.hero{display:flex;flex-direction:column;padding-top:42px;padding-bottom:34px}.hero h1{font-size:clamp(44px,12.4vw,78px);line-height:1.04;letter-spacing:-.065em}.hero-copy{padding-top:0}.hero-description{font-size:18px;margin-top:28px;max-width:440px}.hero .button{margin-top:26px}.button{font-size:17px;min-height:58px;padding:17px 22px;gap:42px}.engineering-figure{width:100%;max-width:none;align-self:center;margin-top:34px;margin-inline:0}.engineering-figure figcaption{flex-direction:row;gap:16px;font-size:14px;padding:14px 0 0}.motion-control{font-size:13px;max-width:none;white-space:nowrap;padding:10px 12px}.hero-description{padding-right:0}.hero-foot{flex-direction:row;justify-content:space-between;gap:20px;margin-top:32px;align-items:end;width:100%;font-size:14px;padding:0}.hero-foot p{max-width:155px}.hero-foot a{max-width:155px;gap:12px;line-height:1.4}.hero-foot a span{font-size:22px}.capabilities{padding-top:78px;padding-bottom:80px}.section-opening{gap:25px;margin-bottom:34px}.section-opening h2{font-size:clamp(29px,8.1vw,46px);letter-spacing:-.05em;line-height:1.08}.section-opening>p{font-size:17px}.capability-controls{grid-template-columns:1fr;gap:3px}.capability-controls button{min-height:58px;font-size:20px;padding:14px 16px}.capability-panel{padding:26px;min-height:440px}.panel-opening{margin-bottom:24px}.panel-opening h3{font-size:34px}.panel-symbol{font-size:40px}.capability-panel>p{font-size:17px}.scope-list{font-size:16px;margin:24px 0 30px}.scope-list li{gap:9px;line-height:1.45}.text-link{font-size:16px;gap:14px}.approach{padding-block:66px 62px}.approach-opening{gap:26px}.approach-opening h2{font-size:clamp(28px,7.25vw,46px);line-height:1.08}.process{display:flex;flex-direction:column;gap:44px;align-items:stretch;margin-top:42px}.process-step{display:grid;grid-template-columns:64px 1fr;column-gap:24px;align-items:start}.process-shape{grid-column:1;grid-row:1/3;transform:scale(.46);transform-origin:left top;margin-top:2px;height:124px}.process-step h3{font-size:22px;margin-top:0;max-width:none;line-height:1.15}.process-step p{grid-column:2;margin-top:14px;max-width:none;line-height:1.55}.contact{padding-block:80px 64px}.contact-opening{gap:28px}.contact-opening h2{font-size:clamp(35px,8.65vw,56px);line-height:1.06}.contact-invitation p{font-size:17px}.contact-invitation .button{margin-top:24px}.contact-email{font-size:clamp(23px,6.75vw,44px);margin-top:48px;gap:10px;letter-spacing:-.05em}.contact-details{display:flex;flex-wrap:wrap;gap:26px 40px;margin-top:30px;font-size:16px}.contact-details>a{width:100%}.contact-details>p{font-size:16px;flex:1;min-width:100px}.site-footer{padding-block:40px 24px}.footer-wordmark{font-size:14.2vw;line-height:.9}.footer-wordmark span{margin-top:12px;font-size:.5em}.footer-meta{display:grid;grid-template-columns:1fr 1fr;align-items:start;margin-top:40px;gap:18px 16px;font-size:13px}.footer-meta p{grid-column:1/-1}.footer-meta>span:last-child{grid-column:1/-1}.footer-meta>a{padding:0;justify-self:end}dialog{padding:28px 24px;max-height:calc(100svh - 24px);width:calc(100% - 24px)}dialog h2{font-size:34px;margin-top:26px}dialog>p{margin-top:24px}.form-pair{grid-template-columns:1fr;gap:0}form{margin-top:25px}.field{margin-bottom:18px}form .button{width:100%;gap:20px}.dialog-close{right:12px;top:12px}}
@media(max-width:350px){:root{--gutter:18px}.wordmark{font-size:19px;gap:8px}.wordmark svg{width:23px}.menu-toggle{gap:10px;font-size:15px;padding-inline:11px}.hero{padding-top:32px}.hero-description{font-size:17px}.hero-foot{font-size:13px;gap:16px}.engineering-figure figcaption{font-size:13px;gap:8px}.motion-control{font-size:13px;padding:10px;gap:7px}.capability-panel{padding:22px}.panel-opening h3{font-size:30px}.panel-symbol{font-size:34px}.process-step{grid-template-columns:50px 1fr;column-gap:20px}.process-step h3{font-size:20px}.process-step p{font-size:16px}.contact-email{font-size:23px}.contact-details{gap:24px}.contact-details>p{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover{transform:none}}
