:root{--navy:#0f243f;--orange:#f14b1c;--ink:#182e3d;--muted:#526370;--paper:#f7f8fa;--line:#d7dfe5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:white;color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#14536e;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #006fba;outline-offset:5px}header a:focus-visible,.hero a:focus-visible,.contact a:focus-visible{outline-color:#fff}[hidden]{display:none!important}.wrap{width:min(1160px,100%);margin:auto;padding:0 28px}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:white;color:var(--navy);z-index:100}.skip:focus{top:10px}header{background:var(--navy);color:white;border-bottom:1px solid #334960}.nav{display:flex;gap:26px;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;flex-shrink:0;font-size:18px;line-height:1.2;font-weight:800;letter-spacing:.025em}.brand img{object-fit:contain;flex-shrink:0}.nav nav{display:flex;gap:24px;flex-wrap:wrap}.nav nav a{color:white;text-decoration:none;display:flex;align-items:center;min-height:44px;font-size:15px}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;background:var(--orange);color:var(--navy);border:2px solid transparent;border-radius:4px;font:700 16px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer}.button:hover{background:#ff754b}.button:disabled{opacity:.65;cursor:wait}.hero{background:var(--navy);color:white;padding:62px 0 58px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:750;margin:0 0 18px;color:#5b6c7b}.hero .eyebrow,.contact .eyebrow{color:#ffa586}h1,h2,h3,p,a,label{overflow-wrap:break-word}h1{font-size:clamp(34px,4.3vw,54px);line-height:1.13;letter-spacing:-.025em;max-width:950px;margin:0 0 24px}h1 span{color:#ffa586}.intro{max-width:760px;font-size:20px;line-height:1.6;color:#e0e7ef;margin-bottom:0}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:28px}.text-link{color:white;font-weight:650;min-height:44px;display:inline-flex;align-items:center}.section{padding:62px 0}.section h2{max-width:790px}h2{font-size:clamp(28px,3vw,36px);line-height:1.22;letter-spacing:-.025em;margin:0 0 25px}h3{font-size:21px;line-height:1.35;margin:0 0 12px}p{margin:0 0 18px;max-width:790px}p:last-child{margin-bottom:0}.tinted{background:var(--paper);border-top:1px solid #e5e9ed;border-bottom:1px solid #e5e9ed}.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.routes article{padding:24px 0 8px;border-top:3px solid var(--orange)}.routes h3{font-size:25px;margin-top:18px}.routes p{color:var(--muted)}.routes a{display:inline-block;min-height:44px;padding-top:8px;font-weight:700}.number{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted)}.service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:58px;row-gap:30px}.service-list article{border-top:1px solid var(--line);padding-top:22px}.service-list p{color:var(--muted);max-width:680px}.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;margin:0}.steps li{counter-increment:step;border-top:1px solid #b4c0ca;padding-top:20px}.steps li:before{content:"0" counter(step);display:block;font-size:14px;font-weight:750;color:#8c341c;margin-bottom:14px}.steps p{color:var(--muted)}blockquote{margin:0 0 20px;padding-left:24px;border-left:3px solid var(--orange);max-width:850px;font-size:24px;line-height:1.6}.small{font-size:14px}.faq-list{max-width:900px}details{border-bottom:1px solid var(--line)}summary{min-height:58px;padding:16px 30px 16px 0;font-size:18px;line-height:1.5;font-weight:650;cursor:pointer}details>div{padding:0 0 22px;max-width:790px;color:var(--muted)}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact a{color:white}.phone{display:block;font-size:clamp(28px,3vw,36px);font-weight:750;text-decoration:none;line-height:1.4;margin:22px 0 12px}.email{display:inline-block;overflow-wrap:anywhere;min-height:44px}.contact-hint{margin-top:18px;font-size:15px;color:#ced9e5}.enquiry-panel{border-left:1px solid #53687e;padding-left:38px}.enquiry-panel .button{color:var(--navy)}.enquiry-panel p{color:#e0e7ef}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}label{display:block;font-weight:650;font-size:15px;margin:0 0 18px}label span{font-weight:400}input,textarea,select{display:block;width:100%;max-width:100%;padding:11px;margin-top:6px;min-height:46px;border:1px solid #9caebd;border-radius:3px;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:white}textarea{resize:vertical}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-status{margin-top:16px;font-weight:600}.form-status.error{color:#ffcaaf}.form-status.success{color:#bcf2d1}footer{background:#f0f3f5;padding:38px 0;color:var(--muted);font-size:14px}.footer-grid{display:grid;grid-template-columns:1.6fr .9fr 1.2fr;gap:30px}footer strong{color:var(--navy)}footer p{margin:12px 0}footer nav a,footer>div>div>a{display:block;min-height:44px;padding:8px 0}footer a{color:var(--ink)}@media(max-width:1050px){.nav{flex-wrap:wrap;gap:12px 20px}.nav nav{order:3;width:100%;gap:26px}.header-call{margin-left:auto}.brand{font-size:17px}.hero{padding:46px 0}.service-list{column-gap:30px}}@media(max-width:700px){body{font-size:16px}.wrap{padding:0 22px}.nav{padding-top:16px;padding-bottom:12px}.brand{font-size:13px;gap:8px}.brand img{width:34px;height:34px}.header-call{padding:10px 9px;font-size:13px;min-height:44px}.nav nav{gap:5px 20px}.nav nav a{font-size:14px}.hero{padding:36px 0 40px}.intro{font-size:18px}.section{padding:40px 0}.routes,.service-list,.steps,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:26px}.routes article{padding-top:20px}.routes h3{margin-top:12px}.service-list{gap:24px}.contact-grid{gap:30px}.enquiry-panel{padding:26px 0 0;border-left:0;border-top:1px solid #53687e}.field-grid{grid-template-columns:1fr}blockquote{font-size:20px;padding-left:18px}.actions{gap:18px}footer{padding:30px 0}.footer-grid{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(forced-colors:active){.button,.enquiry-panel{border:1px solid CanvasText}.button{background:ButtonFace;color:ButtonText}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid Highlight}}
@media(max-width:400px){.nav{gap:8px}.brand{font-size:12px;letter-spacing:0;gap:6px}.brand img{width:28px;height:28px}.header-call{font-size:12px;padding:9px 8px}}
/* Short service descriptions in a continuous, readable grid. */
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.service-cards article{background:white;padding:30px 27px 32px}.service-number{display:block;margin-bottom:20px;color:#9b3514;font-size:13px;font-weight:750;letter-spacing:.1em}.service-cards h3{font-size:23px;line-height:1.3;margin-bottom:17px}.service-cards p{color:var(--muted);font-size:17px;line-height:1.7}.service-cards a{color:#14536e}.maintenance-list{padding-left:22px;margin:20px 0 0}.maintenance-list li{margin:7px 0}@media(min-width:701px) and (max-width:950px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.service-cards{grid-template-columns:1fr}.service-cards article{padding:25px 23px}.service-number{margin-bottom:13px}.service-cards h3{font-size:22px;margin-bottom:12px}.service-cards p{font-size:16px}}

.steps li:before{content:none;display:none}.routes h3{margin-top:0}
.service-list+p{margin-top:26px}
/* Domestic services grouped by the work, without equal-height tile rows. */
.domestic-groups{display:grid;grid-template-columns:1fr 1fr;gap:64px}.domestic-group{min-width:0}.group-title{font-size:22px;line-height:1.35;padding-bottom:18px;margin:0;border-bottom:3px solid var(--orange)}.domestic-items article{padding:21px 0;border-bottom:1px solid var(--line)}.domestic-items h4{font-size:19px;line-height:1.4;margin:0 0 8px;font-weight:700;letter-spacing:-.01em}.domestic-items p{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:520px}@media(max-width:760px){.domestic-groups{grid-template-columns:1fr;gap:34px}.domestic-items article{padding:19px 0}.group-title{font-size:21px}}
.routes .primary-route{border-top-width:5px}.routes .primary-route h3{color:var(--navy)}.routes .primary-route a{font-weight:800}
.rewire-spec{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.rewire-spec h3{padding-bottom:16px;border-bottom:2px solid var(--orange)}.rewire-spec ul{padding-left:22px;margin:0}.rewire-spec li{margin:9px 0;color:var(--muted)}.rewire-spec+p{margin-top:24px;font-size:15px;color:var(--muted)}@media(max-width:700px){.rewire-spec{grid-template-columns:1fr;gap:28px}}
/* Lighter service-led opening with direct contact alongside. */
.light-opening{background:#fff;color:var(--navy);padding:64px 0;border-bottom:1px solid var(--line);overflow:visible}.opening-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:64px;align-items:start}.light-opening .eyebrow{color:#526370}.light-opening h1{font-size:clamp(34px,4vw,51px);line-height:1.14;margin-bottom:23px;max-width:650px}.light-opening h1 span{color:var(--navy)}.light-opening .intro{font-size:19px;color:var(--muted);max-width:610px}.light-opening .actions{gap:18px 24px;margin-top:28px}.secondary-action{color:var(--navy);font-weight:650;display:inline-flex;align-items:center;min-height:48px}.opening-contact{background:#f7f8fa;border:1px solid #d7dfe5;border-top:3px solid var(--orange);padding:30px;min-width:0}.opening-contact h2{font-size:26px;line-height:1.3;margin-bottom:18px}.opening-contact h3{font-size:18px;margin-bottom:9px}.opening-contact p{color:var(--muted);font-size:16px}.opening-phone{display:block;color:var(--navy);font-size:29px;font-weight:750;text-decoration:none;margin-bottom:10px}.opening-email{display:inline-block;color:var(--navy);overflow-wrap:anywhere;min-height:44px}.opening-business{border-top:1px solid var(--line);margin-top:18px;padding-top:22px}.opening-business a{display:inline-block;min-height:44px;font-weight:650}.opening-contact.enquiry-panel{padding-left:30px}.opening-contact .button{color:var(--navy)}.opening-alternative{margin-top:20px}.opening-alternative a{font-weight:700;color:var(--navy);display:inline-block;min-height:44px;padding-top:8px}.light-opening a:focus-visible{outline-color:#006fba}.opening-contact form .small{color:var(--muted)}.opening-contact .form-status.error{color:#9b2810}.opening-contact .form-status.success{color:#176137}.rewire-next{border-top:1px solid var(--line)}@media(max-width:950px){.opening-grid{gap:30px}.opening-contact{padding:24px}.opening-contact.enquiry-panel{padding-left:24px}.opening-phone{font-size:26px}}@media(max-width:760px){.light-opening{padding:36px 0 40px}.opening-grid{grid-template-columns:1fr;gap:30px}.light-opening .intro{font-size:18px}.opening-contact{padding:24px}.opening-contact.enquiry-panel{padding-top:24px}.opening-contact h2{font-size:25px}.light-opening h1{font-size:36px}.opening-contact .field-grid{grid-template-columns:1fr}}
/* Original client project photography. */
.project-photo{margin:0;min-width:0}.project-photo a{display:block}.project-photo img{display:block;width:100%;height:auto;background:#eef1f3}.project-photo figcaption{font-size:14px;color:var(--muted);padding-top:12px;line-height:1.5}.home-project{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:38px;align-items:center}.home-project h3{font-size:27px}.home-project p{color:var(--muted)}.home-project>div>a{display:inline-flex;align-items:center;min-height:44px;font-weight:650}.project-gallery{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}.project-details{display:grid;grid-template-columns:1fr 1fr;gap:18px}.garden-projects{display:grid;grid-template-columns:1fr 1fr;gap:30px}.garden-projects img{aspect-ratio:4/3;object-fit:cover}@media(max-width:760px){.home-project,.project-gallery,.garden-projects{grid-template-columns:1fr;gap:26px}.project-details{gap:16px}.project-photo figcaption{font-size:13px}}
.registration-line{border-bottom:1px solid var(--line);padding:17px 0;background:#fff}.registration-line .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px 28px;flex-wrap:wrap}.registration-line p{margin:0;font-size:15px;font-weight:650;color:var(--navy)}.registration-line a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}@media(max-width:700px){.registration-line{padding:12px 0}.registration-line .wrap{gap:0}}
.whatsapp-link{display:flex;align-items:center;min-height:48px;width:fit-content;font-weight:650;margin-top:12px}.opening-contact .whatsapp-link{color:var(--navy)}
