@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--primary:#328cc1;--primary-rgb:50, 140, 193;--secondary:#ed1b2f;--secondary-rgb:237, 27, 47;--logo-blue:#328cc1;--accent:#d9b310;--accent-rgb:217, 179, 16;--accent-danger:#e63946;--accent-success:#2a9d8f;--background:#f8fafc;--foreground:#0f172a;--card-bg:#ffffffd9;--card-border:#0b3c5d14;--text-primary:#0f172a;--text-secondary:#475569;--border:#e2e8f0;--input-bg:#fff;--glass-bg:#ffffffb3;--glass-border:#fff6;--glass-shadow:0 8px 32px 0 #0b3c5d14;--font-family:var(--font-geist-sans), system-ui, sans-serif;--font-mono:var(--font-geist-mono), monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;font-family:var(--font-family);background-color:var(--background);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:1rem}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);box-shadow:var(--glass-shadow);border-radius:1.25rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s}.glass-card:hover{border-color:#328cc14d;transform:translateY(-5px);box-shadow:0 20px 40px #0b3c5d1f}.btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--secondary);color:#fff;box-shadow:0 4px 14px #328cc166}.btn-primary:hover{background-color:#277ba7;transform:translateY(-2px);box-shadow:0 6px 20px #328cc199}.btn-primary:active{transform:translateY(0)}.btn-accent{background-color:var(--accent);color:#0f172a;box-shadow:0 4px 14px #d9b3104d}.btn-accent:hover{background-color:#c4a10e;transform:translateY(-2px);box-shadow:0 6px 20px #d9b31080}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);background-color:#0000}.btn-secondary:hover{background-color:var(--border);transform:translateY(-2px)}.btn-danger{background-color:var(--accent-danger);color:#fff;box-shadow:0 4px 14px #e639464d}.btn-danger:hover{background-color:#d62839;transform:translateY(-2px);box-shadow:0 6px 20px #e6394680}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 #e6394680}70%{box-shadow:0 0 0 10px #e6394600}to{box-shadow:0 0 #e6394600}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-float{animation:4s ease-in-out infinite float}.animate-pulse-glow{animation:2s infinite pulse-glow}.animate-slide-up{animation:.6s cubic-bezier(.16,1,.3,1) forwards slide-up}.gradient-bg{position:relative;overflow:hidden}.gradient-bg:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#328cc126 0%,#fff0 70%);width:40%;height:50%;position:absolute;top:-20%;right:-10%}.gradient-bg:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#0b3c5d1a 0%,#fff0 70%);width:40%;height:50%;position:absolute;bottom:-20%;left:-10%}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-danger{color:var(--accent-danger);background-color:#e6394626}.badge-success{color:var(--accent-success);background-color:#2a9d8f26}.badge-primary{color:var(--secondary);background-color:#328cc126}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input{background-color:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 3px #328cc140}.form-input:disabled{opacity:.6;cursor:not-allowed}@media (max-width:991px){.hero-image-col,.emergency-hero-image-col,.details-image-card,.local-image-card,.article-featured-image-card,.image-wrapper,.recruitment-image-wrapper,.feedback-image-wrapper,.careers-image-wrapper,.service-image-wrapper,.details-image-col{border-radius:1.25rem!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0 auto 1.5rem!important;display:block!important;position:relative!important;overflow:hidden!important;box-shadow:0 10px 30px #0b3c5d14!important}.hero-bleed-image,.emergency-hero-image,.details-image-card img,.local-image-card img,.article-featured-image-card img,.hero-image-col img,.emergency-hero-image-col img,.image-wrapper img,.recruitment-image-wrapper img,.feedback-image-wrapper img,.careers-image-wrapper img,.service-image-wrapper img,.details-image-col img{object-fit:contain!important;width:100%!important;height:auto!important;display:block!important;position:relative!important;inset:auto!important}}.details-image-card,.local-image-card,.article-featured-image-card,.hero-image-col,.emergency-hero-image-col,.image-wrapper,.why-choose-us-section .image-wrapper,.feedback-image-wrapper,.careers-image-wrapper,.service-image-wrapper{position:relative!important}.details-image-card:after,.local-image-card:after,.article-featured-image-card:after,.hero-image-col:after,.emergency-hero-image-col:after,.image-wrapper:after,.why-choose-us-section .image-wrapper:after,.feedback-image-wrapper:after,.careers-image-wrapper:after,.service-image-wrapper:after{content:""!important;mix-blend-mode:multiply!important;opacity:.8!important;z-index:10!important;pointer-events:none!important;background-image:url(/fulhamstemp-icon.png?v=transparent)!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important;width:100px!important;height:100px!important;position:absolute!important;bottom:12px!important;right:12px!important}.no-watermark:after{display:none!important}.details-image-card:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.local-image-card:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.article-featured-image-card:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.hero-image-col:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.emergency-hero-image-col:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.image-wrapper:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.why-choose-us-section .image-wrapper:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.feedback-image-wrapper:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.careers-image-wrapper:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.service-image-wrapper:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.details-image-col:has(img[src*=AdexoHandWash-CommercialPlumbing]):after{display:none!important}.details-image-card:has(img[src*=boilingandheatingpipework]):after{display:none!important}.local-image-card:has(img[src*=boilingandheatingpipework]):after{display:none!important}.article-featured-image-card:has(img[src*=boilingandheatingpipework]):after{display:none!important}.hero-image-col:has(img[src*=boilingandheatingpipework]):after{display:none!important}.emergency-hero-image-col:has(img[src*=boilingandheatingpipework]):after{display:none!important}.image-wrapper:has(img[src*=boilingandheatingpipework]):after{display:none!important}.why-choose-us-section .image-wrapper:has(img[src*=boilingandheatingpipework]):after{display:none!important}.feedback-image-wrapper:has(img[src*=boilingandheatingpipework]):after{display:none!important}.careers-image-wrapper:has(img[src*=boilingandheatingpipework]):after{display:none!important}.service-image-wrapper:has(img[src*=boilingandheatingpipework]):after{display:none!important}.details-image-col:has(img[src*=boilingandheatingpipework]):after{display:none!important}.details-image-card:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.local-image-card:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.article-featured-image-card:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.hero-image-col:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.emergency-hero-image-col:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.image-wrapper:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.why-choose-us-section .image-wrapper:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.feedback-image-wrapper:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.careers-image-wrapper:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.service-image-wrapper:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.details-image-col:has(img[src*=Vaillant-Combi-Boiler-HeatingandHotwater]):after{display:none!important}.details-image-card:has(img[src*=gyzer]):after{display:none!important}.local-image-card:has(img[src*=gyzer]):after{display:none!important}.article-featured-image-card:has(img[src*=gyzer]):after{display:none!important}.hero-image-col:has(img[src*=gyzer]):after{display:none!important}.emergency-hero-image-col:has(img[src*=gyzer]):after{display:none!important}.image-wrapper:has(img[src*=gyzer]):after{display:none!important}.why-choose-us-section .image-wrapper:has(img[src*=gyzer]):after{display:none!important}.feedback-image-wrapper:has(img[src*=gyzer]):after{display:none!important}.careers-image-wrapper:has(img[src*=gyzer]):after{display:none!important}.service-image-wrapper:has(img[src*=gyzer]):after{display:none!important}.details-image-col:has(img[src*=gyzer]):after{display:none!important}svg.service-svg .st1,svg.why-svg .st1,svg.process-svg .st1{fill:var(--logo-blue)!important;stroke:var(--logo-blue)!important}svg.service-svg .st3,svg.why-svg .st3,svg.process-svg .st3{fill:#328cc199!important;stroke:#328cc199!important}
