
.nimbus-btn:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(57, 152, 207, 0.34); } .nimbus-btn span { color: #ffffff; font-size: clamp(22px, 3vw, 34px); line-height: 1; font-weight: 800; letter-spacing: 0.34em; text-transform: uppercase; } .nimbus-btn svg { width: 42px; height: 42px; fill: #ffffff; flex: 0 0 auto; } .nimbus-trust-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 36px; } .nimbus-trust-pill { min-height: 118px; padding: 18px 14px; background: rgba(255,255,255,0.78); border: 1px solid rgba(230,238,244,0.95); border-radius: 24px; display: grid; place-items: center; text-align: center; color: var(--black); font-size: 15px; line-height: 1.25; font-weight: 800; } .nimbus-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; } .nimbus-card { padding: 28px; background: rgba(255,255,255,0.80); border: 1px solid rgba(230,238,244,0.95); border-radius: 28px; } .nimbus-card.blue { background: var(--blue); color: #ffffff; border-color: var(--blue); } .nimbus-card.blue h2, .nimbus-card.blue p { color: #ffffff; } .nimbus-card p { margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.55; font-weight: 500; } .nimbus-steps, .nimbus-discounts { display: grid; gap: 12px; margin-top: 24px; } .nimbus-step { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 16px; border-radius: 20px; background: #f3f9fd; } .nimbus-step-number { width: 42px; height: 42px; border-radius: 999px; background: var(--blue); color: #ffffff; display: grid; place-items: center; font-weight: 900; } .nimbus-step strong { display: block; color: var(--black); font-size: 16px; font-weight: 850; } .nimbus-step span { display: block; margin-top: 5px; color: var(--muted); font-size: 14px; line-height: 1.45; font-weight: 500; } .nimbus-discount { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px 16px; border-radius: 20px; background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.28); color: #ffffff; font-weight: 800; } .nimbus-discount strong { font-size: 20px; color: #ffffff; } .nimbus-price-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-top: 28px; } .nimbus-price-card { padding: 24px 16px; border-radius: 24px; background: rgba(255,255,255,0.82); border: 1px solid rgba(230,238,244,0.95); text-align: center; } .nimbus-price-card h3 { margin: 0; color: var(--black); font-size: 19px; font-weight: 900; } .nimbus-price-card span { display: block; min-height: 38px; margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.35; font-weight: 500; } .nimbus-price-card strong { display: block; margin-top: 16px; color: var(--blue); font-size: 30px; font-weight: 900; letter-spacing: -0.04em; } .nimbus-note { margin-top: 24px; padding: 18px 20px; border-radius: 22px; background: rgba(57,152,207,0.12); color: var(--muted); font-size: 14px; line-height: 1.55; font-weight: 500; } .nimbus-booking { text-align: center; } .nimbus-booking p { max-width: 680px; margin: 18px auto 0; color: var(--muted); font-size: 17px; line-height: 1.55; } .nimbus-contact-row { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 28px; } .nimbus-contact-chip { padding: 15px 20px; border-radius: 999px; background: #ffffff; border: 1px solid rgba(230,238,244,0.95); color: var(--black) !important; text-decoration: none; font-weight: 800; } @media (max-width: 900px) { .nimbus-scroll-inner { padding: 54px 18px; gap: 56px; } .nimbus-panel { border-radius: 28px; padding: 30px 22px; } .nimbus-buttons { display: grid; gap: 14px; } .nimbus-btn { width: 100%; min-height: 74px; gap: 20px; } .nimbus-btn span { font-size: 22px; letter-spacing: 0.30em; } .nimbus-btn svg { width: 34px; height: 34px; } .nimbus-trust-row, .nimbus-split, .nimbus-price-grid { grid-template-columns: 1fr; } .nimbus-trust-pill { min-height: auto; padding: 18px; text-align: left; place-items: start; } .nimbus-card { padding: 24px; } } @media (max-width: 420px) { .nimbus-scroll-inner { padding: 46px 14px; gap: 46px; } .nimbus-panel { border-radius: 24px; padding: 26px 18px; } .nimbus-panel h1 { font-size: 34px; } .nimbus-panel h2 { font-size: 30px; } .nimbus-lead { font-size: 17px; } .nimbus-btn span { font-size: 19px; letter-spacing: 0.24em; } .nimbus-btn { min-height: 68px; padding: 0 22px; } }
Nimbus Carpet Care
Carpet Cleaning for Calgary Homes, Condos & Apartments
carpet cleaning made easy
Flat-rate mobile carpet cleaning starting at $199. Licensed, insured, and locally based in Calgary.
Choose your carpet cleaning service to get started.
Professional Equipment
Flat-Rate Prices
Licensed & Insured
Home Carpet Cleaning
Condo Building Discounts
Condos & Apartments
Start a Building Day
Be the first resident in your building to request a Nimbus carpet cleaning day. Once the first booking is confirmed, neighbours in the same building can join the same day and save.
1
Request your building dayTell us your building name, unit number, and preferred date.
2
Nimbus confirms the first bookingWe confirm manually by text or email before anything is posted.
3
Neighbours can joinOther residents in the same building can book the same day and save.
First 5 same-day bookings save 5–20%
Earlier bookings receive the larger discount. You do not need the whole building — just a few neighbours on the same day.
1st booking20% off
2nd booking15% off
3rd booking10% off
4th booking5% off
5th booking5% off
Resident-requested building days are not affiliated with, sponsored by, or approved by condo boards unless clearly stated.
Homes
Carpet cleaning for houses, townhomes, and apartments
Simple mobile carpet cleaning for Calgary homes. Choose your carpet size package, add stairs or special concerns, and request a time that works.
Flat-Rate Pricing
Clear prices before you book
Small
Up to 500 sq ft$199Medium
500–750 sq ft$249Large
750–1000 sq ft$299XL
1000+ sq ft$399+Stairs
Per flight$60 Final quote may depend on heavy staining, pet odour, access issues, move-out cleaning, or unusual job conditions.
What’s Included
Professional grade equipment. Fresh results.
1
VacuumingLoose dry soil is removed before extraction.
2
Pre-treatmentCarpet is treated before extraction to help loosen soil.
3
Spot treatmentVisible problem areas are addressed before the main clean.
4
Hot water extractionProfessional extraction cleans and rinses the carpet.
5
Deodorizing finishA fresh finish completes the clean.
Book Nimbus
Request a carpet cleaning appointment
Use the booking form below, or contact Nimbus directly. Appointments are manually confirmed by text or email.