@font-face{font-family:sans;src:url(../media/dm_sans_latin-s.p.0tm8u-h63rec8.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.sans_35aea83a-module__SqqH7q__className{font-family:sans,sans Fallback}.sans_35aea83a-module__SqqH7q__variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:"serif";src:url(../media/newsreader_latin-s.0rbocftmutivq.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:serif Fallback;src:local(Arial);ascent-override:76.71%;descent-override:27.66%;line-gap-override:0.0%;size-adjust:95.82%}.serif_82f461a6-module__caSykW__className{font-family:"serif",serif Fallback}.serif_82f461a6-module__caSykW__variable{--font-serif:"serif", "serif Fallback"}
:root{--paper:#f7fafc;--ink:#123348;--blue:#0074be;--navy:#103448;--engineering:#facb63;--muted:#526977;--line:#d9e5ed;--sans:var(--font-sans), Arial, sans-serif;--serif:var(--font-serif), Georgia, serif;--radius:11px;--button-radius:11px;--gutter:clamp(16px, 3vw, 64px);--motion-ease:cubic-bezier(.22, .68, .24, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{color:var(--ink);background:var(--paper);font-family:var(--sans);background-image:linear-gradient(#1677b510 1px,#0000 1px),linear-gradient(90deg,#1677b510 1px,#0000 1px);background-size:36px 36px;margin:0;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--sans);letter-spacing:-.055em;line-height:1.08}h2{font-size:clamp(36px,3.6vw,56px)}h3{letter-spacing:-.03em;font-size:22px;line-height:1.3}p{color:var(--muted)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:5px;outline:3px solid #0074be}::selection{color:var(--ink);background:#b9dcf2}.wrap{width:calc(100% - var(--gutter) * 2);margin-inline:auto}.section{padding-block:90px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);align-items:center;gap:20px;font-size:10px;font-weight:600;display:flex}.eyebrow span{color:var(--blue)}.section-head{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:35px;display:flex}.section-head h2{margin-top:16px}.section-head>p{max-width:310px;font-size:13px}.technical-rule{border-top:1px solid #98bed650;padding-top:24px;position:relative}.technical-rule:before,.technical-rule:after{content:"+";color:#72a6ca;font:18px monospace;position:absolute;top:-12px}.technical-rule:before{left:-4px}.technical-rule:after{right:-4px}.button{background:var(--blue);color:#fff;white-space:nowrap;border:1px solid var(--blue);border-radius:var(--button-radius);justify-content:center;align-items:center;gap:28px;min-height:48px;padding:13px 23px;font-size:12px;font-weight:600;transition:background .25s,transform .3s,box-shadow .3s;display:inline-flex}.button:hover{background:#005d99;transform:translateY(-2px);box-shadow:0 7px 18px #0074be18}.button:active{transform:scale(.98)}.button svg,.text-link svg{transition:transform .3s}.button:hover svg,.text-link:hover svg{transform:translate(4px)}.button.outline{color:var(--ink);background:0 0;border-color:#97b4c6}.button.outline:hover{background:#e8f1f6}.text-link{color:var(--blue);white-space:nowrap;border-bottom:1px solid #aabed0;align-items:center;gap:14px;padding:9px 0;font-size:12px;display:inline-flex}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--radius);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-header{z-index:50;width:calc(100% - var(--gutter) * 2);background:#f7fafce8;border:1px solid #ffffffd9;border-radius:0;margin:16px auto 0;position:sticky;top:16px;box-shadow:inset 0 1px #fff,0 8px 32px #10344812}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.site-header{-webkit-backdrop-filter:blur(24px)saturate(150%);background:linear-gradient(120deg,#ffffffba,#f7fafca6)}}.header-inner{justify-content:space-between;align-items:center;gap:25px;width:100%;height:78px;padding-inline:22px;display:flex}.site-header .header-inner{width:100%}body:has(.hero) .site-header{left:var(--gutter);right:var(--gutter);width:auto;margin:0;position:fixed}.brand{flex-shrink:0;align-items:center;display:flex}.brand img{object-fit:contain;width:126px;height:64px}.desktop-nav{gap:4px;font-size:12px;display:flex}.desktop-nav a{border-radius:0;padding:10px 14px;transition:background .25s,color .25s;position:relative}.desktop-nav a:hover{color:#005d99;background:#0074be0c}.menu-button{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:0 0;padding:10px 15px;display:none}.mobile-nav{display:none}.hero{background:var(--navy);color:#fff;isolation:isolate;align-items:center;width:100%;min-height:100dvh;display:grid;position:relative;overflow:hidden}.hero-media{z-index:-3;position:absolute;inset:0;overflow:hidden}.hero-media img,.hero-media video{object-fit:cover;width:100%;height:100%}.hero-media video{opacity:0;transition:opacity .8s;position:absolute;inset:0}.hero-media video.is-playing{opacity:1}.hero-shade{z-index:-2;background:linear-gradient(90deg,#071e31db 0%,#0a2939aa 48%,#0a293945 100%),linear-gradient(#0000 40%,#072838c9);position:absolute;inset:0}.hero-copy{max-width:900px;padding:140px 58px 150px;animation:.9s cubic-bezier(.2,.7,.2,1) both hero-in}.hero-copy .eyebrow{color:#e0eaf0;margin-bottom:42px;font-size:9px}.hero-copy .eyebrow span{color:#87c9f7}.hero h1{letter-spacing:-.065em;max-width:790px;font-size:clamp(60px,6.4vw,92px);font-weight:450}.hero h1 em{color:var(--engineering);font-style:normal}.hero-copy>p{color:#dfe9ef;max-width:330px;margin-top:24px;font-size:15px}.hero-actions{gap:15px;margin-top:30px;display:flex}.hero .button{color:#11374f;background:#fff;border-color:#fff}.hero .button:hover{background:#e3f2fc}.hero .button.outline{color:#fff;background:#10344830;border-color:#ffffff80}.hero .button.outline:hover{background:#ffffff20}.hero-note{border-top:1px solid #ffffff50;width:240px;padding-top:16px;position:absolute;bottom:125px;right:58px}.hero-note>span{letter-spacing:.12em;color:#b5d2e5;font:9px monospace}.hero-note p{color:#e0ecf4;margin-top:10px;font-size:13px}.hero-bottom{text-transform:uppercase;letter-spacing:.12em;color:#e1edf5;border-top:1px solid #ffffff35;justify-content:space-between;align-items:center;gap:25px;padding-top:18px;font-size:8px;display:flex;position:absolute;bottom:25px;left:58px;right:58px}.hero-bottom a{align-items:center;gap:10px;display:flex}.video-control{z-index:5;color:#fff;border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c2f46b8;border:1px solid #ffffff70;align-items:center;gap:8px;padding:8px 13px;font-size:10px;display:flex;position:absolute;bottom:78px;right:58px}.sector-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding-block:32px;display:grid}.sector{border-right:1px solid var(--line);align-items:center;gap:19px;padding:6px 28px;transition:background .3s;display:flex}.sector:first-child{padding-left:12px}.sector:last-child{border:0}.sector svg{color:#377695;flex-shrink:0;transition:transform .3s}.sector .sector-title{font-family:var(--serif);color:var(--ink);margin-bottom:2px;font-size:24px}.sector p{font-size:11px}.sector-arrow{opacity:0;margin-left:auto}.sector:hover .sector-arrow{opacity:1;transform:translate(3px)}.sector:hover>svg:first-child{transform:translateY(-3px)}.trusted-section{padding-block:58px 60px}.trusted-section h2{font-size:35px}.trusted-section .section-head{margin-bottom:25px}.partner-grid{border-radius:var(--radius);background:#fff;border:1px solid #b8cedc;grid-template-columns:repeat(8,minmax(0,1fr));align-items:stretch;gap:0;display:grid;overflow:hidden}.partner-mark{border-right:1px solid #b8cedc;place-items:center;min-width:0;min-height:108px;padding:10px 6px;transition:background .3s;display:grid}.partner-mark:last-child{border-right:0}.partner-grid img{object-fit:contain;filter:none;opacity:1;width:106px;height:79px}.partner-mark:hover{background:#f1f7fb}.company-grid{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.company-copy h2{margin:22px 0 28px}.company-copy>p{max-width:490px}.company-copy .text-link{margin-top:23px}.disciplines{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.disciplines span{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:5px 13px;font-size:11px}.study{border-radius:var(--radius);background:var(--navy);color:#e9f3fa;background-image:linear-gradient(#60a1cb12 1px,#0000 1px),linear-gradient(90deg,#60a1cb12 1px,#0000 1px);background-size:24px 24px;border:1px solid #2f617c;position:relative;overflow:hidden}.study-header,.study-footer{font:9px var(--sans);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #45708780;justify-content:space-between;gap:12px;padding:16px 22px;display:flex}.study-footer{color:#c0d6e4;border-top:1px solid #45708780;border-bottom:0}.study-viewport{height:330px;position:relative}.study-viewport canvas{width:100%;height:100%;position:absolute;inset:0}.study-fallback{color:#c0d6e4;text-align:center;place-content:center;font-size:13px;display:grid;position:absolute;inset:45px}.study-load{margin-top:16px}.study .button.outline{color:#fff;border-color:#779bae}.study .button.outline:hover{background:#ffffff15}.study-actions{justify-content:space-between;align-items:center;gap:10px;padding:0 22px 20px;display:flex}.study-actions [role=group]{gap:6px;display:flex}.study-actions button{border-radius:var(--radius);color:#e3f2fc;background:#123b52;border:1px solid #6b93a9;min-height:40px;padding:8px 11px;font-size:10px;transition:background .25s}.study-actions button[aria-pressed=true]{color:var(--navy);background:#d1eafa;border-color:#d1eafa}.principles{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff95;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;display:grid;overflow:hidden}.principles>div{padding:28px}.principles>div+div{border-left:1px solid var(--line)}.principles h3{margin:12px 0;font-size:23px}.principles p{font-size:12px}.services-section{border-radius:var(--radius);background-color:var(--navy);color:#edf5fa;background-image:linear-gradient(#69a3c91c 1px,#0000 1px),linear-gradient(90deg,#69a3c91c 1px,#0000 1px);background-size:36px 36px;width:100%;margin-inline:auto;padding-block:48px}.services-section .wrap{width:calc(100% - var(--gutter) * 2)}.services-section p,.services-section .eyebrow{color:#bbd1df}.services-section .eyebrow span{color:#83c7f3}.services-layout{grid-template-columns:.9fr 1.1fr;align-items:stretch;gap:32px;display:grid}.services-section .section-head{margin-bottom:28px;display:block}.services-section .section-head h2{font-size:clamp(32px,3.4vw,48px)}.services-section .section-head>p{max-width:none;margin-top:16px}.services-section .section-head>p br{display:none}.service-image{aspect-ratio:2.1;border-radius:var(--radius);border:1px solid #81a4b8;position:relative;overflow:hidden}.service-image img{object-fit:cover}.image-credit{border-radius:var(--radius);color:var(--ink);background:#f7fafced;padding:4px 9px;font-size:9px;position:absolute;bottom:14px;left:16px}.service-description{min-height:157px;padding-top:18px}.service-description h3{font-size:25px;font-weight:650}.service-description p{max-width:480px;margin-top:8px;font-size:13px}.discipline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.discipline-button{border-radius:var(--radius);color:#edf5fa;text-align:left;min-height:154px;transition:background .25s, border-color .25s, box-shadow .25s, transform .22s var(--motion-ease);background:linear-gradient(135deg,#ffffff0a,#ffffff03);border:1px solid #6f9ab060;grid-template-columns:minmax(0,1fr);align-content:space-between;gap:18px;padding:18px 20px;display:grid}.discipline-meta{align-items:center;gap:12px;display:flex}.discipline-icon{color:#c8e4f4;border-radius:var(--radius);background:#b4d6e90a;border:1px solid #8eb8ce45;flex-shrink:0;place-items:center;width:44px;height:44px;transition:color .25s,background .25s,border-color .25s;display:grid}.discipline-number{letter-spacing:.08em;color:#bfd2df;margin-left:auto;font-family:monospace;font-size:10px}.discipline-arrow{color:#bfd2df;flex-shrink:0}.discipline-title{letter-spacing:-.025em;font-size:clamp(21px,1.9vw,26px);font-weight:700;line-height:1.25}.discipline-button:hover{background:#ffffff10;border-color:#a5c7da;transform:translateY(-2px)}.discipline-button[aria-pressed=true]{border-color:var(--engineering);box-shadow:inset 3px 0 0 var(--engineering);color:var(--engineering);background:#facb631a}.discipline-button:hover .discipline-icon,.discipline-button:focus-visible .discipline-icon{background:#b4d6e914;border-color:#bddbea}.discipline-button[aria-pressed=true] .discipline-icon{color:var(--engineering);background:#facb6314;border-color:#facb6380}.discipline-button[aria-pressed=true] .discipline-arrow{color:var(--engineering)}.discipline-button svg{transition:transform .2s}.discipline-button:hover .discipline-arrow,.discipline-button:focus-visible .discipline-arrow{transform:translate(2px,-2px)}.discipline-button:focus-visible{outline-color:var(--engineering)}#projects{padding-top:35px}.project-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 24px;display:grid}.project-plate{grid-column:span 4;min-width:0}.project-plate:nth-child(-n+2){grid-column:span 5}.project-plate:first-child{grid-column:span 7}#projects .section-head{align-items:flex-start}#projects .section-head>[data-reveal],#projects .project-intro{margin-left:0}.project-photo{border-radius:var(--radius);background:#dce9f0;border:5px solid #e0eaf0;outline:1px solid #a1bdcf;height:clamp(180px,18vw,225px);position:relative;overflow:hidden}.project-plate:nth-child(-n+2) .project-photo{height:clamp(245px,25vw,315px)}.project-photo img{object-fit:cover;transition:transform .6s}.project-plate:hover img{transform:scale(1.035)}.project-photo:after{content:"";pointer-events:none;z-index:2;border-radius:var(--radius);border:1px solid #c9dfec;position:absolute;inset:1px}.project-index{color:var(--ink);z-index:3;background:#f5faffef;border:1px solid #afcbdc;padding:6px 9px;font:9px monospace;position:absolute;top:12px;left:12px}.project-caption{justify-content:space-between;align-items:start;gap:12px;padding:13px 0 0;display:flex}.project-caption h3{letter-spacing:-.02em;font-size:15px;line-height:1.4}.project-caption>span{letter-spacing:.08em;color:var(--muted);white-space:nowrap;padding-top:4px;font:8px monospace}.archive-note{max-width:680px;margin-top:18px;font-size:11px}.register{border:1px solid var(--line);border-radius:var(--radius);background:#e9f1f6;grid-template-columns:repeat(3,1fr);margin-top:32px;padding:5px 24px;display:grid}.register article{padding:22px 24px 22px 0}.register article+article{border-left:1px solid var(--line);padding-left:24px}.register h3{margin:9px 0;font-size:16px;line-height:1.4}.register p{font-size:12px}.register .eyebrow{font-size:8px}.career-banner{border:1px solid var(--line);border-radius:var(--radius);background-color:#edf5fa;background-image:linear-gradient(#7eacd51a 1px,#0000 1px),linear-gradient(90deg,#7eacd51a 1px,#0000 1px);background-size:28px 28px;grid-template-columns:1fr 1.1fr;grid-template-areas:"image copy";min-height:340px;display:grid;position:relative;overflow:hidden}.career-copy{grid-area:copy;align-self:center;padding:48px}.career-copy p{font-size:13px}.career-copy .button{margin-top:25px}.career-image{height:100%;min-height:340px;position:relative;overflow:hidden}.career-image-reveal{background:#e2edf4;grid-area:image;min-width:0;position:relative}.career-image img{object-fit:cover}.process-section{border-block:1px solid var(--line);background:#edf4f8;margin-top:40px}#approach+.career-banner{margin-top:clamp(40px,6vw,80px)}.process-grid{grid-template-columns:1.1fr .9fr;grid-template-areas:"steps intro";align-items:center;gap:85px;display:grid}.process-intro{grid-area:intro}.process-flow{grid-area:steps;position:relative}.process-intro h2{margin:20px 0 25px}.process-intro>p{font-size:13px}.process-photo{border-radius:var(--radius);height:245px;margin-top:30px;position:relative;overflow:hidden}.process-photo img{object-fit:cover}.process-list{margin:0;padding:0;list-style:none}.process-list li{gap:25px;padding:26px 0;display:flex;position:relative}.process-rail{background:#a4c1d3;width:2px;position:absolute;top:42px;bottom:85px;left:16px;overflow:visible}.process-rail-fill{background:var(--blue);transform-origin:top;width:100%;height:100%;display:block;transform:scaleY(0)}.process-number{z-index:1;color:var(--ink);border-radius:var(--radius);background:#edf4f8;border:1px solid #8daec3;place-items:center;min-width:33px;height:33px;font:12px monospace;transition:background .25s,border-color .25s,color .25s;display:grid;position:relative}.process-list li[data-complete=true] .process-number{background:var(--blue);border-color:var(--blue);color:#fff}.process-list li[data-complete=true] h3{color:#0065a6}.process-list h3{margin-bottom:7px;font-size:25px;transition:color .25s}.process-list p{max-width:350px;font-size:13px}.contact{border-radius:var(--radius);color:#fff;background-color:var(--navy);background-image:linear-gradient(#72acc826 1px,#0000 1px),linear-gradient(90deg,#72acc826 1px,#0000 1px);background-size:36px 36px;margin-top:70px;padding:65px 55px}.contact .eyebrow,.contact p,.contact-grid h3{color:#c0d5e2}.contact .eyebrow span{color:#8bcef7}.contact-heading{grid-template-columns:1.4fr 1fr;align-items:end;gap:65px;display:grid}.contact-heading h2{margin-top:20px;font-size:clamp(38px,4vw,62px)}.contact-heading p{max-width:330px;margin-bottom:20px;font-size:13px}.contact .button{color:var(--navy);background:#e6f4ff;border-color:#e6f4ff}.contact .text-link{color:#a9dcfc;border-color:#7798ac}.contact-grid{border-top:1px solid #7e9bae70;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:45px;padding:30px 0 0;display:grid}.contact-grid h3{text-transform:uppercase;letter-spacing:.1em;margin-bottom:13px;font-size:10px}.contact-grid a{width:fit-content;font-size:13px;display:block}.contact-grid a:hover{text-decoration:underline}.contact-grid address{font-size:13px;font-style:normal}.contact-grid .text-link{margin-top:10px;font-size:12px;display:inline-flex}.footer{padding:35px 0}.footer-top{justify-content:space-between;align-items:center;gap:25px;display:flex}.footer-top nav{gap:25px;font-size:11px;display:flex}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:24px;padding-top:18px;font-size:10px;display:grid}.footer-bottom>a{text-align:center;grid-column:2}.scroll-progress{z-index:80;pointer-events:none;background:#0074be0c;height:3px;position:fixed;inset:0 0 auto}.scroll-progress-fill{background:var(--blue);transform-origin:0;height:100%;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress-fill{animation:1s linear both page-progress;animation-timeline:scroll(root)}@keyframes page-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.location-section{grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;padding-block:65px 45px;display:grid}.location-copy>svg{color:var(--blue);margin-bottom:20px}.location-copy h2{font-size:clamp(32px,3.2vw,46px)}.location-copy p{max-width:320px;margin-block:20px 12px;font-size:13px}.location-map{border:1px solid var(--line);border-radius:var(--radius);background:#e2edf4;height:340px;overflow:hidden}.location-map iframe{border:0;width:100%;height:100%;display:block}@media (prefers-reduced-transparency:reduce){.site-header{background:var(--paper);-webkit-backdrop-filter:none}}.coming-soon{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb0;align-content:center;min-height:65dvh;margin-top:35px;margin-bottom:35px;padding:65px;display:grid;position:relative;overflow:hidden}.coming-soon:after{content:"";z-index:-1;background-image:linear-gradient(#1677b510 1px,#0000 1px),linear-gradient(90deg,#1677b510 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.coming-soon h1{max-width:800px;margin:22px 0;font-size:clamp(55px,7vw,94px)}.coming-soon p{max-width:420px;margin-bottom:30px}.coming-actions{flex-wrap:wrap;gap:15px;display:flex}[data-glare]{isolation:isolate;position:relative}[data-glare]:after{content:"";z-index:4;pointer-events:none;background:radial-gradient(ellipse at var(--glare-x,50%) var(--glare-y,50%), #ffffff32, transparent 55%);opacity:0;border-radius:inherit;transition:opacity .4s;position:absolute;inset:0}[data-glare]:hover:after{opacity:1}.parallax-inner{position:absolute;inset:-16px 0}.decode-text{white-space:nowrap;display:inline-block}.decode-character{white-space:pre;display:inline-block;position:relative}.decode-original{visibility:hidden}.decode-glyph[data-scrambled=true]{color:var(--decode-accent,var(--blue))}.services-section{--decode-accent:var(--engineering)}.decode-glyph{position:absolute;top:0;left:0}.sector{position:relative}.sector:after{content:"";background:var(--blue);transform-origin:0;height:1px;transition:transform .25s;position:absolute;bottom:0;left:12px;right:12px;transform:scaleX(0)}.sector:hover:after,.sector:focus-visible:after{transform:scaleX(1)}.footer-top nav a,.footer-bottom a{transition:color .2s}.footer-top nav a:hover,.footer-bottom a:hover{color:#005d99}.service-frame{animation:.4s both media-in;position:absolute;inset:0}@keyframes media-in{0%{opacity:.65}to{opacity:1}}@keyframes hero-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.hero{view-timeline:--hero block}.hero-media{animation:linear both hero-parallax;animation-timeline:--hero;animation-range:exit}@keyframes hero-parallax{to{transform:translateY(32px)scale(1.02)}}}.desktop-nav a:after{content:"";background:var(--blue);transform-origin:0;height:1px;transition:transform .22s var(--motion-ease);position:absolute;inset:auto 14px 5px;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.discipline-button:active{transform:translateY(0)}.discipline-title{transition:color .22s var(--motion-ease)}.discipline-button:hover .discipline-title,.discipline-button:focus-visible .discipline-title{color:var(--engineering)}.process-cursor{background:var(--blue);opacity:0;width:6px;height:6px;position:absolute;top:-3px;left:-2px}.process-list li:before{content:"";background:var(--blue);transform-origin:0;width:15px;height:1px;transition:transform .24s var(--motion-ease);position:absolute;top:42px;left:33px;transform:scaleX(0)}.process-list li[data-complete=true]:before{transform:scaleX(1)}.process-list li[data-current=true] .process-number{box-shadow:0 0 0 4px #0074be14}.process-number{transition-timing-function:var(--motion-ease)}@media (max-width:1100px){.desktop-nav{gap:0}.desktop-nav a{padding-inline:10px}.header-inner>.button{gap:14px;padding-inline:18px}.hero-copy{padding-inline:40px}.hero-note{width:200px;bottom:155px;right:40px}.hero-bottom{left:40px;right:40px}.video-control{right:40px}.sector{gap:12px;padding-inline:15px}.sector-arrow{display:none}.company-grid,.services-layout{gap:35px}.career-copy{padding:35px}.process-grid{gap:45px}.contact{padding:45px 35px}.contact-heading{gap:35px}.project-caption h3{font-size:22px}.study-actions{padding-inline:15px}.study-actions button{padding-inline:9px}}@media (min-width:768px) and (max-width:900px){.header-inner>.button{display:none}}@media (max-width:767px){html{scroll-padding-top:95px}.header-inner{width:100%;height:66px;padding-inline:16px}.site-header{width:calc(100% - 24px);margin-top:10px;top:10px}.brand img{width:110px;height:56px}.desktop-nav,.header-inner>.button{display:none}.menu-button{align-items:center;gap:10px;font-size:12px;display:flex}.mobile-nav{border:1px solid var(--line);background:var(--paper);border-radius:0;gap:15px;padding:15px 25px 25px;font-size:17px;display:grid;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 12px 32px #10344820}.mobile-nav a{padding-block:5px}#projects .section-head>[data-reveal],#projects .project-intro{margin-left:0}.hero-copy{padding:115px 24px 145px}.hero-copy .eyebrow{flex-wrap:wrap;gap:10px;margin-bottom:40px;font-size:8px}.hero h1{font-size:clamp(49px,10vw,76px)}.hero-copy>p{margin-top:22px;font-size:13px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:25px}.hero-actions .button{gap:14px;min-height:44px;padding:11px 17px;font-size:11px}.hero-note{width:190px;bottom:122px;left:24px;right:auto}.hero-note p{font-size:11px}.hero-note>span{font-size:8px}.hero-bottom{flex-wrap:wrap;gap:12px;font-size:7px;bottom:20px;left:24px;right:24px}.hero-bottom>span:last-child{width:100%}.video-control{font-size:9px;bottom:88px;right:24px}.hero-shade{background:linear-gradient(90deg,#071e31e3,#0a293970),linear-gradient(#0000 30%,#072838e0)}.sector-strip{grid-template-columns:1fr;gap:0;padding-block:15px}.sector,.sector:first-child{border:0;gap:18px;padding:18px 8px}.sector+.sector{border-top:1px solid var(--line)}.sector .sector-title{font-size:24px}.sector p{font-size:12px}.sector-arrow{opacity:.6;display:block}.section{padding-block:60px}.section-head{margin-bottom:27px;display:block}.section-head>p,.section-head>.text-link{margin-top:18px}.trusted-section{padding-block:38px 50px}.trusted-section .section-head{align-items:end;gap:15px;display:flex}.trusted-section h2{font-size:29px}.trusted-section .section-head>p{font-size:10px}.eyebrow{gap:12px;font-size:8px}.partner-grid{grid-template-columns:repeat(4,1fr);gap:0}.partner-mark{padding:6px}.partner-grid img{width:65px;height:50px}#projects{padding-top:10px}.register{grid-template-columns:1fr;padding-inline:20px}.register article,.register article+article{border-left:0;padding:20px 0}.register article+article{border-top:1px solid var(--line)}.archive-note{font-size:10px}.career-banner{grid-template-columns:1fr;grid-template-areas:"copy""image"}.career-copy{padding:32px 26px}.career-copy h2{font-size:36px}.career-image{min-height:240px}.company-grid,.services-layout,.process-grid{grid-template-columns:1fr;gap:35px}.process-grid{grid-template-areas:"intro""steps"}.company-copy h2{margin:20px 0}.company-copy>p{font-size:14px}.principles{grid-template-columns:1fr;margin-top:40px}.principles>div{padding:25px}.principles>div+div{border-left:0;border-top:1px solid var(--line)}.study-viewport{height:280px}.study-actions{flex-wrap:wrap}.study-header,.study-footer{padding-inline:15px;font-size:8px}.study-actions button{font-size:10px}.service-image{aspect-ratio:1.6}.services-section{padding-block:32px}.discipline-grid{order:-1;gap:10px}.discipline-button{gap:10px;min-height:154px;padding:15px 12px}.discipline-meta{gap:7px}.discipline-icon{width:36px;height:36px}.discipline-icon svg{width:27px;height:27px}.discipline-title{font-size:clamp(19px,4.5vw,22px)}.service-description{min-height:0}.process-section{margin-top:25px}.process-photo{height:220px}.process-list h3{font-size:25px}.contact{margin-top:45px;padding:36px 26px}.contact-heading{grid-template-columns:1fr;gap:25px}.contact-heading h2{font-size:clamp(32px,8vw,46px)}.contact-grid{grid-template-columns:1fr;gap:28px;margin-top:35px;padding-top:28px}.footer-top,.footer-bottom{flex-wrap:wrap}.footer-top nav{gap:20px}.footer-bottom{text-align:center;grid-template-columns:1fr;gap:12px;font-size:9px}.footer-bottom>a{grid-column:1}.location-section{grid-template-columns:1fr;gap:26px;padding-block:45px 20px}.location-map{height:300px}.coming-soon{padding:38px 26px}.coming-soon h1{font-size:clamp(46px,11vw,70px)}.coming-actions .button{gap:14px}}@media (max-width:360px){.hero-copy{padding-inline:20px}.hero h1{font-size:45px}.hero-bottom{left:20px;right:20px}.hero-note{left:20px}.hero-actions .button{padding-inline:13px}.study-actions{padding-inline:12px}.trusted-section .section-head{display:block}.trusted-section .section-head>p br{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.parallax-inner{animation:none;inset:0;transform:none}.hero-media{animation:none;transform:none}.service-frame{animation:none}[data-glare]:after{display:none}}.engineering-drawing{color:#0074be;opacity:.09;pointer-events:none;z-index:0;width:620px;height:400px;position:absolute;top:0;right:20%}.career-copy{z-index:1;position:relative}.coming-soon>.engineering-drawing{opacity:.1;z-index:-1;width:650px;height:450px;top:40px;right:-100px}@media (max-width:767px){.engineering-drawing{width:480px;top:0;right:-140px}}.contact-grid a{min-height:28px}.process-intro .eyebrow span{color:#0065a6}@media (max-width:767px){.hero-note{display:none}}.hero .button:not(.outline),.contact .button{background:var(--engineering);border-color:var(--engineering);color:var(--navy)}.hero .button:not(.outline):hover,.contact .button:hover{background:#f7d78d;border-color:#f7d78d}.service-enquiry{color:var(--engineering);border-bottom:1px solid #facb6380;align-items:center;gap:12px;margin:10px 0 0;padding:6px 0;font-size:12px;transition:border-color .25s;display:inline-flex}.service-enquiry:hover{border-color:var(--engineering)}.service-image .service-frame{border-radius:var(--radius);inset:7px;overflow:hidden}.project-intro{margin:-13px 0 28px;font-size:12px}.career-banner{min-height:275px}.career-copy{padding:28px 36px}.career-copy h2{margin:14px 0 12px;font-size:36px}.career-copy .button{min-height:44px;margin-top:18px}.career-image{min-height:275px}.contact-heading h2 em{color:var(--engineering);font-style:normal}.principles{background-color:#f9fcfe;position:relative;overflow:visible}.principles:before,.principles:after{content:"+";color:#6b9eb9;font:20px monospace;position:absolute;top:-13px}.principles:before{left:-5px}.principles:after{right:-5px}.whatsapp-float{z-index:60;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));color:#fff;border-radius:var(--radius);background:#087646;border:1px solid #ffffff60;align-items:center;gap:12px;min-height:50px;padding:12px 18px;font-size:12px;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s;display:inline-flex;position:fixed;box-shadow:0 5px 18px #10344824}.whatsapp-float:hover{background:#075c38;transform:translateY(-3px);box-shadow:0 8px 24px #10344830}.whatsapp-float:active{transform:scale(.97)}.footer{padding-bottom:100px}@media (max-width:1100px){.project-gallery{gap:24px 18px}.project-caption{gap:8px}.project-caption h3{font-size:13px}}@media (max-width:767px){.project-gallery{grid-template-columns:1fr;gap:25px}.project-plate,.project-plate:nth-child(-n+2){grid-column:auto}.project-photo,.project-plate:nth-child(-n+2) .project-photo{height:215px}.project-caption h3{font-size:15px}.partner-mark{min-height:87px;padding:8px}.partner-mark:nth-child(4){border-right:0}.partner-mark:nth-child(-n+4){border-bottom:1px solid #b8cedc}.partner-grid img{width:72px;height:58px}.career-copy{padding:28px 26px}.career-copy h2{font-size:33px}.career-image{min-height:215px}.whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));min-height:48px;padding:10px 15px}}#projects .section-head,#projects .project-intro{text-align:left}.portfolio-button{align-self:flex-start;gap:24px;box-shadow:0 4px 14px #0074be20}.portfolio-button:hover svg,.portfolio-button:focus-visible svg{transform:translate(4px)}.portfolio-button:focus-visible{background:#005d99}.directory-page{padding-block:clamp(36px,5vw,80px) clamp(60px,7vw,110px)}.page-intro{max-width:850px;margin-bottom:clamp(32px,5vw,64px)}.page-intro>.text-link{margin-bottom:30px}.page-intro h1{max-width:16ch;margin-block:20px;font-size:clamp(38px,5vw,76px)}.page-intro>p{max-width:60ch;font-size:clamp(14px,1.2vw,17px)}.listing-section h2,.archive-section h2{font-size:clamp(30px,3vw,46px)}.listing-filters{border:1px solid var(--line);border-radius:var(--radius);background:#edf4f8;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:20px;padding:24px;display:grid}.filter-field{min-width:0}.filter-field label{margin-bottom:8px;font-size:12px;font-weight:650;display:block}.filter-field select,.search-input{border-radius:var(--button-radius);width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #97b4c6}.filter-field select{font:inherit;padding:10px 12px;font-size:14px}.search-input{align-items:center;gap:10px;padding-inline:12px;display:flex}.search-input input{width:100%;min-width:0;min-height:46px;color:var(--ink);background:0 0;border:0;font-size:14px}.search-input input::placeholder{color:var(--muted)}select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.listing-status{justify-content:space-between;align-items:center;gap:16px;margin-block:16px 24px;font-size:12px;display:flex}.filter-reset{min-height:44px;color:var(--blue);text-underline-offset:4px;background:0 0;border:0;padding:8px 0 8px 12px;font-size:12px;text-decoration:underline}.filter-reset:disabled{color:var(--muted);cursor:default;text-decoration:none}.listing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(16px,2vw,28px);display:grid}.listing-card{border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--radius);min-width:0;transition:border-color .22s var(--motion-ease), box-shadow .22s var(--motion-ease);background:#ffffffc9;flex-direction:column;padding:clamp(22px,2.5vw,36px);display:flex}.listing-card:hover,.listing-card:focus-within{border-color:#7daecb;box-shadow:0 5px 18px #1034480a}.listing-card .eyebrow{overflow-wrap:anywhere;line-height:1.6}.listing-card h3{margin-block:18px 12px;font-size:clamp(23px,2vw,30px);font-weight:600}.listing-card>p{max-width:60ch;font-size:14px}.listing-detail{color:var(--muted);border-top:1px solid var(--line);margin-block:24px 16px;padding-top:18px;font:11px/1.6 monospace}.listing-card .text-link{align-self:flex-start;margin-top:auto}.listing-empty{background:#edf4f8;border:1px dashed #97b4c6;padding:40px 24px}.listing-empty p{margin-block:12px 24px}.archive-section{margin-top:clamp(60px,7vw,110px)}.archive-section h2{margin-top:16px}.careers-page-hero{grid-template-columns:1.25fr .75fr;align-items:center;gap:clamp(24px,4vw,70px);margin-bottom:40px;display:grid}.careers-page-hero .page-intro{margin-bottom:0}.careers-page-photo{border-radius:var(--radius);align-self:stretch;min-height:320px;position:relative;overflow:hidden}.careers-page-photo img{object-fit:cover}.career-notice{border-left:3px solid var(--blue);background:#e9f1f6;margin-bottom:60px;padding:clamp(22px,3vw,36px)}.career-notice h2{margin-bottom:12px;font-size:24px}.career-notice p{max-width:85ch;font-size:14px}.career-notice a{color:#005d99;overflow-wrap:anywhere;text-decoration:underline}@media (min-width:1600px){.hero-copy{padding-left:clamp(60px,6vw,150px)}.company-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}@media (max-width:1000px){.listing-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.careers-page-hero{grid-template-columns:1fr}.careers-page-photo{aspect-ratio:2;min-height:0}}@media (max-width:767px){.portfolio-button{margin-top:22px}.listing-filters{gap:16px;padding:18px}.filter-search{grid-column:1/-1}}@media (max-width:420px){.listing-filters{grid-template-columns:1fr}}
