#ka-site{ –forest:#29382e;–sand:#d8bd87;–cream:#f7f5ef; –ink:#252a25;–muted:#70756e;–line:#e5e3dc; font-family:Arial,Helvetica,sans-serif;color:var(–ink); line-height:1.55;width:100%;margin:auto } #ka-site *{box-sizing:border-box} #ka-site h1,#ka-site h2,#ka-site h3{line-height:1.2} #ka-site a{text-decoration:none} #ka-site .ka-top{ background:var(–forest);color:white;padding:17px 22px; display:flex;justify-content:space-between;align-items:center;gap:14px } #ka-site .ka-brand{font-size:21px;font-weight:800;letter-spacing:1px} #ka-site .ka-subbrand{font-size:10px;letter-spacing:2px;color:#dedbd0} #ka-site .ka-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:13px} #ka-site .ka-nav a{color:white} #ka-site .ka-hero{ background:linear-gradient(110deg,#28362d 0%,#46513e 100%); color:white;padding:65px 30px;text-align:left } #ka-site .ka-kicker{font-size:11px;letter-spacing:3px;color:var(–sand);font-weight:bold} #ka-site .ka-hero h1{font-size:clamp(34px,5vw,57px);max-width:650px; color:white;margin:15px 0} #ka-site .ka-hero p{max-width:510px;color:#e5e6de;font-size:16px} #ka-site .ka-btn{display:inline-block;border:0;border-radius:3px; padding:13px 20px;font-weight:bold;font-size:13px;cursor:pointer; text-align:center} #ka-site .ka-btn-gold{background:var(–sand);color:#242a23} #ka-site .ka-btn-light{border:1px solid #c7cbbf;color:white;margin-left:8px} #ka-site .ka-strip{display:grid;grid-template-columns:repeat(3,1fr); background:var(–cream);padding:19px 24px;gap:12px;text-align:center} #ka-site .ka-strip strong{display:block;font-size:12px} #ka-site .ka-strip span{font-size:11px;color:var(–muted)} #ka-site .ka-section{padding:42px 24px} #ka-site .ka-heading{display:flex;justify-content:space-between; align-items:end;gap:18px;margin-bottom:22px} #ka-site .ka-heading h2{font-size:30px;margin:5px 0} #ka-site .ka-heading p{color:var(–muted);font-size:13px;margin:5px 0} #ka-site .ka-eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:#82704b} #ka-site .ka-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px} #ka-site .ka-card{border:1px solid var(–line);background:#fff;min-width:0} #ka-site .ka-photo{height:170px;background:#ded7c7;overflow:hidden} #ka-site .ka-photo img{width:100%;height:100%;object-fit:cover;display:block} #ka-site .ka-cardbody{padding:15px} #ka-site .ka-card h3{font-size:17px;margin:0 0 8px} #ka-site .ka-card p{font-size:12px;color:var(–muted);min-height:36px;margin:0 0 13px} #ka-site .ka-select{display:flex;align-items:center;gap:8px;font-size:12px; font-weight:bold;margin-bottom:10px} #ka-site .ka-select input{width:18px;height:18px;accent-color:var(–forest)} #ka-site label{display:block;font-size:12px;font-weight:bold;margin:10px 0 5px} #ka-site input,#ka-site select,#ka-site textarea{ display:block;width:100%;min-width:0;border:1px solid #d7d7d0; border-radius:3px;background:white;padding:11px;font:inherit;font-size:14px;color:#222 } #ka-site input[type=number]{padding:9px} #ka-site .ka-cart{background:var(–cream);padding:25px;border:1px solid var(–line)} #ka-site .ka-cart h2{font-size:26px;margin:0 0 8px} #ka-site .ka-muted{font-size:13px;color:var(–muted)} #ka-site .ka-orderline{display:flex;justify-content:space-between;gap:12px; padding:10px 0;border-bottom:1px solid #deddd5;font-size:13px} #ka-site .ka-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px} #ka-site .ka-full{grid-column:1/-1} #ka-site .ka-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px} #ka-site .ka-call{background:var(–forest);color:white} #ka-site .ka-delivery{background:var(–forest);color:white;padding:30px; display:flex;justify-content:space-between;align-items:center;gap:20px} #ka-site .ka-delivery h2{font-size:25px;color:white;margin:0 0 8px} #ka-site .ka-delivery p{font-size:13px;color:#e0e4db;margin:0} #ka-site .ka-footer{background:#202a23;color:#eee;padding:23px;text-align:center;font-size:12px} #ka-site .ka-footer p{margin:5px} #ka-site .ka-note{font-size:11px;color:var(–muted);margin-top:14px} @media(max-width:760px){ #ka-site .ka-top{align-items:flex-start;flex-direction:column} #ka-site .ka-nav{gap:14px} #ka-site .ka-hero{padding:44px 22px} #ka-site .ka-strip{padding:16px 8px;gap:5px} #ka-site .ka-strip strong{font-size:10px} #ka-site .ka-strip span{font-size:10px} #ka-site .ka-section{padding:32px 14px} #ka-site .ka-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px} #ka-site .ka-photo{height:130px} #ka-site .ka-cardbody{padding:10px} #ka-site .ka-card h3{font-size:15px} #ka-site .ka-heading h2{font-size:25px} #ka-site .ka-delivery{align-items:flex-start;flex-direction:column} } @media(max-width:380px){ #ka-site .ka-grid{grid-template-columns:1fr} #ka-site .ka-photo{height:190px} #ka-site .ka-formgrid{grid-template-columns:1fr} #ka-site .ka-full{grid-column:auto} }
K&A STONE & SOIL
LANDSCAPE & CONSTRUCTION MATERIALS
Products Delivery Request a Quote
YOUR LOCAL MATERIAL SUPPLIER

Build Your Project on the Right Foundation.

Explore our selection of stone, decomposed granite, base materials and soil for landscaping and construction.

EXPLORE MATERIALS CALL OUR TEAM
QUALITY MATERIALSFor outdoor projects
COMPETITIVE PRICESRequest a quote
DELIVERY AVAILABLEAsk about your location
EXPLORE OUR SELECTION

Our Materials

Select the products you need to start your quote.

Decomposed granite

1/4" Decomposed Granite

Fine aggregate for pathways and landscaping.

Add to quote Quantity
Half inch decomposed granite

1/2" Decomposed Granite

Versatile aggregate for outdoor projects.

Add to quote Quantity
Three quarter base material

3/4" Base

Base aggregate for ground preparation.

Add to quote Quantity
Topsoil material

Topsoil

Soil for landscaping and garden projects.

Add to quote Quantity

Request a Quote

Choose your materials and tell us about your project.

No materials selected yet.
Full name *
Phone number *
Delivery city or address
Preferred unit Please confirm with me Tons Cubic yards Truckloads
Requested delivery date
Project details

All requests are subject to confirmation of pricing, product availability, quantity and delivery. No online payment is collected.

CALL 210-350-6298

Need materials delivered?

Contact us to check delivery availability and get a quote for your project.

CALL US TODAY

K&A STONE & SOIL

Landscape & Construction Materials

Call or text 210-350-6298

Delivery availability and pricing confirmed upon request.

(function(){ const root=document.getElementById(‘ka-site’); if(!root || root.dataset.initialized) return; root.dataset.initialized=’yes’; const checks=[…root.querySelectorAll(‘.ka-check’)]; const summary=root.querySelector(‘#ka-summary’); const result=root.querySelector(‘#ka-result’); function chosen(){ return checks.filter(c=>c.checked).map(c=>({ name:c.dataset.name, qty:Math.max(1,parseInt(c.closest(‘.ka-cardbody’).querySelector(‘.ka-qty’).value,10)||1) })); } function refresh(){ const items=chosen(); summary.replaceChildren(); if(!items.length){ summary.textContent=’No materials selected yet.’; return; } items.forEach(item=>{ const line=document.createElement(‘div’); line.className=’ka-orderline’; const name=document.createElement(‘span’); name.textContent=item.name; const qty=document.createElement(‘strong’); qty.textContent=item.qty+’ unit(s)’; line.append(name,qty); summary.append(line); }); } checks.forEach(c=>c.addEventListener(‘change’,refresh)); root.querySelectorAll(‘.ka-qty’).forEach(q=>q.addEventListener(‘input’,refresh)); root.querySelector(‘#ka-form’).addEventListener(‘submit’,function(e){ e.preventDefault(); const items=chosen(); if(!items.length){ result.textContent=’Please select at least one material above.’; return; } const val=id=>root.querySelector(‘#’+id).value.trim(); const lines=[ ‘K&A STONE & SOIL – QUOTE REQUEST’, », ‘Customer: ‘+val(‘ka-name’), ‘Phone: ‘+val(‘ka-phone’), ‘Delivery location: ‘+(val(‘ka-city’)||’Not provided’), ‘Preferred unit: ‘+val(‘ka-unit’), ‘Requested date: ‘+(val(‘ka-date’)||’Flexible’), », ‘SELECTED MATERIALS:’, …items.map(i=>i.name+’ – ‘+i.qty+’ unit(s)’), », ‘Project details: ‘+(val(‘ka-notes’)||’None’), », ‘Please confirm pricing and delivery availability.’ ]; const text=lines.join(‘\n’); result.replaceChildren(); const heading=document.createElement(‘p’); heading.textContent=’Your request is ready. Contact us by phone to confirm your order:’; result.append(heading); const copy=document.createElement(‘button’); copy.type=’button’; copy.className=’ka-btn ka-btn-gold’; copy.textContent=’COPY REQUEST DETAILS’; copy.addEventListener(‘click’,function(){ const area=document.createElement(‘textarea’); area.value=text; area.setAttribute(‘readonly’,»); result.append(area); area.select(); try{document.execCommand(‘copy’);copy.textContent=’COPY AGAIN IF NEEDED’;} catch(err){copy.textContent=’Select and copy the text above’;} }); result.append(copy); const call=document.createElement(‘a’); call.className=’ka-btn ka-call’; call.href=’tel:+12103506298′; call.textContent=’CALL 210-350-6298′; result.append(call); const details=document.createElement(‘textarea’); details.readOnly=true; details.rows=8; details.value=text; details.style.marginTop=’14px’; result.append(details); }); refresh(); })();