:root{color-scheme:light;--ink: #141821;--muted: #5e6575;--subtle: #eef2f7;--paper: #ffffff;--mist: #f6f8fb;--navy: #121b2d;--navy-2: #1c2a43;--red: #df1f2d;--red-dark: #b81622;--gold: #d99a2d;--green: #247761;--blue: #2d6f9f;--line: #dfe5ee;--shadow: 0 26px 70px rgba(20, 24, 33, .14);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4{margin-top:0}p{margin-bottom:1rem}.skip-link{position:fixed;left:16px;top:16px;z-index:100;transform:translateY(-160%);background:var(--red);color:#fff;padding:10px 14px;border-radius:4px;font-weight:800}.skip-link:focus{transform:translateY(0)}.site-header{position:fixed;inset:0 0 auto;z-index:50;background:#fffffff0;border-bottom:1px solid rgba(223,229,238,.8);backdrop-filter:blur(18px)}.nav-wrap,.wrap,.footer-grid,.footer-bottom{width:min(1180px,calc(100% - 40px));margin-inline:auto}.nav-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:74px}.brand{display:inline-flex;align-items:center;gap:9px;min-width:0;font-weight:900}.brand-word{color:var(--red);font-size:20px}.brand-compass{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--red);border-radius:50%;color:var(--navy);font-size:13px}.brand-line{color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.primary-nav{justify-self:end;display:flex;align-items:center;gap:22px;color:#333947;font-size:14px;font-weight:800}.primary-nav a{padding-block:10px}.primary-nav a[aria-current=page]{color:var(--red)}.header-cta,.button,.submit-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:6px;background:var(--red);color:#fff;font:inherit;font-size:14px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer}.button.secondary{background:#ffffff1f;border-color:#ffffff6b}.button.light{background:#fff;border-color:var(--line);color:var(--ink)}.button.dark{background:var(--navy)}.button:hover,.header-cta:hover,.submit-button:hover{background:var(--red-dark)}.button.light:hover{background:var(--mist)}.nav-toggle,.nav-button{display:none}.hero{position:relative;min-height:92vh;display:grid;align-items:end;padding:150px 0 70px;overflow:hidden;background:var(--navy);color:#fff}.hero:before,.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1423f0,#0d1423b8 48%,#0d142347);z-index:1}.hero img,.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after,.page-hero:after{content:"";position:absolute;inset:auto 0 0;height:10px;background:linear-gradient(90deg,var(--red),var(--gold),var(--blue),var(--red));z-index:2}.hero-content,.page-hero .wrap{position:relative;z-index:3}.hero h1,.page-hero h1{max-width:880px;margin-bottom:22px;font-size:clamp(42px,7vw,86px);line-height:.96;letter-spacing:0}.hero p{max-width:690px;color:#ffffffd1;font-size:20px}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:38px;height:2px;background:currentColor}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.proof-strip{position:relative;z-index:4;width:min(1180px,calc(100% - 40px));margin:-42px auto 0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.proof-item{min-height:118px;padding:24px;border-right:1px solid var(--line)}.proof-item:last-child{border-right:0}.proof-label{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.proof-value{margin-top:8px;font-size:21px;font-weight:900;line-height:1.2}.section{padding:92px 0}.section.alt{background:var(--mist)}.section.dark{background:var(--navy);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:38px}.section-head h2,.content h2{max-width:760px;margin-bottom:0;font-size:clamp(31px,4vw,54px);line-height:1.04;letter-spacing:0}.section-head p{max-width:490px;margin-bottom:0;color:var(--muted)}.dark .section-head p,.dark .lead{color:#ffffffb8}.split{display:grid;grid-template-columns:.96fr 1.04fr;gap:56px;align-items:center}.split.reverse{grid-template-columns:1.04fr .96fr}.media-frame{position:relative;overflow:hidden;min-height:480px;border-radius:8px;box-shadow:var(--shadow);background:var(--subtle)}.media-frame img{width:100%;height:100%;min-height:480px;object-fit:cover}.content{display:grid;gap:22px}.lead{color:var(--muted);font-size:18px}.check-list,.plain-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}.check-list li{display:grid;grid-template-columns:25px 1fr;gap:12px;color:#343a49;font-weight:650}.check-list li:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#2477611f;color:var(--green);font-size:13px;font-weight:900}.dark .check-list li{color:#ffffffdb}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.feature,.service-card,.product-card,.industry-card,.case-card,.office,.legal-panel,.metric-card{padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff}.dark .feature,.dark .service-card{border-color:#ffffff21;background:#ffffff12}.feature h3,.service-card h3,.product-card h3,.industry-card h3,.case-card h3,.office h3,.metric-card h3{margin-bottom:10px;font-size:22px;line-height:1.14}.feature p,.service-card p,.product-card p,.industry-card p,.case-card p,.metric-card p{margin-bottom:0;color:var(--muted)}.dark .feature p,.dark .service-card p{color:#ffffffb8}.card-kicker{margin-bottom:14px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.number-badge{display:grid;place-items:center;width:42px;height:42px;margin-bottom:22px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:900}.page-hero{position:relative;display:grid;align-items:end;min-height:560px;padding:150px 0 82px;overflow:hidden;background:var(--navy);color:#fff}.page-hero p{max-width:720px;margin-bottom:0;color:#fffc;font-size:19px}.breadcrumb{margin-bottom:18px;color:#ffffffa3;font-size:13px;font-weight:800}.breadcrumb a{color:#fff}.cta-band{position:relative;overflow:hidden;padding:50px;border-radius:8px;background:var(--navy);color:#fff}.cta-band:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#121b2dfa,#121b2dbd),url(/assets/images/engineering-services.png) center / cover no-repeat}.cta-band>*{position:relative}.cta-band h2{max-width:760px;margin-bottom:14px;font-size:clamp(30px,4vw,52px);line-height:1.04}.cta-band p{max-width:680px;color:#ffffffbd}.process{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-step{counter-increment:steps;padding:26px;border-top:4px solid var(--red);background:#fff}.process-step:before{content:"0" counter(steps);display:block;margin-bottom:18px;color:var(--blue);font-weight:900}.process-step h3{margin-bottom:8px;font-size:20px}.process-step p{margin-bottom:0;color:var(--muted)}.detail-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.detail-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:800}.detail-list span{color:var(--red)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.contact-form{display:grid;gap:15px;padding:30px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.field{display:grid;gap:7px}.field label{color:#333947;font-size:13px;font-weight:900}.field input,.field select,.field textarea{width:100%;min-height:47px;border:1px solid #cfd6e1;border-radius:6px;padding:10px 12px;color:var(--ink);font:inherit}.field textarea{min-height:135px;resize:vertical}.office{display:grid;gap:14px}.office address{margin:0;color:var(--muted);font-style:normal}.office-lines{display:grid;gap:7px;color:#343947;font-weight:750}.legal-panel{max-width:880px}.legal-panel h2{margin-top:34px;font-size:27px}.legal-panel h2:first-child{margin-top:0}.site-footer{background:#101622;color:#ffffffb8}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px;padding:54px 0 36px}.footer-grid h2{margin-bottom:14px;color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.footer-grid a{display:block;margin-bottom:10px}.footer-brand{margin-bottom:12px;color:#fff;font-size:20px;font-weight:900}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);font-size:14px}@media(max-width:980px){.nav-wrap{grid-template-columns:auto auto auto}.primary-nav{position:absolute;left:20px;right:20px;top:74px;display:none;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.primary-nav a{display:block;padding:12px 4px}.nav-toggle:checked~.primary-nav{display:block}.nav-button{justify-self:end;display:grid;gap:5px;width:42px;padding:10px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.nav-button span{display:block;height:2px;background:var(--ink)}.proof-strip,.grid.two,.grid.three,.grid.four,.split,.split.reverse,.process,.contact-grid,.footer-grid{grid-template-columns:1fr}.section-head{display:grid}.proof-item{border-right:0;border-bottom:1px solid var(--line)}.proof-item:last-child{border-bottom:0}.footer-bottom{display:grid}}@media(max-width:640px){.nav-wrap,.wrap,.footer-grid,.footer-bottom,.proof-strip{width:min(100% - 28px,1180px)}.nav-wrap{gap:12px;min-height:68px}.brand-line{display:none}.brand-word{font-size:18px}.brand-compass{width:30px;height:30px}.header-cta{min-height:38px;padding:0 12px;font-size:12px}.primary-nav{top:68px;left:14px;right:14px}.hero{min-height:780px;padding:124px 0 58px}.hero h1,.page-hero h1{font-size:43px}.hero p,.page-hero p,.lead{font-size:17px}.section{padding:66px 0}.page-hero{min-height:530px;padding:126px 0 68px}.media-frame,.media-frame img{min-height:340px}.feature,.service-card,.product-card,.industry-card,.case-card,.office,.legal-panel,.metric-card,.contact-form{padding:22px}.cta-band{padding:30px}}
