:root{--ink:#122c38;--muted:#52656d;--accent:#d8ed7c;--paper:#f4f7f8;--line:#d8e1e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:white;font:16px/1.6 'DM Sans',sans-serif}.wrap{width:min(1200px,90%);margin:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #597b00;outline-offset:4px}.draft{text-align:center;background:var(--accent);padding:8px 16px;font-size:.875rem;color:#26360a}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}.brand{font:800 2rem/1.05 'Manrope',sans-serif;letter-spacing:-1.5px}.brand span{font-weight:400;margin-left:6px}.brand small{display:block;font:600 .65rem/2 'DM Sans',sans-serif;letter-spacing:1.1px}nav{display:flex;align-items:center;gap:32px;font-weight:600;font-size:.9rem}.nav-contact{border:1px solid var(--ink);padding:10px 20px;border-radius:4px}.hero{display:grid;grid-template-columns:1fr 300px;gap:70px;align-items:center;padding:75px 0 85px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:2px;margin:0 0 22px}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.12;letter-spacing:-1.6px;margin:0}h1{font-size:clamp(2.7rem,5vw,4.6rem);font-weight:800}h1 span{color:#56717e}p.intro{font-size:1.15rem;max-width:600px;color:var(--muted);margin:26px 0}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-block;border:0;border-radius:4px;background:var(--ink);color:#fff;padding:16px 22px;font-weight:600;cursor:pointer}.button:hover{background:#254957}.text-link{text-decoration:underline;text-underline-offset:6px;font-weight:600}.hero-note{font-size:.875rem;color:var(--muted);margin-top:24px}.rating{background:var(--ink);color:white;padding:32px;border-radius:6px;transform:rotate(2deg)}.rating-top{font-size:.8rem;letter-spacing:2px;line-height:1.6;color:#d5e0e5}.score{font:700 5.5rem/1.3 'Manrope',sans-serif;letter-spacing:-5px;margin-top:20px}.score span{font-size:1.3rem;letter-spacing:0;margin-left:10px;color:#b5c9d2}.stars{color:var(--accent);letter-spacing:5px;font-size:1.5rem}.rating p{color:#d5e0e5}.rating a{border-top:1px solid #49616c;display:block;padding-top:20px;font-weight:600}.rating small{display:block;font-size:.75rem;color:#b5c9d2;margin-top:16px}.trust{border-block:1px solid var(--line);background:var(--paper)}.trust .wrap{display:flex;justify-content:space-between;padding:20px 0;gap:20px;font-size:.9rem;font-weight:600}.section{padding:90px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:25px}h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:700}.section-heading>p{max-width:380px;color:var(--muted)}.price-note{font-size:.875rem;color:var(--muted);margin-bottom:30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:6px;padding:27px;display:flex;flex-direction:column;background:#fff}.featured{background:#eef4df;border-color:#c8d6a9}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.75rem;font-weight:700;letter-spacing:1px;min-height:30px;margin-bottom:25px}.tag{padding:3px 9px;border:1px solid #bac8cc;border-radius:30px;font-size:.75rem;letter-spacing:0}h3{font-size:1.4rem;letter-spacing:-.5px}.card>p{color:var(--muted)}.price{font:700 2.35rem/1.4 'Manrope',sans-serif;letter-spacing:-1px;margin:12px 0}.price small{font:500 .85rem 'DM Sans',sans-serif;letter-spacing:0}.card ul{padding:0;list-style:none;line-height:2;font-size:.9rem}.card li:before{content:'✓';margin-right:10px}.terms{font-size:.8rem;color:var(--muted)}.card button{border:0;border-top:1px solid #cbd7da;padding:18px 0 0;background:transparent;color:var(--ink);text-align:left;font-weight:700;cursor:pointer;margin-top:auto}.card button:hover{text-decoration:underline}.card .terms{margin-bottom:25px}.quote-price{font:700 1.2rem 'Manrope',sans-serif;margin:15px 0}.compact{background:var(--paper)}.about{background:var(--ink);color:white;padding:75px 0}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about .eyebrow{color:var(--accent)}.about p:not(.eyebrow){margin-top:0;color:#d6e1e6;font-size:1.05rem}.about small{display:block;font-size:.75rem;color:#b8c9d1;margin-top:24px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact>div>p:not(.eyebrow){max-width:400px;color:var(--muted)}.email{font-size:1.2rem;font-weight:600;display:inline-block;margin:15px 0;overflow-wrap:anywhere}form{background:var(--paper);padding:30px;border-radius:6px}label{display:block;font-size:.875rem;font-weight:600;margin:14px 0 7px}label:first-child{margin-top:0}input,textarea,select{width:100%;min-width:0;padding:12px;border:1px solid #bfced4;border-radius:3px;background:white;color:var(--ink)}textarea{resize:vertical}form .button{width:100%;margin-top:20px}footer{border-top:1px solid var(--line);padding:35px 0}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer a{font-size:.875rem;color:var(--muted)}#form-status{font-size:.875rem}@media(max-width:950px){.hero{gap:30px;grid-template-columns:1fr 250px}.rating{padding:24px}.grid{grid-template-columns:repeat(2,1fr)}.contact{gap:40px}.about-inner{gap:40px}}@media(max-width:650px){header{padding:22px 0;align-items:start}.brand{font-size:1.7rem}nav{gap:12px}nav>a:not(.nav-contact){display:none}.nav-contact{padding:8px 12px}.hero{grid-template-columns:1fr;padding:40px 0 50px;gap:32px}.rating{transform:none}.score{display:inline-block;margin:10px 15px 0 0;font-size:4rem}.stars{display:inline-block}.rating-top br{display:none}.rating p br{display:none}.rating p{margin:5px 0 18px}.trust .wrap{flex-direction:column;gap:7px}.section{padding:55px 0}.section-heading{display:block}.grid{grid-template-columns:1fr}.about-inner,.contact{grid-template-columns:1fr;gap:32px}.about{padding:50px 0}.contact form{padding:22px}.card{padding:24px}footer .wrap{align-items:start;flex-direction:column;gap:10px}.eyebrow{font-size:.75rem;letter-spacing:1.5px}.draft{font-size:.8rem}.intro{font-size:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.product-image{height:185px;background:white;margin:0 0 24px;display:flex;justify-content:center;border-radius:4px}.product-image img{height:100%;width:auto;max-width:100%;object-fit:contain}.example-label{font-size:.875rem!important;margin:-10px 0 15px!important;color:#53695b!important}.card details{margin:12px 0 25px}.card summary{cursor:pointer;font-size:.875rem;font-weight:600}.card details .terms{margin-bottom:0}.scope-note{margin-top:30px;padding:28px;background:var(--paper);border-left:4px solid var(--accent)}.scope-note p{margin-bottom:0;color:var(--muted);max-width:900px}.terms{font-size:.875rem}.card-top{font-size:.8rem}.brand small{font-size:.75rem;letter-spacing:.3px}.card li{line-height:1.6;margin:8px 0}.card ul{margin-top:5px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.project{margin:0;min-width:0}.project>a{display:block;overflow:hidden;border-radius:6px;background:var(--paper)}.project img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.project figcaption{padding:18px 0}.project h3{font-size:1.2rem;line-height:1.3}.project p{color:var(--muted);font-size:.95rem;margin:8px 0 0}@media(max-width:950px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:18px}}@media(max-width:650px){.project-grid{grid-template-columns:1fr}}

.trust .wrap{flex-wrap:wrap}.product-source{font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.card .product-image img{object-fit:contain}.card .terms{line-height:1.5}

.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.category-card{display:grid;grid-template-columns:145px 1fr;gap:24px;border:1px solid var(--line);border-radius:8px;padding:24px;align-items:center}.category-card:hover{border-color:var(--ink);background:var(--paper)}.category-card p{color:var(--muted);margin:12px 0}.category-card span{font-weight:700}.category-photo{height:180px;background:white;border-radius:5px;overflow:hidden}.category-photo img{width:100%;height:100%;object-fit:contain}.catalog{padding:35px 0 80px}.catalog-heading{margin:38px 0 30px}.catalog-heading h1{font-size:clamp(2.3rem,5vw,3.7rem)}.catalog-heading>p:last-child{font-size:1.15rem;color:var(--muted)}.category-nav,.subnav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.category-nav a{border:1px solid var(--line);padding:10px 16px;border-radius:4px}.category-nav a[aria-current=page]{background:var(--ink);color:white}.subnav a{text-decoration:underline;text-underline-offset:5px;padding:5px 10px 5px 0}.catalog-group{padding:35px 0}.catalog-group h2{font-size:clamp(1.8rem,3vw,2.4rem)}.group-intro{color:var(--muted);margin-bottom:26px}.smart-guide{background:var(--ink);color:white;padding:38px;border-radius:6px;margin:30px 0}.smart-guide p{max-width:850px}.smart-guide .eyebrow{color:var(--accent)}.smart-guide h2{font-size:2rem}.product-cta{border-top:1px solid var(--line);margin-top:auto;padding-top:18px;font-weight:700}.product-cta:hover{text-decoration:underline}.scope-note .button{margin-top:20px}.scope-note .text-link{display:inline-block;margin-top:18px}@media(max-width:850px){.category-card{grid-template-columns:100px 1fr;gap:18px;padding:20px}.category-photo{height:150px}}@media(max-width:650px){.category-grid{grid-template-columns:1fr}.category-card{grid-template-columns:100px 1fr}.category-nav>a:not(.nav-contact){display:block}.subnav>a:not(.nav-contact){display:block}.category-nav{font-size:.875rem}.catalog{padding-top:20px}.smart-guide{padding:24px}}

[hidden]{display:none!important}

/* Quality review: navigation, readable type and keyboard access. */
.skip-link{position:absolute;left:1rem;top:-8rem;z-index:100;background:var(--ink);color:white;padding:.8rem 1rem;border-radius:4px}.skip-link:focus{top:1rem}
.wrap{max-width:1200px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid>*,.category-card>*,.contact>*,.about-inner>*{min-width:0}h1,h2,h3{overflow-wrap:break-word}.eyebrow,.card-top,.rating-top{font-size:.875rem}.card-top{margin-bottom:15px}.card h3{line-height:1.25}.card summary{padding:6px 0}.phone{display:block;font:700 1.3rem/1.5 'Manrope',sans-serif;margin-top:25px}.phone:hover,.footer-contact a:hover{text-decoration:underline}.email{margin-top:6px}.footer-contact{display:flex;flex-direction:column;gap:6px}.product-cta{min-height:44px}.category-nav a{min-height:44px}.card .product-image{height:185px}.card .product-image img{height:100%;width:auto;max-width:100%;object-fit:contain}.category-photo img{width:100%;height:100%}.smart-guide p{line-height:1.7}.scope-note h3{line-height:1.3}.contact label{font-size:1rem}.brand small{line-height:1.4;letter-spacing:.2px;margin-top:5px}
@media(max-width:950px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}header.wrap{flex-wrap:wrap;gap:20px}header nav{flex-wrap:wrap;gap:10px 20px}}
@media(max-width:650px){.grid{grid-template-columns:1fr}header.wrap{padding:20px 0;gap:16px}header nav{width:100%;display:flex;flex-wrap:wrap;gap:4px 15px;font-size:.875rem}header nav>a:not(.nav-contact){display:inline-flex;align-items:center;min-height:44px}header nav .nav-contact{display:inline-flex;align-items:center;min-height:44px;padding:7px 12px}.category-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-nav a{padding:10px;display:flex;align-items:center;line-height:1.4}.category-card{padding:18px;gap:16px;grid-template-columns:85px minmax(0,1fr)}.category-card h3{font-size:1.2rem}.category-card p{font-size:.95rem}.hero{padding-top:28px}.section-heading{margin-bottom:22px}.catalog-group{padding:26px 0}.smart-guide{padding:24px}.subnav{gap:8px;line-height:1.4}.subnav a{min-height:44px;display:inline-flex!important;align-items:center}form{padding:22px}}

/* Consistent price estimates across all water heaters. */
.price-estimate .estimate-prefix{font-size:1rem;letter-spacing:0}.price-estimate .price-amount{white-space:nowrap}.price-estimate small{display:block;margin-top:2px}

/* Contact form delivery states. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}form[aria-busy="true"]{cursor:progress}form button:disabled{opacity:.65;cursor:wait}#form-status.form-success{background:#e7f2dd;border-left:4px solid #527335;padding:15px;color:#234214}#form-status.form-error{background:#fff0ed;border-left:4px solid #b43e30;padding:15px;color:#7d2f25}.legal-copy{max-width:800px;margin:auto}.legal-copy h2{font-size:1.5rem;letter-spacing:-.5px;margin:30px 0 12px}.legal-copy a{text-decoration:underline;text-underline-offset:3px}

/* Search and enquiry improvements, 29 September 2026. */
.catalog-intro{font-size:1.15rem;color:var(--muted);max-width:850px}.catalog-heading .actions{margin-top:24px}.catalog-heading .terms{font-size:.9rem;color:var(--muted);margin-top:14px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.9rem;margin:0}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}.breadcrumbs span{display:inline-flex;align-items:center}.faq{max-width:850px;padding:45px 0 20px}.faq h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:24px}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 4px;line-height:1.5}.faq p{color:var(--muted);margin:8px 4px 16px}.how-it-works{padding:0 0 30px}.how-it-works h2{margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;counter-reset:steps}.steps li{counter-increment:steps;border-top:2px solid var(--line);padding-top:20px}.steps li:before{content:"0" counter(steps);display:block;color:var(--muted);font-weight:700;margin-bottom:12px}.steps h3{font-size:1.2rem}.steps p{color:var(--muted)}.form-help{font-size:.95rem;color:var(--muted);margin-top:0}.footer-links{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:8px 24px!important;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.footer-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}summary:focus-visible{outline:3px solid #597b00;outline-offset:4px}.actions .text-link{min-height:44px;display:inline-flex;align-items:center}.hero-call{font-size:.95rem}
@media(max-width:650px){.steps{grid-template-columns:1fr;gap:16px}.how-it-works{padding-bottom:0}.faq{padding-top:30px}.breadcrumbs>a:not(.nav-contact){display:inline-flex}.breadcrumbs{width:100%;gap:8px}.footer-links{flex-direction:row!important}.catalog-heading .actions{gap:12px 22px}}
