:root{--header-height:78px;--ink:#331227;--muted:#68525e;--pink:#b00b5c;--hot:#a70955;--paper:#fffafd;--tint:#fff0f7;--line:#f0cfdf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + env(safe-area-inset-top) + 12px)}body{margin:0;padding-bottom:calc(85px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);font:16px/1.55 Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #731243;outline-offset:4px}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}svg.symbols{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1152px,calc(100% - 72px));margin-inline:auto}.header{position:sticky;top:0;z-index:3;padding-top:env(safe-area-inset-top);background:#fff7fb}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:var(--header-height)}.brand{display:block;flex:none}.brand img{display:block;width:clamp(116px,23vw,166px);height:auto}.icon{display:grid;place-items:center;border-radius:13px;background:#ffe5f2;color:var(--pink)}.pink{color:var(--pink)}nav{display:flex;gap:26px;font-weight:650;font-size:14px}.header-phone{display:flex;align-items:center;gap:7px;color:#8c164f;font-weight:800;white-space:nowrap}.header-phone svg{width:18px;height:18px}nav a:hover,.header-phone:hover{color:#c4166c}.hero{position:relative;isolation:isolate;background:#41102f;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2;animation:hero-in 1.5s ease-out both}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2b0b24ed,#2b0b24bd 37%,#2b0b2420 70%,transparent)}.hero-inner{min-height:clamp(490px,47vw,660px);display:flex;align-items:center;padding-block:54px}.hero-copy{animation:appear .7s both}.eyebrow{display:inline-flex;align-items:center;gap:7px;border:1px solid #fca5d582;background:#3f0e2abd;padding:5px 11px;border-radius:40px;font-size:13px;font-weight:700}.eyebrow svg{width:15px;height:15px;color:#ffadd9}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(45px,5.8vw,82px);font-weight:850;margin-top:18px}h1 em{display:block;color:#ffaad7;font-style:normal}.hero-text{max-width:415px;margin:20px 0 25px;color:#fff0f8;font-size:clamp(16px,1.65vw,20px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;border-radius:12px;font-weight:800;min-height:48px;transition:transform .2s,box-shadow .2s}.primary{background:var(--hot);color:white;border:1px solid #f460a7;box-shadow:0 0 24px #f2218b75}.button:hover,.contact-links a:hover{transform:translateY(-3px)}.section{padding-block:69px}.kicker{color:#a31a60;font-weight:850;font-size:12px;letter-spacing:.14em;margin-bottom:10px}.section h2{font-size:clamp(32px,4vw,53px);margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card{border:1px solid var(--line);border-radius:16px;background:white;padding:19px;box-shadow:0 8px 21px #a22a6710}.icon{width:45px;height:45px;margin-bottom:15px}.card h3,.steps h3{font-size:21px;margin-bottom:7px}.card p,.steps p,.faq details p{color:var(--muted)}.tinted{background:#fff0f7}.process,.faq,.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,6vw,85px);align-items:center}.washer-scene{position:relative;display:grid;place-items:center;margin:0;aspect-ratio:1.2;max-height:415px;overflow:hidden;border-radius:19px;background:#421b40;box-shadow:0 14px 30px #4c143529}.steps{padding:0;margin:0;list-style:none;counter-reset:step}.steps li{position:relative;padding:0 0 18px 48px;counter-increment:step}.steps li:last-child{padding-bottom:0}.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;top:0;left:0;color:var(--pink);background:#ffdaed;border-radius:10px;padding:6px 8px;font-weight:800}.faq{align-items:start}.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--pink);font-size:23px;line-height:1}details[open] summary:after{content:"−"}.faq details p{margin-top:8px}.contact-section{background:linear-gradient(120deg,#ffdaeb,#fff0f7)}.contact h2{margin:0}.contact-links{display:flex;flex-wrap:wrap;gap:10px}.contact-links a{display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);padding:10px 13px;border-radius:12px;transition:transform .2s}.contact-links svg{color:var(--pink)}.contact-links small,.contact-links strong{display:block}.contact-links small{color:var(--muted);font-size:12px}.contact-links strong{white-space:nowrap}.dock{position:fixed;z-index:10;bottom:max(10px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;width:min(570px,calc(100% - 22px));display:grid;grid-template-columns:1fr 1fr;border:2px solid white;border-radius:16px;background:white;box-shadow:0 5px 27px #3c113e55}.dock a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:7px;color:white;transition:filter .2s}.dock a:hover{filter:brightness(1.13)}.dock a:focus-visible{outline-offset:-5px;outline-color:white}.dock-call{background:#ae0b58;border-radius:13px 0 0 13px;border-right:1px solid white}.dock-chat{background:#116648;border-radius:0 13px 13px 0}.dock strong,.dock small{display:block;line-height:1.27;white-space:nowrap}.dock small{margin-top:3px;font-size:12px}.petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:4}.petal{position:absolute;top:-30px;left:var(--left);width:var(--size);height:calc(var(--size)*.68);border-radius:70% 30% 72% 30%;background:radial-gradient(at 23% 36%,#ffe4f4,#ff88c3 64%,#d53a81);opacity:0;animation:fall var(--duration) var(--delay) linear infinite}.waiting{opacity:0}.appeared{animation:appear .55s both}@keyframes fall{0%{transform:translate3d(0,-3vh,0) rotate(12deg);opacity:0}11%{opacity:.82}48%{transform:translate3d(var(--drift),53vh,0) rotate(180deg)}90%{opacity:.65}100%{transform:translate3d(-25px,108vh,0) rotate(385deg);opacity:0}}@keyframes appear{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-in{from{scale:1.045}to{scale:1}}
@media(max-width:860px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.top nav{gap:14px}.wrap{width:calc(100% - 44px)}}
@media(max-width:620px){:root{--header-height:63px}.wrap{width:calc(100% - 34px)}.top{gap:8px}.top nav{display:none}.header-phone{font-size:13px;gap:4px}.header-phone svg{width:15px;height:15px}.hero-inner{min-height:540px;align-items:end;padding-block:145px 32px}.hero-image{object-position:73% center}.hero:after{background:linear-gradient(0deg,#2b0b24fb,#2b0b24c4 37%,#2b0b2440 75%,#2b0b2405)}h1{font-size:clamp(39px,9.5vw,55px);margin-top:13px}.wide-break{display:none}.hero-text{margin:14px 0 18px}.section{padding-block:43px}.section h2{margin-bottom:18px}.cards{gap:9px}.card{padding:13px}.card h3,.steps h3{font-size:18px}.card p{font-size:14px}.icon{width:37px;height:37px;margin-bottom:11px}.process,.faq,.contact{grid-template-columns:1fr;gap:18px}.washer-scene{max-height:290px}.contact h2{margin:0}.dock a{gap:7px}.dock svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.waiting{opacity:1}.petals{display:none}}

.washer-scene svg{display:block;width:100%;height:100%;stroke:none}
.washer-drum{transform-origin:240px 225px;animation:washer-spin 9s linear infinite;animation-play-state:paused}
.washer-scene[data-running] .washer-drum{animation-play-state:running}
.washer-toggle{position:absolute;right:10px;bottom:10px;min-height:44px;padding:7px 13px;border:1px solid #f0b6db;border-radius:10px;background:#32152f;color:#fff5fb;font:inherit;font-size:13px;cursor:pointer}
.washer-toggle:focus-visible{outline:2px solid white;outline-offset:2px}
@keyframes washer-spin{to{transform:rotate(1turn)}}
@media(prefers-reduced-motion:reduce){.washer-toggle{display:none}}

.contact-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,36%);align-items:center;gap:clamp(10px,2vw,28px)}
.contact-links{display:grid;justify-items:start}
.contact-washer{display:block;width:100%;max-width:160px;height:auto;justify-self:center}
.company-footer{background:var(--paper);border-top:1px solid var(--line);padding:18px 0 22px;text-align:center;color:var(--muted);font-size:12px}
.company-footer p{margin:0}
.company-footer a{text-decoration:underline;text-underline-offset:2px}
.company-links{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 14px}
@media(max-width:360px){.contact-content{grid-template-columns:minmax(0,1fr) minmax(64px,29%)}.contact-links a{gap:7px;padding-inline:9px}.contact-links svg{width:19px;height:19px}}

/* Keep the full hero artwork in view on wide desktop layouts. */
@media (min-width: 1440px) {
  .hero {
    background: #310b22;
  }

  .hero-inner {
    min-height: 740px;
  }

  .hero-image {
    inset: 0 max(0px, calc((100% - 1320px) / 2)) auto auto;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: right center;
    mask-image: linear-gradient(to right, transparent, black 16%, black 96%, transparent);
  }

  .hero::after {
    background: linear-gradient(90deg, #2b0b24dc, #2b0b2466 49%, transparent 67%);
  }
}
