@import url('/assets/fonts.css');
:root{--ink:#183738;--teal:#1f5c59;--muted:#586b6a;--mist:#e5edeb;--paper:#f7f9f9;--line:#d8e2df;--radius:16px;--width:1180px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:Manrope,sans-serif;line-height:1.16;letter-spacing:-.04em;margin:0 0 22px;font-weight:600}h1{font-size:clamp(38px,4.15vw,61px);letter-spacing:-.055em}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-size:25px;letter-spacing:-.025em}p{margin:0 0 20px}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #d38628;outline-offset:5px}button{cursor:pointer}.wrap{width:min(var(--width),calc(100% - 72px));margin:auto}.skip{position:absolute;left:16px;top:-100px;background:white;z-index:100;padding:15px}.skip:focus{top:10px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{height:108px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:block;flex:0 0 236px}.brand img{width:236px;height:82px}.nav-links{display:flex;gap:27px;align-items:center}.nav-links a{text-decoration:none;font-size:15px;font-weight:600}.nav-links a:hover,.nav-links a[aria-current]{color:var(--teal);text-decoration:underline}.header-call{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:16px;font-weight:700;white-space:nowrap}.header-call svg{width:19px}.menu-toggle{display:none;border:1px solid var(--line);padding:9px 14px;border-radius:8px;background:white}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:14px 23px;border-radius:8px;border:1px solid var(--teal);color:white;background:var(--teal);font-weight:600;text-decoration:none;font-size:15px;line-height:1.4;transition:background .15s}.btn:hover{background:#154542}.btn.secondary{color:var(--teal);background:transparent;border-color:#b3c5bf}.btn.secondary:hover{background:var(--mist)}.btn svg{width:18px;height:18px}.actions{display:flex;gap:12px;flex-wrap:wrap}.muted{color:var(--muted)}.location-line{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;margin-bottom:24px;color:var(--teal)}.location-line svg{width:17px;height:17px}.hero{padding-top:42px;padding-bottom:44px}.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:62px;align-items:center}.hero-copy{padding:32px 0}.hero-copy .intro{color:var(--muted);font-size:19px;max-width:490px}.benefits{list-style:none;padding:0;margin:25px 0 30px;display:grid;gap:9px;font-size:15px}.benefits li{display:flex;align-items:center;gap:10px}.benefits li:before{content:'✓';background:var(--mist);width:21px;height:21px;border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:12px;font-weight:700}.hero-photo{position:relative;margin:0}.hero-photo>img{width:100%;height:510px;object-fit:cover;border-radius:var(--radius)}.hero-photo figcaption{font-size:12px;color:var(--muted);text-align:right;margin-top:8px}.hero-note{position:absolute;bottom:50px;left:-25px;max-width:300px;background:var(--teal);color:white;padding:24px 27px;border-radius:12px;font-family:Manrope,sans-serif;box-shadow:0 8px 28px #173b3820}.hero-note strong{font-size:21px;line-height:1.3;font-weight:500;display:block}.hero-note span{font-family:'DM Sans',sans-serif;font-size:13px;opacity:.85;display:block;margin-top:7px}.under-hero{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-bottom:22px}.under-hero>div{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 18px;border-right:1px solid var(--line)}.under-hero>div:last-child{border:0}.under-hero svg{width:29px;height:29px;flex-shrink:0;stroke:var(--teal)}.under-hero strong{font-size:15px;display:block;font-weight:600}.under-hero span{font-size:13px;color:var(--muted)}.section{padding:85px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-head h2{max-width:500px;margin-bottom:0}.section-head p{max-width:400px;color:var(--muted);margin-bottom:3px}.style-grid{display:grid;grid-template-columns:1.24fr 1fr 1fr;gap:25px}.style-card{text-decoration:none;display:block}.style-card img{height:315px;width:100%;object-fit:cover;border-radius:var(--radius);transition:filter .2s}.style-card:hover img{filter:brightness(.93)}.style-card h3{font-size:23px;margin:19px 0 7px}.style-card p{font-size:15px;color:var(--muted)}.text-link{font-weight:600;text-decoration:underline;text-decoration-color:#a5bdb7;text-decoration-thickness:1px;font-size:15px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.feature img{border-radius:var(--radius);width:100%;height:540px;object-fit:cover}.feature p{color:var(--muted)}.eyeline{font-size:14px;color:var(--teal);margin-bottom:20px}.scope-list{margin:25px 0;padding:0;list-style:none}.scope-list li{padding:13px 0;border-top:1px solid var(--line);font-size:16px}.scope-list li:last-child{border-bottom:1px solid var(--line)}.scope-list strong{display:block;font-size:16px;color:var(--ink)}.scope-list span{font-size:14px;color:var(--muted)}.tint{background:var(--mist)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.step-num{display:inline-flex;width:40px;height:40px;border-radius:50%;border:1px solid #95b3aa;align-items:center;justify-content:center;font-size:14px;margin-bottom:25px}.process h3{font-size:22px;margin-bottom:14px}.process p{font-size:16px;color:var(--muted)}.process-intro{display:flex;justify-content:space-between;gap:50px;align-items:center}.process-intro h2{max-width:580px;margin-bottom:0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-layout>div>p{color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{list-style:none;padding:22px 34px 22px 0;font-family:Manrope,sans-serif;font-weight:600;cursor:pointer;position:relative;font-size:17px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:25px;top:15px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:16px;color:var(--muted);padding-right:26px}.enquiry-band{background:var(--teal);color:white;padding:80px 0}.enquiry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.enquiry-copy{padding-top:24px}.enquiry-copy h2{font-size:43px;max-width:390px}.enquiry-copy p{color:#dce8e3;max-width:400px}.big-phone{font-family:Manrope,sans-serif;font-size:32px;font-weight:500;text-decoration:none;display:inline-flex;gap:14px;align-items:center;letter-spacing:-.03em;margin:10px 0 26px}.big-phone svg{width:24px;height:24px}.enquiry-copy .small{font-size:14px;color:#dce8e3}.quote-form{background:white;border-radius:16px;padding:32px;color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form h3{grid-column:1/-1;font-size:24px;margin:0}.form-intro{grid-column:1/-1;font-size:14px;color:var(--muted);margin:-8px 0 0}.field{display:grid;gap:6px;font-size:14px;font-weight:500;align-content:start}.field input,.field select,.field textarea{border:1px solid #b8c9c2;border-radius:6px;padding:12px;width:100%;background:#fff;font-size:16px;line-height:1.5;color:var(--ink)}.field textarea{resize:vertical;min-height:92px}.wide{grid-column:1/-1}.quote-form .btn{width:100%}.form-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0}.form-status{font-size:15px;margin:0}.form-status.error{color:#982d26}.form-status.success{padding:16px;background:var(--mist);border-radius:8px}.honeypot{position:absolute;left:-10000px;overflow:hidden;width:1px;height:1px}.site-footer{background:#123e3c;color:white;padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px}.footer-logo{width:240px;height:auto;margin-left:-5px}.footer-grid p{font-size:14px;max-width:310px;color:#bed3cb}.footer-grid h3{font-size:16px;letter-spacing:0;margin-top:14px}.footer-links{display:grid;gap:9px;font-size:14px}.footer-links a{text-decoration:none;color:#dbe8e3}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #38615c;margin-top:34px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bed3cb}.mobile-bar{display:none}.breadcrumb{font-size:13px;padding-top:28px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.inner-hero .hero-photo>img{height:460px}.inner-hero h1{font-size:clamp(36px,3.7vw,54px)}.inner-hero.hero{padding-top:18px}.image-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.image-strip figure{margin:0}.image-strip img{width:100%;height:245px;object-fit:cover;border-radius:16px}.image-strip figcaption{font-size:14px;color:var(--muted);padding-top:12px}.info-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.info-row{border-top:1px solid var(--line);padding:30px 0 18px}.info-row h3{font-size:22px;margin-bottom:14px}.info-row p{color:var(--muted);font-size:16px}.cost-panel{background:var(--teal);color:white;padding:45px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:50px}.cost-panel h3{font-size:30px;margin:0}.cost-panel p{color:#e0eae6;font-size:16px}.cost-panel a{color:white}.utility{max-width:820px;margin:auto;padding:60px 0 85px}.utility h1{margin-bottom:30px}.utility h2{font-size:27px;margin-top:40px}.utility p,.utility li{color:var(--muted)}.contact-top{padding:50px 0 60px}.contact-top h1{font-size:50px;max-width:700px}.contact-top p{max-width:650px;color:var(--muted)}.contact-top .big-phone{margin-bottom:0}.contact-top .enquiry-layout{margin-top:40px}.contact-top .quote-form{border:1px solid var(--line)}.contact-aside{padding-top:20px}.contact-aside h2{font-size:27px}.contact-aside p{font-size:16px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 25px}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;height:390px;object-fit:cover;border-radius:16px}.gallery-grid figcaption{padding-top:14px}.gallery-grid h3{font-size:22px;margin-bottom:7px}.gallery-grid p{font-size:15px;color:var(--muted)}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-cards a{text-decoration:none}.service-cards img{height:250px;object-fit:cover;width:100%;border-radius:16px}.service-cards h3{font-size:22px;margin:20px 0 12px}.service-cards p{color:var(--muted);font-size:15px}.illustration-note{font-size:12px;color:var(--muted);margin-top:24px}.swatches{display:flex;gap:12px;margin:25px 0 32px}.swatches i{display:block;width:44px;height:44px;border-radius:50%;border:1px solid #ced6d1}.form-in-view .mobile-bar,.input-focused .mobile-bar{display:none}.legal-list{padding-left:22px}body:has(.menu-toggle[aria-expanded=true]) .header-call{display:none}
@media(min-width:1600px){.hero-photo>img{height:540px}}
@media(max-width:1100px){.nav-links{gap:16px}.nav-links a{font-size:14px}.header-call{font-size:14px}.brand,.brand img{width:210px;flex-basis:210px}.hero-grid{gap:35px}.hero h1{font-size:46px}.hero-photo>img{height:480px}.hero-note{left:-14px}.enquiry-layout,.feature,.faq-layout{gap:45px}.actions{gap:10px}.btn{padding:13px 18px}.footer-grid{gap:40px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.header-inner{height:87px}.brand,.brand img{width:202px;flex-basis:202px;height:70px}.menu-toggle{display:block}.header-call{margin-left:auto}.nav-links{display:none;position:absolute;left:0;right:0;top:86px;padding:22px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:20px;box-shadow:0 15px 25px #173b3810}.nav-links.open{display:flex}.nav-links a{font-size:17px}.hero-grid{gap:24px}.hero h1{font-size:38px}.hero-copy .intro{font-size:17px}.hero-note{display:none}.hero-photo>img{height:440px}.style-card img{height:240px}.feature{gap:35px}.feature img{height:460px}.section{padding:65px 0}.enquiry-layout{gap:28px}.enquiry-copy h2{font-size:34px}.big-phone{font-size:27px}.quote-form{padding:23px}.process{gap:25px}.under-hero{gap:0}.under-hero>div{gap:10px;padding:0 10px}.under-hero svg{display:none}.under-hero strong{font-size:14px}.under-hero span{font-size:12px}.image-strip{gap:15px}.cost-panel{gap:25px;padding:30px}.service-cards{gap:18px}}
@media(max-width:650px){body{font-size:16px;padding-bottom:76px}.wrap{width:calc(100% - 36px)}.header-inner{height:77px;gap:10px}.brand,.brand img{width:194px;height:67px;flex-basis:194px}.header-call{display:none}.menu-toggle{margin-left:auto;font-size:14px;padding:9px 11px}.nav-links{top:76px}.hero{padding-top:20px;padding-bottom:26px}.hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero-photo{order:-1;margin:0 0 17px}.hero-photo>img,.inner-hero .hero-photo>img{height:230px;object-position:center 60%}.hero-photo figcaption{font-size:10px;margin-top:5px}.hero-copy{padding:0}.location-line{font-size:12px;margin-bottom:12px}.hero h1,.inner-hero h1{font-size:clamp(33px,9.6vw,43px);margin-bottom:16px;max-width:430px}.hero-copy .intro{font-size:16px;line-height:1.6;margin-bottom:17px}.benefits{font-size:14px;gap:6px;margin:18px 0 22px}.btn{font-size:14px;padding:13px 16px;min-height:50px}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero .actions .btn{padding:12px 8px}.hero .actions svg{display:none}.under-hero{padding:19px 0;margin-bottom:0;grid-template-columns:1fr;gap:15px}.under-hero>div{justify-content:start;padding:0;border:0;gap:10px}.under-hero svg{display:block;width:23px;height:23px}.under-hero strong{display:inline;font-size:14px}.under-hero span{display:none}.section{padding:49px 0}.section-head{display:block;margin-bottom:26px}.section-head h2{font-size:32px;margin-bottom:17px}.section-head p{font-size:16px}.style-grid{grid-template-columns:1fr;gap:28px}.style-card img{height:285px}.style-card h3{margin:14px 0 5px;font-size:23px}.style-card p{margin-bottom:0}.feature{grid-template-columns:1fr;gap:28px}.feature img{height:340px}.feature h2{font-size:33px}.process-intro{display:block}.process-intro h2{font-size:31px;margin-bottom:22px}.process{grid-template-columns:1fr;gap:25px;margin-top:29px}.process>div{padding-left:58px;position:relative}.step-num{position:absolute;left:0;top:0}.process h3{font-size:21px;margin-bottom:8px}.process p{margin-bottom:0}.faq-layout{grid-template-columns:1fr;gap:18px}.faq-layout h2{font-size:31px}.faq-layout>div>p{margin-bottom:12px}summary{font-size:16px;padding-top:20px;padding-bottom:20px}.enquiry-band{padding:48px 0}.enquiry-layout{grid-template-columns:1fr;gap:23px}.enquiry-copy{padding:0}.enquiry-copy h2{font-size:34px}.enquiry-copy .big-phone{margin:0 0 14px}.quote-form{padding:23px 19px;gap:17px 12px}.field{font-size:13px}.quote-form h3{font-size:23px}.field input,.field select,.field textarea{padding:11px 9px}.quote-form .phone-field{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.site-footer{padding-top:29px}.footer-bottom{display:block;font-size:11px}.footer-bottom p{margin-bottom:10px}.mobile-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:8px;bottom:0;left:0;right:0;background:white;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:25;box-shadow:0 -5px 20px #173b3810}.mobile-bar .btn{font-size:14px;min-height:47px;padding:10px}.mobile-bar svg{display:none}.breadcrumb{padding-top:18px;font-size:11px}.inner-hero.hero{padding-top:18px}.image-strip{grid-template-columns:1fr;gap:25px;margin-top:27px}.image-strip img{height:270px}.info-rows{grid-template-columns:1fr;gap:0}.info-row{padding:22px 0 5px}.cost-panel{grid-template-columns:1fr;gap:20px;padding:28px;margin-top:25px}.cost-panel h3{font-size:28px}.utility{padding-top:36px}.utility h1{font-size:36px}.contact-top{padding-top:32px}.contact-top h1{font-size:37px}.contact-top .enquiry-layout{margin-top:27px}.contact-aside{padding-top:0}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid img{height:300px}.service-cards{grid-template-columns:1fr;gap:30px}.service-cards img{height:255px}.service-cards h3{margin-top:14px}.service-cards p{margin-bottom:0}}
@media(max-width:350px){.hero h1{font-size:31px}.hero .actions{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr}.quote-form .field{grid-column:1/-1}.brand,.brand img{width:180px;flex-basis:180px}.wrap{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:650px){.inner-hero h1{font-size:clamp(27px,8vw,35px)}}

.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:38px}.article-card{display:block;text-decoration:none;border-bottom:1px solid #cadad7;padding-bottom:24px}.article-card img{aspect-ratio:1.5;object-fit:cover;width:100%;border-radius:16px}.article-card h2{font-size:24px;line-height:1.3;margin:12px 0}.article-card p{font-size:16px}.article-card .eyeline{margin-top:20px}.article{padding-top:45px;padding-bottom:70px}.article-header{max-width:960px;margin:auto}.article-header h1{font-size:clamp(34px,4.5vw,58px);line-height:1.12}.article-photo{width:100%;height:390px;object-fit:cover;border-radius:16px;margin-top:28px}.article-layout{display:grid;grid-template-columns:260px minmax(0,720px);gap:60px;margin-top:44px;justify-content:center}.contents{font-size:15px}.contents h2{font-size:21px}.contents ol{padding-left:22px}.contents li{padding:7px 0}.article-body h2{font-size:29px;line-height:1.25}.article-body p,.article-body li{font-size:18px;line-height:1.85}.article-body section{margin:0 0 38px;scroll-margin-top:110px}.article-cta,.article-checklist{background:#e5edeb;border-radius:16px;padding:25px;margin:30px 0}.article-cta .actions{flex-direction:column;align-items:flex-start}.article-cta h3{font-size:23px}.article-checklist ul{padding-left:22px}@media(max-width:800px){.article-layout{grid-template-columns:1fr;gap:25px}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-photo{height:280px}}@media(max-width:550px){.article-grid{grid-template-columns:1fr}.article-header h1{font-size:34px}.article-photo{height:230px}.article-body h2{font-size:26px}.article-body p,.article-body li{font-size:17px}}

@media(max-width:650px){.contact-top .quote-form{order:-1}.contact-top .contact-aside{order:1}}
