.service-banner{background:linear-gradient(120deg,#3614ef,#a400ff);color:#fff;padding:45px 20px}.service-banner>.wrap{display:grid;grid-template-columns:1fr 300px;gap:45px;align-items:center}.service-banner h1{font-size:40px;line-height:1.1;text-transform:uppercase;margin:28px 0 20px}.service-banner p{font-size:18px;font-weight:600;line-height:1.5}.service-banner img{width:250px;height:250px;object-fit:contain;margin:auto}.breadcrumbs{font-size:16px}.breadcrumbs a{color:#f768f0}.service-banner .supply-notice{background:var(--ink);padding:14px;border-radius:6px;font-size:16px;font-style:italic;margin-top:20px}.supply-notice strong{color:#ef54e6}.service-page .header nav>ul>li:first-child>a{color:#fff}.service-page .header nav>ul>li:nth-child(2)>a{color:var(--pink)}.products{padding:0 10px}.product-row{border:5px solid #e0d9f7;border-radius:14px;margin:10px 0 25px;padding:16px;display:grid;grid-template-columns:240px 1fr 300px;gap:25px;align-items:start}.product-copy{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.product-copy h2{font-size:22px;line-height:1.2;text-transform:uppercase;margin:0 0 12px}.product-copy h3{font-size:17px;line-height:1.3;text-transform:uppercase;margin:0 0 16px;color:var(--violet)}.product-copy p{margin:12px 0}.product-copy ul{padding-left:20px;margin:15px 0}.product-copy li{margin-bottom:12px}.product-gallery{text-align:center;min-width:0}.gallery-main{height:205px;display:grid;place-items:center}.enlarge-image{background:#fff;border:0;padding:0;width:100%;height:100%;cursor:zoom-in}.enlarge-image[hidden]{display:none}.enlarge-image img{width:100%;height:205px;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:5px 0}.gallery-controls button{border:0;background:transparent;color:var(--violet);font-size:30px;line-height:1;padding:0 15px}.gallery-count{font-size:12px}.product-gallery>p{font-size:14px;font-style:italic;margin:5px 0 15px}.video-button{font-size:13px;padding:12px 22px}.booking-card{background:var(--ink);border-radius:20px;padding:12px;text-align:center;color:white}.booking-card h3{color:var(--pink);font-size:18px}.booking-card h4{font-size:18px;line-height:1.2;margin:0 0 20px}.booking-card>p{background:#ffffff29;border-radius:16px;margin:20px 0 0;padding:12px;font-size:13px;line-height:1.3}.booking-card p a{text-decoration:underline}.booking-card .button{padding:14px 25px}.more-taps{text-align:center;padding:20px 10px 50px}.plumbing-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding:60px 20px}.plumbing-intro h2,.plumbing-summary h2{font-size:40px;line-height:1.1;text-transform:uppercase;margin-bottom:22px}.plumbing-intro p{margin-bottom:18px}.plumbing-intro .booking-card{margin-top:25px}.plumbing-photo{position:relative;align-self:stretch;min-height:420px}.plumbing-photo>img:first-child{height:100%;width:100%;object-fit:cover;border:8px solid white;border-radius:22px;box-shadow:0 0 15px #0003}.plumbing-photo .award{position:absolute;bottom:25px;left:25px;width:180px}.plumbing-summary{padding:25px 20px 40px;text-align:center}.plumbing-summary h3{color:var(--violet);font-size:22px;margin-bottom:20px}.plumbing-summary p{margin:12px 0}.text-link{color:var(--violet);text-decoration:underline}.plumbing-cards{padding:10px 10px 45px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.plumbing-cards article{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 16px #11006f20;display:flex;flex-direction:column}.plumbing-cards article>img{height:220px;width:100%;object-fit:cover}.plumbing-cards article>div{padding:22px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.plumbing-cards h3{font-size:21px;text-transform:uppercase;line-height:1.2;margin-bottom:15px}.plumbing-cards p{font-size:14px;line-height:1.6;margin-bottom:20px}.plumbing-cards .button{margin-top:auto;font-size:13px}.service-contact{padding:40px 20px;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#f4f3f8;border-radius:16px}.service-contact h2{font-size:30px;line-height:1.2}.service-contact h3{font-size:24px;text-transform:uppercase}.service-contact p{margin:20px 0}.service-contact .button{font-size:13px}.plumbing-faqs{padding:60px 20px}.plumbing-faqs h2{font-size:32px;text-transform:uppercase;margin-bottom:25px}.plumbing-faqs details{border-bottom:1px solid #d9d2ef;padding:16px 5px}.plumbing-faqs summary{font-weight:700;cursor:pointer;color:var(--violet)}.plumbing-faqs details p{padding:15px 20px 5px}.media-dialog{border:0;border-radius:15px;padding:48px 20px 20px;width:min(950px,95vw);max-height:95vh;background:#fff;color:var(--ink)}.media-dialog::backdrop{background:#09002ad9}.close-media{position:absolute;top:5px;right:12px;background:none;border:0;font-size:32px;color:var(--ink)}.media-content img{max-height:76vh;margin:auto;object-fit:contain}.media-content iframe{width:100%;aspect-ratio:16/9;border:0}.media-content p{font-size:13px;margin-top:10px}.media-content a{text-decoration:underline}.service-page .services{margin-top:25px}
@media(max-width:1100px){.product-row{grid-template-columns:190px 1fr 235px;gap:18px}.service-banner>.wrap{grid-template-columns:1fr 230px}.service-banner img{width:220px;height:220px}.product-copy h2{font-size:20px}.booking-card h4{font-size:16px}}
@media(max-width:767px){.service-banner{padding:55px 20px 30px}.service-banner>.wrap{display:flex;flex-direction:column;gap:25px}.service-banner h1{font-size:30px}.service-banner p{font-size:16px}.breadcrumbs{font-size:13px}.service-banner img{width:160px;height:160px}.product-row{grid-template-columns:1fr;padding:18px;margin-top:20px}.product-gallery{width:100%}.gallery-main,.enlarge-image img{height:260px}.product-copy h2{font-size:24px}.product-copy{font-size:16px}.product-copy h3{font-size:18px}.booking-card{width:100%}.booking-card h4{font-size:18px}.plumbing-intro{grid-template-columns:1fr;padding:40px 20px;gap:30px}.plumbing-intro h2,.plumbing-summary h2{font-size:30px}.plumbing-photo{height:380px;min-height:0}.plumbing-photo .award{width:130px}.plumbing-cards{grid-template-columns:1fr;padding:10px 20px 30px}.plumbing-cards p{font-size:16px}.service-contact{margin:0 15px;grid-template-columns:1fr;gap:30px}.plumbing-faqs h2{font-size:26px}.plumbing-faqs details p{padding-left:5px;padding-right:5px}}
.service-banner img{background:white;border-radius:50%;padding:8px}.service-banner:has(.supply-notice) h1{font-size:64px}
@media(max-width:767px){.service-banner:has(.supply-notice) h1{font-size:34px}}
