/* The intended cleaning cycle, illustrated as a navigable floor plan. */
.workflow{padding:110px max(6%,calc((100% - 1120px)/2));background:#fafafb;scroll-margin-top:30px}
.workflow-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin:26px 0 45px}
.workflow-heading h2{font-size:clamp(40px,4.8vw,64px);margin:0;flex-shrink:0}
.workflow-heading p{max-width:350px;font-size:16px;margin:0 0 4px;line-height:1.65}
.workflow-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}
.workflow-step{border:0;border-top:2px solid #dedee3;border-radius:0;padding:15px 0 3px;background:transparent;text-align:left;color:#73737b;cursor:pointer;min-height:68px;font-size:14px;line-height:1.4;transition:color .2s,border-color .2s}
.workflow-step span{display:block;font-size:10px;letter-spacing:.6px;margin-bottom:7px;color:#86868b}
.workflow-step:hover{color:#0066cc;border-color:#a3c5eb}
.workflow-step[aria-pressed="true"]{border-color:#0071e3;color:#1d1d1f;font-weight:600}
.workflow-step[aria-pressed="true"] span{color:#0071e3}
.workflow-demo{margin:0;background:#fff;border:1px solid #e5e5e9;border-radius:24px;overflow:hidden;box-shadow:0 12px 40px #18182b03}
.workflow-map-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 30px 0;gap:15px}
.workflow-map-heading>span{font-size:10px;font-weight:600;letter-spacing:1.4px;color:#86868b}
.workflow-badge{font-size:11px;color:#6e6e73;display:flex;align-items:center;gap:7px}
.workflow-badge:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#0071e3}
.workflow-map{display:block;width:100%;height:auto;overflow:visible;font-family:inherit}
.workflow-map .map-wall{fill:none;stroke:#d8d9df;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.workflow-map .map-label{fill:#71717a;font-size:12px;font-weight:500;letter-spacing:.4px}
.workflow-map .map-small{fill:#86868b;font-size:10px;letter-spacing:1px}
.workflow-map .fixture-body{fill:url(#wf-porcelain);stroke:#d9dce2;stroke-width:1.5}
.workflow-map .fixture-water{fill:var(--fixture-water,#edf2f7);stroke:var(--fixture-water-edge,#dce3eb);stroke-width:1.2}
.workflow-map .fixture-halo{fill:#eaf3ff;opacity:0}
.workflow-map .fixture-status circle{fill:#eeeef1}
.workflow-map .fixture-status text{fill:#777780;font-size:11px;font-weight:600;text-anchor:middle}
.workflow-map .fixture-status path{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;display:none}
.workflow-map .wf-fixture.is-active .fixture-halo{opacity:1}
.workflow-map .wf-fixture.is-active .fixture-status circle{fill:#0071e3}
.workflow-map .wf-fixture.is-active .fixture-status text{fill:#fff}
.workflow-map .wf-fixture.is-done .fixture-status circle{fill:#0071e3}
.workflow-map .wf-fixture.is-done .fixture-status text{display:none}
.workflow-map .wf-fixture.is-done .fixture-status path{display:block}
.workflow-map .wf-fixture.is-done{--fixture-water:#e5f2ff;--fixture-water-edge:#bddbfb}
.workflow-map .dock-label{fill:#34343a;font-size:14px;font-weight:600;letter-spacing:-.3px}
.workflow-map .dock-supply{fill:#73737b;font-size:11px}
.workflow-map .dock-track{fill:#e0e4ea}
.workflow-map .dock-fill{fill:#78abe2}
.workflow-map .dock-pad{fill:#e6eaf1;stroke:#d8dee7;stroke-width:1.2}
.workflow-map .dock-pad-outline{fill:none;stroke:#b9c9dd;stroke-width:1.5;stroke-dasharray:5 5}
.workflow-map .route-base{fill:none;stroke:#e0e4eb;stroke-width:2;stroke-linecap:round;stroke-dasharray:4 8}
.workflow-map .route-plan{fill:none;stroke:#0071e3;stroke-width:2;stroke-linecap:round;stroke-dasharray:5 8;opacity:.55}
.workflow-map .route-travel{fill:none;stroke:#0071e3;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.workflow-map .clean-ring{fill:none;stroke:#0071e3;stroke-width:1.5}
.workflow-map .robot-shadow{fill:#8b96a8;opacity:.17}
.workflow-map .robot-wheel{fill:#575e68}
.workflow-map .robot-base{fill:url(#wf-robot-finish);stroke:#9ca7b5;stroke-width:1.2}
.workflow-map .robot-cabinet{fill:url(#wf-cabinet-finish);stroke:#aeb9c6;stroke-width:1.2}
.workflow-map .robot-arm{fill:none;stroke:#777f8a;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.workflow-map .robot-joint{fill:#e2e6eb;stroke:#6c7480;stroke-width:1.5}
.workflow-map .robot-brush{fill:#0071e3}
.workflow-map .robot-sensor{fill:#0071e3}
.workflow-key{padding:0 30px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#86868b;font-size:11px}
.workflow-key-items{display:flex;gap:22px;flex-wrap:wrap}
.workflow-key-items span{display:flex;align-items:center;gap:7px}
.workflow-key-items i{display:block;width:14px;border-top:2px dashed #8fb8e8}
.workflow-key-items i.complete-dot{width:6px;height:6px;border:0;border-radius:50%;background:#0071e3}
.workflow-count{color:#505059;white-space:nowrap;font-variant-numeric:tabular-nums}
.workflow-caption{border-top:1px solid #ececf0;background:#fcfcfd;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:145px}
.workflow-caption-copy{flex:1;min-width:0;max-width:650px}
.workflow-caption h3{font-size:22px;line-height:1.25;letter-spacing:-.65px;margin:0 0 8px}
.workflow-caption p{font-size:14px;line-height:1.6;margin:0;max-width:620px}
.workflow-controls{display:flex;gap:9px;align-items:center;flex-shrink:0}
.workflow-play{border:0;background:#0071e3;color:#fff;border-radius:24px;padding:12px 18px;min-width:110px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;cursor:pointer}
.workflow-play:hover{background:#0066cc}
.workflow-play svg{width:13px;height:13px;fill:currentColor}
.workflow-replay{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #dedee3;color:#62626b;cursor:pointer}
.workflow-replay:hover{color:#0071e3;border-color:#b4ccea}
.workflow-replay svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.workflow-progress{height:3px;background:#e9edf3}
.workflow-progress span{display:block;width:100%;height:100%;background:#0071e3;transform:scaleX(0);transform-origin:left}
.workflow-note{display:flex;justify-content:space-between;gap:20px;margin:20px 2px 0;font-size:11px;line-height:1.6;color:#86868b}
.workflow-note span:last-child{text-align:right}
.workflow-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wf-mobile-plan{display:none}
@media(min-width:1500px){.workflow{padding-left:calc((100% - 1140px)/2);padding-right:calc((100% - 1140px)/2)}}
@media(max-width:900px){.workflow{padding:80px 6%}.workflow-heading{display:block;margin-bottom:35px}.workflow-heading p{margin:22px 0 0;max-width:560px}.workflow-caption{gap:22px}.workflow-caption-copy{max-width:540px}.workflow-step{font-size:12px}.workflow-map-heading{padding:22px 24px 0}.workflow-key{padding:0 24px 20px}.workflow-caption{padding:24px}}
@media(max-width:600px){.workflow{padding:70px 5%}.workflow-heading h2{font-size:42px;letter-spacing:-2px}.workflow-heading p{font-size:16px}.workflow-steps{gap:8px;margin-bottom:18px}.workflow-step{font-size:11px;padding-top:11px;min-height:76px;line-height:1.35}.workflow-step span{font-size:9px}.workflow-demo{border-radius:18px}.workflow-map-heading{padding:20px 18px 8px;align-items:flex-start}.workflow-map-heading>span{font-size:8px;line-height:1.8;max-width:90px}.workflow-badge{font-size:9px;line-height:1.7;max-width:170px;text-align:right;justify-content:flex-end}.workflow-badge:before{flex-shrink:0;width:5px;height:5px}.workflow-map{aspect-ratio:1.14;object-fit:contain}.workflow-key{padding:5px 18px 18px;gap:8px;font-size:9px}.workflow-key-items{gap:12px}.workflow-key-items span{gap:5px}.workflow-caption{display:block;padding:22px 20px;min-height:225px}.workflow-caption h3{font-size:21px}.workflow-caption p{font-size:13px;min-height:63px}.workflow-controls{margin-top:20px}.workflow-play{min-width:114px}.workflow-note{display:block;font-size:10px;margin-top:16px}.workflow-note span{display:block}.workflow-note span:last-child{text-align:left;margin-top:4px}}
@media(max-width:600px){.wf-desktop-plan{display:none}.wf-mobile-plan{display:block}.workflow-map{aspect-ratio:540/610}.workflow-map .map-label{font-size:16px;letter-spacing:0}.workflow-map .dock-label{font-size:19px}.workflow-map .dock-supply{font-size:15px}.workflow-map .fixture-status text{font-size:12px}}
