Professional office cleaning

Explore Our Packages

Explore our range of services designed to help you move forward with confidence, wherever you're headed next.

Interior Design

✳︎

New Construction

✳︎

Renovations

✳︎

Remodels

✳︎

Commercial Design

Interior Design ✳︎ New Construction ✳︎ Renovations ✳︎ Remodels ✳︎ Commercial Design

Office Cleaning

2025

New York

The Atlast Project →

“Communication was top-notch and the final outcome was even better than we imagined. A great experience all around.”

Former Customer

Get In Touch

<section class="kpg-quote-section">
  <div class="kpg-quote-card">
    <h2>Request a Cleaning Service Quote</h2>
    <p class="kpg-intro">
      Tell us about your cleaning needs and our team will contact you with a quote.
      We provide residential, commercial, Airbnb, government, move-in, and move-out cleaning services.
    </p>

    <form id="kpgCleaningQuoteForm">
      <div class="kpg-grid">
        <label>
          Full Name *
          <input type="text" name="fullName" required>
        </label>

        <label>
          Phone Number *
          <input type="tel" name="phone" required>
        </label>

        <label>
          Email Address *
          <input type="email" name="email" required>
        </label>

        <label>
          Service Type *
          <select name="serviceType" required>
            <option value="">Select one</option>
            <option value="Residential Cleaning">Residential Cleaning</option>
            <option value="Commercial Cleaning">Commercial Cleaning</option>
            <option value="Airbnb / Short-Term Rental Cleaning">Airbnb / Short-Term Rental Cleaning</option>
            <option value="Government Cleaning Service">Government Cleaning Service</option>
            <option value="Move-In Cleaning Service">Move-In Cleaning Service</option>
            <option value="Move-Out Cleaning Service">Move-Out Cleaning Service</option>
          </select>
        </label>

        <label>
          Property Address *
          <input type="text" name="propertyAddress" required>
        </label>

        <label>
          City / State / ZIP *
          <input type="text" name="cityStateZip" required>
        </label>

        <label>
          Property Type
          <input type="text" name="propertyType" placeholder="Home, office, apartment, building, etc.">
        </label>

        <label>
          Square Footage
          <input type="text" name="squareFootage" placeholder="Example: 1,500 sq ft">
        </label>

        <label>
          Bedrooms
          <input type="number" name="bedrooms" min="0">
        </label>

        <label>
          Bathrooms
          <input type="number" name="bathrooms" min="0" step="0.5">
        </label>

        <label>
          Preferred Cleaning Date
          <input type="date" name="preferredDate">
        </label>

        <label>
          Preferred Time
          <input type="text" name="preferredTime" placeholder="Morning, afternoon, or exact time">
        </label>

        <label>
          How Often Do You Need Service?
          <select name="frequency">
            <option value="">Select one</option>
            <option value="One-Time Cleaning">One-Time Cleaning</option>
            <option value="Weekly">Weekly</option>
            <option value="Biweekly">Biweekly</option>
            <option value="Monthly">Monthly</option>
            <option value="Move-In Cleaning">Move-In Cleaning</option>
            <option value="Move-Out Cleaning">Move-Out Cleaning</option>
            <option value="After Construction Cleaning">After Construction Cleaning</option>
          </select>
        </label>

        <label>
          Best Way to Contact You
          <select name="contactPreference">
            <option value="">Select one</option>
            <option value="Phone Call">Phone Call</option>
            <option value="Text Message">Text Message</option>
            <option value="Email">Email</option>
          </select>
        </label>
      </div>

      <label>
        Tell Us More About the Cleaning Needed
        <textarea name="details" rows="5" placeholder="Please include special requests, areas to clean, parking/access instructions, pets, supplies needed, or anything else we should know."></textarea>
      </label>

      <button type="submit" id="kpgSubmitButton">Submit Quote Request</button>
      <p id="kpgFormMessage" class="kpg-message"></p>
    </form>
  </div>
</section>

<style>
  .kpg-quote-section {
    max-width: 980px;
    margin: 0 auto;
    padding: 30px 16px;
    font-family: Arial, sans-serif;
  }

  .kpg-quote-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
    border: 1px solid #eeeeee;
  }

  .kpg-quote-card h2 {
    margin: 0 0 10px;
    font-size: 30px;
    color: #1f2933;
  }

  .kpg-intro {
    margin-bottom: 24px;
    color: #52616b;
    line-height: 1.6;
  }

  .kpg-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .kpg-quote-card label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 16px;
    color: #1f2933;
    font-weight: 600;
    font-size: 14px;
  }

  .kpg-quote-card input,
  .kpg-quote-card select,
  .kpg-quote-card textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #cbd5df;
    border-radius: 10px;
    padding: 12px 13px;
    font-size: 15px;
    font-family: Arial, sans-serif;
    background: #ffffff;
  }

  .kpg-quote-card textarea {
    resize: vertical;
  }

  .kpg-quote-card button {
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 15px 18px;
    background: #27a4d8;
    color: #ffffff;
    font-size: 17px;
    font-weight: 700;
    cursor: pointer;
  }

  .kpg-quote-card button:hover {
    background: #1f8fbd;
  }

  .kpg-quote-card button:disabled {
    background: #9ca3af;
    cursor: not-allowed;
  }

  .kpg-message {
    margin-top: 14px;
    font-weight: 600;
    text-align: center;
  }

  .kpg-message.success {
    color: #1f7a4d;
  }

  .kpg-message.error {
    color: #b42318;
  }

  @media (max-width: 700px) {
    .kpg-grid {
      grid-template-columns: 1fr;
    }

    .kpg-quote-card {
      padding: 22px;
    }

    .kpg-quote-card h2 {
      font-size: 25px;
    }
  }
</style>

<script>
  const KPG_GOOGLE_SCRIPT_URL = "YOUR_GOOGLE_SCRIPT_WEB_APP_URL";

  document.getElementById("kpgCleaningQuoteForm").addEventListener("submit", async function (event) {
    event.preventDefault();

    const form = event.target;
    const button = document.getElementById("kpgSubmitButton");
    const message = document.getElementById("kpgFormMessage");
    const formData = new FormData(form);
    const data = Object.fromEntries(formData.entries());

    button.disabled = true;
    button.textContent = "Submitting...";
    message.textContent = "";
    message.className = "kpg-message";

    try {
      await fetch(KPG_GOOGLE_SCRIPT_URL, {
        method: "POST",
        mode: "no-cors",
        headers: {
          "Content-Type": "application/json"
        },
        body: JSON.stringify(data)
      });

      form.reset();
      message.textContent = "Thank you! Your cleaning quote request has been submitted. KPG Cleaning Care will contact you soon.";
      message.classList.add("success");
    } catch (error) {
      message.textContent = "Something went wrong. Please call or text KPG Cleaning Care to request your quote.";
      message.classList.add("error");
    } finally {
      button.disabled = false;
      button.textContent = "Submit Quote Request";
    }
  });
</script>

If you're interested in working with us, complete the form with a few details about your project. We'll review your message and get back to you within 48 hours.