/* Local, optional motion. Content remains visible without JavaScript. */
/* Burgundy visual refresh: a stronger rhythm, with stable service imagery. */
.hero-copy:before{content:'';position:absolute;inset:5% 0 15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 28%,#7b17391c,transparent 59%),radial-gradient(ellipse at 83% 60%,#b34b7022,transparent 51%);animation:burgundy-drift 13s ease-in-out infinite alternate}
.hero h1 em{background:linear-gradient(105deg,#68112f 12%,#a94268 40%,#7b1739 65%,#68112f 90%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:ink-flow 9s ease-in-out infinite alternate}
.ticker{background:#7b1739;color:#f4f1ea;border-color:#68112f}
.ticker i{color:#e6a3b9}
.ticker-track{animation-duration:27s}
.hero-copy>.beat-backdrop{opacity:.16}
.hero-art:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at var(--spot-x,55%) var(--spot-y,42%),#efbbd017 0,transparent 43%);mix-blend-mode:screen}
.hero-art .art-top,.hero-art .reveal-labels,.hero-art .reveal-help,.hero-art .reveal-disclaimer{z-index:2}
.hero-art .reveal-divider{z-index:2}
.hero-art .shoe-layer img{transform:translate3d(var(--shoe-x,0px),var(--shoe-y,0px),0) scale(1.035);transition:transform .45s cubic-bezier(.2,.6,.25,1)}
.hero-vibe{color:#7b1739;letter-spacing:1.8px}
.service{transition:background-color .3s,box-shadow .3s,transform .4s}
@media(hover:hover) and (pointer:fine){html[data-motion=on] .service.is-visible:hover{transform:translateY(-7px);box-shadow:0 15px 30px #68112f15;z-index:1}.text-link{transition:color .2s}.text-link:hover{color:#7b1739}}
@keyframes burgundy-drift{from{transform:translate3d(-2%,-2%,0) scale(.94)}to{transform:translate3d(2%,3%,0) scale(1.04)}}
@keyframes ink-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(max-width:760px){.hero-copy:before{inset:10% 0 8%;opacity:.7}.hero-copy>.beat-backdrop{opacity:.12}}
html[data-motion=off] .hero-copy:before,html[data-motion=off] .hero h1 em{animation:none}
html[data-motion=off] .hero-art .shoe-layer img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.hero-copy:before,.hero h1 em{animation:none!important}.hero-art .shoe-layer img{transform:none;transition:none}.service{transition:background-color .2s}}
/* Background equalizers share a 92 BPM four-beat groove; no sound is played. */
.hero-copy,.process{position:relative;isolation:isolate}
.beat-backdrop{position:absolute;left:5%;right:5%;bottom:0;height:68%;display:flex;gap:clamp(4px,.6vw,11px);align-items:flex-end;z-index:-1;opacity:.11;pointer-events:none;overflow:hidden;contain:layout paint}
.beat-backdrop i{display:block;flex:1;min-width:0;height:var(--bar-height);background:#7b1739;transform-origin:center bottom;transform:scaleY(.35);animation:hiphop-bars 2.6086957s cubic-bezier(.2,.75,.3,1) infinite;animation-delay:var(--beat-delay);border-radius:3px 3px 0 0}
.process>.beat-backdrop{left:45%;right:3%;height:310px;bottom:35px;opacity:.12}
@keyframes hiphop-bars{0%,50%,100%{transform:scaleY(.93)}7%,57%{transform:scaleY(.4)}19%,69%{transform:scaleY(var(--low))}25%,75%{transform:scaleY(.75)}32%,82%{transform:scaleY(.32)}43%,93%{transform:scaleY(var(--low))}}
html[data-motion=off] .beat-backdrop i{animation:none;transform:scaleY(.3)}
@media(max-width:760px){.hero-copy>.beat-backdrop{height:55%;opacity:.09;gap:5px}.process>.beat-backdrop{left:15%;height:190px;opacity:.09}}
@media(prefers-reduced-motion:reduce){.beat-backdrop i{animation:none!important;transform:scaleY(.3)}}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#7b1739;transform:scaleX(var(--read-progress,0));transform-origin:left;z-index:31;pointer-events:none}
.social-float{position:fixed;right:25px;bottom:25px;z-index:18;display:flex;flex-direction:column;align-items:flex-end;gap:11px}
.whatsapp-float{display:flex;align-items:center;gap:12px;background:#167b46;color:#fff;border:1px solid #ffffff50;padding:16px 21px;border-radius:40px;box-shadow:0 7px 26px #163e252b;animation:chat-breathe 6s ease-in-out infinite;transition:background .2s,transform .2s}
.whatsapp-float:hover{background:#105c34;transform:translateY(-4px)}
.whatsapp-float svg{width:26px;height:26px;flex-shrink:0}
.whatsapp-float b{display:block;font-size:12px;line-height:1.4}
.whatsapp-float small{font-size:10px;opacity:.85}
.hero-vibe{display:inline-flex;align-items:center;gap:8px;margin:20px 0 0;font-size:9px;letter-spacing:1.5px;font-weight:bold;color:#767c6e}
.hero-vibe span{color:#7b1739;display:inline-block;font-size:18px;animation:spark-turn 14s linear infinite}
.ticker{overflow:hidden;justify-content:flex-start;padding:20px 0}
.ticker-track{display:flex;width:max-content;animation:street-marquee 36s linear infinite}
.ticker-group{display:flex;align-items:center;flex-shrink:0;gap:48px;padding-right:48px;white-space:nowrap}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.motion-ready .scroll-in{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .scroll-in.is-visible{opacity:1;transform:none}
.service,.hygiene-grid article,.cleaning-steps li,.intake-grid article{transition:background-color .25s,border-color .25s}
.service:hover,.hygiene-grid article:hover,.intake-grid article:hover{background-color:#dde3d4}
.cleaning-steps li:hover{background:#2b362e}
.cleaning-number{transition:color .25s,transform .25s;transform-origin:left}
.cleaning-steps li:hover .cleaning-number{color:#f0bad0;transform:translateX(4px)}
@keyframes street-marquee{to{transform:translateX(-50%)}}
@keyframes chat-breathe{0%,65%,100%{box-shadow:0 7px 26px #163e252b}80%{box-shadow:0 7px 26px #163e252b,0 0 0 7px #167b4614}}
@keyframes float-stamp{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-7px) rotate(4deg)}}
@keyframes spark-turn{to{transform:rotate(360deg)}}
@media(hover:hover) and (pointer:fine){html:not([data-motion=off]) body,html:not([data-motion=off]) a,html:not([data-motion=off]) button,html:not([data-motion=off]) summary{cursor:url('assets/sneaker-cursor.svg') 6 6,auto}html:not([data-motion=off]) .reveal-range{cursor:ew-resize}.price-stamp{animation:float-stamp 7s ease-in-out infinite}.btn.magnetic{transform:translate3d(var(--mag-x,0px),var(--mag-y,0px),0)}.btn.magnetic:hover{transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) - 2px),0)}}
@media(max-width:760px){.social-float{right:15px;bottom:max(16px,env(safe-area-inset-bottom));gap:9px}.whatsapp-float{padding:16px;border-radius:50%;width:60px;height:60px;justify-content:center}.whatsapp-float .chat-copy{display:none}.ticker-group{gap:28px;padding-right:28px}.ticker{flex-wrap:nowrap}.hero-vibe{font-size:8px;letter-spacing:1px}.preview-badge{max-width:calc(100% - 165px);line-height:1.5}footer{padding-bottom:115px}}
html[data-motion=off] .ticker-track,html[data-motion=off] .whatsapp-float,html[data-motion=off] .price-stamp,html[data-motion=off] .hero-vibe span{animation:none}
html[data-motion=off]{scroll-behavior:auto}
html[data-motion=off] .scroll-in{opacity:1!important;transform:none!important;transition:none!important}
html[data-motion=off] .btn.magnetic{transform:none!important}
html[data-motion=off] .ticker-group[aria-hidden=true]{display:none}
html[data-motion=off] .ticker-group{white-space:normal;flex-wrap:wrap;justify-content:center;gap:20px;padding:0 25px}
html[data-motion=off] .ticker-track{width:100%;justify-content:center}
html[data-motion=off] .whatsapp-float:hover,html[data-motion=off] .cleaning-steps li:hover .cleaning-number{transform:none}
html[data-motion=off] .reading-progress{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.ticker-track,.whatsapp-float,.price-stamp,.hero-vibe span{animation:none!important}.motion-ready .scroll-in{opacity:1;transform:none;transition:none}.whatsapp-float:hover,.btn.magnetic,.cleaning-steps li:hover .cleaning-number{transform:none!important}.ticker-group[aria-hidden=true]{display:none}.ticker-track{width:100%}.ticker-group{flex-wrap:wrap;white-space:normal;justify-content:center;gap:20px;padding:0 25px}.reading-progress{display:none}body,a,button,summary{cursor:auto!important}}
.ticker-track{animation-duration:27s}.hero-vibe{color:#7b1739}.motion-ready .service{transition:opacity .65s ease,transform .4s ease,box-shadow .3s ease,background-color .3s ease}
