{"title":"Dandy Curb","description":"\u003cdiv id=\"ld-cru\"\u003e\n  \u003cdiv class=\"in\"\u003e\n\n    \u003cdiv class=\"band\"\u003e\n      \u003cdiv class=\"row\"\u003e\n        \u003cdiv\u003e\n          \u003cp class=\"eyb\"\u003eInlets Without Grates · 4′ to 16′\u003c\/p\u003e\n          \u003ch1\u003eDandy Curb\u003c\/h1\u003e\n          \u003cp class=\"tag\"\u003eNo Grate. Still Protected.\u003c\/p\u003e\n          \u003cp class=\"sub\"\u003eFor curb and median inlets with no grate at all. The unit sits against the opening, ballasted in place with aggregate.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aside\"\u003e\n          \u003cul class=\"bl\"\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eFits curb and median inlets without grates\u003c\/li\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eConforms to the shape of the curb\u003c\/li\u003e\n            \u003cli\u003e\n\u003csvg class=\"ck\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpolyline points=\"4 12.5 9.5 18 20 6\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003eAggregate-ballasted seal to the street\u003c\/li\u003e\n          \u003c\/ul\u003e\n          \u003ca class=\"cta\" href=\"#\" data-scroll-grid\u003eShop dandy curb\u003c\/a\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cul class=\"stats\"\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e7\u003c\/span\u003e\u003cspan class=\"lb\"\u003eLengths stocked\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e4–16\u003cem\u003eft\u003c\/em\u003e\u003c\/span\u003e\u003cspan class=\"lb\"\u003eLength range\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"n\"\u003e5\u003c\/span\u003e\u003cspan class=\"lb\"\u003eMinimum order units\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"intro\"\u003e\n      \u003cp class=\"kick\"\u003eChoose Your Length\u003c\/p\u003e\n      \u003ch2\u003eDandy Curb Sediment Inlet Filters\u003c\/h2\u003e\n      \u003cdiv class=\"rd\"\u003e\n        \u003cp\u003eGrate-mounted inlet protection has an obvious blind spot: it cannot address an inlet that has no grate. The \u003cstrong\u003eDandy Curb\u003c\/strong\u003e exists for exactly that — curb inlets and median inlets that are simply an opening in the curb face.\u003c\/p\u003e\n        \u003cp\u003eRather than enclosing anything, the unit lays against the opening and is held by an \u003cstrong\u003eaggregate-filled pouch\u003c\/strong\u003e on the street side. That ballast does two jobs: it keeps the unit in place through a storm event, and it creates a seal between the unit and the street surface so flow passes through the geotextile rather than underneath it.\u003c\/p\u003e\n        \u003cp\u003eSeven lengths from 4 to 16 feet. \u003cstrong\u003eSize on the opening plus the overhang\u003c\/strong\u003e, not the opening alone — the unit is centered so an equal length extends past each side.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n#ld-cru{\n  --f:#33471F; --o:#5B7B30; --l:#8fc24a; --ink:#141a0c; --t:#1E1B1C; --b:#4a4744;\n  --cr:#F3F0E7; --ln:#e5e2d8;\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  font-weight:400; width:100%; box-sizing:border-box; color:var(--t);\n}\n.collection--description.rte, .productgrid--masthead .rte, .rte:has(\u003e #ld-cru){max-width:none !important;}\n.collection--masthead .collection--title, .productgrid--masthead .collection--title,\n.template-collection .collection--title{display:none !important;}\n#ld-cru *,#ld-cru *::before,#ld-cru *::after{box-sizing:border-box;}\n#ld-cru .in{width:1150px;max-width:100%;margin:0 auto;}\n#ld-cru .band{position:relative;border-radius:6px;overflow:hidden;background:var(--ink);}\n#ld-cru .band::before{content:\"\";position:absolute;inset:0;z-index:0;opacity:.5;\n  background-image:linear-gradient(rgba(143,194,74,.15) 2px,transparent 2px),linear-gradient(90deg,rgba(143,194,74,.15) 2px,transparent 2px);\n  background-size:44px 44px;}\n#ld-cru .band::after{content:\"\";position:absolute;inset:0;z-index:1;\n  background:linear-gradient(105deg,var(--ink) 0%,rgba(20,26,12,.74) 48%,rgba(51,71,31,.56) 100%);}\n#ld-cru .row{position:relative;z-index:2;display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:28px;padding:36px 40px 30px;}\n#ld-cru .eyb{margin:0 0 12px;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:700;color:var(--l);}\n#ld-cru h1{margin:0 0 8px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:42px;line-height:.93;letter-spacing:-.5px;font-weight:700;text-transform:uppercase;color:#fff;}\n#ld-cru .tag{margin:0 0 13px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:17px;line-height:1;letter-spacing:.5px;text-transform:uppercase;font-weight:700;color:var(--l);}\n#ld-cru .sub{margin:0;max-width:470px;font-size:14.5px;line-height:1.5;color:#e4e8da;}\n#ld-cru .aside{display:flex;flex-direction:column;gap:11px;align-items:flex-start;}\n#ld-cru .bl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}\n#ld-cru .bl li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:#eef0e6;}\n#ld-cru .ck{width:17px;height:17px;flex:0 0 auto;margin-top:2px;fill:none;stroke:var(--l);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}\n#ld-cru .cta{margin-top:4px;background:var(--l);color:#1c2b0c;text-decoration:none;padding:11px 24px;border-radius:3px;font-size:13px;letter-spacing:.5px;text-transform:uppercase;font-weight:700;transition:background .15s ease;}\n#ld-cru .cta:hover{background:#a3d160;}\n#ld-cru .stats{position:relative;z-index:2;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(10,14,6,.62);border-top:1px solid rgba(143,194,74,.25);}\n#ld-cru .stats li{padding:15px 22px;border-right:1px solid rgba(255,255,255,.08);}\n#ld-cru .stats li:last-child{border-right:0;}\n#ld-cru .n{display:block;font-family:'League Spartan',sans-serif;font-size:25px;font-weight:700;line-height:1;color:var(--l);}\n#ld-cru .n em{font-style:normal;font-size:13px;margin-left:2px;}\n#ld-cru .lb{display:block;margin-top:6px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#aeb6a2;}\n#ld-cru .intro{padding:38px 4px 8px;}\n#ld-cru .kick{margin:0 0 10px;font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--o);}\n#ld-cru h2{margin:0 0 18px;font-family:'League Spartan','Archivo Narrow',sans-serif;font-size:30px;line-height:1.08;font-weight:700;color:var(--t);}\n#ld-cru .rd p{margin:0 0 14px;font-size:15.5px;line-height:1.65;color:var(--b);}\n#ld-cru .rd p:last-child{margin-bottom:0;}\n@media (max-width:900px){\n  #ld-cru h1{font-size:36px;} #ld-cru .row{grid-template-columns:1fr;gap:20px;padding:30px 28px 24px;}\n  #ld-cru h2{font-size:26px;} #ld-cru .n{font-size:22px;}\n}\n@media (max-width:560px){\n  #ld-cru h1{font-size:29px;} #ld-cru .eyb{font-size:11px;letter-spacing:2px;}\n  #ld-cru .row{padding:26px 22px 20px;} #ld-cru .cta{width:100%;text-align:center;}\n  #ld-cru .stats{grid-template-columns:1fr;}\n  #ld-cru .stats li{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);}\n  #ld-cru .stats li:last-child{border-bottom:0;}\n  #ld-cru .intro{padding:28px 2px 4px;}\n}\n@media (prefers-reduced-motion:reduce){#ld-cru .cta{transition:none;}}\n.template-collection .productgrid--outer{display:block!important;grid-template-columns:none!important;max-width:1150px!important;margin:0 auto!important;padding:0!important}\n.template-collection .grid--collection-sidebar{display:none!important}\n.template-collection .productgrid--wrapper{width:100%!important;margin:0!important}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function(){\n  var b=document.querySelector('#ld-cru [data-scroll-grid]');\n  if(!b)return;\n  b.addEventListener('click',function(e){\n    e.preventDefault();\n    var g=document.querySelector('.productgrid--items, .productgrid--wrapper, [data-productgrid-items]');\n    if(g){g.scrollIntoView({behavior:'smooth',block:'start'});}\n  });\n})();\n\u003c\/script\u003e","products":[{"product_id":"dandy-curb-10-sediment-inlet-filter","title":"Dandy Curb - 10' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 10′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e10′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. A 10-foot unit, common on commercial and arterial road inlets. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e10′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-120-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182152052,"sku":"DC-120-0","price":348.7,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-120-0-2.jpg?v=1782096454"},{"product_id":"dandy-curb-12-sediment-inlet-filter","title":"Dandy Curb - 12' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 12′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e12′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. A 12-foot unit for long inlet openings. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e12′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-144-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182184820,"sku":"DC-144-0","price":370.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-144-0-2.jpg?v=1782096457"},{"product_id":"dandy-curb-14-sediment-inlet-filter","title":"Dandy Curb - 14' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 14′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e14′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. A 14-foot unit for extended curb and median inlets. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e14′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-168-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182217588,"sku":"DC-168-0","price":393.38,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-168-0-2.jpg?v=1782096460"},{"product_id":"dandy-curb-16-sediment-inlet-filter","title":"Dandy Curb - 16' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 16′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e16′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. The longest length stocked, for the widest inlet openings. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e16′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-192-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182250356,"sku":"DC-192-0","price":415.69,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-192-0-2.jpg?v=1782096464"},{"product_id":"dandy-curb-4-sediment-inlet-filter","title":"Dandy Curb - 4' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 4′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e4′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. The shortest length stocked, for compact curb openings. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e4′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-48-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182283124,"sku":"DC-48-0","price":167.02,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-48-0-2.jpg?v=1782096468"},{"product_id":"dandy-curb-6-sediment-inlet-filter","title":"Dandy Curb - 6' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 6′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e6′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. A 6-foot unit, suiting many standard residential street inlets. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e6′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-72-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182315892,"sku":"DC-72-0","price":181.68,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-72-0-2.jpg?v=1782096471"},{"product_id":"dandy-curb-8-sediment-inlet-filter","title":"Dandy Curb - 8' - Sediment Inlet Filter","description":"\u003c!-- ================================================================\n     LANDSCAPE DISCOUNT — HDPE Tree Root Barrier Roll\n     INTRO BLOCK  ·  paste into the Shopify product DESCRIPTION field\n     Scope: #ld-dc-intro\n     ================================================================ --\u003e\n\n\u003cdiv id=\"ld-dc-intro\"\u003e\n\u003cstyle\u003e\n#ld-dc-intro{\n  --forest:#33471F; --olive:#5B7B30; --leaf:#8FC24A; --cream:#F3F0E7;\n  --ink:#1E1B1C; --body:#4a4744; --muted:#7A7568; --hair:#e5e2d8; --tint:#F7F5EF;\n  --hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);\n  font-family:Archivo,'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;\n  color:var(--body); font-size:16px; line-height:1.65;\n}\n#ld-dc-intro *{box-sizing:border-box;}\n\n#ld-dc-intro .ld-kicker{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:2px; font-size:12px;\n  color:var(--olive); margin:0 0 10px;\n}\n#ld-dc-intro .ld-lead{\n  margin:0 0 22px; font-size:17px; line-height:1.62; color:var(--body);\n}\n#ld-dc-intro .ld-lead strong{color:var(--ink); font-weight:600;}\n\n\/* ---- spec cards ---- *\/\n#ld-dc-intro .ld-rail{\n  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;\n}\n#ld-dc-intro .ld-cell{\n  position:relative; background:#fff; border:1px solid var(--hair);\n  border-top:3px solid var(--olive); padding:15px 15px 14px;\n}\n#ld-dc-intro .ld-cell::before{\n  content:\"\"; position:absolute; right:12px; top:11px;\n  width:8px; height:8px; background:var(--leaf); clip-path:var(--hex);\n}\n#ld-dc-intro .ld-cell dt{\n  font-family:'League Spartan','Archivo Narrow',sans-serif; font-weight:700;\n  text-transform:uppercase; letter-spacing:1.4px; font-size:10px;\n  color:var(--olive); margin:0 0 9px; padding-right:22px;}\n#ld-dc-intro .ld-cell dd{\n  margin:0; font-family:'League Spartan','Archivo Narrow',sans-serif;\n  font-weight:700; font-size:clamp(17px,1.5vw,20px); line-height:1.1;\n  color:var(--forest); letter-spacing:-.01em; padding-right:6px;}\n#ld-dc-intro .ld-cell dd span{\n  display:block; font-family:Archivo,sans-serif; font-weight:400;\n  font-size:12px; line-height:1.4; color:var(--muted);\n  letter-spacing:0; margin-top:8px;\n}\n\n\/* ---- trust strip ---- *\/\n#ld-dc-intro .ld-strip{\n  display:flex; flex-wrap:wrap; gap:8px 26px;\n  border-top:1px solid var(--hair); padding-top:13px; margin:0;\n  list-style:none;\n}\n#ld-dc-intro .ld-strip li{\n  display:flex; align-items:center; gap:8px;\n  font-size:13.5px; color:var(--ink);\n}\n#ld-dc-intro .ld-strip li::before{\n  content:\"\"; flex:0 0 auto; width:9px; height:9px;\n  background:var(--olive); clip-path:var(--hex);\n}\n\n@media (max-width:900px){\n  #ld-dc-intro .ld-rail{grid-template-columns:1fr;}\n}\n@media (max-width:760px){\n  #ld-dc-intro .ld-lead{font-size:16px;}\n  #ld-dc-intro .ld-cell dd{font-size:18px;}\n  #ld-dc-intro .ld-strip{gap:8px 18px;}\n}\n\u003c\/style\u003e\n\n  \u003cp class=\"ld-kicker\"\u003eDandy · Curb \u0026amp; Median Inlets · 8′\u003c\/p\u003e\n\n  \u003cp class=\"ld-lead\"\u003e\n    \u003cstrong\u003eDandy Curb sediment inlet filter\u003c\/strong\u003e in a \u003cstrong\u003e8′\u003c\/strong\u003e length, for curb and\n    median inlets \u003cstrong\u003ewithout grates\u003c\/strong\u003e. An 8-foot unit for wider curb and median openings. The unit sits against the opening, ballasted with\n    aggregate, so flow is slowed and sediment is captured before it reaches the inlet.\n  \u003c\/p\u003e\n\n  \u003cdl class=\"ld-rail\"\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eLength\u003c\/dt\u003e\n      \u003cdd\u003e8′\u003cspan\u003eCentered, equal overhang each side\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eModel\u003c\/dt\u003e\n      \u003cdd\u003eDC-96-0\u003cspan\u003eBrand: Dandy\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"ld-cell\"\u003e\n      \u003cdt\u003eMaterial\u003c\/dt\u003e\n      \u003cdd\u003eGeotextile\u003cspan\u003eOrange monofilament\u003c\/span\u003e\n\u003c\/dd\u003e\n    \u003c\/div\u003e\n  \u003c\/dl\u003e\n\n  \u003cul class=\"ld-strip\"\u003e\n    \u003cli\u003eFor inlets without grates\u003c\/li\u003e\n    \u003cli\u003eConforms to the curb shape\u003c\/li\u003e\n    \u003cli\u003eBuilt-in protective overflow\u003c\/li\u003e\n    \u003cli\u003eAggregate-ballasted seal\u003c\/li\u003e\n    \u003cli\u003eFree shipping on all orders\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n\u003c\/div\u003e","brand":"Dandy","offers":[{"title":"Default Title","offer_id":54831182348660,"sku":"DC-96-0","price":336.91,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1006\/1883\/0196\/files\/DC-96-0-2.jpg?v=1782096475"}],"url":"https:\/\/landscapediscount.com\/collections\/dandy-curb.oembed","provider":"Landscape Discount","version":"1.0","type":"link"}