@font-face{font-family:Arial;src:local(Arial);font-display:swap}
:root{--ink:#192224;--paper:#f4f5f1;--accent:#c58a63;--line:#d5dad5;--radius:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #a65a2c;outline-offset:4px}button{border-radius:var(--radius)}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.8vw,100px);font-weight:400;letter-spacing:-4px;line-height:1.02;margin-bottom:30px}h2{font-size:clamp(34px,3.6vw,56px);font-weight:400;letter-spacing:-1.9px;line-height:1.12;margin-bottom:28px}h3{font-weight:400;font-size:24px;line-height:1.3}p{margin-bottom:22px}.eyebrow{font-size:12px;letter-spacing:2.3px;text-transform:uppercase;font-weight:700;margin-bottom:24px}.muted{color:#616c6d}.site-header{height:106px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #ffffff24}.brand{width:150px}.brand img{width:145px;height:88px;object-fit:contain}.site-header nav{display:flex;gap:30px;align-items:center;font-size:14px}.site-header nav>a:not(.button){padding:8px 0;border-bottom:1px solid transparent}.site-header nav>a.current{border-color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:#172022;font-weight:700;font-size:14px;border:0;padding:19px 25px;border-radius:var(--radius);line-height:1.4}.button:hover{filter:brightness(1.09)}.button.small{padding:13px 18px}.button span{font-size:19px}.menu-toggle{display:none}.text-link{display:inline-block;border-bottom:1px solid;padding:6px 0;font-size:15px}.hero{position:relative;min-height:740px;height:calc(100svh - 106px);max-height:1040px;color:white;display:flex;flex-direction:column;justify-content:center;padding:75px 6% 30px;overflow:hidden}.hero-photo,.hero-photo img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo img{object-position:center 45%}.hero-shade{background:linear-gradient(90deg,rgba(15,23,25,.94) 0%,rgba(15,23,25,.66) 45%,rgba(15,23,25,.24) 100%)}.hero-content{position:relative;z-index:1;max-width:940px;padding-bottom:95px}.hero .eyebrow{color:#e4b89a}.hero h1{max-width:900px}.hero-copy{max-width:520px;color:#e0e5e3;font-size:19px;line-height:1.7}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:33px}.hero-bottom{position:absolute;bottom:28px;left:6%;right:6%;z-index:1;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:22px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase}.section{padding:105px 6%}.section-heading{display:grid;grid-template-columns:.9fr 1.8fr;gap:0 80px;margin-bottom:48px}.section-heading .eyebrow{grid-row:span 2;padding-top:10px}.section-heading p:last-child{color:#626d6d;margin-bottom:0;max-width:550px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-card{display:flex;align-items:flex-start;gap:24px;border-bottom:1px solid var(--line);padding:33px 28px 30px 0}.service-card:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.service-number{font-size:12px;color:#657475;padding-top:5px}.service-card h3{font-size:22px;margin-bottom:12px}.service-card p{font-size:14px;color:#626e6c;max-width:430px;margin:0}.service-arrow{font-size:23px;color:#995a33;margin-left:auto}.service-card:hover{background:#e8ece7}.story{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:100px}.story .eyebrow{color:#e4b89a}.story-copy>p{font-size:22px;line-height:1.7;color:#d3dcd9}.story img{width:100%;max-height:330px;object-fit:cover;margin-top:35px;border-radius:var(--radius)}.project-section{background:#e4e9e3}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 35px}.project-grid img{width:100%;height:420px;object-fit:cover;border-radius:var(--radius)}.project-caption{display:flex;justify-content:space-between;padding-top:25px}.project-caption .eyebrow{font-size:11px;margin-bottom:8px;color:#626e6c}.project-caption h3{margin:0}.project-caption>span{font-size:28px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filters button{border:1px solid #b6c2b8;background:transparent;padding:8px 18px;font-size:14px;color:var(--ink)}.filters button.active{background:var(--ink);color:white}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.process-grid article{border-top:1px solid #a8b6ac;padding-top:25px}.process-grid span{display:block;font-size:12px;margin-bottom:30px;color:#6b7672}.process-grid h3{font-size:23px}.process-grid p{color:#626e6c}.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:0 80px;border-top:1px solid var(--line)}.faq .eyebrow{grid-column:1}.faq h2{grid-column:1}.faq>div{grid-column:2;grid-row:1/span 2}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-size:19px}.faq summary::-webkit-details-marker{display:none}.faq summary span{margin-left:20px}.faq details p{margin:20px 0 0;color:#626e6c}.quote-section{background:#e8ece7;display:grid;grid-template-columns:1fr 1fr;gap:90px}.quote-intro>p:not(.eyebrow){color:#5e6b65;max-width:400px}.contact-number{display:block;font-size:27px;margin:45px 0 15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}label{display:block;font-size:13px;font-weight:700}input,select,textarea{width:100%;padding:12px;background:transparent;border:1px solid #aebbb1;color:var(--ink);border-radius:var(--radius);min-height:46px;margin-top:7px}textarea{resize:vertical}input[type=file]{font-size:13px;padding:10px}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;margin:23px 0}.check input{width:17px;height:17px;min-height:17px;flex-shrink:0;margin:3px 0}.check a{text-decoration:underline}.honeypot{position:absolute;left:-10000px}.notice{padding:18px;border-left:3px solid #527662;background:#d8e8dc}.notice.error{border-color:#9c4533;background:#f3ddd5}.site-footer{padding:65px 6%;background:var(--ink);color:#d0d9d4;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer-name{font-size:23px;line-height:1.3;font-weight:700;letter-spacing:2.5px;color:white;margin-bottom:20px}.site-footer .eyebrow{font-size:11px;color:#a6b7ae}.site-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.site-footer p{margin-bottom:0}.site-footer>div:last-child{font-size:14px}.site-footer small{font-size:11px;margin-top:15px}.plain{background:none;border:0;color:inherit;font-size:inherit;padding:0;text-align:left}.mobile-bar{display:none}.skip{position:absolute;top:-100px;left:10px;z-index:20;padding:12px;background:white}.skip:focus{top:10px}.detail-heading{max-width:1100px}.detail-heading h1{font-size:clamp(48px,5vw,78px)}.detail-heading>p:not(.eyebrow){max-width:700px;font-size:20px}.detail-image{margin:0 6%}.detail-image img{width:100%;max-height:650px;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.gallery:empty{display:none}.gallery img{width:100%;height:350px;object-fit:cover}.compare-frame{position:relative;height:550px;--split:50%}.compare-before,.compare-after{position:absolute;inset:0}.compare-frame img{height:100%;width:100%;object-fit:cover}.compare-after{clip-path:inset(0 0 0 var(--split));border-left:0}.compare-before span,.compare-after span{position:absolute;bottom:20px;background:#172022;color:white;padding:5px 15px;font-size:13px}.compare-before span{left:20px}.compare-after span{right:20px}.comparison label{margin-top:20px}.compare-range{accent-color:#95582f}.image-section img{width:100%;max-height:600px;object-fit:cover;margin-bottom:35px}.narrow{max-width:1000px;margin:auto}.narrow h1{font-size:60px}.map-container iframe{width:100%;height:450px;border:0}.cookie-panel{position:fixed;left:25px;right:25px;bottom:25px;z-index:30;padding:25px;background:#fff;box-shadow:0 10px 80px #0004;display:flex;align-items:center;gap:25px;border:1px solid #ddd}.cookie-panel[hidden]{display:none}.cookie-panel>div{max-width:600px;flex:1}.cookie-panel p{font-size:13px;margin:8px 0 0}.outline{border:1px solid var(--ink);background:white;padding:17px 20px;font-size:13px}.preview-banner{background:#d4b08b;color:#172022;padding:10px 6%;display:flex;gap:30px;justify-content:space-between;font-size:13px}.density-compact .section{padding-top:70px;padding-bottom:70px}[hidden]{display:none!important}
@media(min-width:1700px){.section,.hero,.site-header,.site-footer{padding-left:max(6%,calc((100vw - 1480px)/2));padding-right:max(6%,calc((100vw - 1480px)/2))}}
@media(max-width:900px){.site-header nav{gap:18px}.hero{min-height:710px}.story,.quote-section{gap:45px}.section-heading{gap:0 35px}.faq{gap:0 40px}.hero h1{font-size:76px}.process-grid{gap:28px}}
@media(max-width:700px){body{padding-bottom:58px}.site-header{height:88px;padding:0 6%}.brand{width:115px}.brand img{width:115px;height:72px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #7b8b83;color:white;padding:8px 12px;font-size:13px}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--ink);padding:25px;z-index:10;flex-direction:column;align-items:stretch;gap:15px}.site-header nav.open{display:flex}.hero{height:auto;min-height:715px;padding-top:55px;padding-bottom:100px}.hero-content{padding-bottom:0}.hero h1{font-size:58px;letter-spacing:-2.8px;line-height:1.04}.hero .eyebrow{font-size:11px;letter-spacing:1.8px}.hero-copy{font-size:17px;max-width:340px}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-bottom{font-size:10px;letter-spacing:1.5px}.hero-bottom span:last-child{display:none}.hero-shade{background:linear-gradient(90deg,#101a1de8,#101a1d80)}.hero-photo img{object-position:64% center}.section,.density-compact .section{padding:64px 6%}.section-heading{display:block;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:36px;letter-spacing:-1.3px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(even){border-left:0;padding:25px 0;gap:18px}.service-card h3{font-size:21px}.service-card p{font-size:14px}.service-arrow{font-size:22px}.story,.quote-section{grid-template-columns:1fr;gap:25px}.story-copy>p{font-size:19px}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid span{margin-bottom:17px}.process-grid h3{margin-bottom:15px}.faq{display:block}.faq h2{margin-bottom:35px}.faq summary{font-size:17px}.project-grid{grid-template-columns:1fr;gap:35px}.project-grid img{height:330px}.form-grid{grid-template-columns:1fr}.contact-number{font-size:25px;margin-top:30px}.site-footer{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:35px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:58px;background:var(--ink);color:white;border-top:1px solid #ffffff30;z-index:15}.mobile-bar a{display:flex;align-items:center;justify-content:center;flex:1;font-size:13px}.mobile-bar a:last-child{background:var(--accent);color:var(--ink)}.cookie-panel{left:10px;right:10px;bottom:68px;padding:20px;flex-wrap:wrap;gap:12px}.cookie-panel>div{flex-basis:100%}.cookie-panel .button,.cookie-panel .outline{padding:12px;font-size:12px;flex:1}.detail-heading h1,.narrow h1{font-size:45px;letter-spacing:-2px}.detail-heading>p:not(.eyebrow){font-size:18px}.gallery{grid-template-columns:1fr}.gallery img{height:300px}.compare-frame{height:350px}.preview-banner{font-size:11px}.preview-banner+header nav{top:125px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v2.1: quiet surfaces, clear contact hierarchy */
:root{--ink:#202728;--line:#dededa}.hero{min-height:620px;max-height:820px}.hero h1{font-size:clamp(46px,6vw,84px);letter-spacing:-3px}.hero-actions{flex-wrap:wrap;gap:24px}.hero-actions .tertiary{font-size:13px;opacity:.8}.section{padding-top:84px;padding-bottom:84px}.enquiry-form{background:#fff;padding:32px;border:1px solid var(--line);border-radius:12px}.quote-section{background:#f0f1ed;gap:60px}.whatsapp-contact{background:transparent;border:1px solid #929e93;font-weight:500;padding:14px 20px}.contact-hint{font-size:14px;margin-top:22px}.bot-check{border:1px solid var(--line);background:#f7f8f5;padding:16px;margin-top:24px;border-radius:6px}.bot-check input{max-width:120px;display:block;background:white}.bot-check small{display:block;margin-top:8px;color:#58635e}.mobile-bar a:first-child{background:var(--accent);color:var(--ink);font-weight:700;flex:1.3}.mobile-bar a:last-child{background:var(--ink);color:#ccd2ce;font-size:12px}.mobile-bar a:nth-child(2){background:#34463d;color:white}@media(max-width:700px){.hero{min-height:660px}.hero h1{font-size:52px}.hero-actions{gap:16px}.enquiry-form{padding:22px 18px}.section{padding-top:60px;padding-bottom:60px}.quote-section{gap:24px}}

/* v2.1.1: compact floating mobile contact actions */
@media(max-width:700px){
 body{padding-bottom:0}
 .site-footer{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 .mobile-bar{left:auto;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));height:auto;width:auto;max-width:calc(100vw - 32px);gap:10px;background:transparent;border:0;align-items:center;pointer-events:none}
 .mobile-bar a.contact-float{flex:0 0 auto;display:inline-flex;gap:8px;min-height:50px;padding:12px 18px;border-radius:999px;font-size:14px;font-weight:700;line-height:1.2;pointer-events:auto;box-shadow:0 5px 20px #0003;border:1px solid #ffffff40}
 .mobile-bar a.contact-call{background:var(--accent);color:#172022}
 .mobile-bar a.contact-whatsapp{background:#176b44;color:#fff}
 .contact-float svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
 .cookie-panel{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:350px){.mobile-bar a.contact-float{padding:12px 14px;font-size:13px;gap:6px}}

@media(max-width:700px){.mobile-bar a.contact-float{width:54px;height:54px;min-height:54px;padding:0;gap:0;border-radius:50%;justify-content:center}.contact-float svg{width:24px;height:24px}}
