.cleaning-story{--scene-ink:#10110f;--scene-yellow:#ffd600;--scene-paper:#f0efe5;--scene-header:90px;--scene-dock:0px;--cleaning-progress:0;position:relative;min-height:calc(190vh - var(--scene-header)*.25 - var(--scene-dock)*.25);min-height:calc(190svh - var(--scene-header)*.25 - var(--scene-dock)*.25);background:var(--scene-ink);color:var(--scene-paper);isolation:isolate;overflow:clip}
.cleaning-story *{box-sizing:border-box}
.cleaning-story__sticky{position:sticky;top:var(--scene-header);height:calc(100vh - var(--scene-header) - var(--scene-dock));height:calc(100svh - var(--scene-header) - var(--scene-dock));min-height:0;max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr;align-content:space-between;padding:clamp(34px,5vw,80px) clamp(24px,6vw,100px) 34px;overflow:hidden}
.cleaning-story__heading{position:relative;z-index:2;pointer-events:none}
.cleaning-story__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 24px;font:600 10px/1.2 inherit;letter-spacing:.2em;font-size:10px;font-weight:600}
.cleaning-story__eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--scene-yellow);box-shadow:0 0 12px #ffd60044}
.cleaning-story__heading h2{font-family:inherit;color:var(--scene-paper);font-size:clamp(44px,5.7vw,86px);font-weight:550;letter-spacing:-.055em;line-height:.98;margin:0}
.cleaning-story__heading h2 em{font-family:inherit;font-style:normal;color:var(--scene-yellow)}
.cleaning-story__heading>p:last-child{font-size:13px;font-weight:400;line-height:1.65;color:#a2a79a;margin:23px 0 0;letter-spacing:0}
.cleaning-story__visual{position:absolute;right:0;top:50%;width:76%;height:auto;aspect-ratio:1060/680;transform:translateY(-42%);pointer-events:none}
.cleaning-story__halo{position:absolute;inset:20% 10% 7% 2%;border-radius:50%;background:radial-gradient(ellipse,#a3b77c14,transparent 66%);transform:rotate(-18deg);border:1px solid #ffffff05}
.cleaning-story__halo:after{content:"";position:absolute;inset:12%;border:1px solid #ffffff04;border-radius:50%}
.cleaning-story__svg{position:relative;width:100%;height:100%;overflow:visible;display:block}
.cleaning-story__assembly{transform-box:view-box;transform-origin:530px 390px;will-change:transform}
.cleaning-story__tag{position:absolute;font-size:9px;letter-spacing:.14em;font-weight:600;line-height:1;z-index:2;transition:opacity .1s linear;white-space:nowrap}
.cleaning-story__tag:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:currentColor}
.cleaning-story__tag--before{top:46%;right:9%;color:#c7c6b1;transform:translateY(-35px)}
.cleaning-story__tag--before:before{left:-14px;top:2px}
.cleaning-story__tag--after{left:19%;bottom:19%;color:var(--scene-yellow);opacity:0}
.cleaning-story__tag--after:before{left:-14px;top:2px}
.cleaning-story__tag--after>span{margin-left:12px;font-size:14px}
.cleaning-story__disclaimer{position:absolute;bottom:6%;right:8%;color:#757c70;font-size:9px;letter-spacing:.08em;margin:0}
.cleaning-story__footer{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1.15fr auto;align-items:end;gap:40px;width:100%;margin-top:auto}
.cleaning-story__step{min-height:84px}
.cleaning-story__number{display:block;font-size:10px;letter-spacing:.18em;color:var(--scene-yellow);margin-bottom:15px}
.cleaning-story__step-title{margin:0 0 7px;font-size:19px;letter-spacing:-.025em;line-height:1.1;font-weight:500;color:var(--scene-paper)}
.cleaning-story__step-copy{margin:0;font-size:11px;line-height:1.5;color:#a2a79a;max-width:280px}
.cleaning-story__track{height:2px;background:#ffffff20;align-self:end;margin-bottom:13px;overflow:hidden}
.cleaning-story__track>span{display:block;height:100%;width:100%;background:var(--scene-yellow);transform-origin:left;transform:scaleX(0);will-change:transform}
.cleaning-story__scroll-hint{font-size:9px;letter-spacing:.12em;line-height:22px;color:#a2a79a;margin-bottom:3px;white-space:nowrap}
.cleaning-story__scroll-hint>span{display:inline-block;margin-left:18px;font-size:20px;color:var(--scene-paper)}
@media(min-width:1600px){.cleaning-story__visual{width:82%;right:-2%}}
@media(max-width:1000px){.cleaning-story__sticky{padding:35px 32px 30px}.cleaning-story__visual{width:82%;right:-6%;transform:translateY(-38%)}.cleaning-story__heading h2{font-size:62px}.cleaning-story__heading>p:last-child{font-size:12px;max-width:220px}.cleaning-story__footer{grid-template-columns:1fr 1fr;gap:25px}.cleaning-story__scroll-hint{display:none}}
@media(max-width:760px){.cleaning-story{--scene-header:72px;--scene-dock:calc(67px + env(safe-area-inset-bottom, 0px))}}
@media(max-width:600px){
 .cleaning-story{min-height:calc(182.5vh - var(--scene-header)*.25 - var(--scene-dock)*.25);min-height:calc(182.5svh - var(--scene-header)*.25 - var(--scene-dock)*.25)}
 .cleaning-story__sticky{padding:26px 22px 22px}
 .cleaning-story__heading h2{font-size:clamp(39px,10.8vw,61px);line-height:1.02;letter-spacing:-.055em}
 .cleaning-story__eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:18px;gap:8px}
 .cleaning-story__heading>p:last-child{font-size:11px;line-height:1.55;margin-top:14px;max-width:240px}
 .cleaning-story__visual{width:120%;right:-10%;top:39%;transform:translateY(-15%)}
 .cleaning-story__tag{font-size:7px;letter-spacing:.1em}
 .cleaning-story__tag--before{top:39%;right:14%}
 .cleaning-story__tag--after{left:18%;bottom:14%}
 .cleaning-story__disclaimer{font-size:7px;right:20%;bottom:3%}
 .cleaning-story__footer{display:flex;flex-wrap:wrap;gap:16px;align-items:end}
 .cleaning-story__step{width:100%;min-height:68px}
 .cleaning-story__number{font-size:8px;margin-bottom:10px}
 .cleaning-story__step-title{font-size:18px;margin-bottom:5px}
 .cleaning-story__step-copy{font-size:10px;max-width:100%;line-height:1.5}
 .cleaning-story__track{flex:1;margin-bottom:3px}
 .cleaning-story__scroll-hint{display:block;font-size:7px;line-height:1;margin:0}
 .cleaning-story__scroll-hint>span{font-size:15px;margin-left:9px}
}
@media(max-height:720px) and (min-width:601px){.cleaning-story__sticky{padding-top:24px;padding-bottom:20px}.cleaning-story__heading h2{font-size:clamp(35px,5vw,52px)}.cleaning-story__heading>p:last-child{display:none}.cleaning-story__visual{width:65%;right:1%;transform:translateY(-47%)}.cleaning-story__step{min-height:72px}}
@media(max-height:700px) and (max-width:600px){.cleaning-story__sticky{padding:16px 20px 17px}.cleaning-story__heading h2{font-size:34px;line-height:.98}.cleaning-story__eyebrow{margin-bottom:12px;font-size:7px}.cleaning-story__heading>p:last-child{display:none}.cleaning-story__visual{width:112%;right:-6%;top:31%}.cleaning-story__footer{gap:8px}.cleaning-story__step{min-height:60px}.cleaning-story__number{margin-bottom:8px;font-size:7px}.cleaning-story__step-title{font-size:15px}.cleaning-story__step-copy{font-size:9px}.cleaning-story__disclaimer{display:none}.cleaning-story__tag{font-size:6px}}
@media(max-height:500px) and (min-width:601px){.cleaning-story__heading h2{font-size:31px}.cleaning-story__eyebrow{font-size:7px;margin-bottom:12px}.cleaning-story__sticky{padding:16px 26px}.cleaning-story__visual{width:52%;right:3%;transform:translateY(-54%)}.cleaning-story__footer{grid-template-columns:1fr 1fr;gap:24px}.cleaning-story__step{min-height:56px}.cleaning-story__number{font-size:8px;margin-bottom:8px}.cleaning-story__step-title{font-size:15px}.cleaning-story__step-copy{font-size:9px;max-width:250px}.cleaning-story__disclaimer{display:none}}
@media(prefers-reduced-motion:reduce){.cleaning-story{min-height:0}.cleaning-story__sticky{position:relative;height:740px;min-height:0}.cleaning-story__tag{transition:none}.cleaning-story__scroll-hint{display:none}.cleaning-story__track{display:none}@media(max-width:600px){.cleaning-story__sticky{height:660px}.cleaning-story__visual{top:43%}}}

/* Scroll instruction remains visible at the tablet and phone breakpoints too. */
.cleaning-story__scroll-hint{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 13px;border:1px solid #ffffff28;border-radius:30px;background:#24261ad9;backdrop-filter:blur(8px);color:#eeefe5;font-size:10px;letter-spacing:.06em;line-height:1.2;margin-bottom:0}
.cleaning-story__scroll-hint>span{font-size:20px;margin-left:0;color:#ffd600}
@media(min-width:601px) and (max-width:1000px){.cleaning-story__scroll-hint{position:absolute;right:0;bottom:0}.cleaning-story__track{margin-right:155px}}
@media(max-width:600px){.cleaning-story__scroll-hint{font-size:9px;padding:7px 10px}.cleaning-story__scroll-hint>span{font-size:18px}}
@media(prefers-reduced-motion:reduce),(max-height:500px){.cleaning-story__scroll-hint{display:none}}
