@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--orange:#f19316;--ink:#101a15;--paper:#f3f3ed;--muted:#aeb8ad}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:sticky;top:0;z-index:50;border-bottom:1px solid #d6d8d0}.brand img{width:112px;height:70px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:38px;font-size:13px;font-weight:700}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:2px;background:var(--orange);transition:.25s}nav a:hover:after{width:100%}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--orange);color:#111b13;padding:20px 25px;font-size:13px;font-weight:700;border:0;transition:background .25s,transform .25s}.button:hover{background:#ffad3d;transform:translateY(-3px)}.button span{font-size:22px}.button.small{padding:13px 22px}.menu{display:none}.progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:100;width:0}.skip{position:fixed;top:-60px;background:white;padding:15px;z-index:200}.skip:focus{top:0}.hero{min-height:770px;height:calc(100svh - 90px);max-height:1100px;position:relative;background:#111b16;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,15,.97) 0%,rgba(10,22,15,.87) 33%,rgba(10,22,15,.2) 80%),linear-gradient(0deg,rgba(10,22,15,.7),transparent 50%),url('assets/auckland-airport.webp') center 56%/cover;transform:scale(1.06);animation:heroZoom 1.6s ease-out forwards}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff0b 0) 0 0/25% 100%;pointer-events:none}.hero-content{position:relative;padding:80px 6% 125px;max-width:1000px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.7}.hero .eyebrow{color:#edb064;display:flex;align-items:center;gap:12px}.eyebrow i,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px #f19316}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(85px,9.3vw,160px);font-weight:500;letter-spacing:-8px;line-height:1.01;margin:35px 0 28px}em{font-weight:400;font-style:normal;color:var(--orange)}.intro{font-size:17px;line-height:1.8;color:#c8cec7;max-width:440px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:34px}.textlink{font-size:12px;font-weight:700;border-bottom:1px solid #8c978d;padding:12px 0;display:inline-block}.hero-bottom{position:absolute;bottom:0;left:6%;right:6%;padding:24px 0;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px}.hero-note{position:absolute;right:5%;bottom:115px;border-left:1px solid #ffffff66;padding:20px;font-size:9px;letter-spacing:1px}.hero-note small{display:block;margin-top:12px;color:#c7cec7;letter-spacing:0;font-size:11px}.live-dot{margin-right:8px}.client-strip{padding:30px 6%;border-bottom:1px solid #d7d9d1;display:flex;align-items:center;gap:45px}.client-strip>span{font-size:8px;letter-spacing:1.5px;white-space:nowrap}.client-strip>div{display:flex;justify-content:space-between;gap:36px;width:100%;font-size:12px;font-weight:700;letter-spacing:.5px;color:#566155}.client-strip b{font-weight:800}.section{padding:95px 6%}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbd0c6;padding-top:20px;margin-bottom:55px}.section-top>span{font-size:11px;color:#687467}.section-top .eyebrow{margin:0}h2{font-size:clamp(40px,4.2vw,70px);font-weight:500;letter-spacing:-3px;line-height:1.12;margin-bottom:28px}.explore h2 em,.projects h2 em{color:#75826e}.body-copy{max-width:420px;font-size:14px;line-height:1.9;color:#667061}.explore-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}.explore-tabs{margin-top:40px}.explore-tabs button{display:flex;gap:20px;width:100%;padding:20px 0;background:none;border:0;border-top:1px solid #d3d8ce;text-align:left;font-size:14px;align-items:center}.explore-tabs button span{font-size:10px;color:#848f7f}.explore-tabs button b{margin-left:auto;font-size:22px;font-weight:400}.explore-tabs button.active{color:#ad5a00}.building-wrap{position:relative;background:#18291f;color:white;min-height:565px;padding:24px;border-radius:2px;overflow:hidden}.diagram-label{font-size:8px;letter-spacing:1.3px;color:#a4b6a2;display:flex;justify-content:space-between}.diagram-label span{font-size:7px;color:#dcaf64}.building{width:100%;margin-top:18px;filter:drop-shadow(0 35px 25px #0006)}.building-drawing{transform:translateY(18px);transition:transform .7s}.building-wrap:hover .building-drawing{transform:translateY(8px)}.hotspot{position:absolute;z-index:2;border:1px solid #ffcb80;background:var(--orange);color:#172116;border-radius:50%;width:32px;height:32px;box-shadow:0 0 0 7px #f1931620;font-size:11px;transition:box-shadow .3s,transform .3s}.hotspot.active{box-shadow:0 0 0 12px #f1931629;transform:scale(1.1)}.h1{top:37%;left:46%}.h2{top:47%;left:51%}.h3{top:31%;left:67%}.detail-panel{position:relative;margin-top:-25px;background:#21362a;padding:22px;border-left:2px solid var(--orange);min-height:156px}.detail-panel>span{font-size:8px;letter-spacing:1.3px;color:#eab563}.detail-panel h3{font-size:18px;letter-spacing:-.5px;margin:13px 0 8px}.detail-panel p{font-size:11px;line-height:1.8;color:#b5c4b3;margin:0}.diagram-disclaimer{display:block;font-size:8px;color:#8d9d8b;margin-top:16px;line-height:1.5}.services{background:#122219;color:#edf0e6}.services .section-top{border-color:#40513e}.services .section-top>span{color:#a6b29f}.services h2{margin-bottom:60px}.service-list{border-bottom:1px solid #43513f}.service-list details{border-top:1px solid #43513f}.service-list summary{display:flex;gap:42px;align-items:center;cursor:pointer;list-style:none;padding:28px 0}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span{font-size:10px;color:#b0bba7}.service-list summary h3{margin:0;font-size:30px;font-weight:400;letter-spacing:-1px}.service-list summary b{margin-left:auto;font-size:30px;font-weight:400;transition:.3s}.service-list details[open] summary b{transform:rotate(45deg);color:var(--orange)}.service-body{padding:0 0 35px 58px;display:grid;grid-template-columns:1fr 1fr;gap:15px 70px}.service-body p{max-width:540px;font-size:14px;line-height:1.8;color:#b8c3b1;margin-bottom:0}.tags{display:flex;flex-wrap:wrap;gap:8px;align-content:start;padding-top:4px}.tags span{border:1px solid #52604b;font-size:10px;padding:9px 14px}.service-body>a{width:max-content;color:#eab563}.project-heading{display:flex;align-items:end;justify-content:space-between;gap:70px}.project-heading>p{font-size:14px;line-height:1.8;max-width:310px;color:#6e7968}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 30px}.filters button{font-size:10px;padding:11px 19px;border:1px solid #cbd0c5;border-radius:25px;background:none}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-card{min-height:330px;position:relative;border:0;overflow:hidden;color:#fff;text-align:left;background:#293b2c;padding:28px;isolation:isolate}.project-card.featured{grid-column:span 2;min-height:480px}.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s;z-index:-2}.project-card:hover img{transform:scale(1.055)}.card-cover{position:absolute;inset:0;background:linear-gradient(0deg,#07180fe6,transparent 70%),linear-gradient(180deg,#07180f60,transparent 30%);z-index:-1}.card-top{position:absolute;top:25px;left:28px;font-size:9px;letter-spacing:1.7px}.card-bottom{position:absolute;bottom:28px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end}.card-bottom h3{font-size:29px;font-weight:500;letter-spacing:-1px;margin-bottom:9px}.card-bottom p{font-size:12px;margin:0;color:#d4ded0}.circle{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ffffff70;border-radius:50%;font-size:22px;transition:.3s}.project-card:hover .circle{background:var(--orange);border-color:var(--orange);color:var(--ink);transform:rotate(45deg)}[hidden]{display:none!important}.more-projects{font-size:8px;letter-spacing:1.5px;margin:32px 0 0;color:#697361}.more-projects span{display:block;letter-spacing:0;font-size:12px;margin-top:13px;line-height:1.8}.approach{background:#e5e8de}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.approach h2{position:sticky;top:125px;align-self:start}.approach em{color:#7c886e}.steps article{display:flex;gap:30px;border-bottom:1px solid #c5cdbd;padding:25px 0}.steps article:first-child{padding-top:0}.steps article>span{font-size:10px;padding-top:9px;color:#717e67}.steps h3{font-size:29px;font-weight:500;letter-spacing:-1px;margin:0 0 12px}.steps p{font-size:13px;line-height:1.8;color:#687560;max-width:380px;margin:0}.contact{background:var(--orange)}.contact .section-top{border-color:#a76419}.contact .section-top>span{color:#5c411d}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:clamp(50px,5vw,80px)}.contact em{color:#fff2dc}.contact p{font-size:14px;line-height:1.9;margin-bottom:25px}.contact-link{display:block;font-size:18px;margin:12px 0}.contact fieldset{border:0;padding:0;margin:0 0 30px}.contact legend{font-size:9px;letter-spacing:1.5px;margin-bottom:17px}.choices{display:flex;gap:8px;flex-wrap:wrap}.choices input{position:absolute;opacity:0;width:1px}.choices span{display:block;padding:11px 14px;border:1px solid #b56e16;font-size:10px;cursor:pointer}.choices input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.choices input:focus-visible+span{outline:3px solid white}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}form>label,.form-row label{display:block;font-size:11px;margin-bottom:25px}form input:not([type=radio]),form textarea{display:block;width:100%;padding:14px 0;border:0;border-bottom:1px solid #aa6817;background:transparent;border-radius:0;font-size:12px;color:var(--ink);resize:vertical}form input::placeholder,form textarea::placeholder{color:#755325}.button.dark{background:var(--ink);color:white;width:100%}.button.dark:hover{background:#2c3d2d}.contact .form-note{font-size:10px;margin:12px 0 0;line-height:1.6;color:#5b421c}footer{padding:50px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#102016;color:#e7eddf}footer p{font-size:12px;color:#a7b89e;line-height:1.8;margin:0}.footer-brand{font-family:Manrope,sans-serif;font-size:34px;letter-spacing:-2px;font-weight:800}.footer-brand span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:3px;color:#b0bf9e;margin-top:4px}footer>div{text-align:right}footer>div>a{font-size:12px}footer small{display:block;color:#9ba98e;font-size:9px;margin-top:25px}dialog{border:0;padding:0;max-width:760px;width:90%;max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#04100cd9;backdrop-filter:blur(6px)}dialog>img{width:100%;height:280px;object-fit:cover}.close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;background:var(--paper);font-size:27px}.modal-content{padding:35px}.modal-content h2{font-size:40px}.modal-content>p:not(.eyebrow){font-size:15px;line-height:1.8}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1)}}@media(min-width:1600px){.section,header,.client-strip,footer{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}}@media(max-width:900px){.hero-note{display:none}.hero-content{padding-top:70px}h1{letter-spacing:-5px}.explore-layout{gap:30px;grid-template-columns:1fr 1fr}.building-wrap{min-height:490px;padding:18px}.detail-panel{margin-top:0}.diagram-label span{display:none}.h1{top:29%}.h2{top:37%}.h3{top:25%}.section{padding:70px 5%}.client-strip>div{flex-wrap:wrap;gap:20px;font-size:10px}.service-body{gap:20px}.contact-layout{gap:5%}.card-bottom h3{font-size:24px}}@media(max-width:650px){header{height:74px;padding:0 5%}.brand img{width:88px;height:58px}header>.button{margin-left:auto;margin-right:14px;padding:10px 14px;font-size:10px;gap:18px}.menu{display:block;border:0;background:none;font-size:23px;padding:8px}nav{display:none;position:absolute;top:74px;background:var(--paper);left:0;right:0;padding:30px;flex-direction:column;border-bottom:1px solid #cad0c3}nav.open{display:flex}.hero{height:auto;min-height:720px}.hero-content{padding:70px 6% 140px}.hero .eyebrow{font-size:7px;letter-spacing:1px}h1{font-size:88px;margin-top:30px;letter-spacing:-5px}.intro{font-size:14px;max-width:310px}.hero-actions{gap:22px;align-items:start;flex-direction:column;margin-top:30px}.hero .button{font-size:11px}.hero-photo{background-position:62% center}.hero-bottom{font-size:7px;gap:30px;line-height:1.8}.hero-bottom>span{max-width:180px}.client-strip{padding:24px 6%;gap:20px;align-items:start;flex-direction:column}.client-strip>div{gap:18px 23px;font-size:9px;justify-content:start}.section{padding:55px 6%}.section-top{margin-bottom:35px}.section-top>span{display:none}.eyebrow{font-size:8px}h2{font-size:41px;letter-spacing:-2px}.explore-layout,.approach-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.body-copy{font-size:13px}.explore-tabs{margin-top:25px}.building-wrap{min-height:0;padding:20px}.building{margin-top:15px}.detail-panel{margin-top:-10px}.h1{top:33%;left:46%}.h2{top:43%;left:51%}.h3{top:28%;left:67%}.diagram-label{font-size:7px}.service-list summary{gap:18px;padding:24px 0}.service-list summary h3{font-size:21px;letter-spacing:-.7px}.service-body{display:block;padding-left:30px}.service-body p{font-size:12px}.tags{margin:20px 0 10px}.tags span{font-size:8px}.services h2{margin-bottom:35px}.project-heading{display:block}.project-heading>p{font-size:13px;margin-bottom:25px}.filters{gap:6px}.filters button{font-size:9px;padding:10px 13px}.project-grid{grid-template-columns:1fr;gap:16px}.project-card.featured{grid-column:auto;min-height:350px}.project-card{min-height:300px;padding:20px}.card-top{left:20px;font-size:8px}.card-bottom{left:20px;right:20px;bottom:23px}.card-bottom h3{font-size:26px}.card-bottom p{font-size:10px}.approach h2{position:static}.steps h3{font-size:25px}.steps p{font-size:12px}.contact h2{font-size:53px}.contact p{font-size:13px}.contact-link{font-size:16px}.form-row{gap:20px}footer{padding:35px 6%;flex-wrap:wrap;align-items:start}footer p{font-size:10px}footer>div{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between}footer small{margin:0}.footer-brand{font-size:29px}.modal-content{padding:25px}dialog>img{height:200px}.modal-content h2{font-size:30px}.modal-content>p:not(.eyebrow){font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
