:root{--navy:#102a43;--blue:#1769aa;--cyan:#dff5fb;--orange:#f59e0b;--ink:#18212b;--muted:#607080;--paper:#fff;--line:#dce5ec;--soft:#f4f8fb;--radius:18px;--shadow:0 16px 42px rgba(16,42,67,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);line-height:1.65;background:var(--paper)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.skip{position:absolute;left:-999px;top:auto}.skip:focus{left:12px;top:12px;background:#fff;padding:12px;z-index:1000}.topbar{background:var(--navy);color:#fff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0}.topbar a{color:#fff;font-weight:700}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);font-weight:850;letter-spacing:-.03em;font-size:1.08rem}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--blue);color:#fff;font-weight:900;font-size:1.25rem}.nav-links{display:flex;gap:20px;align-items:center}.nav-links a{color:var(--navy);font-weight:650;font-size:.94rem}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;background:var(--orange);color:#17212b;font-weight:800;padding:13px 20px;cursor:pointer;text-decoration:none}.btn:hover,.nav-cta:hover{filter:brightness(.96);text-decoration:none}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}.menu-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-weight:800}.hero{background:radial-gradient(circle at 85% 20%,#dff5fb 0,transparent 34%),linear-gradient(135deg,#f5faff,#fff 58%);padding:78px 0 66px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:.82rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:25px;height:3px;background:var(--orange);border-radius:3px}h1,h2,h3{line-height:1.15;color:var(--navy);letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5vw,4.55rem);margin:16px 0 20px}h2{font-size:clamp(1.8rem,3.5vw,2.7rem);margin:0 0 16px}h3{font-size:1.22rem;margin:0 0 9px}.lead{font-size:1.16rem;color:#455766;max-width:62ch}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.small-note{font-size:.87rem;color:var(--muted)}.hero-card{position:relative;background:var(--navy);color:#fff;border-radius:28px;padding:32px;box-shadow:var(--shadow);min-height:330px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-card:after{content:"";position:absolute;width:230px;height:230px;border:38px solid rgba(255,255,255,.08);border-radius:50%;right:-55px;top:-58px}.hero-card h2{color:#fff;font-size:2rem;position:relative;z-index:1}.hero-card p{color:#d9e6ef;position:relative;z-index:1}.hero-symbol{font-size:4.5rem;line-height:1;position:relative;z-index:1}.hero-card .tag{position:relative;z-index:1;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:9px 13px;border-radius:999px;width:max-content;font-weight:700;font-size:.88rem}.trust-strip{border-block:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:22px 0}.trust-item{display:flex;gap:12px;align-items:center;font-weight:750;color:var(--navy)}.trust-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--cyan);font-size:1.2rem;flex:none}.section{padding:76px 0}.section.soft{background:var(--soft)}.section-head{max-width:720px;margin-bottom:32px}.section-head p{color:var(--muted);font-size:1.05rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.035)}.card .card-icon{font-size:1.65rem;margin-bottom:17px}.card p{color:var(--muted);margin:0 0 15px}.card a{font-weight:800}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.checklist{padding:0;list-style:none}.checklist li{padding:10px 0 10px 31px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;top:10px;color:#0b8a63;font-weight:900}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.area-chips{display:flex;flex-wrap:wrap;gap:10px}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:var(--navy);font-weight:700}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-weight:800;color:var(--navy);cursor:pointer}details p{color:var(--muted)}.cta-band{background:var(--navy);color:#fff;border-radius:26px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band h2{color:#fff;margin-bottom:8px}.cta-band p{color:#d9e6ef;margin:0}.footer{background:#0b1f31;color:#dce8f0;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer h3{color:#fff}.footer a{color:#dce8f0}.footer p{color:#b9cbd8}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:30px;padding-top:18px;font-size:.88rem;color:#b9cbd8;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.breadcrumbs{font-size:.9rem;color:var(--muted);padding:18px 0}.breadcrumbs a{color:var(--blue)}.page-hero{padding:42px 0 56px;background:linear-gradient(135deg,#f3faff,#fff)}.page-hero h1{font-size:clamp(2.25rem,4vw,3.6rem);max-width:900px}.content{max-width:820px}.content p{color:#455766}.content h2{margin-top:35px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-list{list-style:none;padding:0}.contact-list li{margin:15px 0}.form-field{display:grid;gap:7px;margin-bottom:15px}.form-field label{font-weight:750;color:var(--navy)}input,textarea,select{width:100%;border:1px solid #cbd7e0;border-radius:10px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:125px;resize:vertical}.form-message{margin-top:14px;padding:13px;background:#fff6df;border:1px solid #f3d58d;border-radius:10px;color:#614400}.mobile-call{display:none}.legal-note{font-size:.88rem;color:var(--muted)}@media(max-width:850px){.hero-grid,.two-col,.contact-layout{grid-template-columns:1fr}.hero{padding-top:48px}.hero-card{min-height:270px}.cards{grid-template-columns:repeat(2,1fr)}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-toggle{display:inline-block}.nav-cta{display:none}.footer-grid{grid-template-columns:1fr 1fr}.cta-band{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.container{width:min(100% - 28px,1120px)}.topbar .container{font-size:.8rem}.topbar .topbar-extra{display:none}.nav{min-height:70px}.nav-links{top:70px}.cards,.trust-grid,.footer-grid{grid-template-columns:1fr}.section{padding:54px 0}.hero-card{padding:25px}.cta-band{padding:27px}.mobile-call{display:flex;position:fixed;bottom:12px;left:12px;right:12px;z-index:60;box-shadow:0 8px 30px rgba(0,0,0,.2)}body{padding-bottom:76px}.footer{padding-bottom:90px}}


/* Brand and contact enhancements */
.brand-image{display:block;width:220px;max-width:100%;height:auto;object-fit:contain}
.brand-icon-image{width:43px;height:43px;object-fit:contain;border-radius:10px}
.footer .brand-image{width:245px;filter:none;background:#fff;border-radius:8px;padding:5px}
.brand{gap:10px}
.brand-text-fallback{font-weight:850;letter-spacing:-.03em}
.brand-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:center}
.brand-chip{min-height:78px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--navy);font-weight:850;letter-spacing:.01em}
.brand-chip small{display:block;font-size:.68rem;color:var(--muted);font-weight:600;letter-spacing:0}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:70;display:flex;align-items:center;gap:10px;background:#128C7E;color:#fff;padding:13px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.2);font-weight:850;text-decoration:none}
.whatsapp-float:hover{background:#0d766b;color:#fff;text-decoration:none}
.whatsapp-float svg{width:24px;height:24px;fill:currentColor;flex:none}
@media(max-width:850px){.brand-image{width:185px}.brand-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.brand-image{width:160px}.brand-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.whatsapp-float{right:12px;bottom:82px;padding:12px 15px}.footer .brand-image{width:210px}}

/* Gas Safe Register artwork supplied by the business */
.gas-safe-card{text-align:center;align-self:stretch}.gas-safe-logo{display:block;width:min(100%,220px);height:auto;max-height:240px;object-fit:contain;margin:0 auto 18px;background:#000;border-radius:12px}.gas-safe-mini{display:flex;align-items:center;gap:14px;padding:15px;margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.gas-safe-mini img{display:block;width:76px;height:82px;object-fit:contain;background:#000;border-radius:7px;flex:none}.gas-safe-mini div{display:grid;gap:3px}.gas-safe-mini span{font-size:.9rem;color:var(--muted)}.gas-safe-mini a{font-weight:750;font-size:.9rem}@media(max-width:560px){.gas-safe-mini{align-items:flex-start}.gas-safe-mini img{width:62px;height:68px}.gas-safe-logo{width:min(100%,190px)}}


/* Final responsive logo and floating WhatsApp fixes */
html, body { max-width:100%; overflow-x:hidden; }
img, svg { max-width:100%; }
.site-header .brand-image { width:clamp(125px, 16vw, 180px); height:auto; max-height:58px; object-fit:contain; }
.footer .brand-image { width:min(210px,100%); height:auto; }
.brand-strip { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px; width:100%; }
.brand-chip { flex:1 1 145px; max-width:190px; min-width:0; height:82px; min-height:82px; padding:12px; overflow:hidden; }
.brand-chip img { display:block; width:auto; max-width:100%; height:auto; max-height:48px; object-fit:contain; margin:auto; }
.brand-chip:has(img[src$="worcester-bosch-logo.svg"]) img { max-height:44px; }
.brand-wordmark { display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.ideal-wordmark { color:#343b3c; font-size:2rem; font-weight:800; letter-spacing:-.08em; }
.ideal-wordmark span { margin-top:5px; font-size:.63rem; letter-spacing:.22em; font-weight:750; color:#4b5752; }
.baxi-wordmark { color:#e31b34; font-size:2rem; font-weight:900; letter-spacing:.04em; }
.whatsapp-float { position:fixed; right:18px; bottom:20px; width:56px; height:56px; padding:0; display:flex; align-items:center; justify-content:center; gap:0; border-radius:50%; background:#25D366; color:#fff; box-shadow:0 5px 18px rgba(0,0,0,.24); z-index:9999; overflow:hidden; }
.whatsapp-float svg { display:block; width:30px; height:30px; max-width:none; fill:currentColor; }
.whatsapp-float span { display:none !important; }
.whatsapp-float:hover { background:#1ebe5d; }
@media(max-width:560px) { .brand-strip { gap:10px; } .brand-chip { flex:1 1 125px; max-width:165px; height:72px; min-height:72px; } .brand-chip img { max-height:42px; } .whatsapp-float { right:14px; bottom:82px; width:54px; height:54px; padding:0; } }


/* HARD OVERRIDES: keep every image within its intended layout */
html, body { width:100% !important; max-width:100% !important; overflow-x:clip !important; }
*, *::before, *::after { box-sizing:border-box; }
img { max-width:100% !important; }
.site-header .nav { width:min(1120px, calc(100% - 40px)); min-width:0; }
.site-header .brand { flex:0 1 auto; min-width:0; max-width:42%; }
.site-header .brand-image { display:block !important; width:clamp(120px, 18vw, 175px) !important; max-width:100% !important; height:auto !important; max-height:56px !important; object-fit:contain !important; }
.footer .brand-image { width:min(190px,100%) !important; max-height:65px !important; object-fit:contain !important; }
.gas-safe-logo { display:block !important; width:150px !important; max-width:100% !important; height:160px !important; max-height:160px !important; object-fit:contain !important; margin:0 auto 16px !important; background:#fff !important; border-radius:0 !important; }
.gas-safe-mini img { width:64px !important; height:68px !important; max-width:64px !important; object-fit:contain !important; background:#fff !important; }
#boiler-brands .brand-strip { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; justify-content:space-between !important; align-items:center !important; gap:12px !important; width:100% !important; }
#boiler-brands .brand-chip { flex:1 1 0 !important; width:20% !important; max-width:20% !important; min-width:0 !important; height:76px !important; min-height:76px !important; padding:8px !important; overflow:hidden !important; display:flex !important; justify-content:center !important; align-items:center !important; }
#boiler-brands .brand-chip img { display:block !important; width:auto !important; height:auto !important; max-width:100% !important; max-height:44px !important; object-fit:contain !important; }
#boiler-brands .ideal-wordmark, #boiler-brands .baxi-wordmark { font-size:clamp(1rem,2vw,1.65rem) !important; line-height:1 !important; }
#boiler-brands .ideal-wordmark span { font-size:.5rem !important; }
.whatsapp-float { position:fixed !important; right:18px !important; bottom:18px !important; width:54px !important; height:54px !important; min-width:54px !important; max-width:54px !important; padding:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; border-radius:50% !important; overflow:hidden !important; z-index:99999 !important; font-size:0 !important; line-height:0 !important; }
.whatsapp-float svg { width:28px !important; height:28px !important; max-width:28px !important; max-height:28px !important; }
.whatsapp-float span { display:none !important; }
@media(max-width:700px) {
 .site-header .nav { width:calc(100% - 24px); gap:10px; }
 .site-header .brand { max-width:65%; }
 .site-header .brand-image { width:clamp(105px, 38vw, 155px) !important; max-height:48px !important; }
 #boiler-brands .brand-strip { flex-wrap:wrap !important; justify-content:center !important; }
 #boiler-brands .brand-chip { flex:1 1 28% !important; width:auto !important; max-width:31% !important; height:65px !important; min-height:65px !important; padding:5px !important; }
 #boiler-brands .brand-chip img { max-height:36px !important; }
 .gas-safe-logo { width:125px !important; height:135px !important; max-height:135px !important; }
 .whatsapp-float { right:12px !important; bottom:80px !important; }
}


/* Final measured layout safeguards (2026-10-27) */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
img { display:block; max-width:100%; height:auto; }
.site-header .nav { min-width:0; gap:clamp(8px,1.5vw,20px); }
.site-header .brand { flex:0 1 auto; width:auto; max-width:42%; min-width:0; }
.site-header .brand-image { display:block; width:clamp(115px,16vw,175px); max-width:100%; height:auto; max-height:54px; object-fit:contain; }
.footer .brand-image { width:min(190px,100%); max-height:64px; object-fit:contain; }
.gas-safe-card { min-width:0; overflow:hidden; }
.gas-safe-logo { display:block; width:150px; max-width:100%; height:150px; max-height:150px; object-fit:contain; margin:0 auto 16px; background:#fff; border-radius:0; }
#boiler-brands .brand-strip { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; gap:12px; width:100%; }
#boiler-brands .brand-chip { flex:0 1 150px; width:150px; max-width:18%; min-width:0; height:74px; min-height:74px; padding:8px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
#boiler-brands .brand-chip img { display:block; width:auto; height:auto; max-width:100%; max-height:42px; object-fit:contain; margin:auto; }
#boiler-brands .ideal-wordmark, #boiler-brands .baxi-wordmark { font-size:clamp(.9rem,1.5vw,1.35rem); line-height:1; }
#boiler-brands .ideal-wordmark span { font-size:.48rem; }
.whatsapp-float { position:fixed; right:18px; bottom:18px; z-index:99999; display:flex; align-items:center; justify-content:center; width:54px; height:54px; min-width:54px; max-width:54px; padding:0; border-radius:50%; overflow:hidden; background:#25D366; color:#fff; font-size:0; line-height:0; box-shadow:0 5px 18px rgba(0,0,0,.24); }
.whatsapp-float svg { display:block; width:28px; height:28px; max-width:28px; max-height:28px; fill:currentColor; flex:none; }
.whatsapp-float span { display:none !important; }
@media(max-width:850px) {
 .site-header .brand { max-width:58%; }
 .site-header .brand-image { width:clamp(115px,25vw,160px); max-height:48px; }
 #boiler-brands .brand-chip { flex-basis:135px; max-width:30%; }
}
@media(max-width:560px) {
 .site-header .nav { width:calc(100% - 24px); gap:8px; }
 .site-header .brand { max-width:58%; }
 .site-header .brand-image { width:clamp(105px,32vw,145px); max-height:44px; }
 #boiler-brands .brand-strip { gap:8px; }
 #boiler-brands .brand-chip { flex:0 1 29%; max-width:31%; height:62px; min-height:62px; padding:5px; }
 #boiler-brands .brand-chip img { max-height:34px; }
 .gas-safe-logo { width:120px; height:125px; max-height:125px; }
 .whatsapp-float { right:12px; bottom:80px; width:52px; height:52px; min-width:52px; max-width:52px; }
 .whatsapp-float svg { width:27px; height:27px; max-width:27px; max-height:27px; }
}
