.hero-art[data-astro-cid-66u3kelc]{pointer-events:none;position:absolute;inset:0}.frame[data-astro-cid-66u3kelc]{aspect-ratio:1;object-fit:contain;width:min(52%,600px);height:auto;position:absolute;bottom:0;right:max(0px,50% - 720px)}@media (width>=961px) and (width<=1599px){.frame[data-astro-cid-66u3kelc]{width:min(48%,520px)}}@media (width<=960px){.frame[data-astro-cid-66u3kelc]{width:min(48%,400px)}}@media (width<=640px){.frame[data-astro-cid-66u3kelc]{width:200px;right:0}}.hero-waves[data-astro-cid-xovbaf3d]{pointer-events:none;--wave-gain:var(--hero-wave-gain,1);position:absolute;inset:0;overflow:hidden}.wave[data-astro-cid-xovbaf3d]{will-change:transform;width:200%;position:absolute;top:0;left:0}svg[data-astro-cid-xovbaf3d]{width:100%;height:100%;display:block;transform:scaleY(-1)}.stop-crest[data-astro-cid-xovbaf3d]{stop-color:var(--accent);stop-opacity:0}.stop-edge[data-astro-cid-xovbaf3d]{stop-color:var(--accent);stop-opacity:calc(var(--wave-strength) * var(--wave-gain))}.wave-back[data-astro-cid-xovbaf3d]{--wave-strength:.16;height:78%;animation:38s linear infinite reverse wave-slide}.wave-mid[data-astro-cid-xovbaf3d]{--wave-strength:.14;height:62%;animation:24s linear infinite wave-slide}.wave-front[data-astro-cid-xovbaf3d]{--wave-strength:.12;height:46%;animation:16s linear infinite reverse wave-slide}@keyframes wave-slide{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (width<=640px){.hero-waves[data-astro-cid-xovbaf3d]{--wave-gain:min(var(--hero-wave-gain,1), 1)}.wave-back[data-astro-cid-xovbaf3d]{height:58%}.wave-mid[data-astro-cid-xovbaf3d]{height:44%}.wave-front[data-astro-cid-xovbaf3d]{height:30%}}@media (prefers-reduced-motion:reduce){.wave[data-astro-cid-xovbaf3d]{animation:none}}.hero[data-astro-cid-ge2uvauf]{background:var(--surface);border-bottom:1px solid var(--border)}.hero-stage[data-astro-cid-ge2uvauf]{isolation:isolate;position:relative;overflow:clip}.content[data-astro-cid-ge2uvauf]{align-items:center;min-height:520px;padding-block:3rem;display:flex}.identity[data-astro-cid-ge2uvauf]{width:48%;max-width:46rem;margin-left:max(0px,50% - 720px);position:relative}.eyebrow[data-astro-cid-ge2uvauf]{color:var(--brand)}h1[data-astro-cid-ge2uvauf]{text-transform:uppercase;color:var(--brand);font-size:4.5rem}.lede[data-astro-cid-ge2uvauf]{max-width:34rem;color:var(--text-muted);font-size:1.15rem}.actions[data-astro-cid-ge2uvauf]{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.75rem;display:flex}.services-link[data-astro-cid-ge2uvauf]{text-underline-offset:4px;align-items:center;gap:.5rem;min-height:48px;font-weight:600;display:inline-flex}.services-link[data-astro-cid-ge2uvauf] svg{flex:none}.signature[data-astro-cid-ge2uvauf]{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;gap:.5rem 2rem;padding-block:1rem;font-size:.875rem;display:flex}@media (width>=1600px){.content[data-astro-cid-ge2uvauf]{min-height:640px}}@media (width<=960px){h1[data-astro-cid-ge2uvauf]{font-size:3.25rem}.identity[data-astro-cid-ge2uvauf]{width:51%}.content[data-astro-cid-ge2uvauf]{min-height:500px;padding-block:2rem}}@media (width<=640px){.content[data-astro-cid-ge2uvauf]{min-height:0;padding-block:.75rem 200px}.identity[data-astro-cid-ge2uvauf]{width:100%}h1[data-astro-cid-ge2uvauf]{max-width:22rem;margin-bottom:.25em;font-size:2.25rem}.lede[data-astro-cid-ge2uvauf]{display:none}.actions[data-astro-cid-ge2uvauf]{gap:.5rem;margin-top:1rem}.actions[data-astro-cid-ge2uvauf] .btn[data-astro-cid-ge2uvauf]{padding-inline:.75rem;font-size:.9rem}.services-link[data-astro-cid-ge2uvauf]{display:none}.signature[data-astro-cid-ge2uvauf]{gap:.25rem 1rem;padding-block:.5rem;font-size:.75rem}}.head[data-astro-cid-jdofyru5]{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;margin-bottom:2rem;display:flex}.intro[data-astro-cid-jdofyru5]{max-width:38rem;color:var(--text-muted);margin:0}.cards[data-astro-cid-jdofyru5]{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=700px){.cards[data-astro-cid-jdofyru5]{grid-template-columns:repeat(2,minmax(0,1fr))}.featured[data-astro-cid-jdofyru5]{grid-column:1/-1}}@media (width>=1100px){.cards[data-astro-cid-jdofyru5]{grid-template-columns:repeat(4,minmax(0,1fr))}.featured[data-astro-cid-jdofyru5]{grid-area:span 2/span 2}}.card[data-astro-cid-jdofyru5]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform .3s var(--ease-out), border-color .3s, box-shadow .3s;flex-direction:column;display:flex;position:relative;overflow:hidden}.card[data-astro-cid-jdofyru5]:before{content:"";z-index:2;background:var(--rule-accent);transform-origin:0;height:3px;transition:transform .4s var(--ease-out);position:absolute;inset:0 0 auto;transform:scaleX(0)}.card[data-astro-cid-jdofyru5]:hover,.card[data-astro-cid-jdofyru5]:focus-within{border-color:var(--accent);transform:translateY(-4px)}.card[data-astro-cid-jdofyru5]:hover:before,.card[data-astro-cid-jdofyru5]:focus-within:before{transform:scaleX(1)}.media[data-astro-cid-jdofyru5]{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}@media (width>=1100px){.card[data-astro-cid-jdofyru5]:not(.featured) .media[data-astro-cid-jdofyru5]{aspect-ratio:1}.featured[data-astro-cid-jdofyru5] .media[data-astro-cid-jdofyru5]{aspect-ratio:auto;flex:1;min-height:22rem}}@media (width>=1800px){.card[data-astro-cid-jdofyru5]:not(.featured) .media[data-astro-cid-jdofyru5]{aspect-ratio:4/3}}@media (width>=700px) and (width<=1099px){.featured[data-astro-cid-jdofyru5] .media[data-astro-cid-jdofyru5]{aspect-ratio:16/9}}.frames[data-astro-cid-jdofyru5]{position:absolute;inset:0}.shot[data-astro-cid-jdofyru5]{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.shot[data-astro-cid-jdofyru5].active{opacity:1}[data-astro-cid-jdofyru5][data-running=held] .progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5].active:after{animation-play-state:paused}.progress[data-astro-cid-jdofyru5]{z-index:1;background:linear-gradient(to bottom, color-mix(in srgb, var(--logo-ink) 50%, transparent), transparent);gap:.35rem;padding:.85rem .85rem 1.75rem;display:flex;position:absolute;inset:0 0 auto}[data-astro-cid-jdofyru5][data-showcase-card]:not([data-running]) .progress[data-astro-cid-jdofyru5]{display:none}@media (prefers-reduced-motion:reduce){.progress[data-astro-cid-jdofyru5]{display:none}}.progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5]{background:color-mix(in srgb, var(--ink-inverse) 40%, transparent);border-radius:2px;flex:1;height:3px;position:relative;overflow:hidden}.progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5]:after{content:"";background:var(--ink-inverse);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5].done:after,[data-astro-cid-jdofyru5][data-running=false] .progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5].active:after{transform:scaleX(1)}[data-astro-cid-jdofyru5][data-running=true] .progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5].active:after,[data-astro-cid-jdofyru5][data-running=held] .progress[data-astro-cid-jdofyru5] span[data-astro-cid-jdofyru5].active:after{animation:fill var(--showcase-delay,5s) linear forwards}@keyframes fill{to{transform:scaleX(1)}}.count[data-astro-cid-jdofyru5]{z-index:1;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.8rem;font-weight:600;line-height:1.2;display:inline-flex;position:absolute;bottom:.85rem;left:.85rem}.photo-controls[data-astro-cid-jdofyru5]{z-index:4;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;display:flex;position:absolute;bottom:.75rem;right:.75rem}.photo-controls[data-astro-cid-jdofyru5][hidden]{display:none}.photo-controls[data-astro-cid-jdofyru5] button[data-astro-cid-jdofyru5]{border-radius:var(--radius-sm);width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.photo-controls[data-astro-cid-jdofyru5] button[data-astro-cid-jdofyru5]:hover{color:var(--accent);background:var(--surface-2)}.position[data-astro-cid-jdofyru5]{text-align:center;width:4ch;font-size:.75rem}.body[data-astro-cid-jdofyru5]{flex-direction:column;padding:1.25rem 1.5rem 1.1rem;display:flex}.featured[data-astro-cid-jdofyru5] .body[data-astro-cid-jdofyru5]{padding:1.5rem 1.75rem 1.25rem}.index[data-astro-cid-jdofyru5]{font:700 .95rem/1 var(--font-display);color:var(--accent)}.service-mark[data-astro-cid-jdofyru5]{color:var(--accent);align-items:center;gap:.75rem;display:flex}.service-mark[data-astro-cid-jdofyru5] .service-icon{width:1.75rem;height:1.75rem}h3[data-astro-cid-jdofyru5]{margin:.5rem 0 .4rem}.featured[data-astro-cid-jdofyru5] h3[data-astro-cid-jdofyru5]{font-size:1.9rem}h3[data-astro-cid-jdofyru5] a[data-astro-cid-jdofyru5]{color:var(--brand);text-decoration:none}h3[data-astro-cid-jdofyru5] a[data-astro-cid-jdofyru5]:after{content:"";z-index:3;position:absolute;inset:0}h3[data-astro-cid-jdofyru5] a[data-astro-cid-jdofyru5]:focus-visible{outline:none}.card[data-astro-cid-jdofyru5]:has(h3 a:focus-visible){outline:3px solid var(--link);outline-offset:3px}.body[data-astro-cid-jdofyru5] p[data-astro-cid-jdofyru5]{color:var(--text-muted);margin:0}[data-astro-cid-jdofyru5][data-showcase-caption]{display:grid}[data-astro-cid-jdofyru5][data-showcase-description]{visibility:hidden;grid-area:1/1}[data-astro-cid-jdofyru5][data-showcase-description].active{visibility:visible}.cta[data-astro-cid-jdofyru5]{min-height:48px;color:var(--link);align-items:center;gap:.35rem;margin-bottom:-.5rem;font-weight:600;display:inline-flex}.arrow[data-astro-cid-jdofyru5]{transition:transform .3s var(--ease-out)}.card[data-astro-cid-jdofyru5]:hover .arrow[data-astro-cid-jdofyru5],.card[data-astro-cid-jdofyru5]:focus-within .arrow[data-astro-cid-jdofyru5]{transform:translate(4px)}.more[data-astro-cid-jdofyru5]{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:1.5rem 0 0;display:flex}.more[data-astro-cid-jdofyru5] a[data-astro-cid-jdofyru5]{align-items:center;min-height:48px;font-weight:600;display:inline-flex}.cutaway{--c-line:var(--border);--c-fixture:var(--text-muted);--c-supply:var(--accent);--c-drain:color-mix(in srgb, var(--brand) 58%, var(--surface));--c-gas:var(--text-muted);--c-soil:var(--surface-2);grid-template-columns:minmax(0,1fr);grid-template-areas:"art""legend""caption";align-items:start;gap:.625rem;display:grid}@media (width>=1100px){.cutaway{grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);grid-template-areas:"art legend""caption legend";gap:.75rem 2rem}}.cutaway[hidden]{display:none}.cutaway .art-wrap{grid-area:art;gap:.5rem;min-width:0;display:grid}.cutaway .art{aspect-ratio:12/7;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:auto;max-height:78vh;margin-inline:auto;overflow:hidden}.cutaway .camera{transform-origin:0 0;transition:transform .8s var(--ease-out)}.cutaway[data-cutaway-motion]:not([data-cutaway-motion=running]) .art *{animation-play-state:paused!important}.cutaway .soil{fill:var(--c-soil)}.cutaway .hatch{stroke:var(--border);stroke-width:2px}.cutaway .grade{stroke:var(--c-fixture);stroke-width:2px}.cutaway .road{fill:var(--c-fixture)}.cutaway .curb{fill:var(--border)}.cutaway .asphalt{fill:color-mix(in srgb, var(--c-fixture) 55%, var(--surface-2))}.cutaway .stripe{stroke:var(--surface);stroke-width:2px;stroke-dasharray:10 14}.cutaway .roof{fill:var(--surface-2);stroke:var(--c-fixture);stroke-width:3px;stroke-linejoin:round}.cutaway .wall{fill:var(--surface);stroke:var(--c-fixture);stroke-width:3px}.cutaway .slab{fill:var(--border)}.cutaway .partition{stroke:var(--c-line);stroke-width:6px}.cutaway .partition.thin{stroke-width:3px;stroke-dasharray:8 6}.cutaway .window{fill:var(--surface-2);stroke:var(--c-line);stroke-width:2.5px}.cutaway .muntin{stroke:var(--c-line);stroke-width:2px}.cutaway .label{fill:var(--text-muted);font:600 17px var(--font-display);text-transform:uppercase}.cutaway .label.small{font-size:12px}.cutaway .main{stroke-width:5px}.cutaway .supply-main{fill:var(--accent-soft);stroke:var(--c-supply)}.cutaway .sewer-main{fill:var(--surface-2);stroke:var(--c-drain)}.cutaway .gas-main{fill:var(--surface);stroke:var(--c-gas);stroke-width:3px;stroke-dasharray:5 4}.cutaway .trunk{fill:var(--c-fixture)}.cutaway .canopy{fill:var(--surface-2);stroke:var(--c-fixture);stroke-width:2.5px}.cutaway .root{fill:none;stroke:var(--c-fixture);stroke-linecap:round;opacity:.55}.cutaway .meter-box{fill:var(--surface);stroke:var(--c-fixture);stroke-width:2.5px}.cutaway .lid{fill:var(--border);stroke:var(--c-fixture);stroke-width:2px}.cutaway .meter{fill:var(--surface);stroke:var(--c-supply);stroke-width:3px}.cutaway .meter-hand{stroke:var(--c-supply);stroke-width:2.5px;stroke-linecap:round;transform-box:view-box}.cutaway .flue{fill:none;stroke:var(--c-fixture);stroke-width:6px;stroke-linecap:round;opacity:.55}.cutaway .duct{fill:var(--surface-2);stroke:var(--c-fixture);stroke-width:2px}.cutaway .cap-vent{stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round}.cutaway .pipe{fill:none;stroke-linecap:round;stroke-linejoin:round}.cutaway .supply{stroke:var(--c-supply);stroke-width:7px}.cutaway .drain{stroke:var(--c-drain);stroke-width:11px}.cutaway .gas{stroke:var(--c-gas);stroke-width:5px}.cutaway .halo{fill:none;stroke:var(--surface);stroke-width:15px;stroke-linejoin:round;opacity:calc((1 - var(--draw)) * var(--dim))}.cutaway .flow{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:calc((1 - var(--draw)) * var(--dim,1));animation:1.6s linear infinite cutaway-flow}.cutaway .supply-flow{stroke:var(--surface);stroke-width:2.5px;stroke-dasharray:2 22}.cutaway .drain-flow{stroke:var(--surface);stroke-width:3.5px;stroke-dasharray:7 29;opacity:calc((.7 - var(--draw)) * var(--dim,1));animation:2.6s linear infinite cutaway-flow-drain}.cutaway .gas-flow{stroke:var(--surface);stroke-width:1.5px;stroke-dasharray:4 12;animation-duration:3.2s}@keyframes cutaway-flow{to{stroke-dashoffset:-48px}}@keyframes cutaway-flow-drain{to{stroke-dashoffset:-72px}}.cutaway .cleanout{stroke:var(--c-drain);stroke-width:7px}.cutaway .cap{fill:var(--c-drain)}.cutaway .fitting{fill:var(--surface);stroke:var(--c-supply);stroke-width:4px}.cutaway .valve{fill:var(--c-supply);stroke:var(--c-supply);stroke-width:2px;stroke-linejoin:round}.cutaway .valve-stem{fill:none;stroke:var(--c-supply);stroke-width:4px;stroke-linecap:round}.cutaway .valve-wheel{fill:var(--surface);stroke:var(--c-supply);stroke-width:3px}.cutaway .joint{fill:var(--surface);stroke:var(--c-supply);stroke-width:4px}.cutaway .stop{fill:var(--surface);stroke:var(--c-supply);stroke-width:2.5px}.cutaway .hanger{stroke:var(--c-line);stroke-width:2.5px;stroke-linecap:round}.cutaway .meter-box.gas{stroke:var(--c-gas)}.cutaway .meter-dial{fill:none;stroke:var(--c-gas);stroke-width:2.5px}.cutaway .gas-valve{fill:var(--c-gas)}.cutaway .expansion{fill:var(--accent-soft);stroke:var(--c-supply);stroke-width:3px}.cutaway .fixture{fill:none;stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.cutaway .solid{fill:var(--surface)}.cutaway .mirror{fill:var(--accent-soft)}.cutaway .counter{stroke-width:6px}.cutaway .cabinet{stroke-width:2px;stroke-dasharray:6 5}.cutaway .tank{fill:var(--surface-2);stroke:var(--c-fixture);stroke-width:3px}.cutaway .tank-band{stroke:var(--border);stroke-width:3px}.cutaway .burner{fill:var(--surface);stroke:var(--c-fixture);stroke-width:2px}.cutaway .tp-valve{fill:none;stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round}.cutaway .tp-drop{fill:none;stroke:var(--c-fixture);stroke-width:2px;stroke-linecap:round;opacity:.7}.cutaway .drain-valve{fill:var(--c-fixture)}.cutaway .hood{fill:var(--surface-2);stroke:var(--c-fixture);stroke-width:2.5px;stroke-linejoin:round}.cutaway .grate{stroke:var(--c-fixture);stroke-width:2px;stroke-linecap:round}.cutaway .flame{fill:var(--accent);transform-box:fill-box;transform-origin:50% 100%;animation:1.4s ease-in-out infinite alternate cutaway-flicker}@keyframes cutaway-flicker{0%{scale:1}50%{scale:.9 1.14}to{scale:1.05 .92}}.cutaway .spray path{stroke:var(--c-supply);stroke-width:2.5px;stroke-linecap:round;animation:1.1s linear infinite cutaway-spray}@keyframes cutaway-spray{0%{opacity:1;translate:0}to{opacity:0;translate:0 52px}}.cutaway .drum{fill:none;stroke:var(--c-supply);stroke-width:3px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;animation:2.8s linear infinite cutaway-spin}@keyframes cutaway-spin{to{rotate:360deg}}.cutaway .drip{fill:var(--c-supply);transform-box:fill-box;transform-origin:50% 0;animation:2.8s cubic-bezier(.55,0,1,.45) infinite cutaway-drip}@keyframes cutaway-drip{0%{opacity:0;translate:0;scale:.3}30%{opacity:1;translate:0;scale:1}62%{translate:0}86%{opacity:1;translate:0 12px}90%,to{opacity:0;translate:0 12px}}.cutaway .splash{fill:none;stroke:var(--c-supply);stroke-width:2px;opacity:.5;transform-box:fill-box;transform-origin:50%;animation:2.8s ease-out infinite cutaway-splash}@keyframes cutaway-splash{0%,86%{opacity:0;scale:.2}90%{opacity:.8}to{opacity:0;scale:1.6}}.cutaway .sway{transform-box:fill-box;transform-origin:50% 100%;animation:5.2s ease-in-out infinite alternate cutaway-sway}@keyframes cutaway-sway{0%{rotate:-1.2deg}to{rotate:1.2deg}}.cutaway .meter-hand{animation:9s linear infinite cutaway-meter}@keyframes cutaway-meter{to{rotate:360deg}}.cutaway .wisp path{fill:none;stroke:var(--c-line);stroke-width:2px;stroke-linecap:round;animation:3.6s ease-out infinite cutaway-wisp}@keyframes cutaway-wisp{0%{opacity:0;translate:0}20%{opacity:.9}to{opacity:0;translate:0 -22px}}.cutaway .marker{--m:1;cursor:pointer}.cutaway .marker .dot{fill:var(--accent);stroke:var(--surface);stroke-width:4px;scale:calc(var(--m) * (1 + .2 * var(--mine)));transition:scale .25s var(--ease-out)}.cutaway .marker .dot,.cutaway .marker .ring,.cutaway .marker .num{transform-box:fill-box;transform-origin:50%}.cutaway .marker .ring{fill:none;stroke:var(--accent);stroke-width:3px;opacity:0;animation:2.7s ease-out infinite cutaway-pulse}.cutaway .marker .num{fill:var(--on-accent);font:700 19px var(--font-display);pointer-events:none;scale:var(--m)}@keyframes cutaway-pulse{0%{scale:var(--m);opacity:.6}70%,to{scale:calc(var(--m) * 1.9);opacity:0}}.cutaway :is(.sys,.group,.marker,.caption){transition:opacity .3s var(--ease-out)}.cutaway :where(.sys,.group){--dim:calc(1 - .86 * var(--any) * (1 - var(--mine)));opacity:var(--dim)}.cutaway .marker{opacity:calc(1 - .7 * var(--any) * (1 - var(--mine)))}.cutaway[data-active] .camera{transform:var(--shot)}@media (width<=700px){.cutaway[data-active] .camera{transform:var(--near)}}.cutaway[data-active] .marker{opacity:0;pointer-events:none}.cutaway .cutaway-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;min-height:48px;display:flex}.cutaway .view-titles{flex:7.75rem;min-width:0;display:grid}.cutaway .view-title{font:700 1rem/1.3 var(--font-body);color:var(--brand);align-items:center;gap:.375rem;display:flex}.cutaway :is(.caption,.view-title){visibility:var(--visibility,hidden);opacity:var(--mine);grid-area:1/1;margin:0}.cutaway :is(.caption,.view-title).idle{visibility:var(--idle,visible);opacity:calc(1 - var(--any))}.cutaway .captions{border-top:1px solid var(--border);grid-area:caption;min-width:0;padding-top:.5rem;display:grid}.cutaway .caption{color:var(--text-muted);grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:.5rem;font-size:.95rem;line-height:1.45;display:grid}.cutaway .caption p{margin:0}.cutaway .caption-num{background:var(--accent);height:1.6rem;color:var(--on-accent);font:700 .85rem/1 var(--font-display);border-radius:50%;flex:0 0 1.6rem;place-items:center;display:inline-grid}.cutaway .cutaway-controls{gap:.25rem;margin-inline-start:auto;display:flex}.cutaway :is(.cutaway-control,.scene-link){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:48px;height:48px;color:var(--text);cursor:pointer;place-items:center;padding:0;display:grid;position:relative}.cutaway .cutaway-control[hidden]{visibility:hidden}.cutaway .cutaway-control[aria-disabled=true]{color:var(--text-muted)}.cutaway :is(.cutaway-control,.scene-link):hover{border-color:var(--accent);color:var(--accent)}.cutaway .cutaway-control>span{display:flex}.cutaway .cutaway-tooltip{border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;max-width:160px;color:var(--text);background:var(--surface);font:500 .75rem/1.4 var(--font-body);pointer-events:none;visibility:hidden;z-index:3;padding:.4rem .65rem;position:absolute;bottom:calc(100% + 6px);right:0}.cutaway :is(.cutaway-control,.scene-link):focus-visible .cutaway-tooltip{visibility:visible}@media (hover:hover) and (pointer:fine){.cutaway :is(.cutaway-control,.scene-link):hover .cutaway-tooltip{visibility:visible}}.cutaway .legend{grid-area:legend;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=1100px){.cutaway .legend{grid-template-columns:1fr}}.cutaway .legend li{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .25s, transform .25s var(--ease-out), background-color .25s;grid-template-columns:minmax(0,1fr) auto;display:grid}.cutaway .legend li:has(.pick:is(:focus-visible,[aria-pressed=true])){border-color:var(--accent);background:var(--accent-soft)}@media (hover:hover) and (pointer:fine){.cutaway .legend li:has(.pick:hover){border-color:var(--accent);background:var(--accent-soft)}}.cutaway .legend .divider{font:600 .8rem/1.2 var(--font-display);text-transform:uppercase;color:var(--text-muted);background:0 0;border:0;padding:.6rem .25rem .1rem;display:block}.cutaway .pick{border-radius:var(--radius-md) 0 0 var(--radius-md);min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.55rem .8rem;display:grid}.cutaway .more{border-left:1px solid var(--border);border-radius:0 var(--radius-md) var(--radius-md) 0;width:48px;min-height:48px;color:var(--accent);place-items:center;display:grid}.cutaway .more svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem;transition:translate .2s var(--ease-out)}.cutaway .more:hover svg,.cutaway .more:focus-visible svg{translate:3px}.cutaway .legend .num{background:var(--accent);width:2.1rem;height:2.1rem;color:var(--on-accent);font:700 .95rem/1 var(--font-display);border-radius:50%;place-items:center;display:grid}.cutaway .text{gap:.05rem;min-width:0;display:grid}.cutaway .name{color:var(--brand);font-weight:700;line-height:1.3}.cutaway .short-name{font-weight:600;line-height:1.25;display:none}.cutaway .hint{color:var(--text-muted);font-size:.85rem;line-height:1.35}.cutaway .legend .legend-icon{width:1.9rem;height:1.9rem;color:var(--accent)}.cutaway[data-cutaway-motion] .legend{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8.5rem,50% - .1875rem)),1fr));gap:.375rem}.cutaway[data-cutaway-motion] .legend li{min-width:0;display:block}.cutaway[data-cutaway-motion] .legend :is(.divider,.name,.hint,.legend-icon,.more){display:none}.cutaway[data-cutaway-motion] .short-name{display:block}.cutaway[data-cutaway-motion] .pick{border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr);gap:.375rem;width:100%;height:100%;padding:.375rem .5rem;font-size:.875rem}.cutaway[data-cutaway-motion] .legend .num{width:1.625rem;height:1.625rem;color:var(--brand);background:var(--surface-2);font-size:.8rem}.cutaway[data-cutaway-motion] .pick[aria-pressed=true] .num{color:var(--on-accent);background:var(--accent)}@media (width>=701px){.cutaway[data-cutaway-motion] .pick{gap:.625rem;min-height:64px;padding:.75rem;font-size:1rem}}@media (width<=480px){.cutaway .legend .legend-icon{display:none}.cutaway .pick{gap:.7rem;padding-inline:.7rem}}@media (width<=700px){.cutaway .label{display:none}.cutaway .marker{--m:1.5}.cutaway .view-title,.cutaway .caption{font-size:.875rem}}.scene[data-astro-cid-wbuxqoou]{--on:0;--run:paused;opacity:var(--on);translate:0 calc((1 - var(--on)) * 5px);pointer-events:none;transition:opacity .35s var(--ease-out), translate .35s var(--ease-out)}.scene-leaks[data-astro-cid-wbuxqoou]{--on:var(--on-leaks,0);--run:var(--run-leaks,paused)}.scene-drains[data-astro-cid-wbuxqoou]{--on:var(--on-drains,0);--run:var(--run-drains,paused)}.scene-water-heaters[data-astro-cid-wbuxqoou]{--on:var(--on-water-heaters,0);--run:var(--run-water-heaters,paused)}.scene-fixtures[data-astro-cid-wbuxqoou]{--on:var(--on-fixtures,0);--run:var(--run-fixtures,paused)}.scene-repipe[data-astro-cid-wbuxqoou]{--on:var(--on-repipe,0);--run:var(--run-repipe,paused)}.scene-gas[data-astro-cid-wbuxqoou]{--on:var(--on-gas,0);--run:var(--run-gas,paused)}.scene-service-line[data-astro-cid-wbuxqoou]{--on:var(--on-service-line,0);--run:var(--run-service-line,paused)}.scene-sewer-repair[data-astro-cid-wbuxqoou]{--on:var(--on-sewer-repair,0);--run:var(--run-sewer-repair,paused)}.scene-rough-in[data-astro-cid-wbuxqoou]{--on:var(--on-rough-in,0);--run:var(--run-rough-in,paused)}.scene-flush[data-astro-cid-wbuxqoou]{--on:var(--on-flush,0);--run:var(--run-flush,paused)}.shadow[data-astro-cid-wbuxqoou]{fill:var(--text);opacity:.1}.bag-body[data-astro-cid-wbuxqoou]{fill:var(--surface-2);stroke:var(--figure-tool);stroke-width:2.5px;stroke-linejoin:round}.bag-handle[data-astro-cid-wbuxqoou],.bag-tool[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-tool);stroke-width:2.5px;stroke-linecap:round}.coupling[data-astro-cid-wbuxqoou]{stroke:var(--figure-suit-shade);stroke-width:11px;stroke-linecap:round}.pipe-front[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--c-supply);stroke-width:7px;stroke-linecap:round}.spoil[data-astro-cid-wbuxqoou]{fill:var(--c-soil);stroke:var(--c-fixture);stroke-width:2px;stroke-linejoin:round}.shovel[data-astro-cid-wbuxqoou]{stroke:var(--figure-tool);stroke-width:3px;stroke-linecap:round}.shovel-blade[data-astro-cid-wbuxqoou]{fill:var(--figure-tool);stroke:var(--halo,var(--surface));stroke-width:1.5px}.new-pipe-drain[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--surface);stroke-width:11px;stroke-linecap:round;paint-order:stroke}.new-section[data-astro-cid-wbuxqoou] .new-pipe-drain[data-astro-cid-wbuxqoou]{stroke:var(--surface)}.band[data-astro-cid-wbuxqoou]{stroke:var(--figure-boot);stroke-width:13px;stroke-linecap:butt}.grate-new[data-astro-cid-wbuxqoou]{stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round}.root-mass[data-astro-cid-wbuxqoou] path[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-boot);stroke-width:2.6px;stroke-linecap:round}.root-mass[data-astro-cid-wbuxqoou] .root-halo[data-astro-cid-wbuxqoou]{stroke:var(--surface);stroke-width:6px}@media (prefers-reduced-motion:reduce){.root-mass[data-astro-cid-wbuxqoou]{display:none}}.root-mass[data-astro-cid-wbuxqoou]{transform-box:fill-box;transform-origin:50%}.hose[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-tool);stroke-width:3.5px;stroke-linecap:round}.grit[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-boot);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:2.5 5;opacity:0}.silt[data-astro-cid-wbuxqoou]{fill:var(--figure-tool);transform-box:fill-box;transform-origin:50% 100%;scale:1 0}.handle[data-astro-cid-wbuxqoou]{stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round}.bucket[data-astro-cid-wbuxqoou]{fill:var(--surface-2);stroke:var(--figure-tool);stroke-width:2.5px;stroke-linejoin:round}.bucket-rim[data-astro-cid-wbuxqoou]{stroke:var(--figure-tool);stroke-width:3px;stroke-linecap:round}.bucket-water[data-astro-cid-wbuxqoou],.flush-water[data-astro-cid-wbuxqoou]{fill:var(--c-supply);opacity:.25}.leak-ripple[data-astro-cid-wbuxqoou],.flush-ripple[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--c-supply);stroke-width:1px;opacity:0;transform-box:fill-box;transform-origin:50%}.flush-water[data-astro-cid-wbuxqoou]{transform-box:fill-box;transform-origin:50% 100%}.cap-off[data-astro-cid-wbuxqoou]{fill:var(--c-drain)}.machine[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-tool);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.wheel[data-astro-cid-wbuxqoou]{fill:var(--surface)}.drum[data-astro-cid-wbuxqoou]{fill:var(--surface-2);stroke:var(--figure-suit);stroke-width:4px}.drum-spokes[data-astro-cid-wbuxqoou]{stroke:var(--figure-suit);stroke-width:3px;stroke-linecap:round;transform-origin:892px 494px}.hub[data-astro-cid-wbuxqoou]{fill:var(--figure-suit)}.cable[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--figure-tool);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:7 4}.control[data-astro-cid-wbuxqoou]{fill:var(--surface);stroke:var(--c-fixture);stroke-width:2.5px}.knob[data-astro-cid-wbuxqoou]{fill:var(--figure-suit)}.knob-mark[data-astro-cid-wbuxqoou]{stroke:var(--surface);stroke-width:2px;stroke-linecap:round}.tub-front[data-astro-cid-wbuxqoou]{fill:var(--surface);stroke:var(--c-fixture);stroke-width:3px;stroke-linejoin:round}.old-pipe[data-astro-cid-wbuxqoou]{stroke:var(--c-fixture);stroke-width:7px;stroke-linecap:round;stroke-dasharray:3 5;opacity:.7}.new-pipe[data-astro-cid-wbuxqoou]{stroke:var(--c-supply);stroke-width:9px;stroke-linecap:round}.new-fitting[data-astro-cid-wbuxqoou]{stroke:var(--figure-suit-shade);stroke-width:5px;stroke-linecap:round}.dial-hand[data-astro-cid-wbuxqoou]{stroke:var(--c-gas);stroke-width:2.5px;stroke-linecap:round;transform-origin:84px 448px}.story-drip[data-astro-cid-wbuxqoou]{fill:var(--c-supply)}.flame-body[data-astro-cid-wbuxqoou],.glint[data-astro-cid-wbuxqoou],.spark[data-astro-cid-wbuxqoou]{fill:var(--accent)}.glint[data-astro-cid-wbuxqoou],.spark[data-astro-cid-wbuxqoou],.story-drip[data-astro-cid-wbuxqoou],.burner-flame[data-astro-cid-wbuxqoou],.flame-body[data-astro-cid-wbuxqoou],.press-flash[data-astro-cid-wbuxqoou],.burst-ring[data-astro-cid-wbuxqoou],.done[data-astro-cid-wbuxqoou]{transform-box:fill-box;transform-origin:50%}.story-drip[data-astro-cid-wbuxqoou]{transform-origin:50% 0}.burner-flame[data-astro-cid-wbuxqoou],.flame-body[data-astro-cid-wbuxqoou]{transform-origin:50% 100%}.glint[data-astro-cid-wbuxqoou],.spark[data-astro-cid-wbuxqoou],.press-flash[data-astro-cid-wbuxqoou],.burst[data-astro-cid-wbuxqoou],.rush[data-astro-cid-wbuxqoou],.splash-drops[data-astro-cid-wbuxqoou],.test-spray[data-astro-cid-wbuxqoou],.done[data-astro-cid-wbuxqoou]{opacity:0}.burner-flame[data-astro-cid-wbuxqoou]{scale:.35}.press-flash[data-astro-cid-wbuxqoou],.burst-ring[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--accent);stroke-width:2.5px}.burst-bits[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--c-drain);stroke-width:3px;stroke-linecap:round}.rush[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--surface);stroke-width:4px;stroke-linecap:round;stroke-dasharray:14 200}.test-spray[data-astro-cid-wbuxqoou] path[data-astro-cid-wbuxqoou]{stroke:var(--c-supply);stroke-width:2.5px;stroke-linecap:round}.splash-drops[data-astro-cid-wbuxqoou] path[data-astro-cid-wbuxqoou]{fill:var(--c-supply)}.done[data-astro-cid-wbuxqoou] circle[data-astro-cid-wbuxqoou]{fill:var(--accent);stroke:var(--surface);stroke-width:3px}.done[data-astro-cid-wbuxqoou] path[data-astro-cid-wbuxqoou]{fill:none;stroke:var(--on-accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.story-drip[data-astro-cid-wbuxqoou]{animation:leak-drip var(--loop) linear infinite var(--run)}.leak-ripple[data-astro-cid-wbuxqoou]{animation:leak-ripple var(--loop) ease-out infinite var(--run)}.glint[data-astro-cid-wbuxqoou]{animation:joint-glint var(--loop) ease-out infinite var(--run)}.drum-spokes[data-astro-cid-wbuxqoou]{animation:drum var(--loop) linear infinite var(--run)}.cable[data-astro-cid-wbuxqoou]{animation:cable-feed var(--loop) linear infinite var(--run)}.burst[data-astro-cid-wbuxqoou]{animation:burst var(--loop) ease-out infinite var(--run)}.burst-ring[data-astro-cid-wbuxqoou]{animation:burst-ring var(--loop) ease-out infinite var(--run)}.rush[data-astro-cid-wbuxqoou]{animation:rush var(--loop) linear infinite var(--run)}.knob-turn[data-astro-cid-wbuxqoou]{animation:knob var(--loop) ease-in-out infinite var(--run)}.spark[data-astro-cid-wbuxqoou]{animation:spark var(--loop) ease-out infinite var(--run)}.burner-flame[data-astro-cid-wbuxqoou]{animation:ignite var(--loop) ease-out infinite var(--run)}.flame-body[data-astro-cid-wbuxqoou]{animation:burner-flicker 1.4s ease-in-out infinite alternate var(--run)}.test-spray[data-astro-cid-wbuxqoou]{animation:test-spray var(--loop) linear infinite var(--run)}.test-spray[data-astro-cid-wbuxqoou] path[data-astro-cid-wbuxqoou]{animation:spray-burst .55s linear infinite var(--run)}.splash-drops[data-astro-cid-wbuxqoou]{animation:splash-drops var(--loop) ease-out infinite var(--run)}.scene-repipe[data-astro-cid-wbuxqoou] .jaws{animation:press-jaws var(--loop) ease-in-out infinite var(--run)}.new-fitting[data-astro-cid-wbuxqoou]{animation:fitting-first var(--loop) linear infinite var(--run)}.new-fitting[data-astro-cid-wbuxqoou].second{animation-name:fitting-second}.press-flash[data-astro-cid-wbuxqoou]{animation:flash-first var(--loop) ease-out infinite var(--run)}.press-flash[data-astro-cid-wbuxqoou].second{animation-name:flash-second}.scene-gas[data-astro-cid-wbuxqoou] .led{animation:led-blink .65s steps(1) infinite var(--run)}.scene-gas[data-astro-cid-wbuxqoou] .ping{animation:probe-ping 1.2s ease-out infinite var(--run)}.scene-gas[data-astro-cid-wbuxqoou] .ping+.ping{animation-delay:.3s}.dial-hand[data-astro-cid-wbuxqoou]{animation:dial-spin 3.2s linear infinite var(--run)}.done[data-astro-cid-wbuxqoou]{animation:done var(--loop) ease-out infinite var(--run)}.root-mass[data-astro-cid-wbuxqoou]{animation:roots-out var(--loop) ease-in-out infinite var(--run)}.new-section[data-astro-cid-wbuxqoou]{animation:section-in var(--loop) ease-out infinite var(--run)}.new-branch[data-astro-cid-wbuxqoou]{animation:branch-set var(--loop) ease-in-out infinite var(--run)}.valve-handle[data-astro-cid-wbuxqoou]{animation:handle-turn var(--loop) ease-in-out infinite var(--run)}.grit[data-astro-cid-wbuxqoou]{animation:grit-run .9s linear infinite var(--run), grit-show var(--loop) linear infinite var(--run)}.silt[data-astro-cid-wbuxqoou]{animation:silt-fill var(--loop) linear infinite var(--run)}.flush-water[data-astro-cid-wbuxqoou]{animation:flush-fill var(--loop) linear infinite var(--run)}.flush-ripple[data-astro-cid-wbuxqoou]{animation:flush-ripple var(--loop) ease-out infinite var(--run)}@keyframes leak-drip{0%{opacity:0;translate:0;scale:.2}8.6%{opacity:1;translate:0;scale:1}9.7%{animation-timing-function:cubic-bezier(.55,0,1,.45);translate:0}12.5%{opacity:1;translate:0 7px}13%{opacity:0;translate:0 7px}15.6%{opacity:0;translate:0;scale:.2}26.6%{opacity:1;translate:0;scale:1}27.6%{animation-timing-function:cubic-bezier(.55,0,1,.45);translate:0}30.4%{opacity:1;translate:0 7px}30.9%{opacity:0;translate:0 7px}33%{opacity:0;translate:0;scale:.2}37%{opacity:1;scale:.55}43%,to{opacity:0;translate:0;scale:0}}@keyframes leak-ripple{0%,12.5%,30.4%{opacity:0;scale:.2}14%,32%{opacity:.8}23%,41%,to{opacity:0;scale:1}}@keyframes joint-glint{0%,56%{opacity:0;rotate:0deg;scale:.2}60%{opacity:1;scale:1.15}68%,to{opacity:0;rotate:90deg;scale:.3}}@keyframes drum{0%{rotate:0deg}53%{animation-timing-function:cubic-bezier(.2,.6,.4,1);rotate:1440deg}62%,91%{rotate:1530deg}to{rotate:1800deg}}@keyframes cable-feed{0%{stroke-dashoffset:0}53%{stroke-dashoffset:-66px;animation-timing-function:ease-out}60%,91%{stroke-dashoffset:-70px}to{stroke-dashoffset:-88px}}@keyframes burst{0%,52%{opacity:0;translate:0}53.5%{opacity:1}62%,to{opacity:0;translate:5px 2px}}@keyframes burst-ring{0%,52%{scale:.3}62%,to{scale:2.6}}@keyframes rush{0%,52%{stroke-dashoffset:14px;opacity:0}53%{opacity:1}63%{opacity:1}64%,to{stroke-dashoffset:-100px;opacity:0}}@keyframes knob{0%,5.6%{rotate:0deg}19.4%,86.1%{rotate:-70deg}94.4%,to{rotate:0deg}}@keyframes spark{0%,26.8%{opacity:0;scale:.3}28%{opacity:1;scale:1.2}30%,33%{opacity:0;scale:.4}34.2%{opacity:1;scale:1.3}36.5%,to{opacity:0;scale:.4}}@keyframes ignite{0%,33.4%{scale:.35}36%{scale:1.25}39.5%,88.9%{scale:1}94.4%,to{scale:.35}}@keyframes burner-flicker{0%{scale:1}50%{scale:.9 1.14}to{scale:1.05 .92}}@keyframes test-spray{0%,48%{opacity:0}50%,72%{opacity:1}75%,to{opacity:0}}@keyframes spray-burst{0%{opacity:1;translate:0}to{opacity:0;translate:0 34px}}@keyframes splash-drops{0%,49%{opacity:0;translate:0}50%{opacity:1;animation-timing-function:ease-out;translate:0}53%{animation-timing-function:ease-in;translate:-9px -5px}57%{opacity:1;translate:-19px 2px}58%,to{opacity:0;translate:-19px 2px}}@keyframes press-jaws{0%,9.4%{scale:1}16%,17.2%{scale:1 .55}19.5%,39%{scale:1}45.6%,46.9%{scale:1 .55}49.2%,to{scale:1}}@keyframes flash-first{0%,17%{opacity:0;scale:.4}18.5%{opacity:1}26%,to{opacity:0;scale:2.6}}@keyframes flash-second{0%,46.7%{opacity:0;scale:.4}48.2%{opacity:1}56%,to{opacity:0;scale:2.6}}@keyframes fitting-first{0%,17%{stroke:var(--figure-suit-shade)}18%,94%{stroke:var(--accent)}97%,to{stroke:var(--figure-suit-shade)}}@keyframes fitting-second{0%,46.7%{stroke:var(--figure-suit-shade)}47.7%,94%{stroke:var(--accent)}97%,to{stroke:var(--figure-suit-shade)}}@keyframes led-blink{0%{opacity:1}50%{opacity:.2}}@keyframes probe-ping{0%{opacity:0;scale:.6}25%{opacity:1}to{opacity:0;scale:1.25}}@keyframes dial-spin{to{rotate:360deg}}@keyframes roots-out{0%,4.5%{opacity:1;translate:0;rotate:0deg}13.6%{translate:-5px -17px;rotate:-10deg}22.7%{opacity:1;translate:-9px -33px;rotate:-24deg}31.8%,96%{opacity:0;translate:-40px -92px;rotate:-60deg}to{opacity:1;translate:0;rotate:0deg}}@keyframes section-in{0%,27%{opacity:0;translate:0 -14px}33%,95%{opacity:1;translate:0}99%,to{opacity:0;translate:0 -14px}}@keyframes branch-set{0%,4.4%{translate:0 -16px}23.5%,91%{translate:0}to{translate:0 -16px}}@keyframes handle-turn{0%,5.7%{rotate:0deg}18.6%,51.4%{rotate:90deg}58.6%,to{rotate:0deg}}@keyframes grit-run{to{stroke-dashoffset:-16px}}@keyframes grit-show{0%,17%{opacity:0}22%,54%{opacity:1}59%,to{opacity:0}}@keyframes silt-fill{0%,19%{scale:1 0}56%,94%{scale:1}98%,to{scale:1 0}}@keyframes flush-fill{0%,19%,to{scale:1 .15}56%,94%{scale:1}}@keyframes flush-ripple{0%,22%,38%{opacity:0;scale:.2}24%,40%{opacity:.7}35%,53%,to{opacity:0;scale:1}}@keyframes done{0%,61%{opacity:0;scale:.3}64%{opacity:1;animation-timing-function:ease-in-out;scale:1.2}67%,89%{opacity:1;scale:1}95%,to{opacity:0;scale:.7}}.cutaway[data-building=home] .flash{fill:var(--c-fixture)}.cutaway[data-building=home] .cut{fill:color-mix(in srgb, var(--c-fixture) 24%, var(--surface-2));stroke:var(--c-fixture);stroke-width:1.5px;stroke-linejoin:round;transition:opacity .35s var(--ease-out)}.cutaway[data-building=home] .cut-rim{stroke:var(--c-fixture);stroke-width:2px;transition:opacity .35s var(--ease-out)}.cutaway[data-building=home] :is(.cut,.cut-rim).k-service-line{opacity:var(--on-service-line,0)}.cutaway[data-building=home] :is(.cut,.cut-rim).k-sewer-repair{opacity:var(--on-sewer-repair,0)}.cutaway[data-building=home] :is(.cut,.cut-rim).k-rough-in{opacity:var(--on-rough-in,0)}.cutaway[data-building=home] .knob-dot{fill:var(--c-fixture)}.cutaway[data-building=home] .cap{opacity:calc(var(--dim) * (1 - var(--on-drains,0)))}.cutaway[data-building=home] .cabinet.base{opacity:calc(1 - var(--on-rough-in,0));transition:opacity .3s}.cutaway[data-building=home] .spray{opacity:calc(1 - var(--on-fixtures,0));transition:opacity .3s}.cutaway[data-building=home] .leak-drip{opacity:calc(var(--dim) * (1 - var(--on-leaks,0)))}.cutaway[data-building=home] .heater-flame{opacity:calc(var(--dim) * (1 - var(--on-water-heaters,0)))}.cutaway[data-building=home] .roots{opacity:calc(var(--dim) * (1 - var(--on-sewer-repair,0) * .4))}.scene[data-astro-cid-vbfiuyiz]{--on:0;--run:paused;opacity:var(--on);translate:0 calc((1 - var(--on)) * 5px);pointer-events:none;transition:opacity .35s var(--ease-out), translate .35s var(--ease-out)}.scene-service[data-astro-cid-vbfiuyiz]{--on:var(--on-service,0);--run:var(--run-service,paused)}.scene-paving[data-astro-cid-vbfiuyiz]{--on:var(--on-paving,0);--run:var(--run-paving,paused)}.scene-cleanouts[data-astro-cid-vbfiuyiz]{--on:var(--on-cleanouts,0);--run:var(--run-cleanouts,paused)}.scene-heaters[data-astro-cid-vbfiuyiz]{--on:var(--on-heaters,0);--run:var(--run-heaters,paused)}.scene-restrooms[data-astro-cid-vbfiuyiz]{--on:var(--on-restrooms,0);--run:var(--run-restrooms,paused)}.scene-kitchen-gas[data-astro-cid-vbfiuyiz]{--on:var(--on-kitchen-gas,0);--run:var(--run-kitchen-gas,paused)}.shadow[data-astro-cid-vbfiuyiz]{fill:var(--text);opacity:.1}.bag-body[data-astro-cid-vbfiuyiz]{fill:var(--surface-2);stroke:var(--figure-tool);stroke-width:2.5px;stroke-linejoin:round}.bag-handle[data-astro-cid-vbfiuyiz],.bag-tool[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--figure-tool);stroke-width:2.5px;stroke-linecap:round}.wheel-rim[data-astro-cid-vbfiuyiz]{fill:var(--surface);stroke:var(--c-supply);stroke-width:3px}.wheel-spokes[data-astro-cid-vbfiuyiz]{stroke:var(--c-supply);stroke-width:2px;stroke-linecap:round}.wheel-index[data-astro-cid-vbfiuyiz]{fill:var(--surface)}.cone-body[data-astro-cid-vbfiuyiz]{fill:var(--c-fixture)}.cone-band[data-astro-cid-vbfiuyiz]{stroke:var(--surface);stroke-width:2.5px}.saw-handle[data-astro-cid-vbfiuyiz]{stroke:var(--figure-tool);stroke-width:3.5px;stroke-linecap:round}.saw-body[data-astro-cid-vbfiuyiz]{fill:var(--figure-tool)}.saw-blade[data-astro-cid-vbfiuyiz]{fill:var(--surface);stroke:var(--figure-boot);stroke-width:2.5px}.saw-guard[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--figure-tool);stroke-width:4px;stroke-linecap:round}.saw-wheel[data-astro-cid-vbfiuyiz]{fill:var(--figure-boot)}.new-pipe-drain[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--surface);stroke-width:11px;stroke-linecap:round}.band[data-astro-cid-vbfiuyiz]{stroke:var(--figure-boot);stroke-width:13px;stroke-linecap:butt}.cap-off[data-astro-cid-vbfiuyiz]{fill:var(--c-drain)}.stand[data-astro-cid-vbfiuyiz]{stroke:var(--figure-tool);stroke-width:3px;stroke-linecap:round}.screen-frame[data-astro-cid-vbfiuyiz]{fill:var(--surface);stroke:var(--figure-tool);stroke-width:2.5px}.screen[data-astro-cid-vbfiuyiz]{fill:var(--accent-soft)}.screen-pipe[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--c-drain);stroke-width:1px;opacity:.65}.screen-pipe[data-astro-cid-vbfiuyiz].inner{stroke:var(--accent)}.scan[data-astro-cid-vbfiuyiz]{stroke:var(--accent);stroke-width:1.5px;stroke-linecap:round}.reel-stand[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--figure-tool);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.drum[data-astro-cid-vbfiuyiz]{fill:var(--surface-2);stroke:var(--figure-suit);stroke-width:4px}.drum-spokes[data-astro-cid-vbfiuyiz]{stroke:var(--figure-suit);stroke-width:3px;stroke-linecap:round;transform-origin:988px 492px}.hub[data-astro-cid-vbfiuyiz]{fill:var(--figure-suit)}.rod[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--figure-tool);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:7 4}.cam-light[data-astro-cid-vbfiuyiz]{offset-path:path("M925 548L1152 650");offset-rotate:0deg;offset-distance:0%;opacity:0}.glow[data-astro-cid-vbfiuyiz]{fill:var(--accent);opacity:.25}.bulb[data-astro-cid-vbfiuyiz]{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px}.heat[data-astro-cid-vbfiuyiz] path[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--c-fixture);stroke-width:2px;stroke-linecap:round;opacity:.7}.heat[data-astro-cid-vbfiuyiz]{opacity:0}.joint-glow[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--accent);stroke-width:3px;opacity:0}.lever[data-astro-cid-vbfiuyiz]{stroke:var(--c-fixture);stroke-width:3px;stroke-linecap:round}.swirl[data-astro-cid-vbfiuyiz]{opacity:0;transform-origin:724px 458px}.swirl[data-astro-cid-vbfiuyiz] ellipse[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--c-supply);stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:24 26}.swirl[data-astro-cid-vbfiuyiz] ellipse[data-astro-cid-vbfiuyiz]+ellipse[data-astro-cid-vbfiuyiz]{stroke-dasharray:18 32}.gauge-stem[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--c-gas);stroke-width:3px;stroke-linecap:round}.gauge-face[data-astro-cid-vbfiuyiz]{fill:var(--surface);stroke:var(--c-fixture);stroke-width:2.5px}.gauge-ticks[data-astro-cid-vbfiuyiz]{stroke:var(--c-fixture);stroke-width:1.5px;stroke-linecap:round}.gauge-needle[data-astro-cid-vbfiuyiz]{stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}.glint[data-astro-cid-vbfiuyiz]{fill:var(--accent)}.glint[data-astro-cid-vbfiuyiz],.done[data-astro-cid-vbfiuyiz]{transform-box:fill-box;transform-origin:50%}.wheel-turn[data-astro-cid-vbfiuyiz],.flush-lever[data-astro-cid-vbfiuyiz],.swirl[data-astro-cid-vbfiuyiz]{transform-box:view-box}.glint[data-astro-cid-vbfiuyiz],.done[data-astro-cid-vbfiuyiz]{opacity:0}.done[data-astro-cid-vbfiuyiz] circle[data-astro-cid-vbfiuyiz]{fill:var(--accent);stroke:var(--surface);stroke-width:3px}.done[data-astro-cid-vbfiuyiz] path[data-astro-cid-vbfiuyiz]{fill:none;stroke:var(--on-accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.glint[data-astro-cid-vbfiuyiz]{animation:joint-glint var(--loop) ease-out infinite var(--run)}.done[data-astro-cid-vbfiuyiz]{animation:done var(--loop) ease-out infinite var(--run)}.wheel-turn[data-astro-cid-vbfiuyiz]{animation:c-wheel var(--loop) ease-in-out infinite var(--run)}.drum-spokes[data-astro-cid-vbfiuyiz]{animation:c-drum var(--loop) ease-in-out infinite var(--run)}.rod[data-astro-cid-vbfiuyiz]{animation:c-rod var(--loop) linear infinite var(--run)}.cam-light[data-astro-cid-vbfiuyiz]{animation:c-cam var(--loop) ease-in-out infinite var(--run)}.scan[data-astro-cid-vbfiuyiz]{animation:c-scan var(--loop) linear infinite var(--run)}.heat[data-astro-cid-vbfiuyiz]{animation:c-heat var(--loop) linear infinite var(--run)}.heat[data-astro-cid-vbfiuyiz] path[data-astro-cid-vbfiuyiz]{animation:cutaway-wisp 1.4s ease-out infinite var(--run)}.joint-glow[data-astro-cid-vbfiuyiz]{animation:c-solder var(--loop) linear infinite var(--run)}.scene-heaters[data-astro-cid-vbfiuyiz] .torch-flame{animation:c-torch var(--loop) ease-out infinite var(--run), fig-torch .42s ease-in-out infinite alternate var(--run)}.flush-lever[data-astro-cid-vbfiuyiz]{animation:c-lever var(--loop) ease-in-out infinite var(--run)}.swirl[data-astro-cid-vbfiuyiz]{animation:c-swirl var(--loop) ease-in-out infinite var(--run)}.swirl[data-astro-cid-vbfiuyiz] ellipse[data-astro-cid-vbfiuyiz]{animation:c-swirl-flow var(--loop) linear infinite var(--run)}.gauge-needle[data-astro-cid-vbfiuyiz]{animation:c-gauge var(--loop) ease-out infinite var(--run)}@keyframes c-wheel{0%,50%{rotate:0deg}57.4%,94%{rotate:90deg}to{rotate:0deg}}@keyframes c-drum{0%{rotate:0deg}53%{rotate:1440deg}62%,68%{rotate:1440deg}to{rotate:0deg}}@keyframes c-rod{0%{stroke-dashoffset:0}53%{stroke-dashoffset:-66px}62%,68%{stroke-dashoffset:-66px}to{stroke-dashoffset:0}}@keyframes c-cam{0%,3%{offset-distance:0%;opacity:0}5%{opacity:1}53%{offset-distance:58%}62%,68%{offset-distance:58%;opacity:1}96%{offset-distance:0%;opacity:1}98%,to{offset-distance:0%;opacity:0}}@keyframes c-scan{0%,3%{opacity:0;translate:0}5%{opacity:.9}53%,68%{opacity:.35;translate:0 12px}96%{opacity:.9;translate:0}98%,to{opacity:0;translate:0}}@keyframes c-heat{0%,4%{opacity:0}8%,52%{opacity:1}56%,to{opacity:0}}@keyframes c-torch{0%,55%{opacity:1}56%,98%{opacity:0}99%,to{opacity:1}}@keyframes c-solder{0%,46%{opacity:0}54%,94%{opacity:1}97%,to{opacity:0}}@keyframes c-lever{0%,48.53%{animation-timing-function:cubic-bezier(.4,0,.2,1);rotate:0deg}52.94%,55%{rotate:var(--lever-turn)}60%,to{rotate:0deg}}@keyframes c-swirl{0%,52%{opacity:0;scale:1}56%,65%{opacity:1;scale:1}75%,98%{opacity:0;scale:.35}to{opacity:0;scale:1}}@keyframes c-swirl-flow{0%,52%{stroke-dashoffset:0}75%,to{stroke-dashoffset:-200px}}@keyframes c-gauge{0%,44%{rotate:-70deg}53%{rotate:3deg}58%,94%{rotate:0deg}to{rotate:-70deg}}.cutaway[data-building=commercial] .knob-dot{fill:var(--c-fixture)}.cutaway[data-building=commercial] .gas-union{fill:var(--surface);stroke:var(--c-gas);stroke-width:3px}.cutaway[data-building=commercial] .flange{stroke:var(--figure-boot);stroke-width:4px;stroke-linecap:round}.cutaway[data-building=commercial] .fan{stroke:var(--c-fixture);stroke-width:2px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%;animation:3.4s linear infinite cutaway-spin}.cutaway[data-building=commercial] .cut{fill:color-mix(in srgb, var(--c-fixture) 24%, var(--surface-2));stroke:var(--c-fixture);stroke-width:1.5px;stroke-linejoin:round;opacity:var(--on-paving,0);transition:opacity .35s var(--ease-out)}.cutaway[data-building=commercial] .cap{opacity:calc(var(--dim) * (1 - var(--on-cleanouts,0)))}.cutaway[data-building=commercial] .wheel-main{opacity:calc(1 - var(--on-service,0));transition:opacity .3s}.cutaway[data-building=commercial] .flush-arm{opacity:calc(1 - var(--on-restrooms,0));transition:opacity .3s}.head[data-astro-cid-xugd6sbg]{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;margin-bottom:1rem;display:flex}.intro[data-astro-cid-xugd6sbg]{max-width:44rem;color:var(--text-muted);margin:0}.switch[data-astro-cid-xugd6sbg]{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:.25rem;display:inline-flex}.switch[data-astro-cid-xugd6sbg][hidden]{display:none}.option[data-astro-cid-xugd6sbg]{border-radius:var(--radius-sm);min-height:48px;color:var(--text-muted);font:600 .95rem/1 var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0 1rem;transition:background-color .2s,color .2s;display:inline-flex}.option[data-astro-cid-xugd6sbg] svg[data-astro-cid-xugd6sbg]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.option[data-astro-cid-xugd6sbg]:hover{color:var(--text)}.option[data-astro-cid-xugd6sbg][aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.building[data-astro-cid-xugd6sbg][hidden]{display:none}.building[data-astro-cid-xugd6sbg]+.building[data-astro-cid-xugd6sbg]{margin-top:3rem}.building-heading[data-astro-cid-xugd6sbg]{color:var(--brand);margin:0 0 1rem;font-size:1.25rem}[data-astro-cid-xugd6sbg][data-building] .building-heading[data-astro-cid-xugd6sbg]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}[data-astro-cid-xugd6sbg][data-building] .building[data-astro-cid-xugd6sbg]+.building[data-astro-cid-xugd6sbg]{margin-top:0}@media (width<=480px){.switch[data-astro-cid-xugd6sbg]{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));width:100%;display:grid}.option[data-astro-cid-xugd6sbg]{justify-content:center;padding:0 .75rem;font-size:.875rem}}.head[data-astro-cid-njumvi2j]{margin-bottom:2rem}.intro[data-astro-cid-njumvi2j]{max-width:40rem;color:var(--text-muted);margin:0}.grid-wrap[data-astro-cid-njumvi2j]{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}@media (width>=800px){.grid-wrap[data-astro-cid-njumvi2j]{grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);align-items:stretch}}.gauge-card[data-astro-cid-njumvi2j]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-content:center;justify-items:center;gap:.25rem;margin:0;padding:1.5rem;display:grid}.gauge[data-astro-cid-njumvi2j]{width:min(100%,260px);height:auto}.bezel[data-astro-cid-njumvi2j]{fill:var(--surface-2);stroke:var(--border);stroke-width:2px}.face[data-astro-cid-njumvi2j]{fill:var(--surface);stroke:var(--border);stroke-width:1px}.track[data-astro-cid-njumvi2j]{fill:none;stroke:var(--surface-2);stroke-width:8px;stroke-linecap:round}.value-arc[data-astro-cid-njumvi2j]{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round}.tick[data-astro-cid-njumvi2j]{stroke:var(--text-muted);stroke-width:1.5px;stroke-linecap:round}.tick[data-astro-cid-njumvi2j].major{stroke:var(--brand);stroke-width:3px}.dial-label[data-astro-cid-njumvi2j]{fill:var(--text-muted);font:600 15px var(--font-display)}.needle[data-astro-cid-njumvi2j]{transform-origin:120px 120px}.needle[data-astro-cid-njumvi2j] path[data-astro-cid-njumvi2j]{fill:var(--accent)}.hub[data-astro-cid-njumvi2j]{fill:var(--brand)}.hub-dot[data-astro-cid-njumvi2j]{fill:var(--surface)}figcaption[data-astro-cid-njumvi2j]{text-align:center;justify-items:center;display:grid}.big[data-astro-cid-njumvi2j]{font:700 3.5rem/1 var(--font-display);color:var(--brand)}.caption[data-astro-cid-njumvi2j]{color:var(--text-muted);font-weight:600}.value[data-astro-cid-njumvi2j]{counter-reset:n var(--num)}.value[data-astro-cid-njumvi2j]:after{content:counter(n)}.stats[data-astro-cid-njumvi2j]{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin:0;display:grid}@media (width>=560px){.stats[data-astro-cid-njumvi2j]{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat[data-astro-cid-njumvi2j]{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-md);min-height:9rem;box-shadow:var(--shadow-card);align-content:end;gap:.25rem;padding:1.5rem;display:grid}dt[data-astro-cid-njumvi2j]{color:var(--text-muted);text-transform:uppercase;font-size:.9rem;font-weight:600}dd[data-astro-cid-njumvi2j]{font:700 3rem/1 var(--font-display);color:var(--brand);margin:0}.places[data-astro-cid-njumvi2j]{margin-top:3rem}.places-head[data-astro-cid-njumvi2j]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-bottom:1rem;display:flex}.places-head[data-astro-cid-njumvi2j] h3[data-astro-cid-njumvi2j]{color:var(--brand);margin:0}.places-head[data-astro-cid-njumvi2j] a[data-astro-cid-njumvi2j]{align-items:center;min-height:48px;font-weight:600;display:inline-flex}.places[data-astro-cid-njumvi2j] ul[data-astro-cid-njumvi2j]{flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.places[data-astro-cid-njumvi2j] li[data-astro-cid-njumvi2j]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:100%;color:var(--text);font:600 1.05rem/1.2 var(--font-display);text-transform:uppercase;align-items:center;gap:.4rem;padding:.45rem 1rem;display:inline-flex}.places[data-astro-cid-njumvi2j] li[data-astro-cid-njumvi2j].hq{border-color:var(--accent);background:var(--accent-soft)}.hq-tag[data-astro-cid-njumvi2j]{background:var(--accent);color:var(--on-accent);border-radius:4px;padding:.1rem .4rem;font-size:.75rem}@media (width<=640px){dd[data-astro-cid-njumvi2j]{font-size:2.5rem}.stat[data-astro-cid-njumvi2j]{min-height:7rem;padding:1.25rem}.big[data-astro-cid-njumvi2j]{font-size:3rem}}.systems[data-astro-cid-lcdefpme]{background:var(--surface-2);padding-top:3rem}.promises[data-astro-cid-lcdefpme]{background:var(--surface-2)}ol[data-astro-cid-lcdefpme]{counter-reset:promise;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}li[data-astro-cid-lcdefpme]{counter-increment:promise;border-left:3px solid var(--accent);padding-left:1.25rem}li[data-astro-cid-lcdefpme]:before{content:"0" counter(promise);font:700 .95rem/1 var(--font-display);color:var(--accent);letter-spacing:0}li[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme]{color:var(--brand);margin-top:.5rem}li[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{color:var(--text-muted);margin:0}
