/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;450;500;550;600;650;700&family=IBM+Plex+Mono:wght@400;500&display=swap";@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--ease-out:cubic-bezier(0,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--bg:#0b1117;--surface:#111c26;--paper:#f3f1ec;--accent:#29b6e8;--muted:#8c9aa6;--line:#ffffff24;--ease-out:cubic-bezier(.23,1,.32,1);color:var(--paper);background:var(--bg);font-synthesis:none;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button{color:inherit}img{object-fit:cover;max-width:100%;display:block}p{color:#9eabb5;margin:0 0 24px;font-size:16px;line-height:1.75}h1,h2,h3,p{overflow-wrap:break-word}h1,h2{letter-spacing:-.018em;margin:0;font-family:Barlow Condensed,Arial Narrow,Arial,sans-serif;font-weight:600;line-height:.99}h2{font-size:clamp(44px,5.2vw,80px)}h3{letter-spacing:-.035em;margin:0;font-size:26px;font-weight:500}button{background:0 0;border:0}.eyebrow,.mono,.section-label{letter-spacing:.045em;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400}.eyebrow{letter-spacing:.12em}.accent{color:var(--accent)}.muted{color:#7d8992}.button{border:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;min-height:52px;transition:background .2s ease,transform .16s var(--ease-out);justify-content:space-between;align-items:center;gap:28px;padding:18px 22px;font-size:12px;font-weight:650;display:inline-flex}.button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.button:active{transform:scale(.97)}.text-link{border-bottom:1px solid #ffffff60;align-items:center;gap:24px;padding:10px 0;font-size:13px;font-weight:600;display:inline-flex}.button svg,.text-link svg{transition:transform .2s var(--ease-out)}.section{padding:104px max(5vw,24px);scroll-margin-top:30px}.section-label{color:#aab4bc;align-items:center;gap:20px;margin-bottom:38px;font-size:12px;display:flex}.section-label>span{color:var(--accent)}.section-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:54px;display:flex}.section-heading>p{max-width:370px;margin:0}.light{background:var(--paper);color:var(--bg)}.light p{color:#56616a}.light .section-label{color:#586269}.light .section-label>span{color:#0877a8}.light .text-link{border-color:#0b111760}.navigation{z-index:50;border-bottom:1px solid var(--line);width:100%;height:90px;transition:background .2s;position:absolute;top:0;left:0}.navigation.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1117f5;position:fixed}.nav-inner{justify-content:space-between;gap:35px;height:100%;margin:0 5vw}.brand,.nav-inner{align-items:center;display:flex}.brand{letter-spacing:.015em;gap:11px;font-size:23px;font-weight:700;line-height:1.1}.brand small{letter-spacing:.38em;margin-top:5px;font-size:9px;display:block}.brand-symbol{background:#fff;border-radius:3px;width:42px;height:43px;display:block;position:relative;overflow:hidden}.brand-symbol img{width:100px;max-width:none;height:100px;position:absolute;top:-17px;left:-28px}.nav-links{gap:28px;display:flex}.nav-links a{color:#ccd1d5;font-size:13px}.nav-cta{min-height:43px;padding:12px 16px}.menu-toggle{display:none}.hero{background:#0b1117;height:calc(100svh - 65px);min-height:800px;max-height:1100px;position:relative;overflow:hidden}.hero-art{opacity:.95;position:absolute;inset:0 0 0 20%}.hero-art img{object-position:60% center;width:100%;height:100%}.hero-vignette{background:linear-gradient(90deg,#0b1117,#0b1117bb 13%,#0b111722 60%),linear-gradient(#0b111744 20%,#0000 65%,#0b1117);position:absolute;inset:0}.technical-grid{pointer-events:none;background-image:linear-gradient(#a2becd07 1px,#0000 0),linear-gradient(90deg,#a2becd07 1px,#0000 0);background-size:90px 90px;animation:fade-in 1.2s both;position:absolute;inset:0}.hero-inner{max-width:1800px;height:100%;margin:auto;padding:150px 5vw 100px;position:relative}.hero-eyebrow{color:#b3bcc3;align-items:center;gap:14px;margin-bottom:30px;font-size:11px;display:flex}.tiny-cross{color:var(--accent);font-size:22px}h1{max-width:860px;font-size:clamp(58px,6.35vw,102px);line-height:.98}h1 span{animation:reveal .9s var(--ease-out) both;display:block}h1 span:nth-child(2){animation-delay:60ms}h1 span:nth-child(3){animation-delay:.12s}h1 span:nth-child(4){animation-delay:.18s}h1 i{font-style:normal;font-weight:500}.hero-description{color:#aebbc5;max-width:430px;margin:28px 0;font-size:15px}.hero-actions{animation:reveal 1s .24s var(--ease-out) both;align-items:center;gap:28px;display:flex}.hero-coordinate{color:#93a3ad;font-size:10px;line-height:1.8;position:absolute;bottom:110px;right:5vw}.hero-callout{color:#b2bdc4;position:absolute;top:36%;right:8%}.hero-callout>span{letter-spacing:.08em;font-size:10px}.hero-callout b{margin-top:9px;font-family:DM Sans,sans-serif;font-size:18px;font-weight:450;line-height:1.35;display:block}.callout-line{border-left:1px solid #29b6e880;height:80px;margin-top:12px;margin-left:0;position:relative;transform:skew(-30deg)}.callout-line:after{content:"";background:var(--accent);width:5px;height:5px;position:absolute;bottom:0;left:-3px}.hero-bottom{border-top:1px solid var(--line);color:#8f9da7;justify-content:space-between;align-items:center;gap:25px;padding:26px 0;display:flex;position:absolute;bottom:0;left:5vw;right:5vw}.hero-bottom .mono{font-size:10px}.scroll-link{white-space:nowrap;align-items:center;gap:28px;display:flex}.scroll-link>span{color:var(--accent);font-size:22px}.industry-strip{border-bottom:1px solid var(--line);background:#111a22;justify-content:space-between;align-items:center;gap:25px;padding:25px 5vw;display:flex}.industry-strip>.mono{color:#82919b;font-size:10px}.industry-strip>span:not(.mono){align-items:center;gap:35px;font-size:16px;display:flex}.industry-strip b{color:#71808c;font-size:17px;font-weight:300}.intro-grid{grid-template-columns:1.4fr 1fr;gap:12%;display:grid}.intro h2{font-size:clamp(55px,6.5vw,96px)}.intro h2>span{color:#87918b}.intro-copy{max-width:430px}.intro-copy>p:first-of-type{color:#17232d;letter-spacing:-.03em;font-size:22px;line-height:1.5}.large-plus{color:#74846b;margin-bottom:28px;font-size:60px;line-height:1;display:block}.intro-facts{border-top:1px solid #0b111730;grid-template-columns:repeat(3,1fr);margin-top:65px;padding-top:28px;display:grid}.intro-facts>div{border-right:1px solid #0b111725;align-items:center;gap:22px;padding:0 35px;display:flex}.intro-facts>div:first-child{padding-left:0}.intro-facts>div:last-child{border-right:0}.intro-facts b{font-family:Barlow Condensed,sans-serif;font-size:60px;font-weight:500}.intro-facts span{color:#56616a;max-width:140px;font-size:13px;line-height:1.5}.services-section{padding-bottom:80px}.service{border-top:1px solid var(--line);transition:background .2s}.service:last-child{border-bottom:1px solid var(--line)}.service.active{background:#121d25}.service-trigger{text-align:left;grid-template-columns:60px 1.5fr 1fr 28px;align-items:center;gap:18px;width:100%;padding:27px 20px;display:grid}.service-number{color:#81929e}.service-trigger h3{font-size:clamp(20px,2.25vw,33px)}.service-tag{color:#83919d;font-size:10px}.service.active .service-number,.service.active .service-trigger>svg{color:var(--accent)}.service-content{grid-template-columns:1fr 1.6fr;gap:45px;padding:0 65px 32px 98px;display:grid}.service-content[hidden]{display:none}.service-content img{width:100%;height:190px}.service-content p{max-width:650px;margin-bottom:16px;font-size:15px}.inline-list{flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:0;list-style:none;display:flex}.inline-list li{color:#b6c2ca;font-size:12px}.inline-list li:before{content:"+";color:#687c8a;margin-right:7px}.estimation-section{background:#101a22}.takeoff{border:1px solid var(--line);grid-template-columns:1.3fr 1fr;margin-bottom:28px;display:grid}.takeoff-model{min-height:380px;position:relative;overflow:hidden}.takeoff-model>img{opacity:.8;width:100%;height:100%}.takeoff-label{color:#b2bec7;font-size:10px;position:absolute;top:25px;left:25px}.takeoff-label b{color:var(--accent);margin-top:8px;font-weight:400;display:block}.measure-line{border-bottom:1px solid var(--accent);text-align:center;color:var(--accent);padding-bottom:12px;position:absolute;bottom:55px;left:20%;right:15%}.takeoff-data{background:#0d151c;padding:25px 28px}.data-footer,.data-header{color:#a6b3bd;justify-content:space-between;gap:20px;padding-bottom:20px;font-size:10px;display:flex}.data-header>span{color:#657783}.data-footer{padding-top:22px;padding-bottom:0}.data-footer>span{color:var(--accent)}.quantity{border-top:1px solid var(--line);grid-template-columns:30px 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.quantity>.mono{color:#6d7f8c;font-size:10px}.quantity>span:nth-child(2){font-size:15px}.quantity>b{font-family:Barlow Condensed,sans-serif;font-size:42px;font-weight:500;line-height:1}.quantity small{color:#8e9fa9;margin-left:9px;font-family:IBM Plex Mono,monospace;font-size:10px}.chips{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--line);color:#aebbc4;padding:9px 12px;font-size:12px;line-height:1.35}.light .chips li{color:#56636b;border-color:#0b111726}.discipline-explorer{border:1px solid var(--line);grid-template-columns:1.6fr 1fr;display:grid}.discipline-model{background:#0d151c;min-height:440px;position:relative;overflow:hidden}.discipline-model img{object-position:70%;opacity:.85;width:100%;height:100%}.model-label{color:#8195a2;font-size:10px;position:absolute;bottom:25px;left:25px}.model-node{border-left:1px solid var(--accent);color:var(--accent);background:#0b1117d9;padding:12px;font-size:11px;position:absolute;top:24%;right:9%}.model-crosshair{border:1px solid #29b6e880;border-radius:50%;width:55px;height:55px;position:absolute;top:40%;left:45%}.model-crosshair:after,.model-crosshair:before{content:"";background:#29b6e880;position:absolute}.model-crosshair:before{width:75px;height:1px;top:26px;left:-11px}.model-crosshair:after{width:1px;height:75px;top:-11px;left:26px}.discipline-controls{background:#111b24;padding:24px 32px}.discipline-controls button{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:22px;width:100%;padding:15px 0;font-size:18px;display:flex}.discipline-controls button>.mono{color:#7e919e;font-size:10px}.node-dot{border:1px solid #657782;border-radius:50%;width:5px;height:5px;margin-left:auto}.discipline-controls button[aria-pressed=true] .node-dot{background:var(--accent);border-color:var(--accent)}.discipline-controls p{min-height:65px;margin:25px 0 0;font-size:13px}.detail-grid{grid-template-columns:1fr 1fr;align-items:center;gap:70px;display:grid}.detail-grid h2{margin-bottom:26px;font-size:clamp(44px,4.8vw,72px)}.detail-grid p{max-width:540px}.detail-picture{align-self:stretch;min-height:540px;position:relative}.detail-picture>img{width:100%;height:100%;position:absolute}.technical-caption{color:#c4cfd5;background:linear-gradient(#0000,#0b1117);padding:25px;font-size:10px;line-height:1.8;position:absolute;bottom:0;left:0;right:0}.industries-section{padding-top:30px}.industry-tabs{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.industry-tabs button{border-right:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:25px 16px;font-size:17px;display:flex}.industry-tabs button>.mono{color:#788b99;font-size:10px}.industry-tabs button>svg{width:16px}.industry-scene{height:560px;position:relative;overflow:hidden}.industry-scene>img{object-position:center;width:100%;height:100%}.image-shade{background:linear-gradient(#0000 15%,#0b1117f0);position:absolute;inset:0}.industry-caption{max-width:550px;position:absolute;bottom:36px;left:40px}.industry-caption h3{text-transform:uppercase;margin:18px 0;font-family:Barlow Condensed,sans-serif;font-size:52px;line-height:1.05}.industry-caption p{color:#c0c9cf;max-width:450px;font-size:14px}.industry-caption .eyebrow{color:var(--accent);font-size:10px}.image-note{color:#a2b0b9;font-size:9px}.scene-corner{font-size:30px;font-weight:300;position:absolute;top:22px;right:25px}.marine-section{align-items:center;min-height:660px;padding:85px 5vw;display:flex;position:relative;overflow:hidden}.marine-section>img{width:100%;height:100%;position:absolute;inset:0}.marine-section:after{content:"";background:linear-gradient(90deg,#0b1117ef,#0b1117ad 40%,#0b11171a);position:absolute;inset:0}.marine-content{z-index:1;max-width:575px;position:relative}.marine-content h2{margin-bottom:25px;font-size:85px}.marine-content p{color:#b9c5cd}.marine-content .chips li{background:#0b111750}.civil-content{grid-template-columns:1fr 1.25fr;gap:60px;display:grid}.civil-content h3{margin-bottom:20px}.civil-content h3:nth-of-type(2){margin-top:40px}.optimization .detail-grid{align-items:start}.cost-chart{border:1px solid var(--line);background:#111d26;margin-top:5px;padding:25px}.chart-top{justify-content:space-between;gap:15px;font-size:10px;display:flex}.chart-top>span{color:#81949f}.cost-chart svg{width:100%;margin:20px 0}.chart-labels,.chart-legend{color:#a5b4be;justify-content:space-between;gap:15px;font-size:10px;display:flex}.chart-labels{border-bottom:1px solid var(--line);padding:20px 0;font-size:9px}.cost-chart p{color:#8295a1;margin:15px 0 0;font-size:11px}.optimization>.chips{max-width:1000px;margin-top:45px}.process-timeline{grid-template-columns:repeat(5,1fr);row-gap:44px;margin:60px 0 0;padding:0;list-style:none;display:grid}.process-timeline li{padding-right:30px;position:relative}.process-timeline .mono{color:#66715d;font-size:12px}.process-dot{background:#728264;border-radius:50%;width:9px;height:9px;margin:20px 0;position:relative}.process-dot:after{content:"";background:#0b111725;width:calc(18vw - 9px);height:1px;position:absolute;top:4px;left:9px}.process-timeline li:nth-child(5n) .process-dot:after{display:none}.process-timeline h3{letter-spacing:-.025em;max-width:170px;font-size:19px;line-height:1.4}.comparison-heading{background:#16232c;justify-content:space-between;gap:20px;padding:20px 25px;font-size:10px;display:flex}.comparison-heading>span{color:#92a3af;font-size:9px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}td,th{text-align:left;border:1px solid var(--line);padding:21px 25px;font-size:14px;font-weight:400}thead th{background:#101a22;font-size:17px;font-weight:600}thead th:first-child{color:#92a3af;font-size:13px}tbody th{color:#b9c5cd}tbody td{color:#9baebc;font-size:13px}tbody td:nth-child(2){background:#29b6e804}.small-note{margin-top:20px;font-size:12px}.document-stack{perspective:1000px;min-height:460px;padding:20px 25px;position:relative}.document-sheet{z-index:2;background:#fff;border:1px solid #deded7;max-width:440px;margin:auto;padding:38px 30px;position:relative;transform:rotate(-3deg);box-shadow:0 20px 60px #0b111717}.document-back{background:#dedfd8;border:1px solid #c6c9bd;position:absolute;inset:30px 30px 15px;transform:rotate(5deg)}.document-brand{letter-spacing:-.03em;border-bottom:1px solid #ccd0c7;margin-bottom:20px;padding-bottom:20px;font-size:20px;font-weight:750}.document-brand span{letter-spacing:.3em;margin-top:4px;font-size:8px;display:block}.document-sheet>.mono{color:#647064;font-size:8px}.document-sheet h3{margin:15px 0;font-size:28px}.document-meta{color:#677466;margin-bottom:25px;font-size:9px;line-height:1.8}.document-row{border-bottom:1px solid #e1e4dc;grid-template-columns:1fr 45px 45px;gap:10px;padding:11px 0;font-size:11px;display:grid}.document-row.mono{background:#edf0e5;padding:10px 4px;font-size:8px}.document-stamp{color:#4f623b;background:#e7f5c7;margin-top:30px;padding:12px;font-size:8px;display:inline-block}.why-grid{grid-template-columns:repeat(3,1fr);column-gap:45px;display:grid}.why-grid article{border-top:1px solid var(--line);padding:32px 0}.why-grid article>.mono{color:var(--accent);font-size:11px}.why-grid h3{margin:30px 0 14px;font-size:23px}.why-grid p{max-width:300px;margin-bottom:0;font-size:14px}.contact-section{background:var(--paper);color:var(--bg);grid-template-columns:.85fr 1.15fr;gap:75px;padding-top:110px;padding-bottom:110px;display:grid}.contact-intro h2{font-size:clamp(62px,6vw,95px)}.contact-intro h2>span{color:#829074}.contact-intro>.section-label{color:#667261;font-size:10px}.contact-intro .section-label>span{color:#6c805c}.contact-intro p{color:#5c6869;max-width:440px;margin-top:30px}.enquiry-form{background:#e9e8e2;padding:30px}.form-top{border-bottom:1px solid #0b111730;justify-content:space-between;margin-bottom:28px;padding-bottom:24px;font-size:10px;display:flex}.form-top>span{color:#64705f;font-size:9px}.form-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.enquiry-form label{color:#34423f;font-size:12px;display:block}.enquiry-form input:not([type=checkbox]):not([type=file]),.enquiry-form select,.enquiry-form textarea{color:#15221c;outline-offset:4px;background:0 0;border:0;border-bottom:1px solid #0b111738;border-radius:0;width:100%;margin-top:4px;padding:12px 0;font-size:13px;display:block}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#738077}.enquiry-form textarea{resize:vertical}.enquiry-form fieldset{border:0;margin:28px 0;padding:0}.enquiry-form legend{margin-bottom:14px;font-size:12px}.service-checkboxes{flex-wrap:wrap;gap:8px;display:flex}.service-checkboxes>label{cursor:pointer;position:relative}.service-checkboxes input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.service-checkboxes span{border:1px solid #0b11172c;padding:9px 11px;font-size:11px;display:block}.service-checkboxes input:checked+span{color:var(--accent);background:#075b8c;border-color:#075b8c}.service-checkboxes input:focus-visible+span{outline-offset:3px;outline:2px solid #0877a8}.enquiry-form .upload{cursor:pointer;border:1px dashed #0b111747;align-items:center;gap:16px;margin-top:24px;padding:20px;display:flex;position:relative}.upload span{min-width:0}.upload strong{font-size:12px;font-weight:500}.upload small{color:#737d72;margin-top:5px;font-size:10px;line-height:1.7;display:block}.upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload:focus-within{outline:2px solid #0877a8}.enquiry-form .consent{align-items:flex-start;gap:10px;margin-top:20px;font-size:11px;line-height:1.6;display:flex}.consent input{accent-color:#0877a8;margin-top:3px}.form-submit{margin-top:25px}.form-submit>span{color:#737d72;margin-bottom:15px;font-size:11px;display:block}.form-submit .button{width:100%;color:var(--accent);background:#111d18;border-color:#111d18}.selected-files{overflow-wrap:anywhere;font-size:12px}.form-status{color:#294e2a;align-items:flex-start;gap:10px;margin:20px 0 0;font-size:13px;display:flex}.form-status.error{color:#9d2c27}.footer{padding:55px 5vw 25px}.footer-top{justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px;display:flex}.footer-top p{margin:0;font-size:14px;line-height:1.6}.footer-links{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:28px 0;display:flex}.footer-links>span{color:#8598a4;font-size:12px}.footer-links nav{gap:24px;font-size:12px;display:flex}.disclaimer{color:#778a98;max-width:1100px;margin:15px 0 38px;font-size:11px;line-height:1.8}.footer-bottom{border-top:1px solid var(--line);color:#778a98;justify-content:space-between;gap:20px;padding-top:25px;font-size:9px;display:flex}.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{background:var(--accent);color:var(--bg);z-index:100;padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.contact-section :focus-visible,.light :focus-visible{outline-color:#0877a8}[data-reveal]{animation:reveal .7s var(--ease-out) both;animation-play-state:paused}[data-reveal].visible{animation-play-state:running}@keyframes reveal{0%{opacity:.15;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (hover:hover) and (pointer:fine){.button:hover{background:#12374a}.button.primary:hover{background:#70d6f7}.form-submit .button:hover{background:#065b8d}.button:hover svg,.text-link:hover svg{transform:translate(2px,-2px)}.nav-links a:hover{color:var(--accent)}.service:hover{background:#121d25}.industry-tabs button:hover{background:#12374a}.industry-tabs button[aria-pressed=true]:hover{background:var(--accent)}.detail-picture{overflow:hidden}.detail-picture img{transition:transform 1s var(--ease-out)}.detail-picture:hover img{transform:scale(1.025)}}@media (min-width:1700px){.section{padding-left:max(5vw,50vw - 800px);padding-right:max(5vw,50vw - 800px)}.hero-inner{padding-top:190px}h1{font-size:112px}.hero{min-height:950px}.hero-art{left:25%}.hero-description{max-width:510px;font-size:18px}}@media (max-width:1100px){.nav-inner{gap:20px}.nav-links{gap:18px}.nav-cta{gap:10px;font-size:10px}.brand{font-size:20px}.hero{height:auto;min-height:800px}.hero-inner{min-height:800px;padding-top:155px}.hero-callout{top:45%;right:5%}.hero-callout b{font-size:15px}.hero-actions{gap:20px}.hero-actions>.text-link{font-size:12px}.section{padding-top:80px;padding-bottom:80px}.section-heading{gap:40px}.section-heading>p{max-width:300px;font-size:14px}.detail-grid{gap:40px}.detail-picture{min-height:490px}.service-content{gap:30px;padding-left:45px;padding-right:30px}.service-trigger{grid-template-columns:35px 1.5fr 1fr 24px}.industry-strip>span:not(.mono){gap:12px;font-size:14px}.industry-tabs button{padding:20px 12px;font-size:14px}.industry-tabs button>.mono{display:none}.contact-section{grid-template-columns:.8fr 1.2fr;gap:40px}.contact-intro h2{font-size:64px}.enquiry-form{padding:24px}.civil-content{gap:35px}.intro-facts>div{padding:0 20px}.hero-coordinate{bottom:100px}}@media (max-width:760px){html{scroll-padding-top:80px}.navigation{height:76px}.nav-inner{gap:14px;margin:0 22px}.brand{font-size:20px}.brand-symbol{width:35px;height:37px}.brand-symbol img{width:87px;height:87px;top:-15px;left:-25px}.brand small{font-size:8px}.menu-toggle{align-items:center;margin-right:-10px;padding:10px;display:flex}.nav-cta{min-height:38px;margin-left:auto;padding:9px 11px;font-size:9px}.nav-cta svg,.nav-links{display:none}.nav-links{border-bottom:1px solid var(--line);background:#0b1117;padding:20px 24px;position:absolute;top:76px;left:0;right:0}.nav-links.open{flex-direction:column;gap:0;display:flex}.nav-links a{border-bottom:1px solid var(--line);padding:14px 0;font-size:16px}.hero{min-height:880px;max-height:none}.hero-inner{min-height:880px;padding:115px 24px 230px}.hero-eyebrow{letter-spacing:.075em;gap:8px;margin-bottom:24px;font-size:8px}.tiny-cross{font-size:18px}h1{font-size:clamp(44px,10.6vw,80px);line-height:1.02}.hero-art{inset:355px -35% 35px 0}.hero-art img{object-position:70% center}.hero-vignette{background:linear-gradient(#0b1117,#0b111760 28%,#0b111722 55%,#0b1117),linear-gradient(90deg,#0b111760,#0000)}.hero-description{max-width:310px;margin:23px 0;font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:9px}.hero-actions .button{min-height:48px;padding:15px 18px;font-size:10px}.hero-actions .text-link{font-size:11px}.hero-callout{top:auto;bottom:175px;right:25px}.hero-callout b{font-size:13px}.hero-callout>span{font-size:8px}.callout-line{height:35px}.hero-coordinate{font-size:8px;bottom:98px;left:24px}.hero-bottom{align-items:flex-end;gap:15px;padding:16px 0;left:24px;right:24px}.hero-bottom>.mono{max-width:220px;font-size:8px;line-height:1.8}.hero-bottom .scroll-link{white-space:normal;gap:10px;max-width:85px;font-size:8px;line-height:1.5}.industry-strip{flex-wrap:wrap;justify-content:flex-start;gap:14px 22px;padding:22px 24px}.industry-strip>.mono{width:100%;font-size:9px}.industry-strip>span:not(.mono){gap:18px;font-size:12px}.industry-strip b{font-size:12px}.section{padding:65px 24px}.section-label{gap:12px;margin-bottom:28px;font-size:9px;line-height:1.6}h2{font-size:48px;line-height:1.02}.intro-grid{grid-template-columns:1fr;gap:35px}.intro h2{font-size:57px}.intro-copy{max-width:none}.large-plus{display:none}.intro-copy>p:first-of-type{font-size:20px}.intro-copy p{font-size:14px}.intro-facts{gap:14px;margin-top:40px;padding-top:20px}.intro-facts>div{padding:0 10px 0 0;display:block}.intro-facts b{font-size:42px}.intro-facts span{max-width:95px;margin-top:6px;font-size:10px;display:block}.section-heading{margin-bottom:35px;display:block}.section-heading>p{max-width:420px;margin-top:24px;font-size:14px}.service-trigger{grid-template-columns:23px 1fr 20px;gap:10px;padding:22px 10px}.service-trigger h3{font-size:22px}.service-tag{display:none}.service-number{font-size:10px}.service-content{grid-template-columns:1fr;gap:20px;padding:0 18px 25px}.service-content img{height:170px}.service-content p{font-size:13px}.inline-list li{font-size:11px}.takeoff{grid-template-columns:1fr}.takeoff-model{height:250px;min-height:250px}.takeoff-data{padding:22px}.quantity{padding:14px 0}.quantity>b{font-size:36px}.chips{gap:6px}.chips li{padding:8px 9px;font-size:10px}.discipline-explorer{grid-template-columns:1fr}.discipline-model{height:290px;min-height:290px}.discipline-controls{padding:15px 22px}.discipline-controls button{padding:13px 0;font-size:17px}.discipline-controls p{min-height:45px;font-size:12px}.detail-grid{grid-template-columns:1fr;gap:32px}.detail-grid h2{font-size:47px}.detail-grid p{font-size:14px}.detail-picture{min-height:360px}.industry-tabs{display:flex;overflow:auto}.industry-tabs button{white-space:nowrap;flex:none;gap:18px;padding:18px;font-size:13px}.industry-tabs button svg{width:13px}.industry-scene{height:480px}.industry-caption{max-width:none;bottom:25px;left:23px;right:23px}.industry-caption h3{font-size:42px}.industry-caption p{font-size:13px}.image-note,.industry-caption .eyebrow{font-size:8px}.marine-section{min-height:650px;padding:60px 24px}.marine-content h2{font-size:65px}.marine-content p{font-size:14px}.marine-section>img{object-position:65%}.marine-section:after{background:linear-gradient(90deg,#0b1117e5,#0b111795)}.civil-content{grid-template-columns:1fr;gap:35px}.civil-content h3{font-size:24px}.civil-content p{font-size:14px}.cost-chart{padding:20px}.chart-top{font-size:8px}.chart-top>span{font-size:7px}.chart-legend{font-size:8px}.chart-labels{font-size:7px}.optimization>.chips{margin-top:30px}.process-timeline{grid-template-columns:repeat(2,1fr);row-gap:30px;margin-top:40px}.process-timeline h3{font-size:19px}.process-dot:after{width:calc(50vw - 33px)}.process-timeline li:nth-child(5n) .process-dot:after{display:block}.process-timeline li:nth-child(2n) .process-dot:after{display:none}.comparison-heading{padding:17px;font-size:9px;display:block}.comparison-heading>span{margin-top:9px;font-size:8px;display:block}td,th{padding:18px;font-size:12px}.small-note{font-size:11px}.document-stack{min-height:420px;padding:15px 12px}.document-sheet{padding:28px 23px}.why-grid{grid-template-columns:1fr 1fr;gap:0 22px}.why-grid article{padding:24px 0}.why-grid h3{margin:22px 0 12px;font-size:20px;line-height:1.2}.why-grid p{font-size:12px;line-height:1.7}.contact-section{grid-template-columns:1fr;gap:30px}.contact-intro h2{font-size:65px}.contact-intro p{font-size:14px}.enquiry-form{padding:24px 19px}.form-grid{gap:20px 18px}.enquiry-form label{font-size:11px}.enquiry-form input:not([type=checkbox]):not([type=file]),.enquiry-form select,.enquiry-form textarea{font-size:16px}.form-top{font-size:9px}.form-top>span{font-size:8px}.service-checkboxes span{padding:9px;font-size:10px}.enquiry-form .upload{gap:12px;padding:15px}.upload svg{flex-shrink:0}.upload small{font-size:9px}.form-submit .button{font-size:10px}.footer{padding:40px 24px 25px}.footer-top{flex-wrap:wrap;align-items:flex-start;gap:25px}.footer-top p{order:3;width:100%;font-size:12px}.footer-top .text-link{gap:15px;font-size:11px}.footer-links{padding:24px 0;display:block}.footer-links>span{font-size:10px;line-height:1.8;display:block}.footer-links nav{gap:20px;margin-top:25px;font-size:11px}.disclaimer{margin-bottom:28px;font-size:10px}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:8px}.footer-bottom>span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important;transform:none!important}[data-reveal]{opacity:1;animation:none!important}.document-sheet{transform:rotate(-3deg)!important}.document-back{transform:rotate(5deg)!important}}@media (max-width:430px){.form-grid{grid-template-columns:1fr}.form-grid input,.form-grid select{min-height:46px}}.brand{letter-spacing:-.012em;gap:14px;font-size:22px}.brand-symbol{filter:drop-shadow(0 7px 15px #0099cc29);background:0 0;border-radius:0;flex:none;width:50px;height:50px;overflow:visible}.brand-symbol img{object-fit:contain;width:100%;max-width:100%;height:100%;position:static}.brand-wordmark{padding-top:1px;display:block}.brand small{letter-spacing:.42em;color:#b8c2c9;margin-top:6px;font-size:8px}@media (max-width:760px){.brand{letter-spacing:-.01em;gap:10px;font-size:19px}.brand-symbol{width:40px;height:40px}.brand small{letter-spacing:.34em;margin-top:4px;font-size:7px}}.services-trigger{color:#ccd1d5;align-items:center;gap:6px;padding:12px 0;font-size:13px;display:flex}.services-trigger svg{transition:transform .2s var(--ease-out)}.services-trigger[aria-expanded=true]{color:var(--accent)}.services-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-services{display:none}.services-mega{z-index:45;border-top:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transform-origin:50% 0;width:100%;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),visibility 0s linear .2s;background:#0d161d;border-bottom:1px solid #ffffff2b;padding:0 5vw;position:absolute;top:100%;left:0;transform:translateY(-10px)scale(.985);box-shadow:0 28px 70px #0009}.services-mega[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)scale(1)}.services-mega-inner{grid-template-columns:.72fr 1.05fr 1.25fr;max-width:1800px;min-height:410px;margin:auto;display:grid}.mega-intro{border-right:1px solid var(--line);padding:42px 42px 38px 0}.mega-intro>.mono{color:var(--accent);font-size:9px}.mega-intro h2{text-transform:uppercase;margin:24px 0 18px;font-size:44px;line-height:.94}.mega-intro p{max-width:260px;margin-bottom:22px;font-size:13px;line-height:1.65}.mega-intro .text-link{gap:16px;font-size:11px}.mega-service-list{border-right:1px solid var(--line);grid-template-columns:1fr 1fr;align-content:start;padding:27px 30px;display:grid}.mega-service-list>a{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr 18px;align-items:center;gap:9px;min-height:83px;padding:14px;transition:background .18s,color .18s;display:grid}.mega-service-list>a:nth-last-child(-n+2){border-bottom:0}.mega-service-list>a>.mono{color:#778a96;font-size:9px}.mega-service-list>a>strong{font-size:14px;font-weight:500;line-height:1.35}.mega-service-list>a>svg{color:#687b87;width:14px;transition:transform .18s var(--ease-out),color .18s ease}.mega-preview{background:#101920;min-height:410px;position:relative;overflow:hidden}.mega-preview-images,.mega-preview-images>img{position:absolute;inset:0}.mega-preview-images>img{opacity:0;width:100%;height:100%;transition:opacity .2s ease,transform .25s var(--ease-out);transform:scale(1.025)}.mega-preview-images>img.active{opacity:1;transform:scale(1)}.mega-preview-shade{background:linear-gradient(#08101610 25%,#081016eb);position:absolute;inset:0}.mega-preview-copy{z-index:1;flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:30px;left:32px;right:32px}.mega-preview-copy small{color:var(--accent);font-size:9px}.mega-preview-copy strong{text-transform:uppercase;margin:10px 0;font-family:Barlow Condensed,sans-serif;font-size:38px;line-height:1}.mega-preview-copy em{color:#b6c1c8;max-width:430px;font-size:12px;font-style:normal;line-height:1.55}.service-body{opacity:0;transition:grid-template-rows .28s var(--ease-out),opacity .22s ease;grid-template-rows:0fr;display:grid}.service-body>.service-content{min-height:0;transition:padding .28s var(--ease-out);padding-top:0;padding-bottom:0;overflow:hidden}.service.active .service-body{opacity:1;grid-template-rows:1fr}.service.active .service-body>.service-content{padding-top:0;padding-bottom:32px}.service-content>div,.service-content>img{opacity:0;transition:opacity .22s ease,transform .28s var(--ease-out);transform:translateY(10px)}.service.active .service-content>div,.service.active .service-content>img{opacity:1;transform:translateY(0)}.service.active .service-content>div{transition-delay:40ms}.service-trigger>svg{transition:transform .28s var(--ease-out),color .18s ease}.service.active .service-trigger>svg{transform:rotate(180deg)}@media (hover:hover) and (pointer:fine){.services-trigger:hover{color:var(--accent)}.mega-service-list>a:focus-visible,.mega-service-list>a:hover{color:var(--accent);background:#29b6e80d}.mega-service-list>a:focus-visible svg,.mega-service-list>a:hover svg{color:var(--accent);transform:translate(2px,-2px)}}@media (max-width:980px) and (min-width:761px){.services-mega-inner{grid-template-columns:.8fr 1.2fr}.mega-intro{display:none}.mega-service-list{padding-left:5vw}}@media (max-width:760px){.services-mega,.services-nav-item{display:none}.mobile-services{border-bottom:1px solid var(--line);order:-1;display:block}.mobile-services>button{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:14px 0;font-size:16px;display:flex}.mobile-services>button svg{transition:transform .2s var(--ease-out)}.mobile-services>button[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-services-list{padding:2px 0 12px}.mobile-services-list[hidden]{display:none}.mobile-services-list>a{color:#aebbc4;border-bottom:0;grid-template-columns:28px 1fr;gap:8px;padding:10px 0;font-size:13px;display:grid}.mobile-services-list .mono{color:var(--accent);font-size:9px}.service.active .service-body>.service-content{padding-bottom:25px}}@media (prefers-reduced-motion:reduce){.mega-preview-images>img,.mega-service-list>a>svg,.mobile-services>button svg,.services-mega,.services-trigger svg{transition-property:opacity,color,background,visibility!important}.service-body,.service-body>.service-content,.service-content>div,.service-content>img,.service-trigger>svg{transition-property:opacity,color,background!important;transform:none!important}}@media (min-width:761px){.navigation{height:92px}.nav-inner{grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);align-items:center;gap:32px;margin:0 5vw;display:grid}.brand{justify-self:start}.nav-links{justify-self:center;align-items:center}.nav-cta{justify-self:end}.services-trigger{min-height:44px;padding:0}.hero{height:calc(100svh - 65px);min-height:850px;max-height:1100px}.hero-inner{width:100%;max-width:none;margin:0;padding:150px 5vw 112px}.hero-eyebrow{margin-bottom:25px}.hero-inner h1{max-width:min(47vw,880px);font-size:clamp(68px,5.6vw,104px);line-height:.97}.hero-description{max-width:480px;margin:25px 0 22px;font-size:16px;line-height:1.65}.hero-actions{gap:32px}.hero-bottom{left:5vw;right:5vw}.hero-coordinate{right:5vw}}@media (min-width:1700px){.hero-inner{padding-top:150px}.hero-inner h1{font-size:104px}.hero-art{left:25%}}@media (min-width:761px) and (max-height:900px){.hero{min-height:800px}.hero-inner{padding-top:125px}.hero-eyebrow{margin-bottom:19px}.hero-inner h1{font-size:clamp(64px,5.25vw,88px);line-height:.96}.hero-description{margin:20px 0 18px;font-size:15px;line-height:1.55}.hero-actions{gap:24px}}@media (min-width:761px) and (max-width:1180px){.nav-inner{grid-template-columns:minmax(210px,1fr) auto minmax(190px,1fr);gap:20px}.nav-links{gap:18px}.hero-inner h1{max-width:58vw}}@media (max-width:760px){.hero-inner{width:100%;max-width:none;margin:0}}:root{--brand-blue:#0877b5;--brand-blue-hover:#09669b;--brand-cyan:#29b6e8}.button,.button.primary,.form-submit .button{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.menu-toggle,.mobile-services>button,.service-trigger>svg,.services-trigger{color:var(--brand-cyan)}.discipline-controls button,.industry-tabs button{color:#7bd8f5}.industry-tabs button[aria-pressed=true]{background:var(--brand-blue);color:#fff}.industry-tabs button[aria-pressed=true]>.mono{color:#d5f3ff}.discipline-controls button[aria-pressed=true]{color:var(--brand-cyan)}.service-checkboxes input:checked+span{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.marine-architecture-picture{min-height:440px;overflow:hidden}@media (hover:hover) and (pointer:fine){.button.primary:hover,.button:hover,.form-submit .button:hover{background:var(--brand-blue-hover);border-color:var(--brand-blue-hover)}.industry-tabs button[aria-pressed=true]:hover{background:var(--brand-blue-hover)}}@media (max-width:760px){.marine-architecture-picture{min-height:340px}}.contact-email{border-top:1px solid #0b111726;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:440px;margin-top:34px;padding-top:24px;display:flex}.contact-email .mono{color:#5c6869;font-size:10px}.contact-email a,.footer-email{overflow-wrap:anywhere;text-underline-offset:6px;max-width:100%;padding:8px 0;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;display:block}.contact-email a{color:#17232d;font-size:18px;text-decoration-color:#0877a8}.footer-contact{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:14px;min-width:0;display:flex}.footer-email{color:var(--paper);font-size:15px;text-decoration-color:#ffffff40}.footer-contact .text-link{white-space:nowrap;gap:28px}@media (hover:hover) and (pointer:fine){.contact-email a:hover{color:#09669b}.footer-email:hover{color:var(--accent)}}@media (max-width:980px){.footer-top{flex-wrap:wrap}.footer-contact{flex-shrink:1}}@media (max-width:760px){.contact-email{margin-top:26px;padding-top:20px}.contact-email a{font-size:16px}.footer-contact{order:4;gap:12px;width:100%}.footer-email{font-size:15px}.footer-contact .text-link{font-size:12px}}