{"id":236,"date":"2026-03-24T10:19:34","date_gmt":"2026-03-24T10:19:34","guid":{"rendered":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/?page_id=236"},"modified":"2026-04-13T10:45:32","modified_gmt":"2026-04-13T10:45:32","slug":"home","status":"publish","type":"page","link":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/","title":{"rendered":"Kaizenscapes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"236\" class=\"elementor elementor-236\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-465cc8f e-con-full e-flex e-con e-parent\" data-id=\"465cc8f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f3729e elementor-widget elementor-widget-html\" data-id=\"9f3729e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n<title>Kaizenscapes \u2014 Outdoor Living Specialists<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Outfit:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    \/* Apple-level blue palette *\/\n    --blue:       #0071E3;\n    --blue-dark:  #0077ED;\n    --blue-mid:   #0055B3;\n    --blue-pale:  #E8F2FF;\n    --blue-pale2: #F0F7FF;\n\n    --bg:         #FFFFFF;\n    --bg-alt:     #F5F5F7;\n    --bg-dark:    #EFEFEF;\n    --bg-darkest: #E8E8EA;\n\n    --text:       #1D1D1F;\n    --text-mid:   #494949;\n    --text-light: #86868B;\n    --text-inv:   #1D1D1F;\n\n    --border:     rgba(0,0,0,0.08);\n    --border-dark:rgba(0,0,0,0.08);\n\n    \/* Canvas sections \u2014 dark text over video *\/\n    --canvas-accent: #0071E3;\n\n    --f: -apple-system, 'Outfit', 'Helvetica Neue', Helvetica, sans-serif;\n    --f-display: 'Outfit', -apple-system, 'Helvetica Neue', sans-serif;\n  }\n\n  html { scroll-behavior: auto; }\n\n  body {\n    background: var(--bg);\n    color: var(--text);\n    font-family: var(--f);\n    overflow-x: hidden;\n    -webkit-tap-highlight-color: transparent;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  \/* \u2500\u2500 SCROLL PROGRESS \u2500\u2500 *\/\n  .scroll-indicator {\n    position: fixed;\n    top: 0; left: 0;\n    height: 2px;\n    width: 100%;\n    background: var(--blue);\n    transform-origin: left;\n    transform: scaleX(0);\n    z-index: 999;\n  }\n\n  \/* \u2500\u2500 HERO \u2500\u2500 *\/\n  .hero {\n    position: relative;\n    height: 100dvh;\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n    overflow: hidden;\n    background: var(--bg-dark);\n  }\n\n  .hero-video-bg {\n    position: absolute;\n    inset: 0;\n    overflow: hidden;\n    pointer-events: none;\n  }\n\n  .hero-video-bg iframe {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: max(100vw, 177.78vh);\n    height: max(100vh, 56.25vw);\n    transform: translate(-50%, -50%) scale(1.25);\n    border: none;\n  }\n\n  .hero-overlay {\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(\n      to bottom,\n      rgba(17,17,18,0.1) 0%,\n      rgba(17,17,18,0.0) 25%,\n      rgba(17,17,18,0.4) 55%,\n      rgba(17,17,18,0.96) 100%\n    );\n  }\n\n  .hero-content {\n    position: relative;\n    z-index: 2;\n    padding: 0 28px 56px;\n  }\n\n  .hero-eyebrow {\n    font-size: 11px;\n    font-weight: 500;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--canvas-accent);\n    margin-bottom: 12px;\n    opacity: 0;\n    transform: translateY(16px);\n  }\n\n  .hero-title {\n    font-family: var(--f-display);\n    font-size: clamp(48px, 13vw, 68px);\n    font-weight: 700;\n    line-height: 1;\n    letter-spacing: -0.03em;\n    color: #F5F5F7;\n    margin-bottom: 14px;\n    opacity: 0;\n    transform: translateY(24px);\n  }\n\n  .hero-title span {\n    color: var(--canvas-accent);\n  }\n\n  .hero-sub {\n    font-size: 15px;\n    font-weight: 300;\n    line-height: 1.55;\n    color: rgba(245,245,247,0.72);\n    max-width: 320px;\n    margin-bottom: 28px;\n    opacity: 0;\n    transform: translateY(16px);\n  }\n\n  .hero-cta {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    opacity: 0;\n    transform: translateY(16px);\n  }\n\n  \/* Apple-style pill buttons *\/\n  .btn-primary {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    background: var(--blue);\n    color: #fff;\n    font-family: var(--f);\n    font-size: 15px;\n    font-weight: 500;\n    padding: 14px 28px;\n    border-radius: 980px;\n    border: none;\n    text-decoration: none;\n    cursor: pointer;\n    letter-spacing: -0.01em;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .btn-secondary {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    background: rgba(245,245,247,0.1);\n    color: #F5F5F7;\n    font-family: var(--f);\n    font-size: 15px;\n    font-weight: 400;\n    padding: 14px 28px;\n    border-radius: 980px;\n    border: 1px solid rgba(245,245,247,0.2);\n    text-decoration: none;\n    cursor: pointer;\n  }\n\n  .scroll-hint {\n    position: absolute;\n    bottom: 14px;\n    left: 50%;\n    transform: translateX(-50%);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 5px;\n    opacity: 0;\n    z-index: 2;\n  }\n\n  .scroll-hint span {\n    font-size: 9px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: rgba(245,245,247,0.35);\n  }\n\n  .scroll-hint-line {\n    width: 1px;\n    height: 28px;\n    background: linear-gradient(to bottom, rgba(77,184,255,0.7), transparent);\n    animation: scrollPulse 2s ease-in-out infinite;\n  }\n\n  @keyframes scrollPulse {\n    0%, 100% { opacity: 0.4; transform: scaleY(1); }\n    50% { opacity: 1; transform: scaleY(1.2); }\n  }\n\n  \/* \u2500\u2500 STATS BAR \u2500\u2500 *\/\n  .stats-bar {\n    background: var(--bg-alt);\n    border-bottom: 1px solid var(--border);\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    padding: 20px 0;\n  }\n\n  .stat-item {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 3px;\n    padding: 0 8px;\n    border-right: 1px solid var(--border);\n  }\n\n  .stat-item:last-child { border-right: none; }\n\n  .stat-num {\n    font-family: var(--f-display);\n    font-size: 28px;\n    font-weight: 700;\n    letter-spacing: -0.04em;\n    color: var(--blue);\n    line-height: 1;\n  }\n\n  .stat-label {\n    font-size: 10px;\n    font-weight: 400;\n    color: var(--text-light);\n    text-align: center;\n  }\n\n  \/* \u2500\u2500 SECTION INTRO \u2500\u2500 *\/\n  .section-intro {\n    padding: 60px 28px 40px;\n    background: var(--bg);\n  }\n\n  .section-intro.dark {\n    background: var(--bg-dark);\n  }\n\n  .section-intro.alt {\n    background: var(--bg-alt);\n  }\n\n  .eyebrow {\n    display: block;\n    font-size: 11px;\n    font-weight: 500;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--blue);\n    margin-bottom: 10px;\n  }\n\n  .section-intro.dark .eyebrow {\n    color: var(--blue);\n  }\n\n  .intro-title {\n    font-family: var(--f-display);\n    font-size: clamp(38px, 10vw, 52px);\n    font-weight: 700;\n    letter-spacing: -0.03em;\n    line-height: 1.0;\n    color: var(--text);\n    margin-bottom: 14px;\n  }\n\n  .section-intro.dark .intro-title { color: var(--text); }\n\n  .intro-body {\n    font-size: 14px;\n    font-weight: 300;\n    line-height: 1.65;\n    color: var(--text-light);\n  }\n\n  .section-intro.dark .intro-body { color: var(--text-light); }\n\n  \/* \u2500\u2500 CANVAS SCROLL BLOCK \u2500\u2500 *\/\n  .canvas-scroll-block { position: relative; }\n\n  .canvas-sticky-wrap {\n    position: sticky;\n    top: 0;\n    height: 100dvh;\n    overflow: hidden;\n    background: #F5F5F7;\n  }\n\n  canvas.scroll-canvas {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n  }\n\n  .canvas-overlay {\n    position: absolute;\n    inset: 0;\n    background: rgba(255,255,255,0);\n    pointer-events: none;\n  }\n\n  .canvas-sections {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n  }\n\n  .canvas-section {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n    padding: 40px 28px 64px;\n    visibility: hidden;\n    opacity: 0;\n    background: linear-gradient(to top, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.6) 40%, transparent 100%);\n  }\n\n  .canvas-section.top-align {\n    justify-content: flex-start;\n    padding-top: 56px;\n    background: linear-gradient(to bottom, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.6) 40%, transparent 100%);\n  }\n\n  .cs-chip {\n    display: inline-flex;\n    align-items: center;\n    font-size: 10px;\n    font-weight: 500;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n    color: var(--blue);\n    background: rgba(0,113,227,0.08);\n    border: 1px solid rgba(0,113,227,0.2);\n    padding: 5px 12px;\n    border-radius: 980px;\n    margin-bottom: 14px;\n    width: fit-content;\n  }\n\n  .cs-title {\n    font-family: var(--f-display);\n    font-size: clamp(34px, 9vw, 48px);\n    font-weight: 700;\n    letter-spacing: -0.03em;\n    line-height: 1.05;\n    color: var(--text);\n    margin-bottom: 12px;\n  }\n\n  .cs-title em {\n    font-style: normal;\n    color: var(--blue);\n  }\n\n  .cs-body {\n    font-size: 14px;\n    font-weight: 300;\n    line-height: 1.65;\n    color: var(--text-mid);\n    max-width: 340px;\n    margin-bottom: 18px;\n  }\n\n  .cs-pills {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 7px;\n  }\n\n  .cs-pill {\n    font-size: 11px;\n    font-weight: 400;\n    color: var(--text-mid);\n    background: rgba(0,0,0,0.05);\n    border: 1px solid rgba(0,0,0,0.1);\n    padding: 5px 13px;\n    border-radius: 980px;\n  }\n\n  \/* \u2500\u2500 PHOTO SECTION \u2500\u2500 *\/\n  .photo-section {\n    background: var(--bg);\n    padding: 52px 0 48px;\n  }\n\n  .photo-section.alt { background: var(--bg-alt); }\n  .photo-section.dark { background: #EFEFEF; }\n  .photo-section.darkest { background: #E8E8EA; }\n\n  .ps-header {\n    padding: 0 28px 28px;\n  }\n\n  .ps-title {\n    font-family: var(--f-display);\n    font-size: clamp(36px, 9.5vw, 50px);\n    font-weight: 700;\n    letter-spacing: -0.03em;\n    line-height: 1.05;\n    color: var(--text);\n    margin-bottom: 10px;\n  }\n\n  .photo-section.dark .ps-title,\n  .photo-section.darkest .ps-title { color: var(--text); }\n\n  .ps-title span { color: var(--blue); }\n  .photo-section.dark .ps-title span { color: var(--blue); }\n\n  .ps-desc {\n    font-size: 14px;\n    font-weight: 300;\n    line-height: 1.65;\n    color: var(--text-light);\n  }\n\n  .photo-section.dark .ps-desc,\n  .photo-section.darkest .ps-desc { color: var(--text-light); }\n\n  \/* Horizontal swipe gallery *\/\n  .h-gallery {\n    display: flex;\n    gap: 10px;\n    overflow-x: auto;\n    padding: 0 28px;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n    scroll-snap-type: x mandatory;\n  }\n\n  .h-gallery::-webkit-scrollbar { display: none; }\n\n  .h-gallery-item {\n    flex: 0 0 72vw;\n    scroll-snap-align: start;\n    border-radius: 16px;\n    overflow: hidden;\n    position: relative;\n  }\n\n  .h-gallery-item img {\n    width: 100%;\n    aspect-ratio: 3\/4;\n    object-fit: cover;\n    display: block;\n  }\n\n  .h-gallery-item .img-label {\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    padding: 22px 16px 14px;\n    background: linear-gradient(to top, rgba(17,17,18,0.88), transparent);\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: -0.01em;\n    color: #F5F5F7;\n  }\n\n  \/* Masonry-style photo grid *\/\n  .photo-grid {\n    padding: 0 28px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 8px;\n  }\n\n  .photo-grid img {\n    width: 100%;\n    border-radius: 12px;\n    object-fit: cover;\n    display: block;\n  }\n\n  .photo-grid img:nth-child(odd)  { aspect-ratio: 3\/4; }\n  .photo-grid img:nth-child(even) { aspect-ratio: 1\/1; margin-top: 24px; }\n\n  \/* Subcategory list *\/\n  .subcats {\n    padding: 28px 28px 0;\n    display: flex;\n    flex-direction: column;\n  }\n\n  .subcat-item {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    padding: 15px 0;\n    border-bottom: 1px solid var(--border);\n  }\n\n  .photo-section.dark .subcat-item,\n  .photo-section.darkest .subcat-item { border-color: var(--border); }\n\n  .subcat-num {\n    font-family: var(--f-display);\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--blue);\n    min-width: 24px;\n    letter-spacing: -0.01em;\n  }\n\n  .photo-section.dark .subcat-num,\n  .photo-section.darkest .subcat-num { color: var(--blue); }\n\n  .subcat-text {\n    font-size: 14px;\n    font-weight: 400;\n    color: var(--text-mid);\n  }\n\n  .photo-section.dark .subcat-text,\n  .photo-section.darkest .subcat-text { color: var(--text-mid); }\n\n  \/* Lighting grid *\/\n  .lighting-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 3px;\n  }\n\n  .lighting-grid img {\n    width: 100%;\n    aspect-ratio: 1\/1;\n    object-fit: cover;\n    display: block;\n  }\n\n  .lighting-grid .wide {\n    grid-column: 1 \/ -1;\n    aspect-ratio: 16\/9;\n  }\n\n  \/* \u2500\u2500 MARQUEE \u2500\u2500 *\/\n  .marquee-wrap {\n    overflow: hidden;\n    white-space: nowrap;\n    padding: 13px 0;\n    border-top: 1px solid var(--border);\n    border-bottom: 1px solid var(--border);\n    background: var(--bg-alt);\n  }\n\n  .marquee-wrap.blue-strip {\n    background: var(--blue);\n    border-color: transparent;\n  }\n\n  .marquee-track {\n    display: inline-flex;\n    animation: marquee 22s linear infinite;\n  }\n\n  .marquee-track span {\n    font-size: 13px;\n    font-weight: 500;\n    letter-spacing: -0.01em;\n    color: var(--text-mid);\n    padding: 0 20px;\n  }\n\n  .marquee-wrap.blue-strip .marquee-track span {\n    color: rgba(255,255,255,0.9);\n  }\n\n  .marquee-track .dot {\n    color: var(--blue);\n    opacity: 0.5;\n    padding: 0;\n  }\n\n  .marquee-wrap.blue-strip .marquee-track .dot {\n    color: rgba(255,255,255,0.4);\n  }\n\n  @keyframes marquee {\n    from { transform: translateX(0); }\n    to   { transform: translateX(-50%); }\n  }\n\n  \/* \u2500\u2500 CTA STRIP \u2500\u2500 *\/\n  .cta-strip {\n    background: var(--blue);\n    padding: 12px 28px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n  }\n\n  .cta-strip p {\n    font-size: 13px;\n    font-weight: 500;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .cta-strip-btn {\n    flex-shrink: 0;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    background: rgba(255,255,255,0.15);\n    border: 1px solid rgba(255,255,255,0.3);\n    border-radius: 980px;\n    color: #fff;\n    font-size: 13px;\n    font-weight: 500;\n    padding: 8px 16px;\n    text-decoration: none;\n    white-space: nowrap;\n  }\n\n  \/* \u2500\u2500 FINAL CTA \u2500\u2500 *\/\n  .cta-section {\n    background: #F5F5F7;\n    padding: 80px 28px;\n    text-align: center;\n    border-top: 1px solid var(--border);\n  }\n\n  .cta-eyebrow {\n    display: block;\n    font-size: 11px;\n    font-weight: 500;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--blue);\n    margin-bottom: 14px;\n  }\n\n  .cta-title {\n    font-family: var(--f-display);\n    font-size: clamp(40px, 11vw, 56px);\n    font-weight: 700;\n    letter-spacing: -0.03em;\n    line-height: 1.0;\n    color: var(--text);\n    margin-bottom: 14px;\n  }\n\n  .cta-sub {\n    font-size: 14px;\n    font-weight: 300;\n    line-height: 1.65;\n    color: var(--text-light);\n    margin-bottom: 36px;\n    max-width: 300px;\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  .cta-phone {\n    display: block;\n    font-family: var(--f-display);\n    font-size: 34px;\n    font-weight: 700;\n    letter-spacing: -0.03em;\n    color: var(--blue);\n    text-decoration: none;\n    margin-bottom: 24px;\n  }\n\n  .cta-area {\n    margin-top: 24px;\n    font-size: 11px;\n    font-weight: 400;\n    color: var(--text-light);\n    letter-spacing: 0.06em;\n  }\n\n  \/* btn-primary in dark sections *\/\n  .btn-primary.fullw {\n    max-width: 280px;\n    margin: 0 auto;\n  }\n\n  \/* canvas section CTA *\/\n  .cs-cta {\n    pointer-events: all;\n    width: fit-content;\n    margin-top: 10px;\n    font-size: 14px;\n    padding: 13px 24px;\n  }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"scroll-indicator\" id=\"scrollIndicator\"><\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     HERO\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"hero\">\n  <div class=\"hero-video-bg\">\n    <iframe src=\"https:\/\/www.youtube.com\/embed\/CpxMayyct1Q?autoplay=1&mute=1&loop=1&playlist=CpxMayyct1Q&controls=0&showinfo=0&rel=0&playsinline=1&enablejsapi=1\" allow=\"autoplay; fullscreen\" allowfullscreen><\/iframe>\n  <\/div>\n  <div class=\"hero-overlay\"><\/div>\n  <div class=\"hero-content\">\n    <p class=\"hero-eyebrow\" id=\"heroEyebrow\"><\/p>\n    <h1 class=\"hero-title\" id=\"heroTitle\">Kaizen<span>scapes<\/span><\/h1>\n    <p class=\"hero-sub\" id=\"heroSub\">Hardscaping, pools, outdoor kitchens, lighting, and landscaping \u2014 built to last, designed to impress.<\/p>\n    <div class=\"hero-cta\" id=\"heroCta\">\n      <a href=\"tel:4705350252\" class=\"btn-primary\">\n        <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z\"\/><\/svg>\n        Call 470-535-0252\n      <\/a>\n      <a href=\"#hardscaping\" class=\"btn-secondary\">View Our Services<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"scroll-hint\" id=\"scrollHint\">\n    <div class=\"scroll-hint-line\"><\/div>\n    <span>Scroll<\/span>\n  <\/div>\n<\/section>\n\n<!-- STATS -->\n<div class=\"stats-bar\">\n  <div class=\"stat-item\">\n    <span class=\"stat-num\"><span class=\"counter\" data-target=\"15\">0<\/span>+<\/span>\n    <span class=\"stat-label\">Years in Canton<\/span>\n  <\/div>\n  <div class=\"stat-item\">\n    <span class=\"stat-num\"><span class=\"counter\" data-target=\"500\">0<\/span>+<\/span>\n    <span class=\"stat-label\">Projects Completed<\/span>\n  <\/div>\n  <div class=\"stat-item\">\n    <span class=\"stat-num\"><span class=\"counter\" data-target=\"100\">0<\/span>%<\/span>\n    <span class=\"stat-label\">Satisfaction Rate<\/span>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     HARDSCAPING \u2014 RETAINING WALL SCROLL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"hardscaping\">\n\n  <div class=\"section-intro dark\">\n    <h2 class=\"intro-title\">Hardscaping<\/h2>\n    <p class=\"intro-body\">Driveways, patios, retaining walls, custom masonry \u2014 permanent outdoor structures built with precision and crafted to endure.<\/p>\n  <\/div>\n\n  <!-- Retaining Wall canvas scroll -->\n  <div class=\"canvas-scroll-block\" id=\"rwScrollBlock\" style=\"height: 400dvh;\">\n    <div class=\"canvas-sticky-wrap\" style=\"background: url('https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/frame_0001.webp') center\/cover no-repeat;\">\n      <canvas class=\"scroll-canvas\" id=\"rwCanvas\"><\/canvas>\n    <\/div>\n  <\/div>\n\n  <!-- Hardscaping photo gallery -->\n  <div class=\"photo-section alt\">\n    <div class=\"ps-header\">\n      <span class=\"eyebrow\" style=\"color: var(--blue);\">Hardscaping Portfolio<\/span>\n      <h3 class=\"ps-title\">Built to <span>Last<\/span><\/h3>\n      <p class=\"ps-desc\">Every driveway, patio, staircase, and masonry feature \u2014 crafted for your property.<\/p>\n    <\/div>\n\n    <div class=\"h-gallery\">\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/IMG_3145.jpeg\" alt=\"Driveways and Pool Decks\" loading=\"lazy\">\n        <div class=\"img-label\">Driveways & Pool Decks<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Hardscaping-2.webp\" alt=\"Paver Patios\" loading=\"lazy\">\n        <div class=\"img-label\">Paver Patios & Walkways<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Hardscaping-3.webp\" alt=\"Custom Masonry\" loading=\"lazy\">\n        <div class=\"img-label\">Custom Masonry<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Hardscaping-5.webp\" alt=\"Steps\" loading=\"lazy\">\n        <div class=\"img-label\">Steps & Staircases<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Hardscaping-9.webp\" alt=\"Retaining Walls\" loading=\"lazy\">\n        <div class=\"img-label\">Retaining Walls<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"subcats\">\n      <div class=\"subcat-item\"><span class=\"subcat-num\">01<\/span><span class=\"subcat-text\">Driveways & Pool Decks<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">02<\/span><span class=\"subcat-text\">Paver Patios & Walkways<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">03<\/span><span class=\"subcat-text\">Retaining Walls<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">04<\/span><span class=\"subcat-text\">Custom Masonry<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">05<\/span><span class=\"subcat-text\">Steps & Staircases<\/span><\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<!-- CTA STRIP -->\n<div class=\"cta-strip\">\n  <p>Ready to talk about your project?<\/p>\n  <a href=\"tel:4705350252\" class=\"cta-strip-btn\">\n    <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z\"\/><\/svg>\n    Call Now\n  <\/a>\n<\/div>\n\n<!-- MARQUEE 1 -->\n<div class=\"marquee-wrap\">\n  <div class=\"marquee-track\">\n    <span>Driveways<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Paver Patios<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Retaining Walls<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Pool Decks<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Outdoor Kitchens<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Fire Features<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Custom Pools<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Landscape Lighting<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Driveways<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Paver Patios<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Retaining Walls<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Pool Decks<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Outdoor Kitchens<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Fire Features<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Custom Pools<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Landscape Lighting<\/span><span class=\"dot\"> \u00b7 <\/span>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     POOL & WATER FEATURES\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"pool\">\n  <div class=\"section-intro\">\n    <h2 class=\"intro-title\">Pool &amp;<br>Water Features<\/h2>\n    <p class=\"intro-body\">Custom pool design, surrounding hardscapes, water features, and outdoor living areas \u2014 we build the full resort experience in your backyard.<\/p>\n  <\/div>\n\n  <div class=\"photo-section\" style=\"padding-top: 0;\">\n    <div class=\"h-gallery\">\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-1.webp\" alt=\"Custom Pool\" loading=\"lazy\">\n        <div class=\"img-label\">Custom Pool Design & Install<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-2.webp\" alt=\"Pool Deck\" loading=\"lazy\">\n        <div class=\"img-label\">Pool Decks & Hardscapes<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-3.webp\" alt=\"Water Features\" loading=\"lazy\">\n        <div class=\"img-label\">Water Features & Fountains<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-4.webp\" alt=\"Outdoor Living\" loading=\"lazy\">\n        <div class=\"img-label\">Outdoor Living Around Pools<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-5.webp\" alt=\"Pool\" loading=\"lazy\">\n        <div class=\"img-label\">Resort-Style Design<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"photo-grid\" style=\"margin-top: 16px;\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-6.webp\" alt=\"Pool\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-7.webp\" alt=\"Pool\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-8.webp\" alt=\"Pool\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Pool-Outdoor-Water-Features-9.webp\" alt=\"Pool\" loading=\"lazy\">\n    <\/div>\n\n    <div class=\"subcats\">\n      <div class=\"subcat-item\"><span class=\"subcat-num\">01<\/span><span class=\"subcat-text\">Custom Pool Design & Installation<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">02<\/span><span class=\"subcat-text\">Pool Decks & Surrounding Hardscapes<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">03<\/span><span class=\"subcat-text\">Water Features & Fountains<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">04<\/span><span class=\"subcat-text\">Outdoor Living Around Pools<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     CUSTOM OUTDOOR FEATURES\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"outdoor-features\">\n  <div class=\"section-intro alt\">\n    <h2 class=\"intro-title\">Custom<br>Outdoor<br>Features<\/h2>\n    <p class=\"intro-body\">Outdoor kitchens, fireplaces, pergolas, and borders \u2014 the structures that make your outdoor space feel like home.<\/p>\n  <\/div>\n\n  <div class=\"photo-section alt\" style=\"padding-top: 0;\">\n    <div class=\"photo-grid\" style=\"margin-bottom: 14px;\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-1.webp\" alt=\"Outdoor Kitchen\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-2.webp\" alt=\"Fire Pit\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-6.webp\" alt=\"Pergola\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-4.webp\" alt=\"Fireplace\" loading=\"lazy\">\n    <\/div>\n\n    <div class=\"h-gallery\">\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-17.webp\" alt=\"Outdoor Kitchen\" loading=\"lazy\">\n        <div class=\"img-label\">Outdoor Kitchens & BBQ Areas<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-3.webp\" alt=\"Fireplace\" loading=\"lazy\">\n        <div class=\"img-label\">Fireplaces & Fire Pits<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-7.webp\" alt=\"Pergola\" loading=\"lazy\">\n        <div class=\"img-label\">Pergolas & Shade Structures<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Custom-Outdoor-Features-8.webp\" alt=\"Borders\" loading=\"lazy\">\n        <div class=\"img-label\">Borders & Edging<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"subcats\">\n      <div class=\"subcat-item\"><span class=\"subcat-num\">01<\/span><span class=\"subcat-text\">Outdoor Kitchens & Barbecue Areas<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">02<\/span><span class=\"subcat-text\">Fireplaces & Fire Pits<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">03<\/span><span class=\"subcat-text\">Pergolas & Shade Structures<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">04<\/span><span class=\"subcat-text\">Borders & Edging<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- BLUE MARQUEE -->\n<div class=\"marquee-wrap blue-strip\">\n  <div class=\"marquee-track\" style=\"animation-direction: reverse;\">\n    <span>Canton, GA<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Cherokee County<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Woodstock<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Ball Ground<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Waleska<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Holly Springs<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Canton, GA<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Cherokee County<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Woodstock<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Ball Ground<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Waleska<\/span><span class=\"dot\"> \u00b7 <\/span>\n    <span>Holly Springs<\/span><span class=\"dot\"> \u00b7 <\/span>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     OUTDOOR LIGHTING\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"lighting\">\n  <div class=\"section-intro dark\">\n    <h2 class=\"intro-title\">Outdoor<br>Lighting<\/h2>\n    <p class=\"intro-body\">Strategic lighting design that makes your property look extraordinary after dark \u2014 and keeps it more secure every night.<\/p>\n  <\/div>\n\n  <div class=\"photo-section darkest\" style=\"padding-top: 0; padding-bottom: 0;\">\n    <div class=\"lighting-grid\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Outdoor-Lighting-Services-1.webp\" alt=\"Landscape Lighting\" loading=\"lazy\" class=\"wide\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Outdoor-Lighting-Services-2.webp\" alt=\"Patio Lighting\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Outdoor-Lighting-Services-3.webp\" alt=\"Security Lighting\" loading=\"lazy\">\n      <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Outdoor-Lighting-Services-4.webp\" alt=\"Poolside Lighting\" loading=\"lazy\" class=\"wide\">\n    <\/div>\n  <\/div>\n\n  <div class=\"photo-section darkest\">\n    <div class=\"subcats\">\n      <div class=\"subcat-item\"><span class=\"subcat-num\">01<\/span><span class=\"subcat-text\">Landscape Lighting<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">02<\/span><span class=\"subcat-text\">Patio & Poolside Lighting<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">03<\/span><span class=\"subcat-text\">Security Lighting<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     LANDSCAPING \u2014 LANDSCAPE TRANSITION SCROLL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"landscaping\">\n\n  <div class=\"section-intro dark\">\n    <h2 class=\"intro-title\">Landscaping<\/h2>\n    <p class=\"intro-body\">SOD, turf, trees, grading, erosion control \u2014 we shape the land itself. Watch the transformation as you scroll.<\/p>\n  <\/div>\n\n  <!-- Landscape Transition canvas scroll -->\n  <div class=\"canvas-scroll-block\" id=\"ltScrollBlock\" style=\"height: 400dvh;\">\n    <div class=\"canvas-sticky-wrap\" style=\"background: url('https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/frame_0001-1.webp') center\/cover no-repeat;\">\n      <canvas class=\"scroll-canvas\" id=\"ltCanvas\"><\/canvas>\n    <\/div>\n  <\/div>\n\n  <!-- Landscaping photo gallery -->\n  <div class=\"photo-section\" style=\"padding-top: 48px;\">\n    <div class=\"ps-header\">\n      <span class=\"eyebrow\" style=\"color: var(--blue);\">Landscaping Portfolio<\/span>\n      <h3 class=\"ps-title\">Living <span>Landscapes<\/span><\/h3>\n      <p class=\"ps-desc\">From bare ground to lush outdoor space \u2014 the full range of landscaping services.<\/p>\n    <\/div>\n\n    <div class=\"h-gallery\">\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/IMG_4540.jpeg\" alt=\"SOD\" loading=\"lazy\">\n        <div class=\"img-label\">SOD Installation<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Landscaping-Services2.webp\" alt=\"Artificial Turf\" loading=\"lazy\">\n        <div class=\"img-label\">Artificial Turf<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Landscaping-Services3.webp\" alt=\"Tree Planting\" loading=\"lazy\">\n        <div class=\"img-label\">Tree Planting & Removal<\/div>\n      <\/div>\n      <div class=\"h-gallery-item\">\n        <img decoding=\"async\" src=\"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/Landscaping-Services4.webp\" alt=\"Grading\" loading=\"lazy\">\n        <div class=\"img-label\">Grading & Erosion Control<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"subcats\">\n      <div class=\"subcat-item\"><span class=\"subcat-num\">01<\/span><span class=\"subcat-text\">SOD Installation<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">02<\/span><span class=\"subcat-text\">Artificial Turf<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">03<\/span><span class=\"subcat-text\">Tree Planting & Removal<\/span><\/div>\n      <div class=\"subcat-item\"><span class=\"subcat-num\">04<\/span><span class=\"subcat-text\">Grading & Erosion Control<\/span><\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     FINAL CTA\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"cta-section\">\n  <span class=\"cta-eyebrow\">Get a Free Estimate<\/span>\n  <h2 class=\"cta-title\">Let's Build<br>Something<br>Great<\/h2>\n  <p class=\"cta-sub\">No pressure. No obligation. Just an honest conversation about your outdoor space and what's possible.<\/p>\n  <a href=\"tel:4705350252\" class=\"cta-phone\">470-535-0252<\/a>\n  <a href=\"tel:4705350252\" class=\"btn-primary fullw\">\n    <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\"><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z\"\/><\/svg>\n    Call Now \u2014 Free Estimate\n  <\/a>\n  <p class=\"cta-area\">Serving Canton \u00b7 Woodstock \u00b7 Ball Ground \u00b7 Waleska \u00b7 Holly Springs<\/p>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     JS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\"><\/script>\n<script>\n\/\/ \u2500\u2500 CONFIG \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst WP          = 'https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-content\/uploads\/2026\/03\/';\nconst FRAME_COUNT = 121;\nconst FRAME_SPEED = 2.0;\n\n\/\/ NOTE: WordPress flattens uploads to \/2026\/03\/ \u2014 no subfolders.\n\/\/ First uploaded set = no suffix, second = -1 suffix.\n\/\/ UPDATE these once you confirm which was uploaded first:\nconst RW_PATH = i => `${WP}frame_${String(i+1).padStart(4,'0')}.webp`;\nconst LT_PATH = i => `${WP}frame_${String(i+1).padStart(4,'0')}-1.webp`;\n\n\/\/ \u2500\u2500 CANVAS UTILS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction setupCanvas(el) {\n  const ctx = el.getContext('2d');\n  function resize() { el.width = window.innerWidth; el.height = window.innerHeight; }\n  resize();\n  window.addEventListener('resize', resize);\n  return ctx;\n}\n\nfunction drawFrame(ctx, frames, idx) {\n  const img = frames[idx];\n  if (!img || !img.complete || !img.naturalWidth) return;\n  const c = ctx.canvas;\n  const s = Math.max(c.width \/ img.naturalWidth, c.height \/ img.naturalHeight);\n  const w = img.naturalWidth * s, h = img.naturalHeight * s;\n  ctx.clearRect(0, 0, c.width, c.height);\n  ctx.drawImage(img, (c.width - w) \/ 2, (c.height - h) \/ 2, w, h);\n}\n\nfunction loadFrames(pathFn, total, onFirst) {\n  const frames = new Array(total).fill(null);\n  let done = 0;\n  const FIRST = 10;\n  for (let i = 0; i < FIRST; i++) {\n    const img = new Image();\n    img.src = pathFn(i);\n    img.onload = img.onerror = () => { frames[i] = img; done++; if (done === FIRST && onFirst) onFirst(); };\n  }\n  setTimeout(() => {\n    for (let i = FIRST; i < total; i++) {\n      const img = new Image();\n      img.src = pathFn(i);\n      img.onload = () => { frames[i] = img; };\n    }\n  }, 600);\n  return frames;\n}\n\n\/\/ \u2500\u2500 SCROLL SEQUENCE ENGINE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction createSequence(scrollBlock, canvasEl, pathFn) {\n  const ctx    = setupCanvas(canvasEl);\n  const frames = loadFrames(pathFn, FRAME_COUNT, () => { if (frames[0]) drawFrame(ctx, frames, 0); });\n  let cur = 0;\n\n  function progress() {\n    const top   = scrollBlock.getBoundingClientRect().top + window.scrollY;\n    const range = scrollBlock.offsetHeight - window.innerHeight;\n    if (range <= 0) return 0;\n    return Math.max(0, Math.min(1, (window.scrollY - top) \/ range));\n  }\n\n  return function tick() {\n    const p   = progress();\n    const acc = Math.min(p * FRAME_SPEED, 1);\n    const idx = Math.min(Math.floor(acc * FRAME_COUNT), FRAME_COUNT - 1);\n    if (idx !== cur) { cur = idx; if (frames[cur]) drawFrame(ctx, frames, cur); }\n  };\n}\n\n\/\/ \u2500\u2500 MASTER LOOP \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction initScrollLoops() {\n  const rwTick = createSequence(\n    document.getElementById('rwScrollBlock'),\n    document.getElementById('rwCanvas'),\n    RW_PATH\n  );\n  const ltTick = createSequence(\n    document.getElementById('ltScrollBlock'),\n    document.getElementById('ltCanvas'),\n    LT_PATH\n  );\n\n  const indicator = document.getElementById('scrollIndicator');\n  const totalH    = () => document.documentElement.scrollHeight - window.innerHeight;\n\n  function loop() {\n    rwTick();\n    ltTick();\n    const prog = totalH() > 0 ? Math.max(0, Math.min(1, window.scrollY \/ totalH())) : 0;\n    indicator.style.transform = `scaleX(${prog})`;\n    requestAnimationFrame(loop);\n  }\n  requestAnimationFrame(loop);\n}\n\n\/\/ \u2500\u2500 HERO ENTRANCE \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction animateHeroIn() {\n  gsap.to('#heroEyebrow', { opacity: 1, y: 0, duration: 0.8, delay: 0.3, ease: 'power3.out' });\n  gsap.to('#heroTitle',   { opacity: 1, y: 0, duration: 1.0, delay: 0.55, ease: 'power3.out' });\n  gsap.to('#heroSub',     { opacity: 1, y: 0, duration: 0.8, delay: 0.75, ease: 'power3.out' });\n  gsap.to('#heroCta',     { opacity: 1, y: 0, duration: 0.7, delay: 0.9,  ease: 'power3.out' });\n  gsap.to('#scrollHint',  { opacity: 1,        duration: 0.6, delay: 1.3,  ease: 'power2.out' });\n}\n\n\/\/ \u2500\u2500 COUNTERS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nfunction initCounters() {\n  document.querySelectorAll('.counter').forEach(el => {\n    const target = parseInt(el.dataset.target);\n    const obj = { val: 0 };\n    new IntersectionObserver(([entry]) => {\n      if (!entry.isIntersecting) return;\n      gsap.to(obj, { val: target, duration: 2, ease: 'power2.out',\n        onUpdate: () => { el.textContent = Math.floor(obj.val); }\n      });\n    }, { threshold: 0.5 }).observe(el);\n  });\n}\n\n\/\/ \u2500\u2500 BOOT \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nwindow.addEventListener('DOMContentLoaded', () => {\n  animateHeroIn();\n  initCounters();\n  initScrollLoops();\n});\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kaizenscapes \u2014 Outdoor Living Specialists Kaizenscapes Hardscaping, pools, outdoor kitchens, lighting, and landscaping \u2014 built to last, designed to impress. Call 470-535-0252 View Our Services Scroll 0+ Years in Canton 0+ Projects Completed 0% Satisfaction Rate Hardscaping Driveways, patios, retaining walls, custom masonry \u2014 permanent outdoor structures built with precision and crafted to endure. Hardscaping [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1165,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-236","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/pages\/236","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/comments?post=236"}],"version-history":[{"count":10,"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/pages\/236\/revisions"}],"predecessor-version":[{"id":2822,"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/pages\/236\/revisions\/2822"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/media\/1165"}],"wp:attachment":[{"href":"https:\/\/www.viralsparkmarketing.com\/kaizenscapes\/wp-json\/wp\/v2\/media?parent=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}