:root{--orange:#ff652d;--ink:#171a1c;--gray:#656b70}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f7f8f8;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{outline-offset:5px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;border-bottom:1px solid #e4e5e6;gap:25px}.brand{display:flex;align-items:center;gap:12px;max-width:340px}.mark{background:var(--ink);color:white;font-size:25px;font-weight:900;padding:12px;border-bottom:4px solid var(--orange)}.brand b{font-size:15px;line-height:1.4}.brand small{display:block;color:var(--gray);font-size:12px;letter-spacing:2px;margin-top:4px}nav{display:flex;gap:28px;font-size:14px}.cta,button{border:0;background:var(--orange);color:var(--ink);padding:17px 23px;font-weight:700;cursor:pointer;display:inline-block}.menu{display:none}.hero{background:var(--ink);color:white;position:relative;min-height:680px;display:grid;grid-template-columns:48% 52%;overflow:hidden}.hero-copy{padding:90px 8% 80px 10%;position:relative;z-index:1}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:bold;text-transform:uppercase;display:flex;gap:12px;align-items:center}.eyebrow:before{content:'';height:2px;width:32px;background:var(--orange)}h1{font-size:clamp(48px,5.6vw,84px);line-height:1.04;letter-spacing:-3px;margin:30px 0}h1 em{font-style:normal;color:var(--orange)}p{font-size:17px;line-height:1.75;color:var(--gray)}.hero p{color:#b7bdc1;max-width:400px}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:32px}.text-link{padding:16px 0;border-bottom:1px solid #8c9397;font-size:14px}.hero-image{position:relative;background:var(--hero-image) center/cover}.hero-image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171a1c22,transparent)}.image-label{position:absolute;bottom:35px;left:35px;right:35px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;background:#171a1cdc;padding:18px;color:#fff}.hero-index{font-size:12px;color:#8e969b;letter-spacing:2px;margin-top:55px}.strip{display:grid;grid-template-columns:repeat(3,1fr);margin:0 5%;border-bottom:1px solid #d6d9db}.strip div{padding:30px 25px;border-right:1px solid #d6d9db}.strip div:last-child{border:0}.strip b{display:block;font-size:18px;margin-bottom:8px}.strip span{font-size:14px;color:var(--gray)}section{padding:100px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}h2{font-size:clamp(35px,4vw,54px);line-height:1.1;letter-spacing:-1.8px;margin:20px 0 0}.section-head p{max-width:370px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8dcde;border:1px solid #d8dcde}.service{background:#fff;padding:35px;min-height:285px}.service-number{color:var(--orange);font-size:14px;font-weight:bold;display:flex;justify-content:space-between}.service h3{font-size:24px;margin:45px 0 12px}.service p{font-size:16px;margin:0}.work{background:#e9edef}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:transparent;border:1px solid #b7bfc3;padding:12px 18px;font-size:14px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.projects{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.project{background:#fff}.project-photo{height:310px;background:var(--commercial-image) center/cover}.project:nth-child(2) .project-photo{background-image:var(--residential-image);background-position:center}.project-info{padding:25px;display:flex;justify-content:space-between;gap:15px}.project h3{font-size:23px;margin:8px 0}.meta{font-size:12px;letter-spacing:1.6px;color:var(--gray)}.project-info button{background:#edf0f1;padding:12px;font-size:14px;align-self:center}.process{background:var(--ink);color:white}.process .section-head p{color:#adb5ba}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.step{border-top:1px solid #525b60;padding-top:25px}.step span{color:var(--orange);font-size:15px}.step h3{font-size:22px;margin-top:35px}.step p{color:#adb5ba;font-size:16px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{max-width:450px}.contact p{max-width:440px}.form{background:#fff;padding:35px;border:1px solid #d6dadd}label{display:block;font-size:14px;font-weight:bold;margin-bottom:9px}.field{margin-bottom:22px}input,select,textarea{width:100%;border:1px solid #c5cbd0;padding:14px;background:#f9fafa;border-radius:0}textarea{min-height:120px;resize:vertical}.form button{width:100%}.note{font-size:13px;line-height:1.6}.brief{white-space:pre-wrap;background:#f0f3f4;padding:20px;margin-top:20px;font-size:14px;line-height:1.6}footer{background:#111416;color:#fff;padding:40px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer p{font-size:13px;color:#a0a8ac;max-width:400px}.hidden{display:none!important}dialog{border:0;padding:35px;max-width:520px;width:90%;box-shadow:0 20px 100px #0006}dialog::backdrop{background:#0008}dialog h3{font-size:28px}dialog button{margin-top:12px}@media(max-width:900px){header{height:auto;min-height:90px;flex-wrap:wrap;padding:18px 5%}nav{gap:18px}header>.cta{display:none}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:65px 8%}h1{font-size:56px}.services{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.contact{gap:35px}}@media(max-width:620px){.brand{max-width:280px}.brand b{font-size:13px}.menu{display:block;padding:12px;background:#edf0f1}nav{display:none;width:100%;padding:15px 0;justify-content:space-between}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}h1{font-size:57px;letter-spacing:-2px}.hero-image{height:350px}.hero-index{margin-top:30px}.strip{grid-template-columns:1fr}.strip div{border-right:0;border-bottom:1px solid #d6d9db;padding:23px 5px}section{padding:65px 6%}.section-head{display:block}.section-head p{margin-top:22px}.services,.projects,.contact{grid-template-columns:1fr}.service{min-height:230px;padding:28px}.service h3{margin-top:30px}.steps{gap:25px}.step h3{font-size:20px}.form{padding:25px}footer{display:block}.image-label{left:20px;right:20px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand-logo{width:260px;height:64px;object-fit:contain;object-position:left center}footer .brand{background:#fff;padding:10px 16px}footer .brand-logo{width:230px;height:58px}.hero-image{background-position:58% center}.project-photo{transition:transform .6s ease}.project:hover .project-photo{transform:scale(1.035)}.project{overflow:hidden}@media(max-width:620px){.brand-logo{width:230px;height:56px}.image-label{letter-spacing:1px;gap:15px}.hero-image{background-position:center}}@media(prefers-reduced-motion:reduce){.project-photo{transition:none}.project:hover .project-photo{transform:none}}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#fff;border-bottom:1px solid #d6dadd}.about p:first-child{margin-top:0}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.experience-grid article{border-top:3px solid var(--orange);padding-top:25px}.experience-grid h3{font-size:24px}.contact-details{border-left:3px solid var(--orange);padding-left:22px;margin:30px 0}.contact-details h3{font-size:25px;margin-bottom:0}.contact-details p{margin:8px 0 15px}.contact-details>a:not(.cta){display:block;font-size:17px;line-height:1.9;overflow-wrap:anywhere}.contact-details .cta{margin-top:10px}#email-brief{display:inline-block;margin-top:10px}@media(max-width:620px){.about,.experience-grid{grid-template-columns:1fr}.about{gap:28px}nav.open{flex-wrap:wrap}}@media(min-width:621px) and (max-width:900px){nav{gap:14px;font-size:13px}.brand-logo{width:215px}}
#services{background:#f1f3f5}.services{gap:24px;background:transparent;border:0}.service{padding:0;min-height:0;border-radius:20px;background:#fff;overflow:hidden;border:1px solid #e0e5e8;box-shadow:0 8px 28px #14232d08;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}.service-media{position:relative;height:210px;overflow:hidden;background:#e6eaed}.service-media img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.service-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#11182050,transparent 55%,#11182025)}.service-number{position:absolute;top:18px;left:18px;right:18px;z-index:1;color:#fff;align-items:center;font-size:14px}.service-number span{font-size:11px;letter-spacing:1.5px;background:#151b20a6;border:1px solid #ffffff40;border-radius:30px;padding:8px 11px;backdrop-filter:blur(8px)}.service-content{padding:28px;display:flex;flex-direction:column;flex:1}.service h3{margin:0 0 14px;font-size:24px;line-height:1.22;letter-spacing:-.5px}.service p{line-height:1.7;margin:0 0 22px}.service-link{margin-top:auto;font-size:14px;font-weight:bold;padding-top:18px;border-top:1px solid #e5e8ea;color:#bf3e13}.service:hover{transform:translateY(-6px);box-shadow:0 20px 40px #14232d16;border-color:#ff652d80}.service:hover img{transform:scale(1.05)}.experience{background:#fff}.experience-grid{gap:24px}.experience-grid article{padding:0;border:1px solid #e0e5e8;border-radius:20px;overflow:hidden;background:#f8fafb;box-shadow:0 8px 28px #14232d08;transition:transform .25s,box-shadow .25s}.experience-media{height:230px;position:relative;overflow:hidden}.experience-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.experience-media span{position:absolute;bottom:15px;left:18px;background:#171a1ccc;color:#fff;font-size:11px;letter-spacing:1px;padding:9px 12px;border-radius:30px}.experience-content{padding:28px}.experience-content .meta{display:inline-block;color:#a83713;background:#ff652d12;border:1px solid #ff652d30;border-radius:25px;padding:8px 12px;font-size:12px}.experience-grid h3{line-height:1.25;letter-spacing:-.4px;font-size:25px;margin:20px 0 12px}.experience-grid p{font-size:16px;margin:0}.experience-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 40px #14232d12}.experience-grid article:hover img{transform:scale(1.05)}@media(max-width:900px){.experience-grid{grid-template-columns:1fr}.experience-grid article{display:grid;grid-template-columns:40% 60%}.experience-media{height:100%;min-height:240px}}@media(max-width:620px){.service-media{height:220px}.service-content,.experience-content{padding:25px}.experience-grid article{display:block}.experience-media{height:220px;min-height:0}.services{gap:22px}}@media(prefers-reduced-motion:reduce){.service,.service img,.experience-grid article,.experience-media img{transition:none}.service:hover,.experience-grid article:hover{transform:none}.service:hover img,.experience-grid article:hover img{transform:none}}
.project-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.project-filters button{background:#f3f5f6;border:1px solid #dce2e6;border-radius:30px;padding:12px 18px;font-size:14px;color:#38444d}.project-filters button.active{background:#171a1c;color:#fff;border-color:#171a1c}.project-count{font-size:14px;margin:0 0 26px;color:#656b70}.experience-content{display:flex;flex-direction:column;flex:1}.experience-grid article{display:flex;flex-direction:column}.experience-grid .experience-media{flex-shrink:0}.project-enquiry{display:block;margin-top:25px}.experience-content p{flex:1}.experience-media span{font-size:10px}@media(min-width:621px) and (max-width:900px){.experience-grid{grid-template-columns:1fr 1fr}.experience-grid article{display:flex}.experience-media{min-height:0;height:210px}}@media(max-width:620px){.project-filters{gap:8px}.project-filters button{padding:10px 13px;font-size:13px}}.process{background:#11191f;padding-top:85px;padding-bottom:65px}.process-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:70px;margin-bottom:50px}.process-intro h2{font-size:clamp(38px,4.5vw,64px)}.process-intro p{color:#b5c0c8;max-width:480px;margin:24px 0 0}.process-visual{position:relative;height:280px;border-radius:22px;overflow:hidden;border:1px solid #ffffff20}.process-visual img{width:100%;height:100%;object-fit:cover}.process-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#11191feb,transparent 90%)}.process-visual>div{position:absolute;bottom:25px;left:28px;right:28px;z-index:1}.process-visual span{font-size:11px;letter-spacing:2px;color:#ff9d73;display:block;margin-bottom:12px}.process-visual b{font-size:25px;line-height:1.25}.steps{gap:18px}.step{border:1px solid #ffffff1c;border-radius:20px;background:linear-gradient(145deg,#ffffff08,#ffffff02);padding:25px;position:relative;transition:transform .25s,border-color .25s}.stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.step .stage-number{font-size:44px;line-height:1;font-weight:800;letter-spacing:-2px;color:#ff8959}.step .stage-label{font-size:11px;letter-spacing:1.6px;color:#b8c4cc}.step h3{font-size:23px;line-height:1.2;margin:29px 0 14px;letter-spacing:-.4px}.step p{color:#b5c0c8;font-size:16px;line-height:1.7;margin:0 0 25px}.step .stage-tag{display:inline-block;color:#e4ebef;font-size:12px;padding:9px 12px;border-radius:30px;background:#ffffff08;border:1px solid #ffffff12}.step details{border-top:1px solid #ffffff16;margin-top:25px;padding-top:18px}.step summary{color:#ffb294;font-size:13px;cursor:pointer;line-height:1.5}.step details p{margin:17px 0;font-size:14px}.step details small{display:block;font-size:12px;line-height:1.8;color:#9baebc}.step:hover{transform:translateY(-5px);border-color:#ff895970}.process-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff18;margin-top:35px;padding-top:30px}.process-bottom>span{color:#b5c0c8;font-size:16px}@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}.process-intro{gap:35px}}@media(max-width:620px){.process{padding:65px 6%}.process-intro{grid-template-columns:1fr;gap:30px;margin-bottom:30px}.process-visual{height:230px}.steps{grid-template-columns:1fr}.step{padding:25px}.step h3{margin-top:23px}.process-bottom{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.step{transition:none}.step:hover{transform:none}}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.success{background:#dff8e8;color:#185b32;padding:15px;border-radius:10px}.skip-link{position:absolute;top:-100px;left:15px;z-index:100;background:#fff;color:#171a1c;padding:15px}.skip-link:focus{top:15px}.hero-copy,.contact>*,.process-intro>*,.service-content,.experience-content{min-width:0}@media(min-width:621px) and (max-width:1100px){header{flex-wrap:wrap;height:auto;padding-top:15px;padding-bottom:15px;gap:15px}header .cta{padding:14px 18px}}@media(max-width:620px){h1{font-size:clamp(2.65rem,11vw,3.55rem)}.hero-actions{flex-wrap:wrap}.brand-logo{max-width:100%}}.service-number span,.experience-media span,.stage-label{font-size:12px!important}
.page-banner{background:var(--ink);color:white;padding:65px 5%}.page-banner h1{font-size:clamp(38px,5vw,64px);margin:18px 0}.page-banner p{color:#bdc5ca;max-width:650px}.breadcrumb{font-size:14px;color:#bdc5ca}.detail-content{max-width:1000px;margin:auto}.detail-content>img{width:100%;max-height:480px;object-fit:cover;border-radius:18px}.body-copy{white-space:pre-wrap;line-height:1.9;font-size:18px;margin:30px 0}nav a[aria-current=page]{color:#bf3e13;font-weight:bold}nav{flex-wrap:wrap}footer .footer-links{display:flex;gap:20px;flex-wrap:wrap}.error-page{min-height:50vh}.success{scroll-margin-top:20px}