:root{--paper:#f6f5f0;--white:#fff;--enquiry:#eae7de;--ink:#24241f;--muted:#54554e;--line:#d2d0c8;--accent:#88622f;--error:#963d31;--font:"Aptos", "Avenir Next", "Segoe UI", sans-serif;--font-heading:"Bahnschrift", "Avenir Next", "Franklin Gothic Medium", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font:16px/1.55 var(--font);margin:0}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:20;background:var(--ink);color:var(--white);padding:10px 14px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}::selection{color:var(--ink);background:#dec79f}.container{width:min(100% - 48px,1160px);margin-inline:auto}.button{background:var(--ink);min-height:48px;color:var(--white);border:1px solid var(--ink);letter-spacing:.01em;border-radius:0;justify-content:center;align-items:center;padding:12px 22px;font-size:14px;font-weight:650;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.button:hover{background:var(--paper);color:var(--ink)}.button:active{background:var(--line);color:var(--ink)}.text-link{text-underline-offset:4px;font-size:14px;font-weight:650}.text-link:hover{color:var(--accent)}.small{color:var(--muted);font-size:13px}header{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);position:relative}.header-inner{align-items:center;gap:32px;min-height:78px;display:flex}.brand{flex-direction:column;flex:1;width:max-content;line-height:1.15;text-decoration:none;display:inline-flex}.brand strong{font-family:var(--font-heading);letter-spacing:.035em;font-size:25px;font-weight:700;line-height:.95}.brand .brand-light{font-weight:400}.brand .brand-desc{color:var(--muted);letter-spacing:.015em;margin-top:7px;font-size:11px}.nav{align-items:center;gap:28px;display:flex}.nav a{font-size:14px;font-weight:600;text-decoration:none}.nav a:hover{text-underline-offset:5px;text-decoration:underline}.header-cta{white-space:nowrap}.menu-button{background:0 0;border:0;min-width:48px;min-height:48px;padding:0;font-weight:700;display:none}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(48px,6vw,94px);padding-block:88px;display:grid}.hero-copy{max-width:580px}h1{font-family:var(--font-heading);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(48px,5vw,68px);font-weight:500;line-height:1.07}.hero-lead{max-width:44ch;color:var(--muted);margin:29px 0 30px;font-size:18px;line-height:1.58}.hero-actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.hero-trust{max-width:54ch;color:var(--muted);letter-spacing:.015em;margin:41px 0 0;font-size:12px;line-height:1.6}.hero-photo{margin:0}.hero-photo img{object-fit:cover;object-position:50% 44%;width:100%;height:505px}.section{padding-block:88px}.section-header{max-width:680px;margin-bottom:32px}h2{font-family:var(--font-heading);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(32px,3.1vw,43px);font-weight:500;line-height:1.14}.section-header p{color:var(--muted);margin:15px 0 0}.services{background:var(--white);border-block:1px solid var(--line)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;display:grid}.service-column{display:contents}.service{border-top:1px solid var(--line);grid-template-columns:36px minmax(0,1fr);gap:18px;padding:28px 0 32px;display:grid}.service>div{flex-direction:column;min-width:0;display:flex}.service-column:first-child .service:nth-child(-n+2){border-top-color:var(--ink)}.service-number{color:var(--accent);letter-spacing:.08em;font-variant-numeric:tabular-nums;padding-top:4px;font-size:12px;font-weight:650}.service h3{font-family:var(--font-heading);letter-spacing:-.018em;margin:0 0 9px;font-size:clamp(21px,2vw,25px);font-weight:550;line-height:1.2}.service p{max-width:48ch;color:var(--muted);flex:1;margin:0;font-size:15px;line-height:1.55}.service-photo{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;margin-top:22px}.plumbing-photo{object-position:50% 25%}.work{border-top:1px solid var(--line);padding-block:88px}.work-header{margin-bottom:32px}.work-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);align-items:start;gap:clamp(30px,6vw,86px);display:grid}.work-item{min-width:0;margin:0}.work-item img{width:100%}.work-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.work-photo-pair img{aspect-ratio:397/298;object-fit:cover;height:auto}.work-item .work-detail{aspect-ratio:1.85;object-fit:cover;object-position:center;width:100%;height:auto}.work-item figcaption{border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;margin-top:14px;padding-top:18px;display:grid}.work-item h3{font-family:var(--font-heading);letter-spacing:-.02em;margin:0;font-size:clamp(21px,2vw,26px);font-weight:550;line-height:1.2}.work-item .description{max-width:52ch;color:var(--muted);grid-column:1/-1;margin:3px 0 0;font-size:14px;line-height:1.6}.enquiry{background:var(--enquiry);border-top:1px solid var(--line);padding-block:88px}.enquiry-header,.enquiry form,.enquiry .summary{width:min(100%,900px);margin-inline:auto}.enquiry-header{justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px;display:flex}.enquiry-header h2{max-width:13ch}.enquiry-header p{max-width:36ch;color:var(--muted);margin:0 0 3px;font-size:13px;line-height:1.55}.form-grid{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;gap:0 48px;display:grid}.form-group-heading{letter-spacing:.02em;grid-column:1/-1;margin:0;padding:22px 0 3px;font-size:14px;font-weight:650}.form-group-heading:not(:first-child){border-top:1px solid var(--ink);margin-top:18px}.field{border-bottom:1px solid var(--line);padding:17px 0 22px}.field label,.field legend{letter-spacing:.01em;margin-bottom:9px;padding:0;font-size:13px;font-weight:650;display:block}.field input:not([type=radio]):not([type=file]),.field select,.field textarea{background:var(--white);width:100%;min-height:48px;color:var(--ink);border:1px solid #76776f;border-radius:0;padding:8px 11px;font-size:16px;display:block}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field textarea{resize:vertical;min-height:112px}.field small{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}.wide{grid-column:1/-1}.radio-field{border:0;border-bottom:1px solid var(--line);min-width:0;margin:0;padding-inline:0}.radio-options{flex-wrap:wrap;gap:24px;display:flex}.radio-options label{cursor:pointer;align-items:center;gap:8px;min-height:48px;margin:0;font-weight:500;display:inline-flex}.radio-options input{accent-color:var(--ink)}.conditional{padding-top:12px;display:none}.conditional.open{display:block}.conditional p{color:var(--error);margin:0 0 10px;font-size:13px}.upload input{max-width:100%;font-size:13px}.upload input::file-selector-button{background:var(--white);border:1px solid var(--ink);min-height:48px;color:var(--ink);cursor:pointer;margin-right:12px;padding:8px 14px}.upload input::file-selector-button:hover{background:var(--paper)}.upload input::file-selector-button:active{background:var(--line)}.form-error{color:var(--error);margin:16px 0 0;font-size:13px;font-weight:700;display:none}.form-error.open{display:block}.form-end{justify-content:space-between;align-items:center;gap:30px;padding-top:30px;display:flex}.form-end p{max-width:50ch;color:var(--muted);margin:0;font-size:13px}.summary{border-top:1px solid var(--line);margin-top:36px;padding-top:24px;display:none}.summary.open{display:block}.summary h3{margin:0 0 7px;font-size:24px}.summary p{color:var(--muted);margin:0 0 14px;font-size:13px}.summary pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--white);border:1px solid var(--line);max-height:310px;font:14px/1.6 var(--font);padding:18px;overflow:auto}footer{color:#f7f7f2;background:#33342e;padding:56px 0 24px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:52px;display:grid}.footer-brand{font-family:var(--font-heading);letter-spacing:.035em;font-size:25px;font-weight:700;line-height:1}.footer-brand .brand-light{font-weight:400}.footer-brand>span:last-child{font-family:var(--font);letter-spacing:.01em;margin-top:10px;font-size:12px;font-weight:400;line-height:1.5;display:block}footer h2{color:#e0dfd8;font-family:var(--font);letter-spacing:.06em;text-transform:uppercase;margin:0 0 15px;font-size:12px;font-weight:650}footer p,footer a{color:#f7f7f2;margin:0 0 7px;font-size:13px;line-height:1.55;text-decoration:none;display:block}footer a:hover{text-decoration:underline}.footer-note{color:#deddd6;border-top:1px solid #797a73;margin-top:48px;padding-top:16px;font-size:12px;line-height:1.6}@media (width<=820px){.nav{gap:16px}.header-cta{display:none}.hero{grid-template-columns:1fr .85fr;gap:30px}.hero-photo img{height:450px}.service-grid{column-gap:36px}.work-grid{gap:34px}.work-item figcaption{grid-template-columns:1fr}}@media (width<=650px){.container{width:min(100% - 32px,1160px)}.header-inner{min-height:70px}.brand strong{font-size:22px}.nav{z-index:5;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:16px;display:none;position:absolute;top:70px;left:0;right:0}.nav.open{display:flex}.nav a{min-height:48px;padding:12px 0}.menu-button{display:block}.hero,.form-grid{grid-template-columns:1fr}.hero{padding-block:56px 64px}h1{font-size:clamp(43px,9.5vw,58px)}.hero-lead{font-size:17px}.hero-trust{margin-top:32px}.hero-photo{margin-top:4px}.hero-photo img{height:360px}.section{padding-block:64px}.service-grid{grid-template-columns:1fr}.service{border-top:0;border-bottom:1px solid var(--line);padding-block:24px 28px}.service-column .service:first-child{border-top:0}.service-column:first-child .service:first-child{border-top:1px solid var(--ink)}.work{padding-block:64px}.work-grid{grid-template-columns:1fr;gap:44px}.enquiry{padding-block:64px}.enquiry-header{display:block}.enquiry-header p{margin-top:13px}.wide{grid-column:auto}.form-end{flex-direction:column-reverse;align-items:stretch}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1}}@media (width<=390px){.hero-actions{flex-direction:column;align-items:stretch}.service{grid-template-columns:29px minmax(0,1fr);gap:13px}}.form-fields,.isolation-options{border:0;min-width:0;margin:0;padding:0}.telephone-label{margin-top:12px}.verification{max-width:400px;margin-top:24px}.sr-only,.honeypot{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button:disabled{cursor:wait;background:var(--muted);border-color:var(--muted);color:var(--white)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}footer a{overflow-wrap:anywhere}footer h2:not(:first-child){margin-top:20px}@media (pointer:coarse){.text-link,footer a{align-items:center;min-height:48px;display:inline-flex}footer a{display:flex}.radio-options label{min-height:48px}}@media (prefers-color-scheme:dark){:root{--paper:#1b1f1a;--white:#242923;--enquiry:#292e27;--ink:#f1f0e9;--muted:#c3c8bb;--line:#6c7464;--accent:#dbb47e;--error:#ffb4a8}}
