.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$199

Medium

500–750 sq ft$249

Large

750–1000 sq ft$299

XL

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.