:root{--ink:#111;--paper:#fff;--muted:#eceae5;--orange:#f2a900;--grey:#636363;--green:#25d366;--display:'Barlow Condensed',Impact,sans-serif;--body:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:999;background:#fff;padding:.75rem 1rem}.site-header{height:96px;padding:0 clamp(1.2rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:30;border-bottom:1px solid #ddd}.brand{display:flex;align-items:center;line-height:1}.brand-logo{width:132px;height:auto}.desktop-nav{display:flex;align-items:center;gap:2rem;font-size:.92rem;font-weight:700}.desktop-nav a:hover{color:#a86d00}.nav-call{background:var(--ink);color:#fff!important;padding:.75rem 1.1rem}.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle span{display:block;width:25px;height:2px;background:#111;margin:5px}.mobile-menu{position:absolute;top:96px;left:0;right:0;background:#fff;padding:1rem 1.2rem 1.3rem;box-shadow:0 16px 30px #0002}.mobile-menu a{display:block;padding:.8rem 0;font-weight:700;border-bottom:1px solid #ddd}.mobile-menu .whatsapp-link{color:#117a3a}.hero{position:relative;min-height:710px;color:#fff;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.08) 82%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 50%)}.hero-content{position:relative;z-index:2;max-width:760px;padding:4.5rem clamp(1.2rem,7vw,7.5rem) 7rem}.eyebrow,.section-kicker{margin:0 0 1rem;font-family:var(--display);font-weight:700;letter-spacing:.18em;font-size:.9rem}.eyebrow{color:var(--orange)}h1,h2,h3{font-family:var(--display);line-height:.95;margin:0}h1{font-size:clamp(4rem,8vw,7.6rem);text-transform:uppercase;letter-spacing:-.035em}h1 span{color:var(--orange)}.hero-copy{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:660px;margin:1.8rem 0 2rem}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.25rem;font-weight:800;border:2px solid transparent}.primary{background:var(--orange);color:#111}.secondary{border-color:#fff;color:#fff}.button:hover{transform:translateY(-2px)}.hero-strip{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:0;background:rgba(17,17,17,.94);border-top:1px solid #ffffff29}.hero-strip span{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:1.3rem 2.5rem;border-right:1px solid #ffffff29}.section-pad{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,7vw,7.5rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.section-kicker{color:#a26800}.intro h2,.section-heading h2,.areas h2,.project h2,.contact-banner h2{font-size:clamp(3rem,5vw,5.6rem);text-transform:uppercase;letter-spacing:-.025em}.intro-copy{font-size:1.08rem}.intro-copy p:first-child{margin-top:0}.services{background:var(--ink);color:#fff}.services .section-kicker{color:var(--orange)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:3rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff2e;border-left:1px solid #ffffff2e}.service-grid article{min-height:270px;padding:2rem;border-right:1px solid #ffffff2e;border-bottom:1px solid #ffffff2e}.service-grid article>span{color:var(--orange);font-family:var(--display);font-weight:700}.service-grid h3{font-size:2.4rem;text-transform:uppercase;margin:2.6rem 0 1rem}.service-grid p{color:#c8c8c8;margin:0}.service-cta{background:var(--orange);color:#111}.service-grid .service-cta p{color:#111}.service-grid .service-cta h3{margin:1rem 0 2rem}.service-cta a{font-weight:800;border-bottom:2px solid #111;padding-bottom:.2rem}.project{display:grid;grid-template-columns:1.25fr .75fr;background:var(--muted)}.project-image img{width:100%;height:100%;object-fit:cover}.project-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}.project-copy h2{margin-bottom:1.8rem}.project-copy p{font-size:1.05rem}.project-note{color:var(--grey)}.text-link{font-weight:800;margin-top:1rem}.text-link:hover{text-decoration:underline}.areas{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.areas-copy>p:last-child{max-width:600px}.area-list{border-top:3px solid #111}.area-list div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid #bbb}.area-list strong{font-family:var(--display);font-size:2rem;text-transform:uppercase}.area-list span{color:var(--grey)}.contact-banner{background:var(--orange);padding:clamp(3rem,7vw,6rem) clamp(1.2rem,7vw,7.5rem);display:flex;justify-content:space-between;align-items:center;gap:3rem}.contact-banner .section-kicker{color:#111}.contact-banner p{max-width:650px}.dark{background:#111;color:#fff}.outline-dark{border-color:#111;color:#111}footer{background:#111;color:#fff;padding:3rem clamp(1.2rem,7vw,7.5rem) 7rem;display:grid;grid-template-columns:1fr auto;gap:1rem}footer a{font-size:1.25rem;font-weight:800}footer p{grid-column:1/-1;color:#aaa;margin:0}.footer-brand img{width:125px;height:auto;filter:invert(1);margin-bottom:.7rem}.footer-brand span{display:block;color:#aaa}.contact-dock{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50}.contact-trigger{border:0;background:#111;color:#fff;padding:.9rem 1.1rem;font:700 1rem var(--body);box-shadow:0 8px 28px #0005;cursor:pointer}.pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--green);margin-right:.45rem;box-shadow:0 0 0 5px #25d3662e}.contact-options{position:absolute;right:0;bottom:calc(100% + .7rem);width:270px;background:#fff;color:#111;box-shadow:0 12px 35px #0004;border:1px solid #ddd}.contact-options a{display:flex;align-items:center;gap:.8rem;padding:1rem}.contact-options a+a{border-top:1px solid #ddd}.option-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-weight:800}.option-icon.whatsapp{background:var(--green)}.contact-options strong,.contact-options small{display:block}.contact-options small{color:#666}.contact-trigger:focus-visible,.button:focus-visible,a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #1684ff;outline-offset:3px}
.reviews-band{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:4rem;border-bottom:1px solid #d7d7d7}.reviews-band>div{max-width:780px}.reviews-band h2{font-size:clamp(3rem,5vw,5.6rem);text-transform:uppercase;letter-spacing:-.025em}.reviews-band p:last-child{max-width:650px;font-size:1.06rem}.review-button{flex:none;background:#111;color:#fff;min-width:230px}.review-button span{margin-left:.5rem}
.project-enquiry{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem);background:#eceae5}.enquiry-intro h2{font-size:clamp(3rem,5vw,5.6rem);text-transform:uppercase;letter-spacing:-.025em}.enquiry-intro>p:last-of-type{max-width:520px}.enquiry-steps{margin-top:2.5rem;border-top:2px solid #111}.enquiry-steps span{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #b9b7b2;font-weight:700}.enquiry-steps strong{display:grid;place-items:center;width:30px;height:30px;background:#111;color:#fff;font-family:var(--display)}.quote-form{background:#fff;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 18px 45px #00000012}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{margin-bottom:1.25rem}.field label{display:block;font-weight:800;margin-bottom:.45rem}.field input,.field select,.field textarea{width:100%;border:1px solid #aaa;background:#fff;color:#111;border-radius:0;padding:.85rem .9rem;font:inherit;line-height:1.4}.field textarea{resize:vertical;min-height:145px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #f2a900;outline-offset:1px;border-color:#111}.whatsapp-submit{border:0;background:#1a8f48;color:#fff;cursor:pointer;width:100%;font:800 1rem var(--body)}.whatsapp-submit span{margin-left:.5rem}.form-note{color:#666;font-size:.82rem;line-height:1.5;margin:.8rem 0 0}.reviews-band{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:4rem;border-bottom:1px solid #d7d7d7}.reviews-band>div{max-width:780px}.reviews-band h2{font-size:clamp(3rem,5vw,5.6rem);text-transform:uppercase;letter-spacing:-.025em}.reviews-band p:last-child{max-width:650px;font-size:1.06rem}.review-button{flex:none;background:#111;color:#fff;min-width:230px}.review-button span{margin-left:.5rem}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.hero{min-height:670px}.hero-strip{overflow-x:auto;justify-content:flex-start}.hero-strip span{padding:1rem 1.3rem;white-space:nowrap}.intro,.areas,.project-enquiry{grid-template-columns:1fr;gap:2rem}.service-grid{grid-template-columns:repeat(2,1fr)}.project{grid-template-columns:1fr}.project-image{max-height:560px}.reviews-band{align-items:flex-start;flex-direction:column;gap:2rem}.contact-banner{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}}
@media(max-width:600px){.site-header{height:82px}.mobile-menu{top:82px}.brand-logo{width:104px}.hero{min-height:650px;align-items:flex-end}.hero>img{object-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.67) 58%,rgba(0,0,0,.1) 100%)}.hero-content{padding:8rem 1.2rem 7rem}h1{font-size:3.65rem}.hero-copy{font-size:1rem}.hero-actions{display:grid}.button{width:100%}.section-pad{padding:4.3rem 1.2rem}.intro h2,.section-heading h2,.areas h2,.project h2,.project-enquiry h2,.contact-banner h2{font-size:3rem}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.project-copy{padding:3.5rem 1.2rem}.form-row{grid-template-columns:1fr}.quote-form{padding:1.3rem}.area-list div{align-items:flex-start;flex-direction:column;gap:0}.contact-banner{padding:4rem 1.2rem}.contact-actions{width:100%;display:grid}footer{padding:3rem 1.2rem 7rem}.contact-dock{right:.8rem;bottom:.8rem}}
.desktop-nav .nav-facebook{color:#a26800}.mobile-menu .nav-facebook{color:#a26800}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
