.contact-page{width:84%;max-width:1200px;margin:auto;border-inline:1px solid var(--line);padding:100px 20px 130px}.contact-heading{position:relative;isolation:isolate;padding-bottom:100px}.contact-watermark{position:absolute;left:-130px;top:-40px;font-size:clamp(170px,26vw,370px);line-height:1;color:transparent;-webkit-text-stroke:1px #ecece7;font-weight:800;letter-spacing:-15px;z-index:-1;pointer-events:none}.contact-heading h1{background:none;color:#222;font-size:clamp(38px,4.5vw,62px);width:auto;text-transform:none;line-height:1.15;letter-spacing:-2px;margin:30px 0 40px}.contact-heading h1 em{font-style:normal;color:#aaa}.contact-email{font-size:clamp(28px,4.5vw,62px);font-weight:700;letter-spacing:-2px;overflow-wrap:anywhere}.contact-grid{display:grid;grid-template-columns:30% 70%;align-items:start}.contact-details{padding:10px 35px;position:relative}.contact-details h2{font-size:24px;color:#aaa;margin:0 0 14px;letter-spacing:-.5px}.contact-details>a{font-size:23px;font-weight:600}.contact-details address{font-style:normal;font-size:22px;line-height:1.3;margin:38px 0;white-space:pre-wrap}.contact-form{background:#20201f;color:#fff;padding:70px 65px 45px;min-width:0}.contact-form fieldset{border:0;padding:0;margin:0;display:grid;gap:32px;min-width:0}.contact-form label{display:block}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #8a8a85;border-radius:0;background:transparent;color:#fff;font:inherit;font-size:23px;padding:10px 0;box-sizing:border-box}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#eee;opacity:1}.contact-form textarea{resize:vertical;min-height:52px}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#e6cf86}.contact-send{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:65px}.contact-send>button{border:1px solid #c6b472;background:#fff;color:#222;border-radius:40px;padding:17px 31px;font:inherit;font-size:16px;white-space:nowrap;cursor:pointer}.contact-send p{font-size:12px;line-height:1.4;color:#b9b9b5;max-width:245px;margin:0}.contact-privacy{border:0;padding:0;background:none;color:#fff;font:inherit;text-decoration:underline;cursor:pointer}.contact-status{font-size:15px;line-height:1.5;margin:24px 0 0;color:#e4d39b}.contact-status.error{color:#ffc0b7}.contact-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:950px){.contact-details{padding:10px 18px}.contact-details address,.contact-details>a{font-size:18px}.contact-form{padding:45px 35px}.contact-send{flex-direction:column;align-items:flex-start;gap:22px}}@media(max-width:650px){.contact-page{width:92%;padding:50px 16px 60px;overflow:hidden}.contact-heading{padding-bottom:45px}.contact-heading h1{font-size:39px;margin-bottom:30px}.contact-email{font-size:27px;letter-spacing:-1px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-details{padding:0}.contact-details address{margin:24px 0}.contact-form{padding:32px 24px}.contact-form input,.contact-form textarea{font-size:18px}.contact-form fieldset{gap:22px}.contact-send{margin-top:25px}.contact-watermark{left:-55px;font-size:210px;left:0;right:auto;font-size:clamp(125px,38vw,190px);letter-spacing:-.055em}}.portfolio-page{width:84%;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:45% 55%;border-left:1px solid var(--line);border-right:1px solid var(--line);position:relative;align-items:start}.portfolio-intro{position:sticky;top:65px;align-self:start;padding:86px 34px 60px 20px;isolation:isolate;overflow:hidden}.portfolio-watermark{position:absolute;z-index:-1;left:-55px;color:transparent;-webkit-text-stroke:1px #edede9;font-size:clamp(150px,19vw,280px);font-weight:800;letter-spacing:-12px;line-height:1;pointer-events:none}.portfolio-intro .gold-rule{width:68px;height:3px;margin-bottom:30px}.portfolio-intro h1{font-size:clamp(34px,3.9vw,56px);line-height:1.12;letter-spacing:-2px;width:auto;max-width:100%;text-transform:none;background:none;color:#222;margin:0 0 32px;overflow-wrap:anywhere}.portfolio-intro h1 em{font-style:normal;color:#aaa}.portfolio-intro>p{font-size:clamp(18px,1.65vw,24px);line-height:1.5;letter-spacing:-.6px;max-width:380px;margin:0;color:#565951}.portfolio-scroll-cue{display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#8c8e81;margin-top:58px}.portfolio-progress{height:1px;background:#eceade;max-width:170px;margin-top:23px;overflow:hidden}.portfolio-progress>span{display:block;background:#b9a458;width:100%;height:100%;transform-origin:left}.portfolio-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:start;padding-top:65px;padding-bottom:95px;border-left:1px solid var(--line);background:linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px))}.portfolio-item{grid-column:2;min-width:0;margin:0}.portfolio-item:nth-child(2n){grid-column:1}.portfolio-item-heading{position:relative;min-height:85px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:12px 16px 14px}.portfolio-item-heading h2{font-size:16px;line-height:1.35;letter-spacing:-.5px;font-weight:600;margin:0;position:relative;z-index:1;max-width:86%;padding-right:6px}.portfolio-item-heading>span{position:absolute;top:-5px;right:16px;font-size:69px;line-height:1;color:#aaa;font-weight:600;letter-spacing:-3px}.portfolio-image{height:clamp(230px,23vw,340px);overflow:hidden;position:relative;background:#eff0ed}.portfolio-image img{display:block;position:absolute;left:0;top:-18px;width:100%;height:calc(100% + 36px);object-fit:cover;will-change:transform}.portfolio-description{font-size:14px;line-height:1.6;color:#707469;padding:15px;margin:0;white-space:pre-wrap}@media(min-width:1500px){.portfolio-item-heading{min-height:105px}.portfolio-image{height:360px}}@media(max-width:1000px){.portfolio-intro{padding:65px 24px 40px 16px;top:32px}.portfolio-intro h1{font-size:37px}.portfolio-intro>p{font-size:18px}.portfolio-item-heading{min-height:100px;padding:12px 12px 13px}.portfolio-item-heading h2{font-size:14px;max-width:100%}.portfolio-item-heading>span{font-size:60px;right:12px}.portfolio-image{height:240px}.portfolio-gallery{padding-top:42px}}@media(max-width:700px){.portfolio-page{width:92%;display:block}.portfolio-intro{position:relative;top:auto;padding:45px 18px 38px;overflow:hidden}.portfolio-intro h1{font-size:42px;margin-bottom:23px}.portfolio-intro>p{font-size:19px;max-width:410px}.portfolio-watermark{font-size:210px;top:30px;left:-20px}.portfolio-scroll-cue{margin-top:30px}.portfolio-progress{display:none}.portfolio-gallery{display:block;padding:0 17px 48px;border-left:none;background:none}.portfolio-item{margin-bottom:30px}.portfolio-item:last-child{margin-bottom:0}.portfolio-item-heading{min-height:80px;padding:10px 0 13px}.portfolio-item-heading h2{font-size:17px;max-width:83%}.portfolio-item-heading>span{font-size:61px;right:0;top:0}.portfolio-image{height:320px}.portfolio-description{padding:15px 0}}@media(prefers-reduced-motion:reduce){.portfolio-image img{will-change:auto}}.portfolio-item-heading{display:grid;grid-template-rows:auto auto;gap:3px;padding-top:0}.portfolio-item-heading h2{grid-row:2;max-width:100%;padding:0}.portfolio-item-heading>span{position:static;grid-row:1;justify-self:end}@media(min-width:701px){.portfolio-gallery{padding-top:150px;row-gap:0;column-gap:0}.portfolio-item{position:relative}.portfolio-item-heading{position:absolute;bottom:100%;left:0;right:0;min-height:85px;display:flex;align-items:flex-end;padding:0 16px 10px}.portfolio-item-heading h2{max-width:100%;padding:0;margin:0;line-height:1.3}.portfolio-item-heading>span{position:absolute;right:16px;top:auto;bottom:29px;line-height:1;font-size:69px}.portfolio-image{height:auto;aspect-ratio:1.28}}@media(min-width:701px) and (max-width:1000px){.portfolio-gallery{padding-top:130px}.portfolio-item-heading{padding:0 12px 8px}.portfolio-item-heading>span{right:12px;bottom:43px;font-size:60px}}@media(max-width:700px){.portfolio-item-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px}.portfolio-item-heading h2{max-width:none;padding-right:0}.portfolio-item-heading>span{position:static;justify-self:end;text-align:right;flex-shrink:0}.portfolio-item-heading{grid-template-rows:auto}.portfolio-item-heading h2{grid-row:1;grid-column:1}.portfolio-item-heading>span{grid-row:1;grid-column:2}}.portfolio-intro{container-type:inline-size;overflow:visible}.portfolio-watermark{left:20px;top:25px;font-size:clamp(100px,15vw,200px);font-size:clamp(100px,40cqw,220px);letter-spacing:-.055em}@media(max-width:1000px){.portfolio-watermark{left:16px}}@media(max-width:700px){.portfolio-watermark{left:18px;top:20px}}.services-page{width:84%;max-width:1200px;margin:auto;padding:0 20px;border-inline:1px solid var(--line)}.services-title{position:relative;padding:100px 0 130px;isolation:isolate;overflow:hidden}.services-title h1{font-size:clamp(38px,4.2vw,62px);letter-spacing:-2px;text-transform:none;background:none;color:#222;width:auto;margin:24px 0 0;line-height:1.1}.services-contact em,.services-title em{font-style:normal;color:#aaa}.services-watermark{position:absolute;z-index:-1;color:transparent;-webkit-text-stroke:1px #efefea;font-weight:800;font-size:clamp(150px,25vw,350px);letter-spacing:-15px;left:-90px;top:40px;line-height:1}.services-lines{position:absolute;right:6%;top:70px;width:180px;height:200px;background:repeating-linear-gradient(135deg,transparent 0 45px,#e8e3d5 45px 46px,transparent 46px 80px);z-index:-1}.services-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #aaa;max-width:1040px;gap:32px}.services-tabs button{border:0;background:none;padding:0 0 12px;text-align:left;text-transform:uppercase;font-size:clamp(17px,2vw,25px);letter-spacing:-.6px;color:#999;cursor:pointer}.services-tabs button:last-child{text-align:right}.services-tabs button[aria-selected=true]{font-weight:700;color:transparent;background:linear-gradient(100deg,#34372c,#cdb467);-webkit-background-clip:text;background-clip:text}.service-detail button:focus-visible,.services-contact a:focus-visible,.services-tabs button:focus-visible{outline:2px solid #ae934b;outline-offset:5px}.services-introduction{font-size:clamp(21px,2.5vw,32px);line-height:1.3;color:#a3a3a0;white-space:pre-wrap;max-width:1030px;margin:90px 0 80px;letter-spacing:-.5px}.service-detail{border-bottom:1px solid #e4e4df}.service-detail h2{margin:0}.service-detail h2>button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:65px 50px 25px 0;border:0;background:none;text-align:left;color:#222;cursor:pointer}.service-detail h2>button>span:first-child{max-width:780px;font-size:clamp(26px,3.4vw,44px);font-weight:650;line-height:1.18;letter-spacing:-1.4px}.service-arrow{display:grid;place-items:center;width:60px;height:60px;flex-shrink:0;border-radius:50%;background:#eee;transition:background .25s}.service-arrow svg{transition:transform .3s}.service-detail button:hover .service-arrow{background:linear-gradient(110deg,#eee7d2,#cfb56b)}.service-answer{overflow:hidden}.service-answer p{white-space:pre-wrap;font-size:18px;line-height:1.7;max-width:850px;color:#686b60;margin:0;padding:20px 0 32px}.services-contact{position:relative;isolation:isolate;text-align:center;padding:110px 0 140px}.services-contact h2{font-size:clamp(38px,4.5vw,64px);margin:0 0 25px;letter-spacing:-2px}.services-contact a{display:inline-grid;place-items:center;width:115px;height:55px;border:1px solid #bcab77;border-radius:40px;background:#f4efdf;cursor:pointer}.services-contact .services-lines{top:120px;right:0}@media(max-width:650px){.services-page{width:92%;padding:0 16px}.services-title{padding:55px 0 75px}.services-title h1{font-size:39px}.services-tabs{gap:18px}.services-tabs button{font-size:16px;line-height:1.4;letter-spacing:-.3px}.services-introduction{font-size:22px;margin:40px 0 25px}.service-detail h2>button{padding:35px 0 22px;gap:18px}.service-detail h2>button>span:first-child{font-size:27px;letter-spacing:-.8px}.service-arrow{width:42px;height:42px}.service-answer p{font-size:16px}.services-contact{padding:65px 0 85px}.services-lines{opacity:.55;width:100px}}@media(prefers-reduced-motion:reduce){.service-arrow,.service-arrow svg{transition:none}}@media(max-width:650px){.services-watermark{left:0;right:auto;font-size:clamp(125px,38vw,190px);letter-spacing:-.055em}}.services-tabs{grid-template-columns:1fr 1fr 1.5fr;gap:24px;max-width:none}.services-tabs button,.services-tabs button:last-child{text-align:left;font-size:clamp(16px,1.7vw,22px);padding:14px 0 18px;position:relative}.services-tabs button[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#a18b50}.services-introduction{font-size:clamp(20px,2vw,26px);line-height:1.5;margin:44px 0 30px;max-width:960px}@media(max-width:700px){.services-tabs{display:flex;gap:24px;overflow-x:auto;padding:4px 3px 8px;scroll-padding-inline:3px}.services-tabs button,.services-tabs button:last-child{flex:0 0 auto;white-space:nowrap;font-size:16px;padding:12px 0 16px}.services-introduction{font-size:20px;margin:30px 0 20px}}.service-detail{--service-paper:#fff;--service-sage:#596b60;--service-gold:#8c7846;--service-hot:#a45d52;--service-cold:#537d9b;--service-copper:#aa7956;--service-structure:#7b8778;transition:background-color .25s}.service-detail.is-expanded{--service-paper:#fff;background:var(--service-paper)}.service-answer-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px;padding:0 24px 30px}.service-answer-layout p{padding:20px 0;max-width:none}.service-art-slot{min-width:0;min-height:220px;display:grid;align-items:center}.service-illustration{width:100%;max-width:420px;justify-self:end;color:var(--service-sage);pointer-events:none}.service-illustration svg{display:block;width:100%;height:auto}.service-illustration .service-flow,.service-illustration .service-gold{stroke:var(--service-gold)}.service-flow{animation:service-flow 2.8s linear 2}.service-gauge{transform-box:fill-box;transform-origin:center;animation:service-gauge 1.8s ease-out both}.service-inspect{animation:service-inspect 1.8s ease-out both}.service-drop,.service-rain{animation:service-drop 2s ease-in-out 2}.service-warmth{animation:service-warmth 2.4s ease-in-out 2}.service-check{animation:service-check 1s ease-out .35s both;transform-box:fill-box;transform-origin:center}.service-draw{animation:service-reveal 1.4s ease-out both}@keyframes service-flow{0%{stroke-dashoffset:52}to{stroke-dashoffset:0}}@keyframes service-gauge{0%{rotate:-35deg}to{rotate:0deg}}@keyframes service-inspect{0%{translate:14px -6px;opacity:.35}to{translate:0 0;opacity:1}}@keyframes service-drop{0%,to{translate:0 0;opacity:1}50%{translate:0 5px;opacity:.45}}@keyframes service-warmth{0%,to{translate:0 0;opacity:1}50%{translate:0 -5px;opacity:.5}}@keyframes service-check{0%{scale:.85;opacity:0}to{scale:1;opacity:1}}@keyframes service-reveal{0%{opacity:.15}to{opacity:1}}@media(max-width:700px){.service-answer-layout{grid-template-columns:minmax(0,1fr);gap:0;padding:0 12px 20px}.service-art-slot{min-height:0}.service-illustration{max-width:300px;justify-self:center}.service-answer-layout p{padding:8px 0 16px}.service-detail.is-expanded h2>button{padding-inline:12px}}@media(prefers-reduced-motion:reduce){.service-detail{transition:none}.service-illustration *{animation:none!important}}.service-circuit{animation:service-flow 2.8s linear 2}.service-return{animation-direction:reverse}.service-fan{transform-origin:287px 136px;animation:service-fan 5s ease-out both}.service-dripping{animation:service-dripping 1.8s ease-in 3}.service-heat-rise{animation:service-heat-rise 2.8s ease-out 2}.service-replacement{animation:service-inspect 1.4s ease-out both}@keyframes service-fan{to{rotate:180deg}}@keyframes service-dripping{0%{translate:0 -2px;opacity:0}20%{opacity:1}85%{opacity:1}to{translate:0 12px;opacity:0}}@keyframes service-heat-rise{0%{translate:0 8px;opacity:.2}50%{opacity:1}to{translate:0 -8px;opacity:.6}}html[data-theme=dark] .service-detail{--service-paper:var(--page,#191b18);--service-sage:#b2c5b6;--service-gold:#dfc77f;--service-hot:#ef9c90;--service-cold:#91bddb;--service-copper:#dcae86;--service-structure:#9faf9b;border-color:var(--line,#3b3f35)}html[data-theme=dark] .service-detail.is-expanded{background:var(--service-paper)}html[data-theme=dark] .service-detail .service-arrow{background:#eee;color:#000}html[data-theme=dark] .service-detail button:hover .service-arrow{background:#dfc77f;color:#000}.bim-airflow{animation:bim-airflow 3s linear 2}.bim-electrical{animation:bim-electrical 2s linear 3}.bim-water{animation:bim-water 3s linear 2}@keyframes bim-airflow{to{stroke-dashoffset:-30}}@keyframes bim-electrical{to{stroke-dashoffset:-38}}@keyframes bim-water{to{stroke-dashoffset:-32}}.services-introduction .services-explore-note{display:inline-flex;align-items:center;gap:12px;font-size:18px;line-height:1.5;letter-spacing:normal;white-space:normal}.services-explore-note>svg{flex-shrink:0}@media(max-width:700px){.services-introduction .services-explore-note{font-size:16px}}.services-title{overflow:visible}.services-watermark{left:0;letter-spacing:-.055em}@media(min-width:651px){.services-title{min-height:calc(clamp(150px,25vw,350px) + 64px)}}.commercial-water-flow{animation:commercial-water-flow 2.6s linear 3}.commercial-tap-drop{animation:service-dripping 1.8s ease-in 3}.commercial-drain-marker{animation:service-drop 2s ease-in-out 3}.fitout-main-route{animation:fitout-route 1.5s ease-out both}.fitout-kitchen-route{animation:fitout-route 1.3s ease-out 1.5s both}.fitout-washroom-route{animation:fitout-route 1.3s ease-out 2.8s both}.fitout-kitchen-connected{animation:service-reveal .5s 2.8s both}.fitout-washroom-connected{animation:service-reveal .5s 4.1s both}@keyframes commercial-water-flow{to{stroke-dashoffset:-34}}@keyframes fitout-route{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}.commercial-gas-gauge{transform-origin:159px 60px;animation:commercial-gas-gauge 1.8s ease-out both}@keyframes commercial-gas-gauge{0%{transform:rotate(-35deg)}to{transform:rotate(0deg)}}