/* The same original photograph travels from the hero into the contact panel. */
.cleaning-story{position:relative;background:#fff}.story-stage{position:relative}.hero-block{position:relative;margin:0 20px;min-height:620px;height:min(760px,calc(100svh - 150px));border-radius:22px;overflow:hidden;background:#eaf6fc}.cloth-hero-copy{position:absolute;left:max(36px,calc((100vw - 1280px)/2 - 20px));top:15%;z-index:5;max-width:790px}.cloth-hero-copy .eyebrow{font-size:.8125rem;letter-spacing:.12em;margin-bottom:24px}.cloth-hero-copy h1{font-size:clamp(3.5rem,5.6vw,5.5rem);line-height:1.06;letter-spacing:-.065em;font-weight:800}.cloth-hero-copy h1>span{color:#296078}.cloth-intro{font-size:1.125rem;line-height:1.75;color:#162937;font-weight:600;margin-top:27px}.cloth-hero-copy .hero-actions{gap:25px;margin-top:30px}.cloth-hero-copy .button{background:#173e4a}.hero-softlight{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,#f3f9fcf5,#f3f9fce8 42%,#f3f9fc9e 65%,#f3f9fc00 90%);pointer-events:none}.story-hero-footer{position:absolute;left:max(36px,calc((100vw - 1280px)/2 - 20px));right:35px;bottom:32px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.8125rem;font-weight:600;color:#284854}.story-scroll{text-decoration:none;display:flex;gap:12px;align-items:center}.scroll-cue{display:inline-block;width:19px;height:29px;border:1px solid currentColor;border-radius:10px;position:relative}.scroll-cue:before{content:'';position:absolute;width:3px;height:6px;left:7px;top:7px;background:currentColor;border-radius:3px}.story-photo,.wipe-cloth,#wipe-surface{display:none}.contact-panel{background:#eaf6fc;padding-block:62px;scroll-margin-top:24px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:65px}.contact-photo{margin:0;min-width:0}.contact-photo-slot{position:relative;height:min(74svh,700px);min-height:530px;border-radius:20px;overflow:hidden;background:#d2e6ef}.contact-photo-slot>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.contact-photo figcaption{font-size:.8125rem;line-height:1.7;color:#4d6877;margin-top:16px}.contact-photo figcaption strong{color:var(--ink);font-weight:600}.contact-survey{min-width:0}.contact-survey>.eyebrow{margin-bottom:14px;font-size:.8125rem}.contact-survey>h2{font-size:clamp(2rem,2.75vw,2.6rem);line-height:1.12;letter-spacing:-.045em}.contact-lead{font-size:1rem;line-height:1.7;color:#4d6877;margin-top:15px}.contact-survey .form-panel{margin-top:24px;padding:30px;min-height:430px;border:1px solid #d6e6ed;box-shadow:0 15px 40px #29455609}.contact-survey .form-step legend{font-size:1.375rem}.contact-survey .choice{padding:14px 11px}.contact-survey .form-progress p{margin-bottom:13px}.contact-survey .progress-track{margin-bottom:25px}.contact-foot{display:flex;flex-direction:column;gap:8px;margin-top:19px;font-size:.8125rem;line-height:1.6;color:#4d6877}.contact-foot a{width:max-content;text-underline-offset:4px}.cloth-active .story-stage{position:sticky;top:0;min-height:100svh;padding:0;isolation:isolate;overflow:clip}.cloth-active .contact-panel{background:#eaf6fc;padding-block:62px;opacity:var(--contact-opacity,0);pointer-events:none}.cloth-active .contact-panel[data-interactive=true]{pointer-events:auto}.cloth-active .contact-survey{transform:translateY(var(--survey-offset,20px))}.cloth-active .contact-photo-slot>img{opacity:var(--original-opacity,0)}.cloth-active .contact-photo figcaption{opacity:var(--contact-opacity,0)}.cloth-active .hero-block{position:absolute;margin:0;left:20px;right:20px;top:12px;height:var(--hero-height,calc(100svh - 24px));min-height:0;z-index:auto;background:transparent;opacity:1;pointer-events:none}.cloth-active .hero-block[data-interactive=true]{pointer-events:auto}.cloth-active .hero-softlight{opacity:var(--light-opacity,1)}.cloth-active .story-photo{display:block;position:absolute;overflow:hidden;z-index:1;pointer-events:none;will-change:width,height,transform;opacity:var(--flying-photo-opacity,1)}.story-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.cloth-active #wipe-surface{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:3;opacity:var(--dirt-opacity,1);pointer-events:none}.cloth-active .wipe-cloth{display:block;position:absolute;left:0;top:0;z-index:4;pointer-events:none;will-change:transform,opacity;filter:drop-shadow(0 6px 5px #1d3f3e24)}.wipe-cloth>img{width:100%;height:auto;object-fit:contain}.cloth-static .hero-block{background:#eaf6fc}.cloth-static .contact-panel{opacity:1!important}.service-inquiry{display:inline-block;margin-top:23px;font-size:.875rem;min-height:35px;line-height:1.7}.photo-fallback{display:grid;place-items:center;min-height:375px;background:var(--blue-light);border:1px solid var(--line);border-radius:var(--radius);padding:24px;color:var(--muted);font-size:1rem;line-height:1.8;text-align:center}.simple-process .section-heading{grid-template-columns:1fr}.simple-process h2{max-width:850px}.service-card{transition:border-color .2s,background .2s}.service-card:hover{border-color:#8db9c9;background:#f8fcfd}.site-header{padding-block:23px}.family-photo{position:relative}.family-photo .family-detail{position:absolute;width:34%;height:175px;right:-18px;bottom:35px;border:8px solid var(--blue-light);border-radius:18px;object-position:center}.family-photo>img:first-child{object-position:center}
@media(max-width:1000px){.contact-grid{gap:32px}.contact-survey>h2{font-size:2rem}.contact-survey .form-panel{padding:25px}.contact-survey .choice-grid{grid-template-columns:1fr 1fr}.cloth-hero-copy{left:36px}.cloth-hero-copy h1{font-size:clamp(3.2rem,6.7vw,5rem)}.story-hero-footer{left:36px}.contact-photo-slot{min-height:560px}.contact-survey .choice{font-size:.875rem}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:30px}.contact-panel{padding-block:32px 42px}.contact-photo-slot{width:100%;height:360px;min-height:0;object-position:center}.contact-photo figcaption{font-size:.8125rem;margin-top:12px}.contact-survey>.eyebrow{margin-bottom:13px}.contact-survey>h2{font-size:2rem}.contact-survey>h2 br{display:none}.contact-survey .form-panel{margin-top:23px;padding:25px 22px;min-height:430px}.contact-lead{font-size:1rem;margin-top:14px}.contact-foot{margin-top:19px}.cloth-active .contact-panel{padding-block:32px 42px}.cloth-active .hero-block{left:10px;right:10px;top:8px}.hero-block{margin-inline:10px;border-radius:16px;height:660px;min-height:660px}.cloth-hero-copy{left:24px;right:20px;top:21%;max-width:none}.cloth-hero-copy .eyebrow{font-size:.75rem;letter-spacing:.07em;margin-bottom:22px}.cloth-hero-copy h1{font-size:clamp(2.5rem,10.5vw,4.7rem);line-height:1.06}.cloth-intro{font-size:1rem;line-height:1.75;margin-top:24px}.cloth-hero-copy .hero-actions{flex-direction:column;align-items:flex-start;gap:19px;margin-top:28px}.cloth-hero-copy .button{font-size:.9375rem;padding:17px 23px}.cloth-hero-copy .text-link{font-size:.9375rem}.story-hero-footer{left:24px;right:24px;bottom:27px;font-size:.8125rem}.story-hero-footer>span{display:none}.cloth-active .hero-softlight{background:linear-gradient(90deg,#f3f9fcf5,#f3f9fce6 65%,#f3f9fcb8)}.site-header{padding-block:18px}.family-photo .family-detail{height:140px;right:-8px;bottom:30px;width:36%;border-width:6px}.simple-process h2 br{display:none}}
@media(max-width:370px){.cloth-hero-copy{left:20px;top:19%}.cloth-hero-copy h1{font-size:2.1rem}.cloth-hero-copy .eyebrow{font-size:.75rem}.cloth-intro{font-size:.9375rem}.contact-photo-slot{height:300px}.contact-survey>h2{font-size:1.75rem}.contact-survey .choice-grid{grid-template-columns:1fr}.contact-survey .form-panel{padding:23px 19px}.contact-survey .choice{font-size:.875rem}.story-hero-footer{left:20px}}
@media(max-height:720px) and (min-width:761px){.cloth-hero-copy{top:18%}.cloth-hero-copy h1{font-size:clamp(2.5rem,4.3vw,4rem)}.cloth-intro{margin-top:18px;font-size:1rem}.cloth-hero-copy .hero-actions{margin-top:20px}.contact-photo-slot{height:560px}.contact-survey>h2{font-size:2rem}.cloth-active .contact-panel{padding-block:62px}}
@media(prefers-reduced-motion:reduce){.story-photo,.wipe-cloth,#wipe-surface{display:none!important}.cloth-active .story-stage{position:relative;min-height:0}.cloth-active .hero-block{position:relative;inset:auto;height:660px;margin-inline:10px;background:#eaf6fc;opacity:1!important}.cloth-active .contact-panel{opacity:1!important}.cloth-active .contact-photo-slot>img{opacity:1!important}.cloth-active .contact-survey{transform:none!important}}

.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero-block>.hero-image{display:block}.cloth-static .hero-softlight{opacity:1!important}.cloth-static .hero-block{opacity:1!important}.cloth-static .contact-survey{transform:none!important}.cloth-static .contact-photo-slot>img{opacity:1!important}
.wipe-preview{display:none}
.cloth-pending .hero-image{filter:blur(3px)}
.cloth-pending .wipe-preview{display:block;position:absolute;inset:0;z-index:2;background:rgba(225,232,226,.38);pointer-events:none}
.wipe-preview>img{width:100%;height:100%;object-fit:cover;opacity:.77}
.cloth-pending .wipe-cloth{display:block;position:absolute;left:89%;top:110px;width:280px;z-index:4;pointer-events:none;transform:translate(-50%,-50%) rotate(-40deg);filter:drop-shadow(0 6px 5px #1d3f3e24)}
@media(max-width:760px){.cloth-pending .wipe-cloth{top:90px;width:min(205px,58vw)}}

/* Keep hero content above the cloth while its background fades into the team photo. */
.cloth-active .hero-image{z-index:2;opacity:var(--hero-opacity,1)}
.cloth-active .cloth-hero-copy,.cloth-active .story-hero-footer{opacity:var(--hero-opacity,1)}

/* Once the hero lands, keep the family beside the survey within this section. */
@media(min-width:761px){
  .contact-photo-slot{height:min(74svh,700px,calc(100svh - 90px));min-height:0}
  .cloth-static .contact-photo{position:sticky;top:24px;align-self:start}
}

.hero-question{font-size:clamp(1.125rem,1.7vw,1.5rem);font-weight:700;line-height:1.4;color:#162937;margin-top:22px}.hero-question+.cloth-intro{margin-top:12px}@media(max-width:760px){.hero-question{font-size:1.125rem;margin-top:20px}.hero-question+.cloth-intro{margin-top:10px}}@media(max-height:650px){.cloth-hero-copy{top:12%}.hero-question{margin-top:14px}.hero-question+.cloth-intro{font-size:.9375rem;line-height:1.55;margin-top:8px}.cloth-hero-copy .hero-actions{margin-top:18px}}
