Homeowners value reliability, clear communication, and work that makes a visible difference. We take pride in creating landscapes and hardscapes that feel well planned, well built, and worth the investment for families across the county.
If you are ready to improve your outdoor space with a more thoughtful, better-built plan, Shaped Landscaping is ready to help. We offer quick response times, free estimates, and personalized consultations for homeowners across Charleston County. Call 854-220-0415 or email Roberttuttle843@gmail.com to get started.
OUR SERVICES
Other Service Area Pages:
We work with homeowners throughout Charleston County and make it easy to get started with local service you can count on. View full service area list
Shaped Landscaping — Landscaper & Hardscaper in Charleston County, SC
Call 854-220-0415 Free Estimate) → Active OR: Elementor → Site Settings → Custom Code → Before ============================================================ *//* ── FAQ accordion ──────────────────────────────────────────── */ function togFaq(el) { var item = el.closest('.faq-item'); var open = item.classList.contains('open'); document.querySelectorAll('.faq-item.open').forEach(function(i) { i.classList.remove('open'); i.querySelector('.faq-a').style.display = 'none'; }); if (!open) { item.classList.add('open'); item.querySelector('.faq-a').style.display = 'block'; } }/* ── Load more reviews ──────────────────────────────────────── */ function loadMoreReviews(btn) { var h = document.getElementById('revHidden'); if (!h) return; h.style.display = 'block'; h.querySelectorAll('.fi').forEach(function(el, i) { setTimeout(function() { el.classList.add('in'); }, i * 60); }); btn.textContent = 'Showing All 26 Reviews'; btn.disabled = true; btn.style.opacity = '.55'; btn.style.cursor = 'default'; }/* ── Fade-in on scroll (IntersectionObserver) ───────────────── */ var obs = new IntersectionObserver(function(en) { en.forEach(function(e) { if (e.isIntersecting) { e.target.classList.add('in'); obs.unobserve(e.target); } }); }, { threshold: 0.08 });document.querySelectorAll('.fi').forEach(function(el) { obs.observe(el); });document.querySelectorAll('.ben-card,.proc-card,.link-card').forEach(function(el, i) { el.style.transitionDelay = (i * 0.08) + 's'; if (!el.classList.contains('fi')) { el.classList.add('fi'); obs.observe(el); } });/* ── Sticky bar ─────────────────────────────────────────────── */ var bar = document.getElementById('stickyBar'); if (bar) { var shown = false; window.addEventListener('scroll', function() { var s = window.scrollY > 480; if (s && !shown) { bar.classList.add('show'); shown = true; } else if (!s && shown) { bar.classList.remove('show'); shown = false; } }, { passive: true }); }/* ── Gallery lightbox (.gal-8 pages) ───────────────────────── */ (function() { function initLightbox() { if (!document.querySelector('.gal-8')) return; if (document.getElementById('galLb')) return;var lb = document.createElement('div'); lb.id = 'galLb'; lb.className = 'gal-lb'; lb.setAttribute('role', 'dialog'); lb.setAttribute('aria-modal', 'true'); lb.setAttribute('aria-label', 'Image viewer'); lb.innerHTML = '' + '' + '
' + '' + '
'; document.body.appendChild(lb);var lbImg = lb.querySelector('.gal-lb-img'); var counter = lb.querySelector('.gal-lb-counter'); var imgs = []; var cur = 0;document.querySelectorAll('.gal-8 .gal-item').forEach(function(item) { var img = item.querySelector('img'); if (!img) return; var src = img.getAttribute('data-src') || ''; if (!src || src.indexOf('data:') === 0) src = img.src; var alt = img.getAttribute('alt') || ''; var idx = imgs.length; imgs.push({ src: src, alt: alt }); item.addEventListener('click', function() { open(idx); }); });function open(idx) { cur = idx; render(); lb.classList.add('lb-open'); document.body.style.overflow = 'hidden'; } function close() { lb.classList.remove('lb-open'); document.body.style.overflow = ''; } function render() { lbImg.src = imgs[cur].src; lbImg.alt = imgs[cur].alt; counter.textContent = (cur + 1) + ' / ' + imgs.length; } function prev() { cur = (cur - 1 + imgs.length) % imgs.length; render(); } function next() { cur = (cur + 1) % imgs.length; render(); }lb.querySelector('.gal-lb-close').addEventListener('click', close); lb.querySelector('.gal-lb-prev').addEventListener('click', function(e) { e.stopPropagation(); prev(); }); lb.querySelector('.gal-lb-next').addEventListener('click', function(e) { e.stopPropagation(); next(); }); lb.addEventListener('click', function(e) { if (e.target === lb) close(); });document.addEventListener('keydown', function(e) { if (!lb.classList.contains('lb-open')) return; if (e.key === 'Escape') close(); else if (e.key === 'ArrowLeft') prev(); else if (e.key === 'ArrowRight') next(); });var tx = 0; lb.addEventListener('touchstart', function(e) { tx = e.touches[0].clientX; }, { passive: true }); lb.addEventListener('touchend', function(e) { var dx = e.changedTouches[0].clientX - tx; if (Math.abs(dx) > 50) { if (dx < 0) next(); else prev(); } }, { passive: true }); }if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initLightbox); else initLightbox(); })();