/* Readability, complete 3D framing and stronger editorial hierarchy. */
:root{--muted:#59676f;--line:#cbd2d0}html{scroll-padding-top:130px}.muted{color:#637077}.eyebrow{font:600 12px/1.7 var(--mono);letter-spacing:1.05px}.header{height:112px;position:sticky;top:0;z-index:50;background:#f5f6f2f5;backdrop-filter:blur(18px);border-bottom:1px solid #cbd2d0;gap:28px}.brand img{width:250px}.header nav{font-size:17px;font-weight:500;gap:25px}.header nav a{padding:16px 0;color:#16232d;white-space:nowrap;border-bottom-width:2px}.header nav a:hover,.header nav a[aria-current=location]{color:var(--blue);border-color:var(--blue)}.button{font-size:14px;min-height:56px;font-weight:500}.nav-cta{padding:14px 21px;gap:18px;font-size:13px}.menu-toggle{font-size:16px;min-height:48px}.hero{grid-template-columns:minmax(0,46fr) minmax(0,54fr);grid-template-rows:auto auto;column-gap:32px;min-height:0;padding:34px 0 0;align-items:stretch}.hero-copy{padding:25px 0 20px;pointer-events:auto}.hero-copy .eyebrow{font-size:11px;letter-spacing:.7px;max-width:100%;line-height:1.7}.hero h1{width:auto;max-width:100%;font-size:clamp(44px,4.35vw,74px);line-height:1.12;letter-spacing:-.055em;margin-top:30px}.hero h1>span{position:relative;display:inline-block;white-space:nowrap}.hero h1>span:after{content:'';position:absolute;height:6px;background:var(--yellow);left:0;right:3%;bottom:-9px;transform-origin:left;animation:title-rule 1.2s cubic-bezier(.2,1,.3,1) both}.hero-intro{max-width:470px;font-size:17px;line-height:1.8;color:#52626c;margin-top:29px}.hero-bottom{margin-top:28px;max-width:100%;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-bottom>p{display:none}.hero-bottom .button{margin:0;font-size:14px;padding:15px 21px;gap:20px}.hero-contact{font-size:13px;font-weight:500;padding:14px 0;border-bottom:1px solid #8e9a9e}.hero-method{display:flex;align-items:center;gap:20px;padding-top:31px;margin-top:29px;border-top:1px solid var(--line);font-size:13px;color:#465863;max-width:465px}.hero-method i{font-size:20px;font-style:normal;color:var(--blue)}.hero-visual{clip-path:none;margin:0;min-height:650px;min-width:0;border-radius:27px;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#eaf1f3,#dde8ed);border:1px solid #cfdbdf;box-shadow:0 18px 45px #23425e0b;grid-column:2;grid-row:1;display:flex;flex-direction:column}.scene-shell{inset:67px 0 184px;min-width:0}.scene-shell canvas{width:100%;height:100%;touch-action:pan-y}.scene-note{left:22px;right:22px;bottom:86px;width:auto;padding:17px 0 0;border:0;border-top:1px solid #aabfcb;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;z-index:3}.note-kicker{font:10px/1.5 var(--mono);letter-spacing:.5px;color:#526b7b}.scene-note strong{font-size:22px;line-height:1.3;color:#172a36;margin-top:8px}.note-line{margin-top:12px;height:3px;background:#c5d5df}.note-line i{width:35%;height:3px}.scene-phases{display:flex;justify-content:space-between;gap:7px;font-size:11px;margin-top:13px;color:#5d7381}.scene-phases span{transition:color .3s;font-weight:500}.scene-phases span.active{color:var(--blue);font-weight:600}.scene-disclaimer{bottom:23px;left:22px;max-width:170px;font:9px/1.6 var(--mono);letter-spacing:.2px;color:#4e6675}.hero-foot{grid-column:1/-1;font-size:10px;letter-spacing:.6px;gap:30px;margin-top:0;padding:25px 0;min-height:76px}.hero-foot>a{font-size:10px}.hero-foot>a span{font-size:23px}.references{padding:27px 0 42px;gap:45px}.references p{font-size:14px;min-width:175px;color:#52626b}.reference-logos img{height:47px;opacity:.7}.intro>.eyebrow{font-size:12px}.intro-bottom p{font-size:16px;line-height:1.85;color:#52626b;max-width:360px}.expertise-intro .eyebrow{font-size:13px;letter-spacing:.8px;color:#243949;font-weight:600}.expertise-intro>p{font-size:16px;line-height:1.85;max-width:360px;color:#52626b}.service-index{margin-top:37px;border:1px solid #cbd5d6;border-radius:19px;overflow:hidden;background:#edf1ee;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.service-index a{padding:25px 23px 24px!important;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;border:0;border-right:1px solid #cbd5d6;min-width:0;min-height:285px;transition:background .3s,color .3s}.service-index a:last-child{border-right:0}.service-index a>span.index-num{font:600 12px var(--mono);color:#355365;border:1px solid #b7c6cd;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.service-index a>i{position:absolute;right:23px;top:25px;font-size:28px;margin:0;transition:transform .3s}.service-index strong{font-size:clamp(19px,1.65vw,27px);font-weight:500;letter-spacing:-.6px;line-height:1.3;margin-top:22px;overflow-wrap:normal}.service-index a>p{font-size:13px;line-height:1.8;margin-top:14px;color:#52626b}.service-index a>small{display:flex;align-items:center;gap:13px;font:600 9px/1.5 var(--mono);letter-spacing:.2px;margin-top:auto;padding-top:25px;color:#2445db}.service-index a>small b{font:18px Lufga}.service-index a:hover{background:#e0e7fb}.service-index a:hover i{transform:translate(3px,-3px)}.service-copy .eyebrow{font-size:11px;line-height:1.75;letter-spacing:.55px}.service-copy .service-lead{font-size:22px;line-height:1.55}.service-copy p:not(.eyebrow):not(.service-lead){font-size:16px;line-height:1.9;color:#52626b;max-width:470px}.text-link{font-size:14px;line-height:1.6;gap:22px}.text-link span{font-size:22px}.panel-caption{font:600 10px/1.6 var(--mono);letter-spacing:.4px;color:#455f71}.study-controls button{font-size:13px;min-height:44px;padding:10px 20px}.diagram-description{font-size:13px;line-height:1.7;min-height:24px;color:#526777}.research .service-copy .eyebrow{color:#d7e0ff}.research .service-copy .service-lead{font-size:21px}.research .service-copy p:not(.eyebrow):not(.service-lead){font-size:16px;line-height:1.9;color:#e3eaff}.research-visual .panel-caption{font-size:10px;color:#d5dfff}.robot-tools button{font-size:13px;min-height:44px}.robot-caption{font-size:10px;line-height:1.6;color:#ccd8ff}.learning-panel{min-height:550px}.learning-step>span{font-size:9px;line-height:1.6}.learning-step strong{font-size:21px}.learning-step small{font-size:9px}.learning-panel>p{font-size:14px;line-height:1.75;min-height:45px;color:#485d68}.pme-heading .eyebrow{font-size:11px}.pme-label{font-size:10px;padding:11px 14px}.pme .service-copy p:not(.eyebrow):not(.service-lead){font-size:16px;color:#514517}.pme-visual-caption{font-size:10px;color:#605217;line-height:1.7}.pme-container small{font-size:13px;letter-spacing:2px}.industry-top>.eyebrow{font-size:12px}.industry-top>p:last-child{font-size:16px;line-height:1.85;max-width:420px;color:#52626b}.industry-image figcaption{font-size:10px;line-height:1.6}.sectors{margin-top:32px}.sectors>.eyebrow{color:#3e5665;font-size:11px}.sector-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.sector-controls button{font-size:17px;font-weight:500;min-height:76px;padding:18px 22px;border:1px solid #c5d0d3;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;line-height:1.45;background:#eef2ee;transition:background .2s,border-color .2s,transform .2s}.sector-controls button>span{font-size:26px;color:var(--blue)}.sector-controls button:hover{border-color:var(--blue);transform:translateY(-2px)}.sector-controls button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.sector-controls button[aria-pressed=true]>span{color:var(--yellow)}.sector-content{margin-top:18px;padding:30px 32px;background:#e7ece8;border-radius:15px;border:1px solid #d3ddd8}.sector-content article{display:grid;grid-template-columns:85px minmax(0,1fr);gap:25px;align-items:start}.sector-number{font-size:48px;line-height:1;color:var(--blue);letter-spacing:-3px}.sector-content h3{font-size:26px;line-height:1.35;letter-spacing:-.7px}.sector-content p{font-size:16px;line-height:1.85;color:#4d626c;max-width:920px;margin-top:14px}.sector-content .text-link{margin-top:17px}.approach-heading>p:last-child{font-size:16px;line-height:1.85;max-width:360px;color:#52626b}.approach-list details{padding:27px 0}.approach-list summary{font-size:24px;line-height:1.4;gap:24px;min-height:45px}.approach-list summary>span{font-size:12px;color:#476170}.approach-list details>p{font-size:16px;line-height:1.9;max-width:100%;margin:17px 20px 0 41px;color:#52626b}.contact-top .eyebrow{font-size:11px}.contact-top>span{font-size:10px}.contact-bottom p{font-size:15px;color:#dbe4ff}.contact-bottom>a{font-size:22px}.footer{background:#e6ebe5;padding:58px 0 0;color:#162831;border-top:1px solid #c8d3cd}.footer-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.2fr);gap:55px;align-items:start}.footer-identity .brand img{width:265px;max-width:100%}.footer-identity p{font-size:20px;line-height:1.55;color:#3f535e;margin-top:28px;letter-spacing:-.5px}.footer-identity p strong{font-weight:500;color:#132b38}.footer-identity>span{font-size:14px;line-height:1.8;color:#52656c;display:block;margin-top:18px}.footer-main h3{font-size:19px;line-height:1.5;font-weight:500;letter-spacing:-.4px;margin:0 0 23px}.footer-expertises{display:flex;flex-direction:column;gap:18px;padding-top:7px}.footer-expertises h3{margin-bottom:5px}.footer-expertises a{font-size:15px;line-height:1.6;transition:color .2s;max-width:max-content;border-bottom:1px solid transparent}.footer-expertises a:hover{color:var(--blue);border-color:var(--blue)}.footer-contact{padding-top:7px}.footer-email{font-size:clamp(15px,1.35vw,22px);display:flex;align-items:center;gap:15px;color:var(--blue);line-height:1.6;overflow-wrap:anywhere}.footer-email>span{font-size:25px}.footer-contact address{font-style:normal;font-size:15px;line-height:1.8;color:#435e6b;margin-top:22px}.footer-contact-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid #80989f;font-size:14px;padding:10px 0;margin-top:18px}.footer-signature{border-top:1px solid #bdcdc7;border-bottom:4px solid var(--blue);margin-top:47px;padding:27px 0 29px;display:flex;align-items:baseline;gap:16px;font-size:clamp(30px,4.9vw,75px);letter-spacing:-.06em;line-height:1.15}.footer-signature>span{color:#667974}.footer-signature>strong{font-weight:500}.footer-signature>a{margin-left:auto;font-size:31px;letter-spacing:0;min-width:50px;min-height:50px;display:grid;place-items:center;border:1px solid #afc3ba;border-radius:50%;color:var(--blue);align-self:center}.footer-signature>a:hover{background:var(--blue);color:white}.footer-bottom{font:12px/1.7 Lufga,Arial,sans-serif;color:#405a64;gap:30px;align-items:center;padding:25px 0}.footer-bottom>a{padding:9px 0}.footer-bottom>a:nth-child(2){margin-left:auto}.footer-bottom>a:last-child{justify-self:auto}
@keyframes title-rule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1700px){.hero{min-height:0}.hero-visual{min-height:710px}.hero h1{font-size:74px}.hero-bottom{margin-top:33px}}
@media(max-width:1300px){.header nav{font-size:16px;gap:20px}.brand img{width:220px}.nav-cta{font-size:12px;gap:13px;padding:14px 18px}.header{gap:23px}.hero{column-gap:25px;grid-template-columns:minmax(0,44fr) minmax(0,56fr)}.hero h1{font-size:4.3vw}.hero-intro{font-size:16px}.hero-bottom{gap:12px}.hero-bottom .button{font-size:13px;padding:14px 18px}.hero-contact{font-size:12px}.hero-visual{min-height:640px}.scene-note{left:18px;right:18px}.scene-disclaimer{font-size:8px;max-width:138px;left:18px}.service-index a{padding:24px 19px!important}.service-index strong{font-size:23px}.service-index a>p{font-size:12px}.service-index a>small{font-size:8px}.footer-main{gap:35px}.footer-expertises a{font-size:14px}.footer-email{font-size:17px}}
@media(max-width:1150px){.header{height:100px;gap:25px}.header .brand img{width:230px}.header .menu-toggle{display:flex;align-items:center;gap:13px;margin-left:auto;padding:13px 6px}.menu-toggle span{font-size:24px}.header nav{display:none;position:absolute;left:0;right:0;top:85px;margin:0;background:#fff;border:1px solid #c7d2d5;box-shadow:0 18px 40px #203d4e16;border-radius:16px;padding:20px 24px;z-index:60;flex-direction:column;gap:0;font-size:18px}.header nav.open{display:flex}.header nav a{min-height:54px;padding:15px 0}.header .nav-cta{display:flex;font-size:13px;padding:14px 19px}.hero{grid-template-columns:minmax(0,42fr) minmax(0,58fr);column-gap:24px}.hero h1{font-size:4.4vw}.hero-copy .eyebrow{font-size:9px}.hero-intro{font-size:15px}.hero-visual{min-height:620px}.hero-method{font-size:12px;gap:15px}.hero-contact{font-size:12px}.hero-bottom .button{font-size:12px}.scene-phases{font-size:10px}.scene-note strong{font-size:20px}.note-kicker{font-size:9px}.scene-disclaimer{max-width:110px;font-size:7.3px}.hero-foot{font-size:9px;gap:20px}.hero-foot>a{font-size:9px}.service-index{grid-template-columns:repeat(2,minmax(0,1fr))}.service-index a{min-height:265px;padding:26px!important}.service-index a:nth-child(2){border-right:0}.service-index a:nth-child(3),.service-index a:nth-child(4){border-top:1px solid #cbd5d6}.service-index strong{font-size:28px}.service-index a>p{font-size:14px}.service-index a>small{font-size:10px;padding-top:24px}.service-index a>i{right:26px}.service-copy p:not(.eyebrow):not(.service-lead){font-size:15px}.service-copy .eyebrow{font-size:10px}.service-copy .service-lead{font-size:20px}.research .service-copy p:not(.eyebrow):not(.service-lead){font-size:15px}.research .service-copy .service-lead{font-size:19px}.panel-caption{font-size:9px}.robot-caption{font-size:8px}.learning-step>span{font-size:8px}.learning-step small{font-size:7px}.learning-step strong{font-size:18px}.pme .service-copy p:not(.eyebrow):not(.service-lead){font-size:15px}.pme .service-copy h2{font-size:37px}.pme-heading .eyebrow{font-size:9px}.pme-label{font-size:9px}.industry-top>p:last-child{font-size:15px}.sector-controls button{font-size:15px;padding:16px;min-height:76px}.approach-list summary{font-size:22px;gap:18px}.approach-list details>p{font-size:15px;margin-left:32px}.approach-heading>p:last-child{font-size:15px}.contact-bottom>a{font-size:20px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-identity{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.footer-identity p{margin:0;align-self:center}.footer-identity>span{grid-column:2;margin-top:8px}.footer-identity .brand{grid-row:1/3;align-self:center}.footer-email{font-size:20px}.footer-expertises a,.footer-contact address{font-size:15px}.footer-bottom{font-size:12px}}
@media(max-width:900px){.hero{display:flex;flex-direction:column;padding-top:20px}.hero-copy{padding:18px 0 0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:30px;align-items:center}.hero-copy>.eyebrow{grid-column:1/-1;font-size:10px}.hero h1{font-size:clamp(39px,5.5vw,54px);grid-column:1;grid-row:2/4;margin-top:23px}.hero-intro{grid-column:2;grid-row:2;margin-top:22px;font-size:15px}.hero-bottom{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px}.hero-bottom .button{font-size:13px}.hero-method{grid-column:1/-1;max-width:100%;justify-content:flex-start;font-size:13px;margin:28px 0 25px;padding-top:20px;gap:23px}.hero-visual{width:100%;min-height:620px;display:block}.scene-shell{inset:67px 0 187px}.scene-note{left:24px;right:24px;bottom:85px}.scene-note strong{font-size:22px}.note-kicker{font-size:10px}.scene-phases{font-size:12px}.scene-disclaimer{max-width:210px;font-size:9px;left:24px;bottom:24px}.hero-foot{font-size:9px;min-height:72px;gap:20px}.hero-foot>a{font-size:8px}.intro{grid-template-columns:20% 80%}.intro>.eyebrow{font-size:10px}.intro-bottom{grid-template-columns:35px 1fr;gap:19px}.intro-bottom p{font-size:15px;max-width:100%}.intro-bottom>p:last-child{grid-column:2}.expertise-intro .eyebrow{font-size:11px}.expertise-intro>p{font-size:14px;max-width:275px}.service-copy .service-lead{font-size:18px}.service-copy p:not(.eyebrow):not(.service-lead){font-size:14px}.service-copy .eyebrow{font-size:9px}.text-link{font-size:12px;gap:15px}.research .service-copy p:not(.eyebrow):not(.service-lead){font-size:14px}.research .service-copy .service-lead{font-size:18px}.research-visual .panel-caption{font-size:8px}.study-controls button{font-size:11px;padding:9px 14px}.diagram-description{font-size:12px}.learning-step>span{font-size:6.5px}.learning-step strong{font-size:16px}.learning-step small{font-size:6px}.learning-panel>p{font-size:12px}.learning-panel{min-height:480px}.robot-tools button{font-size:11px}.pme-label{font-size:7px}.pme-heading .eyebrow{font-size:8px}.pme .service-copy p:not(.eyebrow):not(.service-lead){font-size:14px}.pme .service-copy h2{font-size:33px}.pme-visual-caption{font-size:8px}.pme-container small{font-size:9px}.industry-top>p:last-child{font-size:14px}.industry-image figcaption{font-size:9px}.sector-controls{gap:9px}.sector-controls button{font-size:13px;min-height:82px;padding:14px}.sector-content{padding:25px}.sector-content article{grid-template-columns:60px minmax(0,1fr);gap:20px}.sector-number{font-size:40px}.sector-content h3{font-size:23px}.sector-content p{font-size:14px}.approach{display:block}.approach-heading>p:last-child{max-width:100%}.approach-list{margin-top:30px}.approach-list details>p{font-size:15px}.contact-bottom>a{font-size:18px}}
@media(max-width:700px){html{scroll-padding-top:106px}.wrap{width:calc(100% - 36px)}.header{height:88px;gap:13px}.header .brand img{width:205px}.header .nav-cta{display:none}.header .menu-toggle{font-size:15px;padding:13px 0 13px 10px;gap:10px}.header nav{top:77px;padding:16px 20px;font-size:18px}.header nav a{padding:15px 0;min-height:54px}.hero{padding-top:17px;display:flex;flex-direction:column}.hero-copy{display:block;padding-top:9px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.35px}.hero h1{font-size:clamp(35px,8.9vw,59px);margin-top:24px;line-height:1.14;letter-spacing:-.058em;width:auto;max-width:100%}.hero h1>span:after{height:4px;bottom:-5px}.hero-intro{font-size:15px;line-height:1.75;margin-top:25px;max-width:100%}.hero-bottom{display:flex;flex-direction:row;align-items:center;gap:15px;margin-top:24px;max-width:100%}.hero-bottom .button{font-size:12px;min-height:51px;padding:13px 16px;gap:14px}.hero-contact{font-size:11px;min-height:44px;padding:13px 0;border-bottom:1px solid #879da6}.hero-method{display:flex;margin:24px 0 24px;padding-top:18px;gap:17px;font-size:12px;justify-content:space-between}.hero-method i{font-size:17px}.hero-visual{min-height:535px;height:535px;border-radius:20px;margin:0;border:1px solid #bfd1db;box-shadow:0 15px 25px #1a3f5508}.scene-shell{inset:60px 0 205px}.scene-note{left:17px;right:17px;bottom:96px;padding:13px 0 0;border-radius:0}.note-kicker{font-size:8px}.scene-note strong{font-size:19px;line-height:1.35;margin-top:7px}.note-line{margin-top:11px}.scene-phases{font-size:9px;gap:5px;margin-top:11px}.scene-disclaimer{left:17px;right:17px;max-width:100%;bottom:73px;font-size:7px;line-height:1.5;letter-spacing:.1px}.hero-foot{min-height:90px;padding:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;font-size:7px;letter-spacing:.2px;margin:0}.hero-foot>a{grid-column:1/-1;margin:0;font-size:9px;justify-content:space-between;padding-top:7px}.hero-foot>a span{font-size:20px}.references{padding:14px 0 30px;display:block}.references>p{font-size:13px;line-height:1.7;margin-bottom:23px}.reference-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.reference-logos img{width:100%;height:38px;padding:0 5px}.intro{display:block;padding-top:51px;padding-bottom:50px}.intro>.eyebrow{font-size:11px;margin-bottom:23px;padding:0}.intro h2{font-size:clamp(30px,7.2vw,46px);line-height:1.2}.intro-bottom{display:grid;grid-template-columns:27px minmax(0,1fr);gap:16px;margin-top:26px}.intro-bottom p{font-size:14px;line-height:1.85}.expertise-intro{display:block;padding-top:43px}.expertise-intro .eyebrow{font-size:11px;letter-spacing:.6px;line-height:1.8;max-width:290px}.expertise-intro h2{font-size:35px;margin-top:20px}.expertise-intro>p{font-size:15px;line-height:1.85;margin-top:22px;max-width:100%}.service-index{margin-top:26px;grid-template-columns:1fr;gap:0;border-radius:15px}.service-index a{min-height:225px;padding:24px!important;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;align-content:start;border-right:0;border-bottom:1px solid #cbd5d6}.service-index a:last-child{border-bottom:0}.service-index a:nth-child(3),.service-index a:nth-child(4){border-top:0}.service-index a>span.index-num{grid-column:1;grid-row:1/4;font-size:12px;width:35px;height:35px}.service-index a>i{top:22px;right:21px;font-size:26px}.service-index strong{grid-column:2;margin:0 25px 0 0;font-size:26px;line-height:1.25;letter-spacing:-.6px}.service-index a>p{grid-column:2;font-size:14px;line-height:1.7;margin-top:13px}.service-index a>small{grid-column:2;font-size:9px;margin-top:0;padding-top:20px;gap:14px}.engineering,.training{padding-top:47px;padding-bottom:49px;gap:29px}.service-copy .eyebrow{font-size:10px;line-height:1.8;letter-spacing:.5px}.service-copy h2{font-size:42px;margin-top:21px}.service-copy .service-lead{font-size:20px;line-height:1.55;margin-top:23px}.service-copy p:not(.eyebrow):not(.service-lead){font-size:15px;line-height:1.9;margin-top:18px;max-width:100%}.text-link{font-size:13px;line-height:1.6;min-height:44px;gap:17px;padding-bottom:8px;margin-top:23px}.panel-caption{font-size:8px;line-height:1.6;letter-spacing:.1px;gap:13px}.study-controls{gap:5px}.study-controls button{font-size:12px;min-height:44px;padding:10px 14px}.diagram-description{font-size:13px;line-height:1.7;margin-top:15px}.research{padding:40px 0}.research .service-copy h2{font-size:38px}.research .service-copy .eyebrow{font-size:10px}.research .service-copy .service-lead{font-size:19px}.research .service-copy p:not(.eyebrow):not(.service-lead){font-size:15px}.research-visual{min-height:470px}.research-visual .panel-caption{font-size:8px;padding:20px 17px}.robot-shell{min-height:310px}.robot-tools{margin:0 17px}.robot-tools button{font-size:12px;min-height:44px}.robot-caption{font-size:8px;line-height:1.6;padding:15px 17px 20px}.learning-panel{min-height:0;padding:20px 17px 24px}.learning-steps{position:static;height:auto;margin:25px 0 23px;display:flex;flex-direction:column;gap:12px;perspective:none}.learning-step,.in-view .learning-step,.learning-step.selected{position:relative;top:auto;left:auto;transform:none;width:100%;height:auto;min-height:150px;padding:20px 19px;display:grid;grid-template-columns:1fr 52px;gap:12px;border-radius:10px;box-shadow:none;opacity:1}.learning-step:nth-child(n){top:auto;left:auto}.learning-step>span{font-size:10px;grid-column:1;margin:0}.learning-step i{font-size:40px;grid-column:2;grid-row:1/4;margin:0;align-self:center;justify-self:center}.learning-step strong{font-size:23px;grid-column:1;line-height:1.2;letter-spacing:-.5px}.learning-step strong br{display:none}.learning-step small{font-size:9px;grid-column:1;border:0;padding:0;margin:0}.learning-panel>p{font-size:14px;line-height:1.75;min-height:0;padding:0}.learning-progress{margin-left:0}.pme{padding:24px 22px 30px;border-radius:20px}.pme-heading{align-items:flex-start;gap:13px}.pme-heading .eyebrow{font-size:8px;line-height:1.7;letter-spacing:.2px}.pme-label{font-size:7px;padding:9px;white-space:normal;max-width:92px;text-align:center;line-height:1.6}.pme .service-copy h2{font-size:36px}.pme .service-copy p:not(.eyebrow):not(.service-lead){font-size:15px;line-height:1.9}.pme-container small{font-size:10px}.pme-visual-caption{font-size:8px;line-height:1.5;left:0}.industry{padding-top:54px;padding-bottom:48px}.industry-top>.eyebrow{font-size:10px;line-height:1.7;letter-spacing:.4px}.industry-top>p:last-child{font-size:15px;margin-top:24px;line-height:1.85}.industry-top h2{font-size:35px}.industry-image img{height:310px}.industry-image figcaption{font-size:7px;padding:11px;gap:9px}.sectors{margin-top:29px}.sectors>.eyebrow{font-size:10px;line-height:1.7}.sector-controls{grid-template-columns:1fr;gap:9px;margin-top:18px}.sector-controls button{font-size:16px;min-height:62px;padding:14px 18px;border-radius:11px}.sector-controls button>span{font-size:23px}.sector-content{padding:25px 20px;border-radius:13px;margin-top:14px}.sector-content article{display:block}.sector-number{font-size:32px;letter-spacing:-1.5px;display:block;margin-bottom:18px}.sector-content h3{font-size:24px;line-height:1.35}.sector-content p{font-size:15px;line-height:1.85;margin-top:16px}.sector-content .text-link{font-size:12px;margin-top:17px}.approach{padding-top:0;padding-bottom:49px}.approach-heading>.eyebrow{font-size:11px}.approach-heading h2{font-size:35px;margin-top:22px}.approach-heading>p:last-child{font-size:15px;margin-top:21px;max-width:100%}.approach-list{margin-top:30px}.approach-list details{padding:23px 0}.approach-list summary{font-size:20px;line-height:1.4;gap:14px;min-height:44px;letter-spacing:-.5px}.approach-list summary>span{font-size:11px}.approach-list details>p{font-size:15px;line-height:1.9;margin:15px 0 0 29px}.contact{padding:26px 24px 27px;margin-bottom:43px}.contact-top .eyebrow{font-size:9px;line-height:1.7}.contact h2{font-size:clamp(28px,7vw,44px)}.contact-bottom p{font-size:13px;line-height:1.8}.contact-bottom>a{font-size:15px;margin-top:21px}.footer{padding-top:35px}.footer-main{display:flex;flex-direction:column;gap:32px}.footer-identity{display:block}.footer-identity .brand img{width:245px}.footer-identity p{font-size:22px;margin-top:26px;line-height:1.5}.footer-identity>span{font-size:14px;line-height:1.8;margin-top:16px;display:block}.footer-expertises{gap:14px;padding:0;width:100%}.footer-main h3{font-size:20px;margin:0 0 6px}.footer-expertises a{font-size:15px;min-height:44px;display:flex;align-items:center}.footer-contact{padding-top:0;width:100%}.footer-email{font-size:17px;margin-top:16px;line-height:1.8;gap:12px}.footer-contact address{font-size:15px;line-height:1.8;margin-top:19px}.footer-contact-link{font-size:14px;min-height:44px;margin-top:17px;gap:25px}.footer-signature{font-size:clamp(28px,8.4vw,47px);margin-top:33px;padding:23px 0;display:grid;grid-template-columns:1fr 45px;gap:2px 15px;align-items:start}.footer-signature>span{grid-column:1}.footer-signature>strong{grid-column:1}.footer-signature>a{grid-column:2;grid-row:1/3;align-self:center;min-width:44px;min-height:44px;font-size:26px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 17px;font-size:12px;line-height:1.7;padding:21px 0 25px}.footer-bottom>span{width:100%}.footer-bottom>a:nth-child(2){margin-left:0}.footer-bottom>a{min-height:44px;display:flex;align-items:center}}
@media(max-width:370px){.header .brand img{width:185px}.hero h1{font-size:8.7vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:5px}.hero-copy>.eyebrow{font-size:8px}.hero-method{font-size:11px;gap:12px}.scene-phases{font-size:8px}.service-index strong{font-size:24px}.service-index a{padding:23px 18px!important;column-gap:12px}.service-index a>i{right:17px}.study-controls button{font-size:11px;padding:10px 12px}.research .service-copy h2{font-size:34px}.footer-email{font-size:15px}}
@media(max-width:1150px){.header nav.open{font-size:18px}}
@media(max-width:700px){.scene-shell{top:78px}}
@media(prefers-reduced-motion:reduce){.hero h1>span:after{animation:none}.sector-controls button,.service-index a,.service-index a>i{transition:none}.learning-step{transition:none}}

.footer-social {
  margin-top: 26px;
  scroll-margin-top: 1rem;
}

.footer-main .footer-social h3 {
  margin: 0 0 12px;
  font-size: 1rem;
  letter-spacing: 0;
}

.footer-social-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-social-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: inherit;
}

.footer-social-icon svg {
  width: 20px;
  height: 20px;
}

span.footer-social-icon {
  opacity: .65;
}

a.footer-social-icon:hover,
a.footer-social-icon:focus-visible {
  background: var(--yellow);
  border-color: var(--yellow);
  color: #111b24;
}

a.footer-social-icon:focus-visible {
  outline: 2px solid var(--yellow);
  outline-offset: 4px;
}

.footer-social-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Let the cargo model use the full hero panel. */
.hero .hero-visual {
  min-height: 600px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.hero .scene-shell {
  inset: 0;
}

.hero .scene-shell canvas {
  cursor: default;
}

.hero .scene-fallback img {
  width: 94%;
  height: 100%;
}

@media (max-width: 700px) {
  .hero .hero-visual {
    min-height: 0;
    height: clamp(240px, 68vw, 410px);
  }
}

/* Make the three stages of the engineering diagram easy to distinguish. */
.blueprint-panel > svg {
  max-height: 540px;
  margin: 12px 0;
}

.blueprint-panel .blueprint-lines {
  transition: opacity .35s ease;
}

.blueprint-panel .blueprint-lines path {
  transition-duration: 1.2s, .35s;
}

.blueprint-panel[data-mode="zones"] .plan-zones {
  opacity: .44;
}

.blueprint-panel .flow-line {
  transition: opacity .35s ease;
  stroke: #8a6400;
  stroke-width: 4;
}

.blueprint-panel[data-mode="flux"] .flow-line {
  animation-duration: 1.25s;
}

.blueprint-panel:not([data-playing]) .flow-line {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .blueprint-panel .blueprint-lines,
  .blueprint-panel .blueprint-lines path,
  .blueprint-panel .plan-zones,
  .blueprint-panel .flow-line {
    transition: none;
  }

  .blueprint-panel[data-mode="flux"] .flow-line {
    animation: none;
  }
}
