@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");
.m2c-site {
--purple:#6428d7;
--purple2:#7a44f1;
--plum:#321052;
--ink:#1e1726;
--text:#5f5868;
--lav:#f3edff;
--lav2:#e7dcff;
--cream:#fffaf5;
--white:#fff;
--line:#e5dcf0;
--pink:#ffdff1;
--mint:#daf6ee;
--shadow:0 24px 60px rgba(63,25,92,.14);
font-family:Manrope,Arial,sans-serif;
color:var(--ink);
background:#fff;
position:relative;
overflow:visible;
isolation:isolate;
line-height:1.6
}
.m2c-site * {
box-sizing:border-box
}
.m2c-site a {
color:inherit
}
.m2c-site img {
display:block;
max-width:100%
}
.m2c-wrap {
width:min(1180px,calc(100% - 44px));
margin:auto
}
.m2c-header {
position:sticky;
top:0;
z-index:999;
background:rgba(255,255,255,.92);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(100,40,215,.09)
}
.m2c-header-inner {
min-height:98px;
display:flex;
align-items:center;
gap:22px
}
.m2c-brand {
width:215px;
flex:none;
display:block
}
.m2c-brand img {
width:100%;
height:88px;
object-fit:contain
}
.m2c-nav {
display:flex;
align-items:center;
gap:8px;
margin-left:auto
}
.m2c-nav a {
padding:10px 12px;
text-decoration:none;
font-weight:800;
font-size:14px;
border-radius:999px
}
.m2c-nav a:hover,.m2c-nav a[aria-current="page"] {
background:var(--lav);
color:var(--purple)
}
.m2c-header-actions {
display:flex;
align-items:center;
gap:10px
}
.m2c-phone {
font-size:13px;
font-weight:800;
text-decoration:none;
white-space:nowrap
}
.m2c-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:48px;
padding:0 20px;
border-radius:999px;
text-decoration:none;
font-weight:800;
border:1px solid transparent;
cursor:pointer;
font:inherit;
transition:.18s ease
}
.m2c-btn:hover {
transform:translateY(-2px)
}
.m2c-btn-primary {
color:#fff!important;
background:linear-gradient(135deg,var(--purple),var(--purple2));
box-shadow:0 12px 26px rgba(100,40,215,.23)
}
.m2c-btn-outline {
border-color:var(--line);
background:#fff
}
.m2c-btn-dark {
background:var(--plum);
color:#fff!important
}
.m2c-btn-white {
background:#fff;
color:var(--plum)!important
}
.m2c-menu {
display:none;
border:0;
background:var(--lav);
width:46px;
height:46px;
border-radius:15px;
align-items:center;
justify-content:center;
padding:0
}
.m2c-menu i,.m2c-menu i:before,.m2c-menu i:after {
display:block;
width:19px;
height:2px;
background:var(--plum);
content:"";
position:relative
}
.m2c-menu i:before {
position:absolute;
top:-6px
}
.m2c-menu i:after {
position:absolute;
top:6px
}
.m2c-kicker {
font-size:12px;
text-transform:uppercase;
letter-spacing:.13em;
font-weight:900;
color:var(--purple);
margin:0 0 14px
}
.m2c-script {
font-family:Caveat,"Segoe Print",cursive;
color:var(--purple);
font-size:clamp(29px,4vw,45px);
line-height:1;
margin:0 0 4px;
font-weight:700
}
.m2c-title {
font-size:clamp(48px,6.6vw,88px);
line-height:.98;
letter-spacing:-.055em;
margin:0;
font-weight:800
}
.m2c-title .soft {
color:var(--purple)
}
.m2c-h2 {
font-size:clamp(35px,4.7vw,60px);
line-height:1.02;
letter-spacing:-.045em;
margin:0
}
.m2c-h3 {
font-size:24px;
line-height:1.12;
margin:0
}
.m2c-lead {
font-size:18px;
color:var(--text);
max-width:680px
}
.m2c-section {
padding:96px 0;
position:relative
}
.m2c-site section[id] {
scroll-margin-top:110px
}
.m2c-lav {
background:linear-gradient(180deg,#fbf9ff,var(--lav))
}
.m2c-deep {
background:linear-gradient(145deg,#261037,#42146d 58%,#6327cf);
color:#fff
}
.m2c-deep .m2c-kicker,.m2c-deep .m2c-script {
color:#dac8ff
}
.m2c-deep p {
color:#e8ddf2
}
.m2c-actions {
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:28px
}
.m2c-hero {
padding:58px 0 78px;
position:relative;
overflow:hidden;
background:radial-gradient(circle at 88% 8%,#efe6ff 0 16%,transparent 17%),linear-gradient(180deg,#fff 0,#fffafc 100%)
}
.m2c-hero:before {
content:"";
position:absolute;
width:290px;
height:290px;
border-radius:50%;
background:#f1e8ff;
left:-160px;
top:80px;
filter:blur(1px)
}
.m2c-hero-grid {
display:grid;
grid-template-columns:1.02fr .98fr;
gap:64px;
align-items:center
}
.m2c-hero-copy {
position:relative;
z-index:2
}
.m2c-swish {
position:relative;
display:inline-block;
z-index:0
}
.m2c-swish:after {
content:"";
position:absolute;
left:-5%;
right:-5%;
bottom:.08em;
height:.26em;
background:var(--pink);
border-radius:999px;
transform:rotate(-2deg);
z-index:-1
}
.m2c-hero-art {
position:relative;
min-height:550px
}
.m2c-main-photo {
position:absolute;
inset:28px 18px 28px 48px;
border-radius:46% 54% 45% 55% / 45% 42% 58% 55%;
overflow:hidden;
box-shadow:var(--shadow);
transform:rotate(1.5deg);
border:8px solid #fff
}
.m2c-main-photo img {
width:100%;
height:100%;
object-fit:cover
}
.m2c-doodle {
position:absolute;
font-family:Caveat,cursive;
font-weight:700;
color:var(--purple);
font-size:28px;
z-index:4
}
.m2c-doodle.note {
right:4px;
top:16px;
transform:rotate(5deg);
background:#fff;
padding:10px 16px;
border-radius:18px;
box-shadow:0 12px 30px rgba(49,16,82,.12)
}
.m2c-doodle.spark {
left:14px;
bottom:92px;
font-size:45px;
transform:rotate(-10deg)
}
.m2c-bubble {
position:absolute;
border-radius:50%;
background:var(--mint);
width:76px;
height:76px;
right:2px;
bottom:32px;
border:5px solid white;
box-shadow:0 10px 30px rgba(49,16,82,.12)
}
.m2c-bubble:after {
content:"✦";
position:absolute;
inset:0;
display:grid;
place-items:center;
color:var(--purple);
font-size:28px
}
.m2c-proof-sticker {
position:absolute;
left:0;
top:72px;
background:var(--plum);
color:#fff;
width:132px;
height:132px;
border-radius:50%;
display:grid;
place-items:center;
text-align:center;
font-family:Caveat,cursive;
font-size:22px;
line-height:1.05;
transform:rotate(-10deg);
box-shadow:0 18px 40px rgba(49,16,82,.22);
border:5px solid white
}
/* ========================================================
AUTO-MOVING SERVICE RIBBON
======================================================== */
.m2c-ribbon {
margin-top:-1px;
background:var(--plum);
color:#fff;
overflow:hidden;
width:100%;
position:relative
}
.m2c-ribbon-track {
display:flex;
width:max-content;
flex-wrap:nowrap;
animation:m2c-ribbon-scroll 100s linear infinite;
will-change:transform
}
.m2c-ribbon-group {
display:flex;
flex:none;
align-items:center
}
.m2c-ribbon span {
flex:none;
white-space:nowrap;
padding:16px 24px;
font-size:13px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
display:flex;
align-items:center
}
.m2c-ribbon span:not(:last-child):after {
content:"✦";
color:#b996ff;
margin-left:24px
}
.m2c-ribbon-group:after {
content:"✦";
color:#b996ff;
margin:0 24px;
flex:none
}
@keyframes m2c-ribbon-scroll {
from {
transform:translateX(0)
}
to {
transform:translateX(-50%)
}
}
.m2c-ribbon:hover .m2c-ribbon-track {
animation-play-state:paused
}
.m2c-section-head {
display:grid;
grid-template-columns:1fr .8fr;
gap:50px;
align-items:end;
margin-bottom:42px
}
.m2c-section-head p {
margin:0;
color:var(--text)
}
.m2c-service-split {
display:grid;
grid-template-columns:1fr 1fr;
gap:22px
}
.m2c-service-card {
min-height:390px;
border-radius:34px;
padding:34px;
position:relative;
overflow:hidden;
border:1px solid var(--line);
display:flex;
flex-direction:column;
justify-content:space-between
}
.m2c-service-card.home {
background:linear-gradient(135deg,#fff,#f8f3ff)
}
.m2c-service-card.biz {
background:linear-gradient(145deg,#331052,#4d1a7d);
color:#fff;
border:0
}
.m2c-service-card.biz p {
color:#e5d8ee
}
.m2c-service-card:before {
content:"";
position:absolute;
border-radius:50%;
width:210px;
height:210px;
right:-70px;
top:-70px;
background:rgba(122,68,241,.09)
}
.m2c-service-card.biz:before {
background:rgba(255,255,255,.08)
}
.m2c-card-icon {
width:58px;
height:58px;
border-radius:19px;
background:var(--lav);
display:grid;
place-items:center;
color:var(--purple);
font-size:28px
}
.m2c-service-card.biz .m2c-card-icon {
background:rgba(255,255,255,.12);
color:#fff
}
.m2c-pills {
display:flex;
flex-wrap:wrap;
gap:9px;
margin-top:20px
}
.m2c-pill {
padding:8px 12px;
border-radius:999px;
background:#fff;
border:1px solid var(--line);
font-weight:700;
font-size:12px
}
.m2c-service-card.biz .m2c-pill {
background:rgba(255,255,255,.09);
border-color:rgba(255,255,255,.15);
color:#fff
}
.m2c-card-link {
font-weight:900;
text-decoration:none;
display:inline-flex;
align-items:center;
gap:7px;
margin-top:26px
}
/* ========================================================
GOOGLE REVIEWS
======================================================== */
.m2c-reviews-section {
overflow:hidden;
background:
radial-gradient(circle at 8% 18%,rgba(231,220,255,.78) 0 7%,transparent 8%),
radial-gradient(circle at 93% 82%,rgba(255,223,241,.72) 0 8%,transparent 9%),
linear-gradient(180deg,#fffaf5 0%,#fff 100%)
}
.m2c-reviews-heading {
display:grid;
grid-template-columns:1fr .72fr;
gap:48px;
align-items:end;
margin-bottom:34px
}
.m2c-reviews-heading-copy {
position:relative;
max-width:720px
}
.m2c-reviews-heading .m2c-script {
color:var(--purple)!important
}
.m2c-reviews-heading .m2c-h2 {
position:relative;
z-index:1;
display:inline
}
.m2c-reviews-heading .m2c-h2 .m2c-review-swish {
position:relative;
display:inline-block;
z-index:0
}
.m2c-reviews-heading .m2c-h2 .m2c-review-swish:after {
content:"";
position:absolute;
left:-4%;
right:-5%;
bottom:.07em;
height:.25em;
border-radius:999px;
background:var(--lav2);
transform:rotate(-1.5deg);
z-index:-1
}
.m2c-reviews-heading-text {
margin:0;
color:var(--text);
max-width:450px
}
.m2c-review-doodle {
display:inline-flex;
align-items:center;
gap:8px;
width:max-content;
margin-top:18px;
padding:8px 13px;
border-radius:15px;
background:var(--pink);
color:var(--plum);
font-family:Caveat,"Segoe Print",cursive;
font-size:21px;
font-weight:700;
line-height:1;
transform:rotate(-2deg);
box-shadow:0 10px 24px rgba(49,16,82,.08)
}
.m2c-reviews-shell {
position:relative;
padding:34px 30px 28px;
border:1px solid var(--line);
border-radius:36px;
background:rgba(255,255,255,.94);
box-shadow:0 24px 60px rgba(49,16,82,.10)
}
.m2c-reviews-shell:before {
content:"";
position:absolute;
width:104px;
height:27px;
top:-10px;
left:50%;
transform:translateX(-50%) rotate(-2deg);
border-radius:4px;
background:rgba(255,223,241,.92);
box-shadow:0 4px 10px rgba(49,16,82,.05)
}
.m2c-reviews-shell:after {
content:"✦ ♡ ✦";
position:absolute;
right:24px;
top:-28px;
color:var(--purple2);
font-family:Caveat,"Segoe Print",cursive;
font-size:25px;
font-weight:700;
transform:rotate(5deg)
}
.m2c-trustindex-wrap {
position:relative;
z-index:1;
min-height:120px
}
.m2c-trustindex-wrap,.m2c-trustindex-wrap>* {
max-width:100%
}
.m2c-proof-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:26px
}
.m2c-ba-card {
background:#fff;
border:1px solid var(--line);
border-radius:32px;
padding:14px;
box-shadow:0 18px 50px rgba(49,16,82,.08)
}
.m2c-ba {
position:relative;
overflow:hidden;
border-radius:24px;
aspect-ratio:4/3;
background:#eee
}
.m2c-ba.tall {
aspect-ratio:4/4.6
}
.m2c-ba img {
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover
}
.m2c-ba > img.after {
clip-path: inset(0 0 0 50%);}
}
.m2c-ba-line {
position:absolute;
left:50%;
top:0;
bottom:0;
width:3px;
background:white;
transform:translateX(-50%);
box-shadow:0 0 0 1px rgba(0,0,0,.08)
}
.m2c-ba-knob {
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:48px;
height:48px;
border-radius:50%;
background:#fff;
display:grid;
place-items:center;
color:var(--purple);
font-weight:900;
box-shadow:0 8px 24px rgba(0,0,0,.2);
pointer-events:none
}
.m2c-ba input {
position:absolute;
inset:0;
width:100%;
height:100%;
opacity:0;
cursor:ew-resize;
margin:0
}
.m2c-ba-label {
position:absolute;
top:14px;
padding:7px 11px;
background:rgba(255,255,255,.92);
border-radius:999px;
font-size:11px;
font-weight:900;
letter-spacing:.08em;
text-transform:uppercase
}
.m2c-ba-label.before {
left:14px
}
.m2c-ba-label.after {
right:14px
}
.m2c-ba-copy {
padding:20px 12px 10px
}
.m2c-ba-copy strong {
font-size:20px;
display:block
}
.m2c-ba-copy span {
color:var(--text);
font-size:14px
}
.m2c-path {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px
}
.m2c-step-card {
padding:28px;
border-radius:28px;
background:#fff;
color:var(--ink);
position:relative
}
.m2c-step-card .num {
font-family:Caveat,cursive;
font-size:40px;
color:var(--purple);
font-weight:700
}
.m2c-step-card p {
color:var(--text);
margin-bottom:0
}
.m2c-step-card:after {
content:"";
position:absolute;
width:14px;
height:14px;
border-radius:50%;
background:var(--pink);
right:22px;
top:24px
}
.m2c-form-zone {
background:
radial-gradient(circle at 8% 18%,rgba(231,220,255,.72) 0 7%,transparent 8%),
radial-gradient(circle at 93% 82%,rgba(255,223,241,.65) 0 8%,transparent 9%),
linear-gradient(180deg,#fff,#faf7ff);
padding:100px 0
}
.m2c-form-intro {
display:grid;
grid-template-columns:.72fr 1.28fr;
gap:44px;
align-items:start
}
.m2c-form-intro>div:first-child {
position:sticky;
top:120px
}
.m2c-jobber-note {
margin:20px 0 0;
color:var(--text);
font-size:14px;
max-width:430px
}
.m2c-jobber-shell {
position:relative;
background:#fff;
border:1px solid var(--line);
box-shadow:var(--shadow);
border-radius:34px;
padding:28px;
overflow:visible
}
.m2c-jobber-shell:before {
content:"";
position:absolute;
width:96px;
height:26px;
left:50%;
top:-9px;
transform:translateX(-50%) rotate(-2deg);
border-radius:4px;
background:rgba(255,223,241,.92);
box-shadow:0 4px 10px rgba(49,16,82,.05)
}
.m2c-jobber-top {
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
margin-bottom:20px;
padding:6px 4px 18px;
border-bottom:1px solid var(--line)
}
.m2c-jobber-top strong {
display:block;
font-size:19px;
line-height:1.2
}
.m2c-jobber-top span {
display:block;
margin-top:4px;
color:var(--text);
font-size:13px
}
.m2c-jobber-badge {
flex:none;
padding:8px 12px;
border-radius:999px;
background:var(--lav);
color:var(--purple);
font-size:11px;
font-weight:900;
letter-spacing:.05em;
text-transform:uppercase
}
.m2c-jobber-embed {
width:100%;
min-height:540px
}
.m2c-jobber-fallback {
display:flex;
justify-content:center;
margin-top:18px;
padding-top:18px;
border-top:1px solid var(--line)
}
.m2c-jobber-fallback a {
color:var(--purple);
font-weight:800;
text-decoration:none
}
.m2c-jobber-fallback a:hover {
text-decoration:underline
}
.m2c-cta {
padding:84px 0
}
.m2c-cta-panel {
border-radius:38px;
background:linear-gradient(135deg,var(--purple),#7e42ef 55%,#4e188c);
color:#fff;
padding:48px 52px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
position:relative;
overflow:hidden
}
.m2c-cta-panel:after {
content:"✦";
position:absolute;
right:28%;
top:-20px;
font-size:120px;
color:rgba(255,255,255,.08)
}
.m2c-cta-panel p {
color:#eadfff;
margin-bottom:0
}
.m2c-footer {
padding:54px 0 96px;
background:#241132;
color:#f4eef8
}
.m2c-footer-grid {
display:grid;
grid-template-columns:1.3fr .7fr .8fr;
gap:40px
}
.m2c-footer-logo {
width:190px;
height:auto;
object-fit:contain;
display:block;
background:#fff;
padding:8px 12px;
border-radius:16px;
}
.m2c-footer p,.m2c-footer a {
color:#cfc2d9
}
.m2c-footer a {
text-decoration:none
}
.m2c-footer h4 {
margin:0 0 12px;
color:white
}
.m2c-footer-links {
display:grid;
gap:8px
}
.m2c-mobile-bar {
display:none
}
@media (max-width:980px) {
.m2c-header-inner {
min-height:84px
}
.m2c-brand {
width:184px
}
.m2c-brand img {
height:72px
}
.m2c-menu {
display:flex;
margin-left:auto
}
.m2c-nav {
position:absolute;
top:100%;
left:18px;
right:18px;
background:#fff;
border:1px solid var(--line);
box-shadow:var(--shadow);
border-radius:22px;
padding:12px;
display:none;
flex-direction:column;
align-items:stretch
}
.m2c-nav.open {
display:flex
}
.m2c-nav a {
padding:12px 14px
}
.m2c-header-actions {
display:none
}
.m2c-hero-grid,.m2c-page-hero-grid,.m2c-form-intro,.m2c-story-grid,.m2c-service-detail {
grid-template-columns:1fr
}
.m2c-hero-art {
min-height:470px
}
.m2c-section-head {
grid-template-columns:1fr;
gap:18px
}
.m2c-form-intro>div:first-child,.m2c-founder-card,.m2c-side-label {
position:relative;
top:auto
}
.m2c-footer-grid {
grid-template-columns:1fr 1fr
}
.m2c-footer-grid>div:first-child {
grid-column:1/-1
}
}
@media (max-width:720px) {
.m2c-brand {
width:176px
}
.m2c-brand img {
height:68px
}
.m2c-wrap {
width:min(100% - 28px,1180px)
}
.m2c-section {
padding:68px 0
}
.m2c-hero {
padding:34px 0 52px
}
.m2c-title {
font-size:48px
}
.m2c-h2 {
font-size:38px
}
.m2c-lead {
font-size:16px
}
.m2c-hero-grid {
gap:30px
}
.m2c-hero-art {
min-height:370px
}
.m2c-main-photo {
inset:20px 10px 20px 28px;
border-radius:34% 66% 42% 58% / 44% 42% 58% 56%;
border-width:6px
}
.m2c-proof-sticker {
width:102px;
height:102px;
font-size:18px;
top:38px
}
.m2c-doodle.note {
font-size:21px;
right:0
}
.m2c-doodle.spark {
font-size:34px;
bottom:52px
}
.m2c-bubble {
width:58px;
height:58px
}
.m2c-ribbon-track {
animation-duration:72s
}
.m2c-ribbon span {
padding:13px 15px;
font-size:11px
}
.m2c-ribbon span:not(:last-child):after {
margin-left:15px
}
.m2c-ribbon-group:after {
margin:0 15px
}
.m2c-service-split,.m2c-proof-grid,.m2c-path,.m2c-choice-grid,.m2c-fields,.m2c-checks,.m2c-values,.m2c-list-groups,.m2c-addon-grid,.m2c-commercial-grid {
grid-template-columns:1fr
}
.m2c-reviews-heading {
grid-template-columns:1fr;
gap:14px;
margin-bottom:26px
}
.m2c-reviews-heading-text {
max-width:none
}
.m2c-review-doodle {
margin-top:14px;
font-size:19px
}
.m2c-reviews-shell {
padding:26px 12px 18px;
border-radius:26px
}
.m2c-reviews-shell:before {
width:82px;
height:23px
}
.m2c-reviews-shell:after {
right:12px;
top:-24px;
font-size:21px
}
.m2c-service-card {
min-height:330px;
padding:27px
}
.m2c-ba.tall {
aspect-ratio:4/4.7
}
.m2c-form-zone {
padding:72px 0
}
.m2c-form-intro {
grid-template-columns:1fr;
gap:28px
}
.m2c-form-intro>div:first-child {
position:relative;
top:auto
}
.m2c-jobber-shell {
padding:20px 14px;
border-radius:26px
}
.m2c-jobber-top {
align-items:flex-start
}
.m2c-jobber-badge {
display:none
}
.m2c-jobber-embed {
min-height:500px
}
.m2c-cta {
padding:62px 0
}
.m2c-cta-panel {
padding:34px 25px;
display:block;
border-radius:28px
}
.m2c-cta-panel .m2c-actions {
margin-top:24px
}
.m2c-footer {
padding-bottom:120px
}
.m2c-footer-grid {
grid-template-columns:1fr
}
.m2c-footer-grid>div:first-child {
grid-column:auto
}
.m2c-mobile-bar {
display:grid;
grid-template-columns:1fr 1.2fr;
gap:8px;
position:fixed;
z-index:1200;
left:10px;
right:10px;
bottom:10px;
background:rgba(255,255,255,.94);
backdrop-filter:blur(16px);
padding:8px;
border-radius:18px;
box-shadow:0 14px 40px rgba(37,15,52,.22);
border:1px solid var(--line)
}
.m2c-mobile-bar .m2c-btn {
min-height:45px;
padding:0 11px;
font-size:13px
}
}
@media (prefers-reduced-motion:reduce) {
.m2c-site * {
scroll-behavior:auto!important;
transition:none!important
}
.m2c-ribbon-track {
animation:none!important
}
}
@media (max-width:420px) {
.m2c-brand {
width:158px
}
.m2c-brand img {
height:62px
}
}
A little more room to breathe. ♡
Clean spaces, lighter days.
Maid 2 Clean 317 helps homeowners and businesses across Indianapolis and nearby communities start with a clear cleaning plan. From recurring home cleaning and deeper resets to move-in / move-out and commercial spaces, tell us what needs attention and start with an estimate.
real
cleaning
work ✦
a little less on the to-do list ♡
✦ ✧ ✦
Standard cleanDeep cleanMove-in / move-outRecurring cleaningOne-time cleaningKitchen + appliancesBathroomsFloors + stairsBedrooms + living areasDusting + baseboardsLaundry + basementCommercial cleaningOffice cleaningShared spacesRestroomsHigh-touch surfacesEntry + glassTrash + recycling
Standard cleanDeep cleanMove-in / move-outRecurring cleaningOne-time cleaningKitchen + appliancesBathroomsFloors + stairsBedrooms + living areasDusting + baseboardsLaundry + basementCommercial cleaningOffice cleaningShared spacesRestroomsHigh-touch surfacesEntry + glassTrash + recycling
Choose your clean ♡
Different spaces.
Same goal: a fresh reset.
Start with the type of space you need cleaned, then build the estimate around the details that actually matter.
⌂
For the place you live ♡
Residential cleaning
Keep the day moving with a cleaning plan that fits your home, your schedule, and the rooms that need the most attention.
KitchenBathroomsFloorsLiving areas
Start a Home Estimate →
✦
For the place you work ♡
Commercial cleaning
Tell us about the facility, the cleaning rhythm you need, and the spaces that should feel ready for staff, customers, or guests.
OfficeShared spacesRestroomsFloors
Build a Business Estimate →
Kind words from happy spaces ♡
Real reviews from real clients.
five little stars say a lot ✦
See what Maid 2 Clean 317 customers are sharing on Google about their experience.
Real transformations ✨
The kind of difference you can see.
Slide each photo to compare real Maid 2 Clean 317 before-and-after work.

BeforeAfter
↔
Kitchen resetSlide to compare real Maid 2 Clean 317 work.

BeforeAfter
↔
Bathroom detailReal before and after, same shower floor.
Easy from the first click
Tell us enough to make the next conversation useful.
Tell us about the space.
Choose home or business so the right questions appear.
Share the priorities.
Cleaning type, frequency, rooms, facility areas, and details.
Review and send.
See the basics together, then send the request and continue the conversation.
A little less on the to-do list ♡
Ready for a little more breathing room?
Start an estimate or call or text Maid 2 Clean 317.
(function () {
const root = document.querySelector('.m2c-site');
if (!root) return;
/* -------------------------------------------------------
Mobile navigation
------------------------------------------------------- */
const menuButton = root.querySelector('.m2c-menu');
const nav = root.querySelector('.m2c-nav');
if (menuButton && nav) {
menuButton.addEventListener('click', function () {
const isOpen = nav.classList.toggle('open');
menuButton.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
});
nav.querySelectorAll('a').forEach(function (link) {
link.addEventListener('click', function () {
nav.classList.remove('open');
menuButton.setAttribute('aria-expanded', 'false');
});
});
}
/* -------------------------------------------------------
Before / after sliders
------------------------------------------------------- */
root.querySelectorAll('[data-ba]').forEach(function (slider) {
const range = slider.querySelector('input[type="range"]');
const afterImage = slider.querySelector('.after');
const divider = slider.querySelector('.m2c-ba-line');
const handle = slider.querySelector('.m2c-ba-knob');
if (!range || !afterImage || !divider || !handle) return;
function updateSlider() {
const value = range.value || 50;
afterImage.style.clipPath = `inset(0 0 0 ${value}%)`;
divider.style.left = value + '%';
handle.style.left = value + '%';
}
range.addEventListener('input', updateSlider);
updateSlider();
});
})();