.stage{position:relative}.stage .hero-svg{display:block;width:100%;height:100%}.anim{color:#fff}.anim-state{display:flex;align-items:center;gap:10px}.anim .dot{width:12px;height:12px;border-radius:50%;background:#9aa4a9;flex:none;transition:0.4s}.anim.on .dot{background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,0.25),0 0 12px #3ddc84}.anim strong{font-size:0.95rem}.anim-desc{margin:5px 0 10px;color:#fff;font-size:0.86rem;line-height:1.42;max-width:none}.ctrl{display:flex;flex-wrap:nowrap;gap:8px}.ctrl button{font:inherit;font-size:0.85rem;font-weight:600;color:#fff;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.3);border-radius:999px;padding:0 13px;cursor:pointer;min-height:40px;white-space:nowrap}.ctrl button:hover{background:rgba(255,255,255,0.24)}.ctrl .ctrl-main{background:#fff;color:#16202a;border-color:#fff;display:inline-flex;align-items:center;gap:8px}.ctrl .ctrl-main:hover{background:#e8eef1}.ico{width:12px;height:14px;display:inline-block;background:linear-gradient(#16202a,#16202a) left / 4px 100% no-repeat,linear-gradient(#16202a,#16202a) right / 4px 100% no-repeat}.ctrl-main.is-paused .ico{background:none;width:0;height:0;border-left:12px solid #16202a;border-top:7px solid transparent;border-bottom:7px solid transparent}.anim :focus-visible{outline:3px solid #8fd0ff;outline-offset:2px}.hero-svg.is-on .flow{opacity:1}.hero-svg.is-paused .flow{animation-play-state:paused}.chute-svg.is-paused *{animation-play-state:paused}.hero-svg .reveal{fill:none;stroke:#fff;stroke-width:30}.hero-svg.is-duo .oz-only,.hero-svg:not(.is-duo) .duo-only{display:none}.hero-svg .duo-hose{fill:none;stroke:#f5f6f6;stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 2px 0 #9aa0a4) drop-shadow(0 -1px 0 #b0b6ba)}.hero-svg .flow.scent-flow{stroke:#eaa5c8;stroke-width:5}.hero-svg .blue-hose{fill:none;stroke:#4ea7e2;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 2px 0 #2f7fb5)}.hero-svg .scent-swirl{fill:none;stroke:#eaa5c8;stroke-width:2.5;stroke-linecap:round;opacity:0.26}.hero-svg .scent-spark{fill:#fff}.sys-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}.sys-tabs button{display:flex;align-items:center;gap:10px;min-height:64px;padding:6px 12px 6px 6px;cursor:pointer;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:0.95rem;font-weight:700;line-height:1.2;text-align:left}.sys-tabs img{flex:none;width:64px;height:48px;object-fit:contain;border-radius:8px;background:#fff}.sys-tabs button:hover{border-color:var(--accent)}.sys-tabs button[aria-pressed="true"]{border-color:var(--accent);background:var(--menu-on);color:var(--accent-dark);box-shadow:0 0 0 3px rgba(42,120,194,0.45)}.hero-move{position:relative;overflow:hidden;background:#dfe0dc;height:clamp(620px,calc(100vh - 110px),940px)}.hero-move .stage{position:absolute;inset:0}.hero-move .hero-svg{position:absolute;inset:0}.hero-move .anim{position:absolute;z-index:3;top:46px;right:clamp(16px,3vw,48px);width:min(456px,calc(100% - 32px));padding:12px 14px 14px;background:rgba(22,30,35,0.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;box-shadow:0 8px 24px rgba(10,20,25,0.18)}.hero-move .copy{position:absolute;z-index:4;left:clamp(20px,4vw,64px);top:clamp(96px,12vh,124px);max-width:540px;padding:24px 26px 20px;background:rgba(255,255,255,0.95);border-radius:24px;box-shadow:0 10px 40px rgba(20,30,35,0.12)}.hero-move .copy h1{font-size:clamp(1.9rem,2.7vw,2.6rem);line-height:1.08;margin:0 0 0.4em}.hero-move .copy>p{margin:0 0 0.9em;color:var(--muted);font-size:1rem;line-height:1.5;max-width:46ch}.hero-move .prod{display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;margin:2px 0 10px;padding:12px 12px 12px 18px;background:var(--soft);border-radius:18px}.hero-move .prod picture{order:2;display:block;width:120px}.hero-move .prod img{display:block;width:120px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,0.22))}.hero-move .prod .prod-range img{filter:none;border-radius:12px}.hero-move .prod-t{display:grid;gap:4px}.hero-move .prod-t strong{font-size:1.1rem}.hero-move .prod-t span{color:var(--muted);font-size:0.95rem}.hero-move .prod-t .btns{margin-top:6px}.hero-move .ctrl button,.hero-move .sys-tabs button{min-height:44px}.hero-move .talk{margin:0}.hero-move .talk a{display:inline-flex;align-items:center;min-height:44px}.scene-sec .sec-head{margin-bottom:20px}.scene-caption{margin:10px 0 0;color:var(--muted);font-size:0.92rem;max-width:70ch}@media (min-width:1101px){.scene-beside .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;column-gap:40px;align-items:start}.scene-beside .sec-head{margin-bottom:0;grid-row:1 / span 2}.scene-beside .scene-caption{grid-column:2;grid-row:2}}.compact-scene .stage{aspect-ratio:16 / 9;overflow:hidden;border-radius:24px;background:#dfe0dc}.compact-scene .hero-svg{position:absolute;inset:0}.compact-scene .anim{position:absolute;z-index:3;top:14px;left:14px;max-width:calc(100% - 28px);padding:10px 12px 12px;background:rgba(22,30,35,0.9);border-radius:16px}.compact-scene .anim strong{font-size:0.9rem}.compact-scene .anim .dot{width:10px;height:10px}.compact-scene .anim-desc{font-size:0.8rem;margin:3px 0 8px;max-width:38ch}@media (min-width:821px){.compact-scene .anim-desc,.compact-scene:not(.scene-beside) .anim-state{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.scene-beside.compact-scene .anim-state{margin-bottom:8px}.scene-beside.compact-scene .stage{aspect-ratio:auto;display:flex;flex-direction:column}.scene-beside.compact-scene .hero-svg{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16 / 9}.scene-beside.compact-scene .anim{position:static;order:2;max-width:none;border-radius:0}}.compact-scene .ctrl{gap:6px}.compact-scene .ctrl button{font-size:0.8rem;min-height:34px;padding:0 11px}.compact-scene .sys-tabs{gap:8px;margin-bottom:8px}.compact-scene .sys-tabs button{font-size:0.82rem;min-height:48px;padding:4px 10px 4px 4px;gap:8px;border-radius:12px}.compact-scene .sys-tabs img{width:40px;height:30px}.compact-scene .sys-tabs .lx{display:none}.compact-scene .ctrl .ctrl-main{gap:6px}.compact-scene .ico{width:10px;height:12px;background-size:3.5px 100%,3.5px 100%}.compact-scene .ctrl-main.is-paused .ico{border-left-width:10px;border-top-width:6px;border-bottom-width:6px}.ta{display:block;width:100%;height:auto;background:#e1e2de}.ta-wall{fill:#e1e2de}.ta-blocks path{stroke:#d2d5d2;stroke-width:1.5;fill:none}.ta-floor{fill:#a4a9ac}.ta-binb{fill:#0f6b3a}.ta-rim{fill:#11793f}.ta-wheel{fill:#2b2f33}.ta-bag{fill:#1f2124}.ta-box{fill:#c8894b}.ta-cloud{fill:#8a8b3a;stroke:#5c5f21;stroke-width:3;stroke-linejoin:round}.ta-sq{fill:none;stroke:#6b6e2a;stroke-width:3.5;stroke-linecap:round}.ta-mist{fill:#f2b8d8;opacity:0.7;animation:mist 2.2s ease-in-out infinite}.ta-mistcloud{fill:#f7d5e8;opacity:0.72}.ta-can{fill:#6fa8dc}.ta-canlab{fill:#fff;opacity:0.85}.ta-cap{fill:#e9ecee}.ta-nozzle{fill:#b8bec2}.ta-chute{fill:#aeb5b9}.ta-hopper{fill:#b8bec2;stroke:#8a9398;stroke-width:1.5}.ta-star{fill:#fff;animation:twinkle 1.6s ease-in-out infinite}.ta-fanbox{fill:#f4f5f5;stroke:#aab1b5;stroke-width:2}.ta-blade{fill:#8d959a}.ta-hub{fill:#5b646a}.ta-blades{animation:spin 0.8s linear infinite}.ta-blow{fill:none;stroke:#7cc4ec;stroke-width:3;stroke-linecap:round;stroke-dasharray:14 12;animation:blow 1.2s linear infinite;opacity:0.8}.ta-odour{transform-box:fill-box}.ta-chin{fill:#4a4f4c}.ta-chin-clean{fill:#8f989c}.ta-chedge{stroke:#7c8488;stroke-width:3}.ta-grime{fill:none;stroke:#7a5a2c;stroke-width:5;stroke-linecap:round;opacity:0.9}.ta-drip{fill:#6b4f24}.ta-cable{stroke:#2b2f33;stroke-width:2.5}.ta-brush rect{fill:#e2b33c;stroke:#b88d1f;stroke-width:1.5}.ta-brush path{stroke:#caa53a;stroke-width:2;stroke-linecap:round}.ta-brush{animation:scrub 1.2s ease-in-out infinite}.ta-ac{fill:#fbfbfb;stroke:#c3c8cb;stroke-width:2}.ta-acvent{fill:#dfe3e5}.ta-acled{fill:#3ddc84}.ta-cold{fill:none;stroke:#8fd3f5;stroke-width:5;stroke-linecap:round;stroke-dasharray:12 12;animation:blowout 1.3s linear infinite;opacity:0.9}.ta-flake path{stroke:#6fc3ec;stroke-width:2;stroke-linecap:round}.ta-flake{animation:flake 2s ease-in-out infinite}.ta-swirl{fill:none;stroke:#e78ab9;stroke-width:2.5;stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:swirl 2.4s ease-in-out infinite}.carry{transform-origin:center;animation:carry 3s linear infinite}.mixrise{transform-origin:center;animation:mixrise 3s linear infinite}.spreadl{transform-origin:center;animation:spreadl 3.4s linear infinite}.spreadr{transform-origin:center;animation:spreadr 3.4s linear infinite}.spreadu{transform-origin:center;animation:spreadu 3.6s linear infinite}.suck{transform-origin:center;animation:suck 3s linear infinite}.upchute{transform-origin:center;animation:upchute 3.6s linear infinite}.mixrise .ta-cloud{animation:mixcolour 3s linear infinite;animation-delay:inherit}.mixrise .ta-sq{animation:mixline 3s linear infinite;animation-delay:inherit}@media (min-width:1211px){.hero-move .anim-desc,.hero-move .anim-state{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}@media (min-width:1211px) and (max-width:1360px){.hero-move .anim{width:394px;padding:10px 12px 12px}.hero-move .anim-desc{font-size:0.8rem;margin:3px 0 8px}.hero-move .ctrl{gap:6px}.hero-move .ctrl button{font-size:0.8rem;min-height:44px;padding:0 10px}}@media (max-width:1210px){.hero-move{height:auto;overflow:visible;background:var(--bg);display:flex;flex-direction:column}.hero-move .stage{position:relative;inset:auto;order:1;display:flex;flex-direction:column}.hero-move .hero-svg{position:relative;inset:auto;height:auto;aspect-ratio:1600 / 900}.hero-move .anim{position:static;order:2;width:auto;margin:0;padding:12px var(--gutter) 14px;background:rgba(22,30,35,0.92);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-move .ctrl{flex-wrap:wrap}.hero-move .copy{position:static;order:2;max-width:760px;padding:28px var(--gutter) 18px;background:transparent;border-radius:0;box-shadow:none}.hero-move .prod{background:var(--panel)}}@media (max-width:820px){.hero-move .hero-svg,.compact-scene .hero-svg{aspect-ratio:734 / 830}.hero-move .ctrl{flex-wrap:nowrap}.lx{display:none}.hero-move .anim{padding:14px var(--gutter) 16px}.hero-move .copy{max-width:none;padding:24px var(--gutter) 18px}.hero-move .prod{grid-template-columns:1fr 92px;gap:12px;padding:12px 12px 12px 16px}.hero-move .prod picture,.hero-move .prod img{width:92px}.compact-scene .stage{aspect-ratio:auto;display:flex;flex-direction:column}.compact-scene .hero-svg{position:relative;inset:auto;height:auto}.compact-scene .anim{position:static;order:2;max-width:none;border-radius:0}}.chute-pair .anim-desc{max-width:62ch}.chute-pair .cp-lead{max-width:none;margin:0;padding:16px 20px 4px;font-weight:700;font-size:1.15rem;color:var(--ink);text-align:center}.cp-switch{display:none}.cp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:12px 16px 16px}.cp-one{margin:0}.chute-pair .cp-cap{display:flex;align-items:center;justify-content:center;min-height:56px;margin-bottom:10px;padding:8px 18px;border-radius:999px;background:#ecedea;color:#3d474d;font-weight:700;text-align:center;font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.2}.chute-pair .cp-cap-with{background:#e3f1fb;color:#1f63a4}.chute-pair .cp-cap span::before,.cp-switch button::before{display:inline-grid;place-items:center;width:1.25em;height:1.25em;margin-right:0.45em;border-radius:50%;color:#fff;font-weight:800;font-size:0.95em;line-height:1;vertical-align:-0.12em}.chute-pair .cp-cap:not(.cp-cap-with) span::before,.cp-switch button[data-side="alone"]::before{content:"\2715";background:#c63a25}.chute-pair .cp-cap-with span::before,.cp-switch button[data-side="with"]::before{content:"\2713";background:#1f8a4d}.chute-scene .stage{aspect-ratio:620 / 864;overflow:hidden;background:#dfe0dc;border-radius:18px}.chute-scene .chute-svg{display:block;width:100%;height:100%}.chute-scene .anim{padding:12px 16px 16px;background:rgba(22,30,35,0.94)}.chute-scene .ctrl{flex-wrap:wrap}.chute-scene .ctrl button{min-height:44px}.chute-scene .anim-desc{min-height:2.84em}.chute-svg .lvl text{font-size:21px}@media (max-width:820px){.cp-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 0}.cp-switch button{min-height:44px;padding:6px 10px;font:inherit;font-weight:700;font-size:0.92rem;line-height:1.2;border:2px solid var(--line);border-radius:14px;background:var(--soft);color:var(--ink);cursor:pointer}.cp-switch button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}.cp-grid{grid-template-columns:minmax(0,1fr)}.cp-grid[data-showing="alone"] .cp-one[data-side="with"],.cp-grid[data-showing="with"] .cp-one[data-side="alone"]{display:none}.chute-pair .cp-lead{font-size:1.02rem}.chute-pair .cp-cap{display:none}}.chute-svg .c-sky{fill:#dcebf5}.chute-svg .c-binroom{fill:#dfe0dc}.chute-svg .c-hatch rect{fill:#b9c0c4;stroke:#7c8488;stroke-width:2}.chute-svg .c-hatch .c-hatch-gap{fill:#4b5358;stroke:none}.chute-svg .c-cowl{fill:#c9cfd2;stroke:#7c8488;stroke-width:2}.chute-svg .c-fan-ring{fill:#4b5358;stroke:#7c8488;stroke-width:3}.chute-svg .c-blade{fill:#b8bec2}.chute-svg .c-blades{transform-origin:0 0;animation:spin 0.9s linear infinite}.chute-svg .c-fan-hub{fill:#e9ecee}.chute-svg .c-exhaust{fill:none;stroke:#7cc4ec;stroke-width:4;stroke-linecap:round;stroke-dasharray:10 8;animation:blow 1.4s linear infinite reverse;opacity:0.8}.chute-svg .c-draft{fill:none;stroke:#ffffff;stroke-width:3;stroke-linecap:round;stroke-dasharray:12 34;opacity:0.28;animation:c-rise 1.1s linear infinite}.hero-svg.chute-svg .chute-cut{fill:#8e979c}.chute-svg .grime{fill:none;stroke:#4a3a1c;stroke-width:8;stroke-linecap:round;opacity:0.9}.chute-svg .grime-patch{fill:#57451f;opacity:0.9}.chute-svg .c-shine{stroke:#fff;stroke-width:3;stroke-linecap:round;animation:twinkle 1.6s ease-in-out infinite}.chute-svg .c-cable{stroke:#2b2f33;stroke-width:2.5}.chute-svg .c-head{fill:#f2c230;stroke:#b88c10;stroke-width:2}.chute-svg .c-bristle{stroke:#b88c10;stroke-width:3;stroke-linecap:round}.chute-svg .c-arm{stroke:#2b2f33;stroke-width:3;stroke-linecap:round}.chute-svg .c-spray{opacity:0;transition:opacity 0.3s}.chute-svg.is-washing .c-spray{opacity:1}.chute-svg .c-drop{fill:#6e4a1c;animation:c-drop 0.9s linear infinite}.chute-svg.is-paused .c-blades,.chute-svg.is-paused .c-exhaust,.chute-svg.is-paused .c-draft,.chute-svg.is-paused .c-drop,.chute-svg.is-paused .c-shine{animation-play-state:paused}@keyframes c-rise{to{stroke-dashoffset:46}}@keyframes c-drop{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--dx),64px);opacity:0}}.room-scene .stage{aspect-ratio:1000 / 700;overflow:hidden;background:#dfe0dc}.room-scene .room-svg{display:block;width:100%;height:100%}.room-scene .anim{padding:12px 16px 16px;background:rgba(22,30,35,0.94)}.room-scene .ctrl{flex-wrap:wrap}.room-scene .ctrl button{min-height:44px}.room-scene .anim-desc{min-height:2.84em}.room-svg .lvl text{font-size:21px}.room-svg .r-wall{fill:#e1e2de}.room-svg .r-blocks path{stroke:#d2d5d2;stroke-width:2;fill:none}.room-svg .r-ceiling{fill:#c9ccca}.room-svg .r-disp-body{fill:#f4f5f5;stroke:#aab1b5;stroke-width:2}.room-svg .r-disp-window{fill:#f2b8d8}.room-svg .r-disp-nozzle{fill:#b8bec2}.room-svg .r-fragrance ellipse{fill:#f7d5e8}.room-svg .r-mistdot{fill:#f2b8d8}.room-svg .odour .odour-cloud,.room-svg .odour .odour-sq{transition:fill 0.6s,stroke 0.6s}.room-svg .odour.masked .odour-cloud{fill:#b58fa6;stroke:#7a5a6e}.room-svg .odour.masked .odour-sq{stroke:#b06b94}.room-svg .r-ac-body{fill:#f4f5f5;stroke:#aab1b5;stroke-width:2}.room-svg .r-ac-slat{stroke:#aab1b5;stroke-width:3;stroke-linecap:round}.room-svg .r-ac-led{fill:#9aa4a9;transition:fill 0.4s}.room-svg.is-cooling .r-ac-led{fill:#3aa0e8}.room-svg .r-air{opacity:0;transition:opacity 0.8s}.room-svg.is-cooling .r-air{opacity:1}.room-svg .r-airflow{fill:none;stroke:#7cc4ec;stroke-width:4;stroke-linecap:round;stroke-dasharray:16 14;opacity:0.85;animation:r-blow 0.9s linear infinite}.room-svg .r-flake{fill:none;stroke:#9fd4f2;stroke-width:2.5;stroke-linecap:round;animation:flake 2s ease-in-out infinite}.room-svg.is-paused .r-airflow,.room-svg.is-paused .r-flake{animation-play-state:paused}.room-svg .r-corridor{fill:#ece7df}.room-svg .r-partition{fill:#b9bdba}.room-svg .r-fan-box{fill:#f4f5f5;stroke:#aab1b5;stroke-width:2}.room-svg .r-fan-ring{fill:#dfe3e5;stroke:#9aa4a9;stroke-width:3}.room-svg .r-blade{fill:#6c767c}.room-svg .r-fan-hub{fill:#1f2a30}.room-svg.is-cooling .r-blades{animation:r-spin 0.6s linear infinite}.room-svg.is-paused .r-blades{animation-play-state:paused}@keyframes r-spin{to{transform:rotate(360deg)}}@keyframes r-blow{to{stroke-dashoffset:-60}}@media (max-width:820px){.room-scene .stage{aspect-ratio:660 / 700}}.scene-note{opacity:0;transition:opacity 0.5s;pointer-events:none}.chute-svg .note-phone{display:none}@media (max-width:560px){.chute-svg .scene-note{display:none}.chute-svg .scene-note.note-phone{display:inline}}.note-box{fill:#fff;stroke:#2f3a40;stroke-width:1.5;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.18))}.note-text{fill:#1f2a30;font:600 20px var(--font)}.note-line{stroke:#2f3a40;stroke-width:2}.note-dot{fill:#2f3a40}[data-stage="before"] .scene-note[data-stages~="before"],[data-stage="clean"] .scene-note[data-stages~="clean"],[data-stage="after"] .scene-note[data-stages~="after"],[data-stage="on"] .scene-note[data-stages~="on"],[data-stage="fresh"] .scene-note[data-stages~="fresh"],[data-stage="still"] .scene-note[data-stages~="still"],[data-stage="cool"] .scene-note[data-stages~="cool"],[data-stage="meet"] .scene-note[data-stages~="meet"],[data-stage="change"] .scene-note[data-stages~="change"]{opacity:1}