@font-face{font-family:newsreader;src:url(../media/newsreader_latin_opsz_wght-s.p.1pv2gabaqveyu.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:newsreader Fallback;src:local(Arial);ascent-override:80.52%;descent-override:29.03%;line-gap-override:0.0%;size-adjust:91.28%}.newsreader_12dbb872-module__MkAFGa__className{font-family:newsreader,newsreader Fallback}.newsreader_12dbb872-module__MkAFGa__variable{--font-plumb:"newsreader", "newsreader Fallback"}
.plumb-root{--font-headline:var(--font-plumb), var(--font-newsreader,"Newsreader"), Georgia, serif;--font-body:var(--font-plumb), var(--font-newsreader,"Newsreader"), Georgia, serif;--font-label:var(--font-plumb), var(--font-newsreader,"Newsreader"), Georgia, serif;--font-accent:var(--font-plumb), var(--font-newsreader,"Newsreader"), Georgia, serif}.plumb{font-family:var(--font-body);font-optical-sizing:auto;font-feature-settings:"kern", "liga";-webkit-font-smoothing:antialiased}.t-display{font-family:var(--font-headline);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.75rem,7.2vw,6.75rem);font-weight:300;line-height:.98}.t-phone{font-family:var(--font-headline);letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;font-size:clamp(2.5rem,11.6vw,8.25rem);font-weight:300;line-height:1}.t-h2{font-family:var(--font-headline);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.25rem,4.6vw,4rem);font-weight:300;line-height:1.04}.t-h3{font-family:var(--font-headline);letter-spacing:-.015em;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;line-height:1.15}.t-body{text-wrap:pretty;font-size:1.125rem;line-height:1.6}.t-label{font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:lining-nums tabular-nums;font-size:.8125rem;font-weight:500;line-height:1.4}.nums{font-variant-numeric:lining-nums tabular-nums}.pipe-link{background-image:linear-gradient(currentColor, currentColor), linear-gradient(var(--border), var(--border));background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 2px,100% 1px;padding-bottom:.08em}.panel .pipe-link{background-image:linear-gradient(currentColor, currentColor), linear-gradient(var(--panel-line), var(--panel-line))}.elbow path{stroke-dasharray:1;stroke-dashoffset:0}.svc-row{position:relative}.svc-row:before{content:"";background:var(--primary);transform-origin:0;height:2px;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.valve-lever{transform-box:view-box;transform-origin:320px 134px}.valve-drain{transform-box:view-box;transform-origin:640px 200px}.flow-dash{stroke-dasharray:10 22;stroke-linecap:round}.flow-drops{stroke-dasharray:1 12;stroke-linecap:round}.impeller{transform-box:fill-box;transform-origin:50%}.rail-marker{transition:left}.line-field{width:100%;color:var(--foreground);border:0;border-bottom:1px solid var(--border);background:0 0;background-image:linear-gradient(var(--primary), var(--primary));background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;border-radius:0;padding:.625rem 0;font-size:1.125rem;line-height:1.5;display:block}.line-field::placeholder{color:var(--muted-foreground)}.line-field:focus{background-size:100% 2px;outline:none}.line-field:disabled{opacity:.6}.line-field.is-flash{background-size:100% 2px;background-color:var(--pipe-water-soft)}@media (prefers-reduced-motion:no-preference){.pipe-link{transition:background-size .42s cubic-bezier(.22,1,.36,1)}.pipe-link:hover,.pipe-link:focus-visible{background-size:100% 2px,100% 1px}.pipe-prime{animation:1.4s cubic-bezier(.65,0,.35,1) .5s both pipe-prime}.line-field{transition:background-size .36s cubic-bezier(.22,1,.36,1),background-color .6s ease-out}.svc-row:before{transition:transform .52s cubic-bezier(.22,1,.36,1)}.svc-row:hover:before{transform:scaleX(1)}.valve-lever{transition:transform .64s cubic-bezier(.34,1.32,.5,1)}.valve-drain{transition:transform .9s cubic-bezier(.55,0,.3,1) .18s}.valve-open .valve-drain{transition:transform .7s cubic-bezier(.22,1,.36,1) .26s}.flow-dash{animation:1.1s linear infinite flow-run}.flow-drops{animation:.7s linear infinite drops-run}.flow-fill{animation:.7s cubic-bezier(.22,1,.36,1) both flow-fill}.impeller{animation:.8s linear infinite impeller-spin}.rail-marker{transition:left .52s cubic-bezier(.34,1.2,.5,1)}.slip-in{animation:.52s cubic-bezier(.22,1,.36,1) both slip-in}.pressure-test{transform-origin:0;animation:1.1s cubic-bezier(.65,0,.35,1) .2s both pressure-test}.swap-in{animation:.32s cubic-bezier(.22,1,.36,1) both swap-in}}@keyframes pipe-prime{0%{background-size:0% 2px,100% 1px}to{background-size:100% 2px,100% 1px}}@keyframes flow-run{to{stroke-dashoffset:-32px}}@keyframes drops-run{to{stroke-dashoffset:-13px}}@keyframes flow-fill{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes impeller-spin{to{transform:rotate(360deg)}}@keyframes slip-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes pressure-test{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes swap-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
