:root{--teal:#004b55;--ink:#073f49;--yellow:#ffca28;--paper:#fcfcf8;--wash:#edf4f2;--muted:#526567;--line:#ccdcd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ac7100;outline-offset:5px}img{max-width:100%;display:block;height:auto}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.header{background:var(--paper)}.header-inner{min-height:110px;display:flex;align-items:center;gap:32px}.brand{width:250px;flex-shrink:0}.header nav{display:flex;gap:26px;margin-left:auto;font-size:14px}.header nav a{padding:12px 0;position:relative}.header nav a[aria-current]:after{content:'';height:3px;background:var(--yellow);position:absolute;bottom:3px;left:0;right:0}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid var(--yellow);background:var(--yellow);color:#102f32;padding:14px 22px;font-size:14px;line-height:1.5;font-weight:700;cursor:pointer;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#ffdb60;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.header-cta{padding:12px 18px;white-space:nowrap}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:610px;display:flex;align-items:center;background:var(--teal);color:white}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,51,58,.94),rgba(0,51,58,.73) 40%,rgba(0,51,58,.04) 85%);z-index:-1}.hero-content{padding-top:65px;padding-bottom:100px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:2.2px;font-size:11px;font-weight:700;margin-bottom:20px}.hero .eyebrow{color:#ffda68}.hero h1{max-width:760px}.hero p{max-width:460px;color:#f1f6f4;font-size:19px;line-height:1.6;margin:24px 0 30px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-1.8px}h1{font-size:clamp(42px,4.7vw,68px);font-weight:600;margin-bottom:24px}h2{font-size:clamp(32px,3.3vw,45px);font-weight:600;margin-bottom:25px}h3{font-size:25px;letter-spacing:-.7px;margin-bottom:16px}p{color:var(--muted);margin-bottom:24px}.actions{display:flex;gap:14px;flex-wrap:wrap}.outline{border-color:#c2d9d8;background:transparent;color:white}.outline:hover{background:#ffffff16}.hero-caption{position:absolute;bottom:28px;right:48px;font-size:12px;letter-spacing:1px}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading p{max-width:380px;margin:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:48px}.service-art{height:300px;margin-bottom:32px;overflow:hidden}.service-art img{width:100%;height:100%;object-fit:cover}.services .eyebrow{margin-bottom:14px}.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:2px solid var(--yellow);padding-bottom:8px;font-size:14px;font-weight:bold}.home-art{background:linear-gradient(115deg,#dce7dd,#9cb6a5);display:flex;align-items:center;justify-content:center;gap:30px;position:relative;overflow:hidden}.home-art:after{content:'';position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 46%,#ffffff25 47%,transparent 61%);pointer-events:none}.home-art>span{font-family:Georgia,serif;font-style:italic;max-width:150px;font-size:30px;line-height:1.25}.window{width:130px;height:195px;border:9px solid #f6f5eb;background:#72958e;box-shadow:18px 18px 0 #004b5518;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;transform:perspective(500px) rotateY(-12deg);flex-shrink:0}.window i{background:linear-gradient(130deg,#c7dbd3,#799f97);border:2px solid #eceee2}.wash{background:var(--wash)}.steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.steps li{display:flex;gap:20px}.steps li>span{color:#6d9492;font-size:20px;border-top:2px solid var(--yellow);padding-top:8px}.steps h3{font-size:20px;letter-spacing:-.4px;line-height:1.3}.steps p{font-size:14px;margin-bottom:0}.coverage{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}.coverage p{max-width:300px}.towns{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-content:center}.towns a{padding:18px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.towns a:hover{color:#827000}.cta{background:var(--teal);color:white;padding:50px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:34px;margin:0}.cta .button{min-width:190px}footer{background:#073a42;color:white;padding:44px 0 22px}.footer-top{display:flex;gap:50px;align-items:center;padding-bottom:36px}.footer-top p{font-size:13px;color:#bbcfce;margin:0}.footer-top nav{margin-left:auto;display:flex;gap:20px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #39616a;padding-top:20px;font-size:11px;color:#b3cac9}.split-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:50px;padding-bottom:80px;align-items:center}.split-hero h1{font-size:clamp(40px,4.3vw,60px)}.split-hero p{font-size:18px}.breadcrumb{display:block;font-size:12px;color:var(--muted);margin-bottom:30px}.split-image{height:500px}.split-image>img,.split-image>.home-art{height:100%;width:100%;object-fit:cover}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:48px}.three-col article{border-top:1px solid #b6ceca;padding-top:25px}.three-col p{margin:0}.editorial{max-width:850px;text-align:center}.editorial p{max-width:620px;margin:0 auto 28px}.page-intro{padding-top:70px;padding-bottom:50px}.page-intro p{font-size:19px;max-width:570px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.area-grid article{padding:30px;background:var(--wash)}.area-grid h2{font-size:30px;letter-spacing:-1px}.area-grid .text-link{font-size:12px;gap:15px}.contact-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;padding-bottom:90px}.contact-layout aside{padding:36px;background:var(--wash);align-self:start}.contact-layout aside h2{font-size:34px}.contact-layout aside ul{list-style:none;padding:0;margin-bottom:25px}.contact-layout aside li{padding:8px 0;border-bottom:1px solid var(--line)}.contact-layout aside p{font-size:14px}.contact-layout hr{border:0;border-top:1px solid var(--line);margin:28px 0}.contact-layout aside h3{font-size:22px}label{display:block;font-size:14px;font-weight:600;margin-bottom:22px}label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;border:1px solid #afc5c1;background:white;border-radius:2px;padding:12px;margin-top:8px;color:var(--ink);min-height:48px}textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-notice{font-size:13px;border-left:3px solid var(--yellow);padding:12px 16px;background:#f6f2de}.form-help{font-size:12px;margin-top:15px}#form-result{padding:20px;background:var(--wash);border-left:3px solid var(--teal)}.skip{position:absolute;top:-100px;left:10px;background:var(--yellow);padding:12px;z-index:10}.skip:focus{top:10px}
@media(min-width:1500px){.hero{min-height:680px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.header-inner{gap:20px}.brand{width:210px}.header nav{gap:17px}.header-cta{display:none}.footer-top{flex-wrap:wrap}.footer-top nav{margin-left:0}.contact-layout{gap:40px}.coverage{gap:50px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:88px;flex-wrap:wrap;gap:0;justify-content:space-between;padding:15px 0}.brand{width:205px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:8px 12px;color:var(--teal);font-size:14px}.header nav{width:100%;display:flex;flex-wrap:wrap;margin:12px 0 0;gap:12px 20px}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero{min-height:600px}.hero:after{background:linear-gradient(90deg,#00333aed,#00333a85)}.hero-content{padding:65px 0 90px}.hero h1{font-size:45px;letter-spacing:-1.6px}.hero p{font-size:17px}.hero-caption{left:20px;right:auto;font-size:10px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:30px}.section-heading p{margin-top:22px}.services,.steps,.coverage,.split-hero,.three-col,.contact-layout{grid-template-columns:1fr;gap:40px}.services{gap:50px}.service-art{height:260px}.steps{gap:30px}.coverage{gap:16px}.cta .wrap{align-items:start;flex-direction:column}.cta h2{font-size:30px}.footer-top{gap:24px}.footer-top nav{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}.split-hero{padding-top:30px;padding-bottom:55px;gap:35px}.split-image{height:320px}.area-grid{grid-template-columns:1fr 1fr;gap:16px}.area-grid article{padding:24px}.area-grid h2{font-size:25px}.page-intro{padding-top:45px;padding-bottom:25px}.contact-layout{padding-bottom:60px}.three-col{gap:24px}.three-col article{padding-top:20px}.towns{gap:0 20px}}@media(max-width:420px){.hero h1{font-size:39px}.actions{align-items:stretch;flex-direction:column}.actions .button{align-self:start}.area-grid,.field-pair{grid-template-columns:1fr}.field-pair{gap:0}.home-art{gap:20px}.home-art>span{font-size:25px;max-width:110px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}.button:disabled{opacity:.65;cursor:wait;transform:none}
/* Mockup detail pass: photographic service pages and local coverage. */
.teal-outline{background:transparent;color:var(--teal);border-color:var(--teal)}.teal-outline:hover{background:var(--wash)}.hero .teal-outline{color:white;border-color:white}.hero .teal-outline:hover{background:#ffffff20}.centred-heading{text-align:center;margin-bottom:35px}.centred-heading h2:after{content:'';display:block;background:var(--yellow);width:48px;height:4px;margin:18px auto}.centred-heading p{margin-bottom:0}.mockup-photo{display:block;position:relative;overflow:hidden;width:100%;background:var(--wash)}.mockup-photo img{position:absolute;max-width:none;height:auto;display:block}.image-story{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:60px}.image-story.image-first{grid-template-columns:1.1fr 1fr}.image-first>div:first-child{order:2}.story-photo>img{width:100%;height:350px;object-fit:cover}.yellow-rule{width:45px;border:0;border-top:4px solid var(--yellow);margin:25px 0}.service-categories{padding-top:0}.service-categories .three-col{margin:0;gap:32px}.service-categories article{border:0;padding:0}.service-categories img{width:100%;height:245px;object-fit:cover;margin-bottom:22px}.service-categories h2{font-size:28px;letter-spacing:-1px;margin-bottom:15px}.service-categories p{min-height:78px}.service-categories .button{padding:10px 16px;font-size:13px;gap:16px}.area-photos{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.area-photos a>span:last-child{display:block;text-align:center;font-size:14px;font-weight:bold;padding-top:10px}.area-photos a:hover{color:#887000}.area-section h2{margin-bottom:14px}.contact-hero{min-height:410px}.contact-hero h1{font-size:48px}.contact-hero .hero-content{padding-top:55px;padding-bottom:55px}.contact-hero .hero-photo{object-position:center 45%}.contact-layout form{padding:30px;background:var(--wash)}.contact-layout aside{padding:0;background:var(--wash)}.contact-layout aside>*:not(.contact-detail){margin-left:28px;margin-right:28px}.contact-layout aside h2{margin-top:30px}.contact-layout .field-pair{grid-template-columns:1fr;gap:0}.contact-layout form .button{width:100%;justify-content:center}.contact-layout{gap:36px;grid-template-columns:1.5fr 1fr}.form-help a,.enquiry-privacy a{text-decoration:underline;text-underline-offset:3px}.enquiry-privacy{max-width:900px}.enquiry-privacy h2{font-size:28px}.enquiry-privacy p{font-size:14px}.breadcrumb{color:var(--muted)}.breadcrumb a{display:inline}.hero-photo{width:100%;height:100%}.footer-top p{min-width:230px}.cta h2{max-width:860px}
@media(max-width:1000px){.area-photos{grid-template-columns:repeat(3,1fr)}.image-story{gap:30px}.service-categories .three-col{gap:22px}.service-categories .button{font-size:12px;gap:10px}.service-categories img{height:200px}}
@media(max-width:760px){.image-story,.image-story.image-first,.contact-layout{grid-template-columns:1fr;gap:30px}.image-first>div:first-child{order:0}.service-categories .three-col{grid-template-columns:1fr;gap:40px}.service-categories img{height:auto;aspect-ratio:3/2}.service-categories p{min-height:0}.contact-hero{min-height:470px}.contact-hero h1{font-size:40px}.contact-layout form{padding:24px}.area-photos{gap:16px}.area-photos a>span:last-child{font-size:12px}.story-photo>img{height:auto}.footer-top p{min-width:0}}
@media(max-width:420px){.area-photos{grid-template-columns:repeat(2,1fr)}.contact-layout form{padding:20px}.contact-hero h1{font-size:36px}}
.steps li>span{display:flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#dcefeb;color:var(--teal);font-weight:bold}.steps li>.step-icon{min-width:64px;height:64px}.step-icon svg{width:32px;height:32px}
.additional-areas{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.additional-areas p{font-size:14px;margin-bottom:12px}.additional-areas ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;padding:0;margin:0}.additional-areas a{font-size:15px;font-weight:600;border-bottom:2px solid var(--yellow);padding-bottom:5px;display:inline-block}.footer-top p{max-width:370px}
.assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 56px}.assurance-grid article{border-top:3px solid var(--yellow);padding-top:24px}.assurance-grid p{margin-bottom:0}.commercial-coordination{margin-top:40px;padding:30px;background:var(--wash)}.commercial-coordination p{max-width:850px}@media(max-width:760px){.assurance-grid{grid-template-columns:1fr;gap:30px}.commercial-coordination{padding:24px}}

/* Keep enquiry buttons aligned beneath expanded commercial service copy. */
.service-categories article{display:flex;flex-direction:column}.service-categories p{min-height:0;margin-bottom:16px}.service-categories p:last-of-type{margin-bottom:28px}.service-categories article>.button{align-self:flex-start;margin-top:auto}

.residential-coverage .wrap{max-width:1000px}.location-list{display:flex;flex-wrap:wrap;gap:10px 0;list-style:none;padding:0;margin:24px 0 12px}.location-list li{font-weight:600;line-height:1.6}.location-list li:not(:last-child)::after{content:"·";display:inline-block;margin:0 14px;color:var(--muted)}.surrounding-areas{margin-bottom:24px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.coverage-graphic{position:relative;isolation:isolate;height:620px;border-radius:4px;overflow:hidden}.coverage-map-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.map-place-names{list-style:none;padding:0;margin:0}.map-place-names li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}.map-place-names a{display:block;font-size:clamp(18px,2.2vw,30px);font-weight:600;letter-spacing:-.8px;white-space:nowrap;text-shadow:0 1px 8px #f9faf4,0 0 18px #f9faf4;padding:9px 5px;line-height:1.2;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}.map-place-names a:hover,.map-place-names a:focus-visible{color:#002d33;border-bottom-color:#c99500}.map-caption{position:absolute;bottom:20px;left:26px;text-transform:uppercase;font-size:10px;letter-spacing:2px;color:#57746c}.coverage-graphic-note{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:20px}.coverage-graphic-note p{font-weight:600;color:var(--teal);margin:0}.coverage-graphic-note>span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.coverage-graphic{height:660px}.map-place-names a{font-size:22px}.map-place-names li:nth-child(1){left:24%;top:10%}.map-place-names li:nth-child(2){left:70%;top:19%}.map-place-names li:nth-child(3){left:28%;top:29%}.map-place-names li:nth-child(4){left:73%;top:39%}.map-place-names li:nth-child(5){left:28%;top:49%}.map-place-names li:nth-child(6){left:64%;top:78%}.map-place-names li:nth-child(7){left:72%;top:59%}.map-place-names li:nth-child(8){left:24%;top:68%}.map-place-names li:nth-child(9){left:27%;top:88%}.map-place-names li:nth-child(10){left:70%;top:7%}.map-place-names li:nth-child(11){left:49%;top:96%}.map-caption{display:none}.coverage-graphic-note{display:block}.coverage-graphic-note p{margin-bottom:8px}}
@media(max-width:380px){.map-place-names a{font-size:19px}}
/* Keep the primary enquiry action visible on larger displays. */
@media(min-width:1101px){
  .header{position:sticky;top:0;z-index:100;box-shadow:0 1px 0 var(--line)}
  html{scroll-padding-top:135px}
}
/* Typographic coverage replaces unverified location photographs. */
.home-coverage{background:linear-gradient(120deg,#f5f7ed,var(--wash))}.decorative-locations{list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 34px;margin:36px 0 24px;padding:30px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.decorative-locations a{display:block;font-size:clamp(22px,2.4vw,34px);font-weight:600;letter-spacing:-.8px;line-height:1.3;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:8px;padding:8px 0}.decorative-locations li:nth-child(3n+2) a{font-family:Georgia,serif;font-style:italic;font-weight:400}.decorative-locations a:hover{color:#00717b}.coverage-surroundings{text-align:center;margin:0}@media(max-width:760px){.decorative-locations{gap:12px 24px;padding:24px 0}.decorative-locations a{font-size:24px}}

/* Direct telephone and WhatsApp enquiries. */
.whatsapp-button{background:#126b4b;border-color:#126b4b;color:white}.whatsapp-button:hover{background:#0c543a;border-color:#0c543a}.cta .actions{flex-shrink:0}.cta .wrap{flex-wrap:wrap}.footer-top{flex-wrap:wrap}.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-contact>span{font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.contact-number{display:inline-block;font-size:25px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.footer-whatsapp{text-decoration:underline;text-underline-offset:5px;padding:6px 0}.direct-contact{padding:0 0 28px;border-bottom:1px solid var(--line)}.direct-contact .contact-number{margin-bottom:20px}.direct-contact .actions{gap:12px}.direct-contact .button{gap:12px;padding:12px 16px}.contact-number:hover{text-decoration:underline;text-underline-offset:5px}@media(max-width:760px){.cta .actions{width:100%}.footer-contact{width:100%}}
