:root{--blue:#003b71;--ink:#123c5b;--secondary:#466072;--support:#e8e7e4;--surface:#f5f4f2;--white:#fff;--field-ink:#fff;--field-note:#d9e5ef;--footer-ground:#102c42;--type:"Helvetica Neue", Arial, sans-serif;--small:14px;--body:16px;--lead:20px;--heading:34px;--display:48px;--wrap:1280px;--gutter:48px;--section-space:64px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--footer-ground)}body{background:var(--footer-ground);color:var(--ink);font:var(--body)/1.55 var(--type);-webkit-font-smoothing:antialiased;margin:0}main{background:var(--white)}img{max-width:100%;display:block}svg{display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2{letter-spacing:-.025em;text-wrap:balance;font-weight:500;line-height:1.08}h1{font-size:var(--display)}h2{font-size:var(--heading)}h3{font-size:var(--lead);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.25}p{max-width:65ch}::selection{background:var(--support);color:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.wrap{width:min(calc(100% - var(--gutter) * 2), var(--wrap));margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--blue);color:var(--white);padding:12px 20px;position:absolute;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{background:var(--white);z-index:5;position:relative}.header-inner{height:108px;width:min(calc(100% - var(--gutter) * 2), var(--wrap));justify-content:space-between;align-items:center;gap:28px;margin:auto;display:flex}.brand{flex:none}.brand img{width:clamp(224px,19.5vw,280px);height:auto}.primary-nav{align-items:center;gap:24px;margin-inline-start:auto;font-size:15px;font-weight:600;display:flex}.primary-nav>a:not(.nav-cta){padding-block:12px}.primary-nav>.link-highlight[aria-current=page],.primary-nav>.link-highlight[data-section-active=true]{background:var(--blue);color:var(--white)}.nav-cta,.button{background:var(--blue);min-height:50px;color:var(--white);font-size:var(--body);border:0;justify-content:center;align-items:center;gap:25px;padding:13px 21px;font-weight:500;line-height:1.3;transition:transform .18s;display:inline-flex}.nav-cta:hover,.button:hover{transform:translateY(-2px)}.nav-cta:active,.button:active{transform:translateY(1px)}.primary-nav .nav-cta{background:var(--support);color:var(--blue);padding:13px 17px;font-weight:600;transition:background-color .18s;transform:none}.primary-nav .nav-cta:hover{background:#d5dde1;transform:none}.primary-nav .nav-cta:active{transform:none}.text-link{font-size:var(--body);align-items:center;gap:16px;padding-block:9px;font-weight:600;display:inline-flex}.menu-toggle{display:none}.hero{background:var(--support)}.hero-layout{grid-template-columns:1.03fr 1fr;align-items:center;gap:56px;padding-block:32px;display:grid}.hero-copy{min-width:0}.hero h1{margin-bottom:28px}.hero-lead{font-size:var(--lead);max-width:43ch;margin-bottom:18px;line-height:1.45}.hero-description{max-width:43ch;margin-bottom:26px}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.product-visual{flex-direction:column;align-items:center;min-width:0;display:flex}.product-image{mix-blend-mode:multiply;justify-content:center;width:100%;height:460px;display:flex}.product-image img{object-fit:contain;object-position:center;width:100%;height:100%}figcaption{color:var(--secondary);font-size:var(--small);margin-top:12px;line-height:1.4}.engineering-sketch{width:100%;height:auto;color:var(--blue)}.section-pale{background:var(--surface)}.section-pad{padding-block:var(--section-space)}.method-section{background:var(--surface)}.process-wrap{padding-block:var(--section-space)}.process{grid-template-columns:1fr 1fr;align-items:start;gap:36px 56px;display:grid}.process-heading{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.process-heading h2{max-width:18ch}.process-heading>p{max-width:48ch}.process-artwork{grid-area:2/1;align-self:center}.process-drawing .engineering-sketch{opacity:.6}.process-artwork .product-image{height:420px}.process-drawing figcaption{margin-top:0}.process-steps{background:var(--support);grid-area:2/2;margin:0;padding:14px;list-style:none}.process-step{width:100%;min-height:80px;color:var(--ink);text-align:left;background:0 0;border:0;padding:14px 18px;transition:transform .18s;display:block}.process-step strong{font-size:var(--lead);font-weight:500;line-height:1.2;display:block}.process-step span{margin-top:6px;line-height:1.4;display:block}.process-step[aria-pressed=true]{background:var(--blue);color:var(--white)}.process-reading{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:16px 56px;display:grid}.active-detail h3{margin-bottom:16px}.active-detail p{max-width:58ch}.process-transversal{border-top:1px solid #bec8ce;grid-area:1/2;align-self:start;padding:16px 0 0}.process-transversal strong{font-weight:600}.process-transversal p{margin-top:5px}.process-reading>.text-link{grid-column:1;justify-self:start}.process-fallback,.process noscript{grid-column:1/-1}.process-fallback p+p{margin-top:20px}.process-compact{padding-top:0}.situations,.capabilities-preview,.sectors-strip{padding-block:var(--section-space)}.situations-layout,.capabilities-layout,.sectors-inner{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.section-heading h2,.sectors-inner h2{max-width:23ch;margin-bottom:26px}.section-heading>p{max-width:44ch}.situation-list{flex-direction:column;gap:30px;display:flex}.situation-list h3{margin-bottom:5px}.capability-list{flex-direction:column;gap:25px;margin:0;display:flex}.capability-list>div{padding-left:25px;position:relative}.capability-list>div:before{content:"";background:var(--blue);width:7px;height:7px;position:absolute;top:9px;left:0}.capability-list dt{font-size:var(--lead);letter-spacing:-.02em;margin-bottom:6px;font-weight:500;line-height:1.25}.capability-list dd{margin:0}.sectors-strip{background:var(--support)}.sectors-inner>div>p{max-width:40ch}.sector-tags ul{font-size:var(--lead);gap:22px;margin:0 0 20px;padding:0;line-height:1.3;list-style:none;display:grid}.final-cta{background:var(--blue);color:var(--white);padding-block:56px}.final-cta-inner{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.final-cta p{margin-bottom:24px}.final-cta .button{background:var(--support);color:var(--blue)}.final-cta :focus-visible{outline-color:var(--white)}.page-intro{background:var(--support);padding-block:48px}.page-intro-inner{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.page-intro h1{max-width:20ch}.page-lead{font-size:var(--lead);max-width:46ch;line-height:1.5}.route-details{background:var(--surface);padding-block:var(--section-space)}.route-details>.wrap>h2{margin-bottom:48px}.route-detail-list{gap:32px;display:grid}.route-detail-list article>div{grid-template-columns:1fr 1fr;gap:56px;display:grid}.route-detail-list h3{font-weight:500}.route-detail-list p{max-width:56ch}.deep-dive{background:var(--support);padding-block:56px}.deep-grid>div{grid-template-columns:1fr 1fr;align-items:start;gap:24px 56px;display:grid}.deep-grid h2{grid-area:1/1/span 3;max-width:19ch}.deep-visual{grid-area:1/1/span 3}.deep-sketch{max-width:390px;margin-top:20px}.deep-sketch .engineering-sketch{opacity:.6}.deep-grid p,.deep-grid .text-link{grid-column:2}.deep-grid .text-link{justify-self:start}.page-cta{justify-content:space-between;align-items:center;gap:70px;padding-block:56px;display:flex}.page-cta h2{max-width:23ch}.page-cta .button{flex-shrink:0}.capability-page-head{justify-content:space-between;align-items:baseline;gap:40px;margin-bottom:52px;display:flex}.capability-note{font-size:var(--small);color:var(--secondary)}.capability-page .capability-list{grid-template-columns:1fr 1fr;gap:36px 56px;display:grid}.capability-note-panel{background:var(--surface);padding-block:48px}.note-panel-inner{grid-template-columns:1fr 1fr;align-items:center;gap:24px 56px;display:grid}.note-panel-inner h2{max-width:21ch;margin-bottom:24px}.note-panel-inner p{max-width:48ch}.capability-sketch{grid-area:1/2/span 2}.capability-sketch .engineering-sketch{opacity:.6}.note-panel-inner>.text-link{grid-column:1;justify-self:start}.sector-chapters{padding-block:var(--section-space)}.sector-chapter+.sector-chapter{margin-top:40px}.sector-chapter>div{grid-template-columns:1fr 1fr;gap:56px;display:grid}.sector-chapter h2{font-size:var(--heading);max-width:26ch}.sector-note{background:var(--surface);padding-block:40px}.sector-note .wrap{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.sector-sketch{max-width:380px}.sector-sketch .engineering-sketch{opacity:.5}.sector-note h2{font-size:var(--lead);letter-spacing:-.02em}.sector-note h2+p{margin-top:15px}.sector-note p{font-size:var(--small)}.about-feature{padding-block:var(--section-space);background:var(--surface)}.about-layout{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.about-layout h2{max-width:21ch;margin-bottom:26px}.about-layout p+p{margin-top:20px}.about-diagram .engineering-sketch{opacity:.6}.about-route{background:var(--support);flex-wrap:wrap;gap:12px 24px;margin:30px 0 0;padding:24px;list-style:none;display:flex}.about-route li{font-weight:500}.contact-layout{grid-template-columns:.85fr 1.15fr;gap:64px;padding-block:56px 64px;display:grid}.contact-aside h2{max-width:18ch;margin-bottom:24px}.contact-aside>p{max-width:41ch}.contact-sketch{max-width:350px;margin-top:26px}.contact-sketch .engineering-sketch{opacity:.5}.contact-sketch figcaption{margin-top:0}.contact-direct{flex-direction:column;align-items:flex-start;gap:8px;margin-top:32px;display:flex}.contact-direct>span{margin-bottom:5px;font-weight:600}.contact-form{flex-direction:column;gap:24px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-form label{flex-direction:column;gap:9px;font-weight:500;display:flex}.contact-form input:not([type=checkbox]),.contact-form textarea{background:var(--surface);width:100%;color:var(--ink);border:0;border-radius:0;min-height:50px;padding:14px 16px}.contact-form textarea{resize:vertical;min-height:150px}.contact-form textarea::placeholder{color:var(--secondary);opacity:1}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.contact-form .consent{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;display:flex}.consent input{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0;margin:4px 0 0}.form-note{background:var(--support);font-size:var(--body);max-width:none;padding:20px}.contact-form .button{align-self:flex-start}.form-status{min-height:24px;font-size:var(--body)}.not-found{background:var(--support);padding-block:100px}.not-found h1{max-width:22ch;margin-bottom:26px}.not-found p{margin-bottom:26px}.site-footer{--link-hover-background:var(--white);--link-hover-color:var(--blue);background:var(--footer-ground);color:var(--field-ink)}.site-footer :focus-visible{outline-color:var(--field-ink)}.footer-main{font-size:var(--body);grid-template-columns:repeat(4,minmax(0,1fr));gap:48px;padding-block:72px 48px;display:grid}.footer-brand{grid-column:span 2}.footer-lockup{width:min(100%,360px)}.footer-brand img{filter:brightness(0)invert();width:100%;height:auto}.footer-brand-copy{margin-inline-start:7.2%;margin-top:24px}.footer-brand .footer-promise{max-width:28ch;color:var(--field-ink);letter-spacing:-.02em;font-size:24px;line-height:1.25}.footer-label{margin:0 0 22px;font-size:21px;font-weight:600;line-height:1.2}.footer-links,.footer-contact{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-contact .footer-label{margin-bottom:12px}.footer-main .footer-phone{white-space:nowrap;align-items:center;gap:10px;min-height:44px;font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.2;display:inline-flex}.footer-phone svg{flex:none}.footer-email{color:var(--field-note);overflow-wrap:anywhere}.footer-main .footer-project{align-items:center;gap:8px;display:inline-flex}.footer-project svg{flex-shrink:0}.footer-bottom{font-size:var(--small);color:var(--field-note);justify-content:space-between;gap:40px;padding-block:0 30px;display:flex}@media (width>=1121px) and (width<=1279px){.header-inner{gap:18px}.brand img{width:224px}.primary-nav{gap:16px;font-size:14px}.primary-nav .nav-cta{padding-inline:16px;font-size:14px}}@keyframes enter-content{0%{opacity:.25;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal-enter{animation:.55s cubic-bezier(.2,.7,.25,1) both enter-content;animation-delay:var(--reveal-delay,0s)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}:root{--rule:#c6ccce}html{scrollbar-color:var(--secondary) var(--surface);scrollbar-width:thin}input,textarea{caret-color:var(--blue)}button:disabled{opacity:.55;cursor:not-allowed}.section-media{min-width:0}.section-media .swappable-image{--swappable-image-badge-background:var(--blue);--swappable-image-badge-foreground:var(--white)}.media-frame{background:var(--surface)}.section-media img{object-fit:contain;width:100%;height:auto}.section-media figcaption{max-width:65ch}.section-heading .section-media{margin-top:24px}.section-heading>.text-link{margin-top:16px}.section-heading h2,.sectors-inner h2{margin-bottom:20px}.editorial-heading{grid-template-columns:1fr 1fr;align-items:start;gap:56px;margin-bottom:36px;display:grid}.editorial-heading p{max-width:52ch}.chapter-copy{min-width:0}.chapter-copy h2{max-width:27ch;margin-bottom:20px}.chapter-copy p+p{margin-top:12px}.content-chapters{padding-block:56px}.content-chapter{grid-template-columns:340px 1fr;align-items:center;gap:64px;display:grid}.content-chapter+.content-chapter{border-top:1px solid var(--rule);margin-top:32px;padding-top:32px}.content-chapter h2{font-size:28px;line-height:1.2}.content-chapter p{max-width:70ch}.service-list{display:grid}.service-entry{border-top:1px solid var(--rule);grid-template-columns:.85fr 1.15fr;gap:56px;padding-block:24px;display:grid}.service-entry h3{font-size:23px;font-weight:500}.service-entry p+p{margin-top:12px}.service-subtitle{color:var(--secondary);margin-top:8px}.service-opening{grid-template-columns:340px 1fr;align-items:center;gap:64px;margin-bottom:36px;display:grid}.service-opening h2{margin-bottom:16px}.technical-grid{grid-template-columns:1fr 1fr;gap:40px 56px;display:grid}.technical-section>.wrap>h2{margin-bottom:36px}.technical-entry{grid-template-columns:180px 1fr;align-items:start;gap:24px;display:grid}.technical-entry h3{margin-block:0 12px;font-size:25px;font-weight:500}.technical-entry p+p{margin-top:10px}.technical-entry .section-media img{width:100%}.service-additional{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:56px;padding-top:24px;display:grid}.chapter-nav{border-bottom:1px solid var(--rule);font-size:var(--small);gap:32px;padding-block:20px;font-weight:500;display:flex}.sector-chapter{grid-template-columns:340px 1fr;align-items:center;gap:64px;scroll-margin-top:32px;display:grid}.sector-chapter .section-media{max-width:320px}.sector-chapter .media-frame{background:var(--white)}.sector-chapter .chapter-copy{display:block}.sector-chapter p{max-width:68ch}.sector-chapter+.sector-chapter{border-top:1px solid var(--rule);padding-top:40px}.sector-tags{align-self:center}.sector-tags li a{border-bottom:1px solid var(--rule);justify-content:space-between;gap:24px;padding-block:12px;display:flex}.sector-tags ul{gap:0}.home-sector-visual{max-width:280px;margin-top:24px}.home-sector-visual img{mix-blend-mode:multiply}.home-sector-visual .media-frame{background:0 0}.about-layout{grid-template-columns:1fr 1.1fr}.about-layout .text-link{margin-top:16px}.company-principles{grid-template-columns:1fr 1fr;gap:32px 56px;display:grid}.company-principles article{border-top:1px solid var(--rule);padding-top:20px}.company-principles h3{margin-bottom:12px;font-size:23px;font-weight:500}.team-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.person-profile{grid-template-columns:180px 1fr;align-items:start;gap:24px;display:grid}.profile-copy{padding-top:12px}.profile-copy h3{margin-bottom:10px;font-size:25px;font-weight:500}.profile-role{color:var(--secondary)}.portrait-placeholder{background:var(--support);aspect-ratio:1145/1374;letter-spacing:-.025em;place-content:center;font-size:48px;font-weight:400;display:grid}.contact-aside>p+p{margin-top:12px}.contact-image{max-width:240px;margin-top:24px}.contact-direct{margin-top:24px}.contact-layout{align-items:start}.site-header{position:sticky;top:0}@media print{.site-header{position:relative;top:auto}}
