:root{--navy:#071936;--navy-deep:#06142b;--blue:#087bff;--blue-soft:#60b4ff;--ink:#172338;--muted:#617087;--line:#dce4ef;--surface:#f4f7fa;--white:#fff;--max:1180px;--shadow:0 22px 70px rgba(3,19,44,.17)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{max-width:100%;display:block}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(var(--max),calc(100% - 64px));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:var(--navy);z-index:200;padding:12px}.skip-link:focus{left:8px}
.site-header{height:92px;background:rgba(6,22,50,.96);position:relative;z-index:20;border-bottom:1px solid rgba(255,255,255,.11)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:38px}
.brand{display:flex;align-items:center;flex:0 1 300px;min-width:195px}.brand img{width:300px;height:auto}
.primary-nav{display:flex;align-items:center;gap:32px;color:#ecf5ff;font-weight:650;font-size:13px;letter-spacing:.005em}
.primary-nav>a:not(.header-cta){transition:color .2s}.primary-nav>a:not(.header-cta):hover{color:var(--blue-soft)}
.header-cta{display:inline-flex;align-items:center;gap:10px;padding:14px 19px;background:var(--blue);color:#fff;white-space:nowrap;font-size:13px;transition:background .2s,transform .2s}.header-cta:hover,.button-blue:hover{background:#006be3;transform:translateY(-2px)}.header-cta svg{font-size:17px;stroke-width:1.7}
.menu-toggle{display:none;background:transparent;border:0;color:white;width:40px;height:40px;padding:9px}.menu-toggle span{height:2px;background:#fff;display:block;margin:5px 0}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate}
.hero-photo{position:absolute;inset:0 0 0 30%;z-index:-2;background-image:linear-gradient(90deg,var(--navy) 1%,rgba(7,25,54,.18) 55%,rgba(7,25,54,.12)),var(--hero-photo,url('assets/drain-photo-placeholder.jpg'));background-size:cover;background-position:center top;opacity:.51;filter:saturate(.88)}
.hero-glow{position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,rgba(5,19,43,.78) 0%,rgba(5,19,43,.48) 62%,rgba(6,23,55,.65) 100%),radial-gradient(circle at 55% 100%,rgba(0,125,255,.28),transparent 50%)}
.hero:after{content:"";position:absolute;right:-200px;top:-270px;width:520px;height:520px;border:1px solid rgba(130,190,255,.18);border-radius:50%;box-shadow:0 0 0 74px rgba(139,200,255,.035),0 0 0 170px rgba(139,200,255,.018);pointer-events:none;z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.83fr);gap:clamp(42px,6vw,94px);padding:72px 0 84px;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:850;color:var(--blue);margin:0 0 22px;text-transform:uppercase;line-height:1.5}.eyebrow-light{color:#c4d5ef;display:flex;align-items:center;gap:11px}.eyebrow-line{width:26px;height:2px;background:var(--blue)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(52px,5.65vw,84px);font-weight:850;line-height:1.03;letter-spacing:-.056em;margin:0 0 27px}
h1 span{color:#5eafff}.hero-lead{font-size:clamp(17px,1.5vw,21px);line-height:1.65;color:#dce8f9;max-width:525px;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:53px;border:0;border-radius:4px;padding:16px 22px;font-weight:800;font-size:13px;letter-spacing:.005em;transition:transform .2s,background .2s,box-shadow .2s;text-align:center}.button span{font-size:18px;font-weight:400}.button-blue{background:var(--blue);color:#fff}.button-blue:focus-visible,.header-cta:focus-visible,.text-link:focus-visible,.service-link:focus-visible{outline:3px solid #71b9ff;outline-offset:4px}.text-link{font-weight:700;font-size:14px}.text-link-light{color:#e2eeff}.text-link span{padding-left:8px;color:#67adff}
.hero-services{margin-top:58px;display:flex;flex-wrap:wrap;gap:12px;font-size:12px;font-weight:600;color:#c6d7ed}.hero-services b{color:var(--blue)}
.enquiry-card{scroll-margin-top:16px;background:#fff;color:var(--ink);padding:33px 34px 30px;border-radius:9px;box-shadow:var(--shadow);position:relative}
.enquiry-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.mini-label{font-size:10px;letter-spacing:.17em;font-weight:800;color:#45617e;display:flex;align-items:center;gap:8px}.status-dot,.preview-dot{display:inline-block;width:7px;height:7px;background:#12bd81;border-radius:50%}.form-icon{width:35px;height:35px;background:#eff5fc;border-radius:8px;display:grid;place-items:center;color:var(--blue)}.form-icon svg{font-size:17px}
.enquiry-card h2{font-size:clamp(25px,2vw,32px);line-height:1.14;letter-spacing:-.035em;font-weight:820;margin:0 0 9px}.enquiry-card>p{color:#65758b;font-size:13px;line-height:1.6;margin-bottom:19px}
.form-row{margin-bottom:11px}.form-row label{display:block;color:#253951;font-weight:725;font-size:11px;margin-bottom:6px}.form-row label span{color:#df4356}
.form-row input,.form-row textarea,.form-row select{display:block;background:#f6f8fb;border:1px solid #dfe6f0;color:#1a2b43;outline:none;border-radius:4px;width:100%;font-size:13px;padding:11px 12px;transition:border-color .2s,box-shadow .2s;min-height:42px}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,123,255,.12)}.form-row textarea{resize:vertical;min-height:73px}.form-row input::placeholder,.form-row textarea::placeholder{color:#94a1b3}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:11px}.button-block{width:100%;justify-content:space-between;margin-top:2px}.form-note{margin:11px 0 0;color:#738299;font-size:10px;line-height:1.5}.form-feedback{margin-top:12px!important;padding:12px;background:#e8f1ff;border-left:3px solid var(--blue);color:#17345a!important;font-size:12px!important}.hero-bottom-line{height:4px;background:linear-gradient(90deg,var(--blue) 0 35%,#73cbff 65%,var(--blue) 100%)}
.service-strip{background:#ecf2f8;border-bottom:1px solid #dce7f4}.strip-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.strip-inner span{display:flex;align-items:center;gap:12px;color:#36516e;font-size:12px;font-weight:750}.strip-inner svg{font-size:20px;color:var(--blue)}
.section{padding:105px 0}.section-heading{margin-bottom:42px}.section-heading h2,.coverage-copy h2{font-size:clamp(36px,4.5vw,60px);letter-spacing:-.055em;line-height:1.08;font-weight:840;margin:0}.section-heading h2 span{color:#708198}.split-heading{display:flex;gap:50px;justify-content:space-between;align-items:end}.split-heading>p{font-size:16px;line-height:1.65;max-width:350px;color:var(--muted);margin:0 0 5px}
.services-section{background:#f5f7fa}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{background:#fff;border:1px solid #e0e7f0;padding:32px 34px 28px;min-height:266px;display:flex;flex-direction:column;position:relative;transition:box-shadow .2s,border-color .2s,transform .2s}.service-card:hover{border-color:#a6cef7;box-shadow:0 14px 45px rgba(5,27,59,.08);transform:translateY(-3px)}.service-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.service-number{font-size:11px;color:#8ca1b9;font-weight:850;letter-spacing:.13em}.service-art{width:60px;height:60px;border-radius:9px;background:#e9f3ff;display:grid;place-items:center;color:var(--blue)}.service-art svg{width:34px;height:34px;stroke-width:2}
.service-card h3{font-size:22px;line-height:1.15;letter-spacing:-.025em;margin:0 0 11px;font-weight:820}.service-card>p{color:#65758c;line-height:1.65;font-size:14px;max-width:380px;margin:0 0 23px}.service-link{margin-top:auto;display:inline-flex;justify-content:space-between;align-items:center;align-self:flex-start;gap:22px;color:#006edc;font-size:12px;font-weight:800}.service-link:hover{text-decoration:underline;text-underline-offset:4px}.service-link span{font-size:20px}
.services-bottom{background:var(--navy);color:white;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}.services-bottom div{display:flex;flex-direction:column;gap:5px}.services-bottom strong{font-size:17px}.services-bottom span{color:#baccdf;font-size:13px}.button-dark{color:var(--navy);background:#fff;white-space:nowrap}.button-dark:hover{background:#dfedff;transform:translateY(-2px)}.button-dark span{color:var(--blue)}
.why-section{background:#fff}.section-heading-center{text-align:center;margin:0 auto 49px;max-width:720px}.section-heading-center h2 span{color:var(--blue)}.section-heading-center>p:last-child{font-size:16px;line-height:1.72;color:var(--muted);max-width:600px;margin:22px auto 0}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #e4eaf2;background:#f7f9fc}.why-item{padding:34px 37px 37px;min-height:285px}.why-item+.why-item{border-left:1px solid #e0e7ef}.why-item img{width:45px;height:45px;object-fit:contain;object-position:left center;margin-bottom:22px}.why-item h3{font-size:18px;letter-spacing:-.018em;margin-bottom:10px}.why-item p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.coverage-section{background:#081b3a;color:#fff;overflow:hidden;position:relative}.coverage-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 95% 40%,rgba(17,107,225,.15),transparent 40%)}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;position:relative}.coverage-copy h2{font-size:clamp(37px,4vw,56px);margin-bottom:26px}.coverage-copy h2 span{color:#6bb5ff}.coverage-copy>p:not(.eyebrow){font-size:16px;line-height:1.77;color:#c5d5e8;max-width:510px;margin-bottom:17px}.coverage-copy .button{margin-top:16px}
.coverage-graphic{border:1px solid rgba(159,195,235,.25);background:linear-gradient(145deg,rgba(30,61,103,.7),rgba(15,42,82,.8));padding:24px 26px 19px;min-height:400px;box-shadow:0 22px 62px rgba(0,0,0,.1);position:relative}.coverage-graphic-top,.coverage-graphic-foot{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.17em;font-weight:800;color:#b7cde7}.coverage-compass{font-size:11px;color:#cee3ff}.coverage-compass span{color:var(--blue-soft);font-size:22px}.coverage-field{position:relative;height:288px;margin-top:15px}.coverage-lines{position:absolute;width:100%;height:100%;stroke-linejoin:round}.coverage-lines .polygon-fill{fill:rgba(9,126,255,.10);stroke:none}.coverage-lines .polygon-stroke{fill:none;stroke:rgba(106,173,244,.76);stroke-width:1.6;stroke-dasharray:6 6}.coverage-lines .route-stroke{stroke:rgba(125,187,255,.23);stroke-width:1.5;fill:none}.coverage-lines .home-dot{fill:#fff;stroke:var(--blue);stroke-width:4}.place{position:absolute;font-size:11px;font-weight:800;white-space:nowrap;color:#f7fbff;display:flex;align-items:center;gap:6px}.place i{width:7px;height:7px;border:2px solid var(--blue-soft);background:#153c70;border-radius:50%;display:inline-block}.place-stevenage{top:9%;left:68%}.place-brighton{top:57%;right:1%}.place-torquay{bottom:6%;left:14%}.place-bristol{top:27%;left:0%}.place-bournemouth{top:58%;left:40%;color:#a4d3ff}.place-bournemouth i{background:var(--blue);border-color:#fff}.place small{font-size:8px;color:#9ab3cf;letter-spacing:.1em}.coverage-graphic-foot{letter-spacing:.02em;color:#8fa9c6;font-size:10px;border-top:1px solid rgba(160,190,226,.16);padding-top:14px}
.final-cta{background:#f1f6fc;padding:64px 0}.final-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.final-cta .eyebrow{margin-bottom:10px}.final-cta h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;line-height:1.1;margin:0 0 10px}.final-cta p:last-child{color:var(--muted);font-size:15px;margin:0}.final-cta .button{min-width:225px}
.site-footer{background:#06142b;color:#fff;padding:63px 0 22px}.footer-main{display:grid;grid-template-columns:1.7fr .75fr 1fr;gap:60px;padding-bottom:53px}.footer-brand img{width:min(270px,100%);height:auto}.footer-brand p{color:#a7b9d0;font-size:13px;margin:19px 0 0}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-column h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 10px}.footer-column a,.footer-column span{font-size:13px;color:#b5c5d9;line-height:1.45}.footer-column a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-size:11px;color:#7e95b3}
.preview-banner{position:fixed;z-index:50;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:11px;background:#fff;color:#253b58;padding:10px 14px;box-shadow:0 8px 40px #081c4150;border:1px solid #d5e5f6;border-radius:6px;font-size:11px;max-width:calc(100vw - 20px);white-space:nowrap}.preview-banner strong{letter-spacing:.11em;font-size:10px}.preview-banner>span:nth-child(3){color:#6b7b90}.preview-banner button{background:none;border:0;color:#718196;font-size:20px;line-height:1;padding:0 0 0 6px}
@media(max-width:1040px){.header-inner{gap:20px}.primary-nav{gap:18px}.hero-grid{grid-template-columns:1fr 395px;gap:30px}.hero-grid{padding-top:57px}.container{width:min(var(--max),calc(100% - 46px))}.brand{flex-basis:240px}.brand img{width:240px}.coverage-grid{gap:35px}.why-item{padding:30px 23px}.strip-inner{gap:12px}}
@media(max-width:780px){.site-header{height:74px}.header-inner{position:relative}.brand img{width:245px}.menu-toggle{display:block;flex:0 0 43px}.primary-nav{display:none;position:absolute;left:-23px;right:-23px;top:73px;padding:20px 23px 28px;background:#06142b;border-top:1px solid #183452;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 22px 45px #03102755}.primary-nav.is-open{display:flex}.primary-nav a:not(.header-cta){padding:13px 3px;border-bottom:1px solid #243750}.header-cta{justify-content:center;margin-top:18px}.hero-grid{grid-template-columns:1fr;gap:34px;padding:54px 0 63px}.hero-copy h1{font-size:clamp(51px,9vw,74px)}.hero-services{margin-top:35px}.hero-photo{inset:0}.hero-glow{background:linear-gradient(112deg,rgba(5,19,43,.96),rgba(5,19,43,.74))}.enquiry-card{max-width:560px;width:100%}.strip-inner{flex-wrap:wrap;justify-content:flex-start;gap:17px 30px;padding:20px 0}.section{padding:78px 0}.split-heading{flex-direction:column;gap:17px;align-items:flex-start}.split-heading>p{max-width:580px}.why-grid{grid-template-columns:1fr}.why-item{min-height:0;padding:25px 30px}.why-item+.why-item{border-left:0;border-top:1px solid #e0e7ef}.why-item img{margin-bottom:12px}.coverage-grid{grid-template-columns:1fr;gap:36px}.coverage-graphic{max-width:570px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}.final-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.brand{min-width:0;flex:1}.brand img{width:min(242px,100%)}.hero-grid{padding:39px 0 49px;gap:26px}.hero-copy h1{font-size:clamp(43px,10.4vw,60px);margin-bottom:20px}.hero-lead{font-size:16px;line-height:1.6}.hero-actions{gap:20px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}.hero-services{gap:8px;margin-top:26px;font-size:10px}.enquiry-card{padding:25px 20px 25px;border-radius:6px}.form-columns{grid-template-columns:1fr;gap:0}.strip-inner{gap:12px}.strip-inner span{width:100%;font-size:12px}.section{padding:65px 0}.section-heading h2,.coverage-copy h2{font-size:clamp(34px,9vw,45px)}.section-heading{margin-bottom:28px}.service-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:250px;padding:23px 24px}.service-card h3{font-size:21px}.services-bottom{flex-direction:column;align-items:stretch;padding:22px;gap:20px}.services-bottom .button{width:100%;white-space:normal}.why-item{padding:25px}.section-heading-center>p:last-child{font-size:14px}.coverage-graphic{padding:18px 15px 15px;min-height:340px}.coverage-field{height:245px}.coverage-graphic .place{font-size:9px}.place-brighton{right:0}.place-stevenage{left:65%}.place-bournemouth{left:35%}.footer-main{grid-template-columns:1fr;gap:29px}.footer-brand{grid-column:auto}.site-footer{padding:48px 0 26px}.footer-bottom{flex-direction:column;gap:7px}.preview-banner{font-size:10px;white-space:normal;width:calc(100% - 30px)}.preview-banner>span:nth-child(3){line-height:1.25}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.service-art img{width:50px;height:50px;object-fit:cover;border-radius:5px}

/* Review photography and geographic coverage map */
.hero-photo{inset:0;background-position:center 52%;opacity:.8}.hero-glow{background:linear-gradient(90deg,rgba(5,19,43,.93) 0%,rgba(5,19,43,.75) 40%,rgba(5,19,43,.3) 100%)}
.photo-section{background:#fff}.photo-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.photo-grid figure{margin:0;position:relative;overflow:hidden;min-height:360px;background:#071936}.photo-grid img{width:100%;height:390px;object-fit:cover;display:block}.photo-grid figcaption{position:absolute;inset:auto 0 0;padding:60px 28px 28px;background:linear-gradient(transparent,rgba(5,19,43,.9));color:#fff}.photo-grid figcaption span{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:10px;color:#b9dfff}.photo-grid figcaption strong{font-size:27px;letter-spacing:-.03em}.stock-note{font-size:11px;color:#738299;margin:16px 0 0}.coverage-map{margin:0;padding:20px;min-height:0}.coverage-map>img{display:block;width:100%;height:auto;margin:18px 0;border-radius:3px}.coverage-map figcaption{font-size:12px;line-height:1.6;color:#c5d5e8}.coverage-map>small{display:block;margin-top:8px;font-size:10px;color:#8fa9c6}.coverage-map a{text-decoration:underline}.coverage-map .coverage-graphic-top{letter-spacing:.09em;font-size:9px}
@media(max-width:780px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:320px}.photo-grid figure{min-height:0}.hero-photo{background-position:35% center}.hero-glow{background:linear-gradient(90deg,rgba(5,19,43,.9),rgba(5,19,43,.66))}.coverage-map{padding:14px}.coverage-map>img{margin:14px 0}.photo-grid figcaption strong{font-size:24px}}

/* Full-width service photography */
.service-card-photo{padding-top:0;overflow:hidden}.service-photo{margin:0 -34px 22px}.service-photo img{display:block;width:100%;height:240px;object-fit:cover;object-position:center 45%}.service-photo figcaption{padding:9px 15px;background:#f5f8fc;font-size:9px;line-height:1.5;color:#66778d}.service-photo figcaption a,.interior-service-photo a{text-decoration:underline;text-underline-offset:2px}.service-card-photo .service-card-top{margin-bottom:16px}.interior-service-photo{margin:0 0 28px}.interior-service-photo img{display:block;margin:0!important}.interior-service-photo figcaption{font-size:11px;line-height:1.6;color:#66778d;padding-top:10px}
@media(max-width:560px){.service-card-photo{padding-top:0}.service-photo{margin:0 -24px 20px}.service-photo img{height:205px}}

/* Tighter page rhythm after adding service photography */
.section{padding:64px 0}.section-heading{margin-bottom:28px}.section-heading-center{margin-bottom:30px}.section-heading-center>p:last-child{margin-top:16px}.hero-grid{padding-top:46px;padding-bottom:50px}.hero-services{margin-top:28px}
.service-card{padding:24px 26px;min-height:0}.service-card-photo{padding-top:0}.service-photo{margin:0 -26px 16px}.service-photo img{height:210px}.service-card-photo .service-card-top{margin-bottom:10px}.service-card h3{margin-bottom:9px}.service-card>p{margin-bottom:16px}.service-photo figcaption{padding:6px 12px}.services-bottom{padding:20px 26px;margin-top:16px}
.why-item{padding:26px 28px;min-height:0}.why-item img{margin-bottom:14px}.coverage-copy h2{margin-bottom:18px}.coverage-copy>p:not(.eyebrow){margin-bottom:12px}.coverage-copy .button{margin-top:10px}.final-cta{padding:40px 0}.site-footer{padding-top:40px}
@media(max-width:780px){.section{padding:48px 0}.hero-grid{padding:36px 0 40px;gap:28px}.section-heading{margin-bottom:24px}.section-heading-center{margin-bottom:24px}.why-item{padding:22px 26px}.coverage-grid{gap:26px}}
@media(max-width:560px){.section{padding:40px 0}.hero-grid{padding:30px 0 34px;gap:24px}.section-heading{margin-bottom:22px}.section-heading-center{margin-bottom:22px}.service-card{padding:20px;min-height:0}.service-card-photo{padding-top:0}.service-photo{margin:0 -20px 14px}.service-photo img{height:190px}.service-card-photo .service-card-top{margin-bottom:9px}.services-bottom{padding:20px;gap:16px}.why-item{padding:22px}.coverage-grid{gap:24px}.final-cta{padding:32px 0}.site-footer{padding-top:34px}.footer-main{gap:24px}}

/* Compact spacing throughout the site */
.site-header{height:80px}.section{padding:44px 0}.eyebrow{margin-bottom:12px}.section-heading,.section-heading-center{margin-bottom:22px}.section-heading-center>p:last-child{margin-top:12px}.hero-grid{padding-top:28px;padding-bottom:32px}.hero-copy h1{margin-top:0}.hero-services{margin-top:20px}.enquiry-card{padding:24px 26px}.enquiry-card>p{margin-bottom:14px}
.service-photo img{height:185px}.service-photo{margin-bottom:13px}.service-card{padding-bottom:20px}.services-bottom{padding-top:17px;padding-bottom:17px}.why-item{padding:22px 24px}.why-item img{width:38px;height:38px;margin-bottom:10px}.coverage-grid{gap:36px}.coverage-copy h2{font-size:clamp(32px,3.5vw,46px);margin-bottom:14px}.coverage-copy>p:not(.eyebrow){line-height:1.6}.final-cta{padding:28px 0}.site-footer{padding:28px 0 18px}.footer-main{padding-bottom:24px;gap:36px}.footer-brand p{margin-top:12px}.footer-column{gap:8px}.footer-column h3{margin-bottom:4px}.footer-bottom{padding-top:14px}.interior-service-photo{margin-bottom:18px}.interior-copy>p{margin:0 0 12px}
@media(max-width:780px){.section{padding:34px 0}.hero-grid{padding:26px 0 30px;gap:24px}.coverage-grid{gap:22px}.footer-main{gap:24px}.interior-service-photo img{max-height:230px}.section-heading-center{margin-bottom:20px}}
@media(max-width:560px){.site-header{height:74px}.section{padding:30px 0}.hero-grid{padding:24px 0 28px;gap:22px}.section-heading,.section-heading-center{margin-bottom:18px}.enquiry-card{padding:22px 20px}.service-photo img{height:175px}.why-item{padding:20px}.coverage-copy h2{font-size:34px}.final-cta{padding:25px 0}.site-footer{padding-top:25px}.footer-main{gap:20px;padding-bottom:20px}}

/* Editorial prototype 01: expanded service-page structure */
.interior-hero .service-hero-action{margin-top:24px;display:inline-flex;color:#fff}
.interior-copy{line-height:1.72;max-width:100%}
.interior-copy>p{max-width:74ch}
.service-detail-block{border-top:1px solid #dce5ed;padding-top:22px;margin-top:28px}
.service-detail-block h2,.service-faqs h2,.service-related h2{font-size:clamp(22px,2.4vw,29px);letter-spacing:-.03em;line-height:1.2;margin:0 0 12px}
.service-detail-block p{margin:0 0 14px;max-width:74ch}
.service-bullets{padding:0;margin:15px 0 0;list-style:none;display:grid;gap:10px}
.service-bullets li{position:relative;padding:11px 15px 11px 38px;border-left:3px solid #087bff;background:#f4f8fd;color:#263951;line-height:1.45}
.service-bullets li::before{content:'✓';position:absolute;left:14px;top:10px;color:#087bff;font-weight:800}
.service-faqs{border-top:1px solid #dce5ed;padding-top:26px;margin-top:30px}
.service-faq{border-bottom:1px solid #dce5ed}
.service-faq summary{font-weight:700;color:#112844;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 3px;line-height:1.4}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary::after{content:'+';font-size:27px;color:#087bff;line-height:1;font-weight:400}
.service-faq[open] summary::after{content:'−'}
.service-faq p{margin:0;padding:0 26px 19px 3px;max-width:72ch}
.service-related{border-top:1px solid #dce5ed;padding-top:26px;margin-top:29px}
.service-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-related-grid a{border:1px solid #d2e0ee;background:#f4f8fd;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#102847;font-weight:700;text-decoration:none;line-height:1.35}
.service-related-grid a span{color:#087bff}
.service-related-grid a:hover,.service-related-grid a:focus-visible{border-color:#087bff;background:#edf6ff}
.service-contact-disclaimer{font-size:11px;color:#65768b;margin-top:20px}
@media(max-width:600px){.service-related-grid{grid-template-columns:1fr}.interior-hero .service-hero-action{margin-top:20px}.service-detail-block{margin-top:23px;padding-top:20px}}
/* Keep enquiry route visible during longer service-page reading on desktop. */
@media(min-width:781px){.interior-layout>.interior-cta{position:sticky;top:22px}}
@media(max-width:780px){.interior-layout>.interior-cta{position:static}}

/* Editorial pass 02: About, Coverage and Contact content pages */
.interior-content-section{padding-top:62px;padding-bottom:86px}
.interior-copy .service-detail-block:first-child{border-top:0;padding-top:0;margin-top:0}
.coverage-page-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:54px;align-items:start}
.coverage-map-panel{margin:0;background:#edf5ff;border:1px solid #d5e4f4;border-radius:8px;overflow:hidden}
.coverage-map-panel img{display:block;width:100%;height:auto;aspect-ratio:800/470;object-fit:contain;padding:20px}
.coverage-map-panel figcaption{padding:0 22px 22px;font-size:12px;line-height:1.6;color:#64738a}
.coverage-map-panel figcaption a{text-decoration:underline}
.coverage-cta{margin-top:55px;padding-top:26px;border-top:1px solid #dce5ed}
.coverage-cta h2{font-size:26px;margin-bottom:10px}
.coverage-cta p{font-size:16px;line-height:1.6;max-width:62ch;color:#43536b}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.9fr);gap:70px;align-items:start}
.contact-page-grid .enquiry-card{box-shadow:0 12px 44px rgba(3,19,44,.1);border:1px solid #dce6f1}
.contact-page-grid .interior-copy h2{font-size:27px;margin-top:0}
.safety-note{background:#f1f6fc;border-left:3px solid var(--blue);padding:20px 22px;margin-top:32px}
.safety-note strong{display:block;margin-bottom:6px;color:#0c284e}
.safety-note p{margin:0;color:#42526b;line-height:1.6;font-size:14px}
@media(max-width:850px){.coverage-page-grid,.contact-page-grid{grid-template-columns:1fr;gap:30px}.contact-page-grid .enquiry-card{max-width:600px}.interior-content-section{padding-top:42px;padding-bottom:58px}}
@media(max-width:560px){.coverage-map-panel img{padding:8px}.coverage-map-panel figcaption{padding:3px 16px 16px}.contact-page-grid{gap:22px}.interior-content-section{padding-top:28px;padding-bottom:42px}}

.section-more-link{text-align:center;margin:-18px 0 35px}.section-more-link a{font-size:13px;font-weight:800;color:#087bff}.section-more-link a:hover{text-decoration:underline}

/* Editorial highlights: recognisable symbols, compact supporting copy */
.strip-inner.highlights-editorial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:20px 0}.highlight-item{display:flex;align-items:flex-start;gap:12px}.highlight-item>svg{width:25px;height:25px;flex:0 0 25px;margin-top:2px;color:#087bff}.highlight-item strong{display:block;font-size:14px;line-height:1.35;color:#193957}.highlight-item p{font-size:12px;line-height:1.5;color:#536b81;margin:5px 0 0}.postcode-help{font-size:11px!important;margin-top:-6px;color:#60758b}.interior-content-section{padding:40px 0}.coverage-page-grid{gap:32px}.contact-page-grid{gap:36px}.coverage-cta{margin-top:28px;padding-top:20px}.service-detail-block{padding-top:18px;margin-top:22px}.service-faqs{padding-top:20px;margin-top:24px}.section-more-link{margin:12px 0 0}.service-grid>.service-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 9px);width:100%;justify-self:center}
@media(max-width:850px){.highlights-editorial .highlight-item strong{font-size:13px}.strip-inner.highlights-editorial{gap:16px}.interior-content-section{padding:32px 0}}
@media(max-width:600px){.strip-inner.highlights-editorial{grid-template-columns:1fr;gap:0;padding:8px 0}.highlight-item{padding:14px 0}.highlight-item+.highlight-item{border-top:1px solid #d3e2ed}.highlight-item p{font-size:12px}.service-grid>.service-card:last-child:nth-child(odd){grid-column:auto;max-width:none}.interior-content-section{padding:28px 0}}

/* October review: compact problem discovery and accessible phone route */
.highlight-item>svg{overflow:visible;stroke-linecap:round;stroke-linejoin:round}
.problem-section{padding:28px 0 12px;background:#f4f7fb}.problem-section h2{font-size:clamp(24px,3vw,32px);margin:0 0 8px}.problem-section p{max-width:800px;margin:0 0 16px;color:#52667d;line-height:1.5}.problem-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.problem-links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px;border:1px solid #d4e0ed;background:white;color:#071936;font-weight:700;text-decoration:none;line-height:1.4}.problem-links a:hover{border-color:#087bff}.problem-links a:focus-visible,.mobile-call:focus-visible{outline:3px solid #087bff;outline-offset:3px}.mobile-call{display:none}.service-grid>.service-card:last-child:nth-child(odd){max-width:calc(50% - 9px)}
@media(max-width:780px){.problem-links{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:90;background:#087bff;color:#fff;text-align:center;font-weight:800;text-decoration:none;padding:15px 12px;padding-bottom:calc(15px + env(safe-area-inset-bottom))}body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.problem-links{grid-template-columns:1fr}.problem-section{padding-top:22px}.service-grid>.service-card:last-child:nth-child(odd){max-width:none}}
@media(max-width:780px){.primary-nav{top:100%}}
@media(max-width:560px){.primary-nav{left:-18px;right:-18px;padding-left:18px;padding-right:18px}}

/* Clear, prominent actions */
.button{font-family:inherit;font-size:16px;font-weight:750;line-height:1.35;min-height:54px;padding:16px 22px}.button-outline{border:2px solid #97b5d9;background:transparent;color:#fff}.button-outline:hover{background:#ffffff15;border-color:#fff}.button-outline:focus-visible{outline:3px solid #71b9ff;outline-offset:4px}.hero-actions{gap:14px}.hero-actions .text-link{font-size:15px;text-decoration:underline;text-underline-offset:4px}.button-block{font-size:17px;min-height:58px}.service-link,.problem-links a,.service-related-grid a{font-size:15px;font-weight:750}.service-link,.section-more-link a,.coverage-cta .text-link{text-decoration:underline;text-underline-offset:4px}.contact-phone{display:inline-block;font-size:clamp(28px,4vw,38px);line-height:1.2;font-weight:800;color:#0064ce;text-decoration:underline;text-underline-offset:5px}.header-cta,.mobile-call{font-size:15px;font-weight:750}@media(max-width:560px){.hero-actions .button{width:100%}.hero-actions .text-link{padding:6px 0}.button{font-size:16px}}
.service-card>p{font-size:16px;line-height:1.6}.services-bottom strong{font-size:18px}.services-bottom div>span{font-size:15px}
.button:disabled{opacity:.65;cursor:not-allowed;transform:none}
.hero-actions .button-outline{display:none}
@media(max-width:780px){.hero-actions .button-outline{display:inline-flex}}

/* Readable controls and keyboard focus */
.button-blue,.header-cta,.mobile-call{background:#0064ce}.button-blue:hover,.header-cta:hover{background:#0055b3}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #087bff;outline-offset:4px}.form-note,.postcode-help,.service-contact-disclaimer{font-size:13px!important;line-height:1.5;color:#52647b}.form-row input::placeholder,.form-row textarea::placeholder{color:#667085}.legal-copy{max-width:820px}.legal-copy a{text-decoration:underline;text-underline-offset:3px}

.form-privacy{font-size:13px;line-height:1.6;color:#435770;margin:16px 0 12px}.form-privacy a{color:#0055b3;text-decoration:underline;text-underline-offset:3px}.form-privacy a:focus-visible{outline:3px solid #087bff;outline-offset:3px}


/* Google Business Profile social proof: only rendered with a verified profile URL */
.google-reviews{margin-top:24px;padding:30px 34px;background:#fff;border:1px solid #dce5ef}
.google-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}
.google-reviews-heading .eyebrow{margin-bottom:9px}
.google-reviews h3{font-size:clamp(24px,2.5vw,34px);letter-spacing:-.035em;line-height:1.15;margin:0 0 10px;color:var(--navy)}
.google-reviews-heading p:not(.eyebrow){font-size:14px;line-height:1.6;color:#576981;max-width:570px;margin:0}
.google-reviews-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:16px;flex-shrink:0}
.google-reviews-actions .button{min-height:47px}
.google-reviews-actions .text-link{text-decoration:underline;text-underline-offset:3px;color:#006edc}
.google-review-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}
.google-review-quote{border:1px solid #dfe8f1;background:#f6f9fc;padding:21px;margin:0}
.google-review-quote blockquote{margin:0 0 15px;font-size:14px;line-height:1.65;color:var(--navy)}
.google-review-quote figcaption{font-size:12px;line-height:1.5;color:#576981}
.google-review-quote figcaption a{text-decoration:underline;text-underline-offset:2px;color:#006edc}
@media(max-width:900px){.google-reviews-heading{align-items:flex-start;flex-direction:column}.google-reviews-actions{justify-content:flex-start}.google-review-quotes{grid-template-columns:1fr}}
@media(max-width:560px){.google-reviews{padding:23px 20px;margin-top:16px}.google-reviews-actions{align-items:stretch;flex-direction:column;width:100%}.google-reviews-actions .button{text-align:center;width:100%}}


/* Training and specialist equipment — brand text until approved image masters are uploaded */
.equipment-panel{margin-top:22px;padding:29px 32px;background:#edf4fa;border:1px solid #d9e6f2}
.equipment-intro{margin-bottom:20px}
.equipment-panel h3,.work-gallery h3{font-size:clamp(23px,2.4vw,32px);letter-spacing:-.035em;line-height:1.15;margin:0 0 8px;color:var(--navy)}
.equipment-intro p,.work-gallery-intro>p:last-child{font-size:14px;line-height:1.6;color:#586d84;margin:0;max-width:720px}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.equipment-item{background:#fff;border:1px solid #d9e5f0;padding:22px;min-height:126px;display:flex;flex-direction:column;justify-content:center}
.equipment-item .equipment-name{font-size:22px;color:var(--navy);letter-spacing:-.02em;display:block;margin-bottom:10px}
.brand-filter{position:absolute;pointer-events:none}
.equipment-brand{display:flex;align-items:center;justify-content:center;height:68px;margin-bottom:16px;border-radius:3px}
.equipment-brand:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
.equipment-brand:hover{opacity:.75}
.equipment-logo{object-fit:contain;max-width:100%;width:200px;height:61px;filter:url(#brand-navy)}
.equipment-item p{text-align:center}
.equipment-item p{font-size:13px;color:#576981;line-height:1.6;margin:0}
.work-gallery{padding:29px 0 0;margin-top:24px}
.work-gallery-intro{margin-bottom:20px}
.work-gallery-intro .eyebrow{margin-bottom:9px}
.work-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.work-photo{margin:0;background:#fff;border:1px solid #e0e7ef;overflow:hidden}
.work-photo img{width:100%;height:280px;object-fit:cover}
.work-photo figcaption{padding:17px 18px;display:flex;flex-direction:column;gap:8px}
.work-photo figcaption strong{font-size:14px;color:var(--navy);line-height:1.5;font-weight:750}
.work-photo figcaption span{font-size:11px;color:#667890;letter-spacing:.02em}
.interior-copy .work-gallery{margin-top:27px;padding-top:25px;border-top:1px solid #dce5f0}
.interior-copy .work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.interior-copy .work-photo img{max-height:none;height:230px;margin:0}
.interior-copy .work-photo figcaption{padding:12px}
.interior-copy .service-work-gallery .work-photo img{height:auto;max-height:none;aspect-ratio:3/4;object-fit:contain;background:#f1f5f9}
.service-work-gallery .work-photo:only-child{max-width:360px}
@media(max-width:780px){.equipment-grid{grid-template-columns:1fr}.equipment-item{min-height:0;padding:17px 20px}.work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-photo img{height:220px}.equipment-panel{padding:23px}}
@media(max-width:560px){.work-gallery-grid,.interior-copy .work-gallery-grid{grid-template-columns:1fr}.work-photo img,.interior-copy .work-photo img{height:auto;max-height:350px;object-fit:cover}.work-gallery{padding-top:16px}.equipment-panel{padding:20px}.equipment-item .equipment-name{font-size:20px}}

/* Homepage refinement: retain the service grid and give genuine experience priority. */
.homepage .section{padding:34px 0}
.homepage .section-heading h2{font-size:clamp(34px,4vw,52px)}
.homepage .service-photo img{height:160px}
.homepage .service-card{padding-bottom:18px}
.homepage .service-card>p{margin-bottom:12px}
.homepage .service-photo:has(img[src$="service-soakaway.jpg"]) img{object-position:center 58%}
.homepage .service-photo:has(img[src$="service-root-intrusion.jpg"]) img{object-position:center 40%}
.homepage .section-heading-center{margin-bottom:16px}
.homepage .section-more-link{margin:0 0 16px;text-align:center}
.homepage .work-gallery{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.homepage .work-gallery-intro{margin-bottom:14px}
.homepage .work-photo img{height:230px}
.homepage .work-photo figcaption{padding:12px 14px;gap:5px}
.homepage .equipment-panel{padding:22px 24px;margin-top:22px}
.homepage .equipment-intro{margin-bottom:14px}
.homepage .equipment-item{padding:15px;min-height:0}
.homepage .equipment-brand{height:58px;margin-bottom:10px}
.homepage .equipment-logo{height:54px}
@media(max-width:780px){
 .homepage .section{padding:28px 0}
 .homepage .why-item{padding:18px 22px}
 .homepage .equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .homepage .equipment-item{padding:12px 9px}
 .homepage .equipment-item p{font-size:12px;line-height:1.45}
 .homepage .work-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .homepage .work-photo img{height:180px}
}
@media(max-width:560px){
 .homepage .section{padding:26px 0}
 .homepage .service-photo img{height:165px}
 .homepage .work-gallery-grid{grid-template-columns:1fr;gap:12px}
 .homepage .work-photo img{height:210px;max-height:none}
 .homepage .equipment-panel{padding:18px}
 .homepage .equipment-grid{grid-template-columns:1fr;gap:9px}
 .homepage .equipment-item{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:12px}
 .homepage .equipment-brand{height:46px;margin:0}
 .homepage .equipment-logo{height:42px;width:110px}
 .homepage .equipment-item p{text-align:left;align-self:center}
}

/* CMS page layouts */
.interior-hero{background:#071936;color:white;padding:38px 0 34px}.interior-hero .eyebrow{color:#87bfff}.interior-hero h1{max-width:880px;font-size:clamp(34px,4.5vw,54px);line-height:1.04;letter-spacing:-.035em;margin:12px 0}.interior-hero p{max-width:680px;font-size:16px;color:#d7e5f5;line-height:1.6;margin:0}.interior-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:36px}.interior-copy{font-size:16px;line-height:1.6;color:#304158}.interior-copy h2{font-size:26px;color:#071936;margin:20px 0 10px}.interior-copy img{width:100%;max-height:260px;object-fit:cover;margin:24px 0}.interior-cta{background:#eef4fb;padding:24px;align-self:start}.interior-cta h2{font-size:22px;margin:0 0 10px}.interior-cta p{line-height:1.6}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.article-item{border:1px solid #d8e2ef;padding:26px;background:white}.article-item h2{font-size:23px}.article-item a{color:#087bff;font-weight:700}@media(max-width:780px){.interior-hero{padding:28px 0}.interior-layout{grid-template-columns:1fr;gap:22px}.article-list{grid-template-columns:1fr}}
