{"title":"Hair everywhere","description":null,"products":[{"product_id":"dirty-pawz™-steamgroom-pro","title":"TrailPets™ SteamGroom Pro","description":"\u003cdiv class=\"dp-desc\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Fredoka:wght@400;500;600\u0026family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800\u0026display=swap');\n\n.dp-desc{\n  --cream:#FFFBF6; --sand:#F5EADC; --caramel:#BC854D; --caramel-soft:#E8D3B6;\n  --rust:#A15B24; --cocoa:#3E2C1C; --slate:#486572; --line:rgba(62,44,28,.13);\n  --muted:#6A5646;\n  --disp:\"Fredoka\",ui-rounded,system-ui,sans-serif;\n  --bod:\"Nunito Sans\",ui-sans-serif,system-ui,sans-serif;\n  --e:cubic-bezier(.22,.68,.24,1);\n  container-type:inline-size;\n  container-name:dpdesc;\n  font-family:var(--bod);color:var(--cocoa);\n  font-size:16.5px;line-height:1.62;\n  width:100%;max-width:100%;overflow:hidden;\n}\n.dp-desc *{box-sizing:border-box}\n.dp-desc .dp-sec,.dp-desc .dp-intro,.dp-desc .dp-closer,.dp-desc .dp-bens,\n.dp-desc .dp-split,.dp-desc .dp-steps,.dp-desc .dp-specs,.dp-desc .dp-ben,\n.dp-desc .dp-half,.dp-desc .dp-step,.dp-desc .dp-spec,.dp-desc .dp-vs,\n.dp-desc .dp-faq,.dp-desc .dp-guar,.dp-desc .dp-quotes{max-width:100%}\n.dp-desc h2,.dp-desc h3{font-family:var(--disp);font-weight:600;line-height:1.06;letter-spacing:-.02em;margin:0;color:var(--cocoa)}\n.dp-desc p{margin:0}\n.dp-desc .dp-eb{font-size:11.5px;font-weight:800;letter-spacing:.16em;\n  text-transform:uppercase;color:var(--caramel);margin:0 0 11px}\n.dp-desc svg{display:block;flex:none}\n\n\/* ---------- intro ---------- *\/\n.dp-desc .dp-intro{display:grid;gap:16px;margin:0 0 32px;\n  border-left:3px solid var(--caramel);padding:4px 0 4px 20px}\n.dp-desc .dp-lede{font-family:var(--disp);font-weight:500;\n  font-size:clamp(20px,4.4cqi,30px);line-height:1.22;color:var(--rust);margin:0}\n.dp-desc .dp-intro-body{display:grid;gap:13px;color:var(--muted)}\n\n\/* ---------- marquee ---------- *\/\n.dp-desc .dp-mq{background:var(--cocoa);border-radius:999px;overflow:hidden;\n  padding:12px 0;margin:0 0 40px;max-width:100%}\n.dp-desc .dp-track{display:flex;width:max-content;max-width:none;\n  animation:dpDrift 26s linear infinite}\n.dp-desc .dp-mq:hover .dp-track{animation-play-state:paused}\n.dp-desc .dp-track span{font-family:var(--disp);font-size:clamp(14px,2.5cqi,18px);font-weight:500;\n  color:#F6EDE2;display:flex;align-items:center;gap:24px;padding:0 24px;\n  white-space:nowrap;flex:none;max-width:none}\n.dp-desc .dp-track i{width:6px;height:6px;border-radius:50%;background:var(--caramel);display:block;flex:none}\n@keyframes dpDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}\n\n\/* ---------- section shell ---------- *\/\n.dp-desc .dp-sec{margin:0 0 44px}\n.dp-desc .dp-sec\u003eh2{font-size:clamp(24px,5cqi,36px);margin-bottom:9px}\n.dp-desc .dp-sec\u003eh2+p{color:var(--muted);margin-bottom:24px}\n.dp-desc .dp-sec\u003eh2+.dp-bens,.dp-desc .dp-sec\u003eh2+.dp-split,\n.dp-desc .dp-sec\u003eh2+.dp-specs,.dp-desc .dp-sec\u003eh2+.dp-vs,\n.dp-desc .dp-sec\u003eh2+.dp-faq,.dp-desc .dp-sec\u003eh2+.dp-quotes{margin-top:26px}\n.dp-desc .dp-sec\u003eh2+.dp-steps{margin-top:38px}\n\n\/* ---------- problem strip ---------- *\/\n.dp-desc .dp-prob{background:var(--sand);border-radius:22px;padding:28px 26px;margin:0 0 44px}\n.dp-desc .dp-prob h2{font-size:clamp(21px,4.2cqi,29px);max-width:22ch}\n.dp-desc .dp-prob ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:11px}\n.dp-desc .dp-prob li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--muted)}\n.dp-desc .dp-prob svg{margin-top:3px;color:var(--rust)}\n.dp-desc .dp-prob .dp-turn{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);\n  font-family:var(--disp);font-weight:500;font-size:clamp(17px,3.2cqi,21px);\n  line-height:1.35;color:var(--cocoa)}\n\n\/* ---------- benefits ---------- *\/\n.dp-desc .dp-bens{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-ben{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;\n  padding:26px 24px;overflow:hidden;\n  transition:transform .3s var(--e),box-shadow .3s var(--e),border-color .3s ease}\n.dp-desc .dp-ben:hover{transform:translateY(-5px);border-color:var(--caramel-soft);\n  box-shadow:0 26px 48px -34px rgba(62,44,28,.6)}\n.dp-desc .dp-ben::before{content:\"\";position:absolute;inset:auto -40% -60% auto;\n  width:180px;height:180px;border-radius:50%;\n  background:radial-gradient(circle,rgba(188,133,77,.18),transparent 70%);\n  opacity:0;transition:opacity .4s ease}\n.dp-desc .dp-ben:hover::before{opacity:1}\n.dp-desc .dp-ico{width:44px;height:44px;border-radius:13px;background:var(--sand);\n  color:var(--rust);display:grid;place-items:center;position:relative;z-index:2;\n  transition:transform .35s var(--e),background .3s ease}\n.dp-desc .dp-ben:hover .dp-ico{transform:translateY(-2px) rotate(-6deg);background:var(--caramel-soft)}\n.dp-desc .dp-ben h3{font-size:18.5px;font-weight:500;margin:15px 0 6px;position:relative;z-index:2}\n.dp-desc .dp-ben p{font-size:14.5px;color:var(--muted);position:relative;z-index:2}\n\n\/* ---------- split ---------- *\/\n.dp-desc .dp-split{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-half{position:relative;border-radius:22px;overflow:hidden;background:var(--sand);\n  border:1px solid var(--line);padding:26px 24px;min-height:215px;\n  display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s var(--e)}\n.dp-desc .dp-half:hover{transform:translateY(-5px)}\n.dp-desc .dp-half h3{font-size:clamp(21px,4cqi,28px);position:relative;z-index:2}\n.dp-desc .dp-half p{margin-top:9px;color:var(--muted);position:relative;z-index:2;font-size:15px}\n.dp-desc .dp-steam{position:absolute;left:0;right:0;top:0;height:60%;\n  background:linear-gradient(180deg,rgba(188,133,77,.22),rgba(188,133,77,0))}\n.dp-desc .dp-leaves{position:absolute;inset:0;z-index:1;pointer-events:none;color:var(--caramel)}\n.dp-desc .dp-leaves span{position:absolute;opacity:.5}\n\n\/* ---------- steps ---------- *\/\n.dp-desc .dp-steps{display:grid;grid-template-columns:1fr;gap:26px}\n.dp-desc .dp-step{position:relative;padding-top:24px;border-top:2px solid var(--caramel)}\n.dp-desc .dp-step .dp-n{position:absolute;top:-18px;left:0;width:34px;height:34px;border-radius:50%;\n  background:var(--rust);color:#fff;display:grid;place-items:center;font-family:var(--disp);\n  font-weight:600;font-size:14px;box-shadow:0 0 0 5px var(--cream)}\n.dp-desc .dp-step h3{font-size:18.5px;font-weight:500;margin:12px 0 6px}\n.dp-desc .dp-step p{font-size:15px;color:var(--muted)}\n\n\/* ---------- comparison ---------- *\/\n.dp-desc .dp-vs{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-col{border-radius:20px;padding:26px 24px;border:1px solid var(--line)}\n.dp-desc .dp-col--old{background:transparent}\n.dp-desc .dp-col--new{background:linear-gradient(155deg,#6B4423 0%,#54341B 60%,#452A14 100%);\n  color:#F0DFCB;border-color:#54341B;position:relative}\n.dp-desc .dp-col h3{font-size:19px;font-weight:500;margin-bottom:16px}\n.dp-desc .dp-col--new h3{color:#FFF6EA}\n.dp-desc .dp-pill{position:absolute;top:-11px;right:20px;background:var(--caramel);color:#2E1C0D;\n  font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;\n  padding:5px 12px;border-radius:999px}\n.dp-desc .dp-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}\n.dp-desc .dp-col li{display:flex;gap:11px;align-items:flex-start;font-size:14.8px;line-height:1.5}\n.dp-desc .dp-col--old li{color:var(--muted)}\n.dp-desc .dp-col--old svg{color:#B79E8A;margin-top:2px}\n.dp-desc .dp-col--new li{color:#EBD6BC}\n.dp-desc .dp-col--new svg{color:#E8D3B6;margin-top:2px}\n\n\/* ---------- guarantee row ---------- *\/\n.dp-desc .dp-guar{display:grid;grid-template-columns:1fr;gap:2px;\n  border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}\n.dp-desc .dp-guar\u003ediv{background:var(--cream);padding:24px 22px;display:flex;gap:14px;align-items:flex-start}\n.dp-desc .dp-guar svg{color:var(--rust);margin-top:2px}\n.dp-desc .dp-guar b{display:block;font-family:var(--disp);font-weight:500;font-size:17px;margin-bottom:4px}\n.dp-desc .dp-guar small{font-size:13.8px;color:var(--muted);line-height:1.5}\n\n\/* ---------- FAQ ---------- *\/\n.dp-desc .dp-faq{display:grid;gap:0;border-top:1px solid var(--line)}\n.dp-desc details{border-bottom:1px solid var(--line)}\n.dp-desc summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;\n  font-family:var(--disp);font-weight:500;font-size:17px;color:var(--cocoa);\n  transition:color .2s ease}\n.dp-desc summary::-webkit-details-marker{display:none}\n.dp-desc summary:hover{color:var(--rust)}\n.dp-desc summary::after{content:\"\";position:absolute;right:8px;top:26px;width:9px;height:9px;\n  border-right:2px solid var(--caramel);border-bottom:2px solid var(--caramel);\n  transform:rotate(45deg);transition:transform .28s var(--e)}\n.dp-desc details[open] summary::after{transform:rotate(-135deg)}\n.dp-desc details p{padding:0 8px 22px 0;color:var(--muted);font-size:15px;\n  animation:dpFade .35s var(--e) both}\n@keyframes dpFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}\n\n\/* ---------- reviews ---------- *\/\n.dp-desc .dp-quotes{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-quote{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;\n  transition:transform .3s var(--e),box-shadow .3s var(--e)}\n.dp-desc .dp-quote:hover{transform:translateY(-4px);box-shadow:0 24px 44px -34px rgba(62,44,28,.55)}\n.dp-desc .dp-stars{color:var(--caramel);letter-spacing:3px;font-size:15px}\n.dp-desc .dp-quote p{margin:12px 0 14px;font-size:15.5px}\n.dp-desc .dp-quote cite{font-style:normal;font-size:13px;font-weight:800;color:var(--slate);\n  letter-spacing:.03em}\n\n\/* ---------- specs ---------- *\/\n.dp-desc .dp-specs{display:grid;grid-template-columns:1fr;\n  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}\n.dp-desc .dp-spec{padding:20px 4px;border-bottom:1px solid var(--line)}\n.dp-desc .dp-spec:last-child{border-bottom:0}\n.dp-desc .dp-spec b{display:block;font-family:var(--disp);font-weight:500;font-size:18px;margin-bottom:4px}\n.dp-desc .dp-spec small{font-size:13.5px;color:var(--muted);line-height:1.45}\n\n\/* ---------- closer ---------- *\/\n.dp-desc .dp-closer{\n  background:linear-gradient(155deg,#6B4423 0%,#54341B 55%,#452A14 100%);\n  border-radius:22px;padding:34px 28px;text-align:center;\n  position:relative;overflow:hidden}\n.dp-desc .dp-closer::before{content:\"\";position:absolute;inset:-60% 40% auto -30%;height:280px;\n  background:radial-gradient(circle,rgba(232,211,182,.30),transparent 68%)}\n.dp-desc .dp-closer\u003e*{position:relative;z-index:2}\n.dp-desc .dp-closer h2{color:#FFF6EA;font-size:clamp(21px,4.2cqi,31px);margin:0 auto;line-height:1.24}\n.dp-desc .dp-closer p{color:#EBD6BC;margin-top:16px;font-size:15px}\n.dp-desc .dp-closer .dp-ship{display:inline-flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;\n  margin-top:20px;font-size:13.5px;color:#DCC2A2;letter-spacing:.02em}\n.dp-desc .dp-closer .dp-ship span{display:flex;align-items:center;gap:7px}\n.dp-desc .dp-closer .dp-ship i{width:5px;height:5px;border-radius:50%;background:#E8D3B6;display:block}\n\n\/* =========== CONTAINER QUERIES — measure the column, not the screen =========== *\/\n@container dpdesc (min-width:520px){\n  .dp-desc .dp-bens,.dp-desc .dp-split,.dp-desc .dp-specs,\n  .dp-desc .dp-vs,.dp-desc .dp-guar,.dp-desc .dp-quotes{grid-template-columns:1fr 1fr}\n  .dp-desc .dp-spec{border-right:1px solid var(--line);padding:22px 18px}\n  .dp-desc .dp-spec:nth-child(2n){border-right:0}\n  .dp-desc .dp-spec:nth-child(-n+2){border-bottom:1px solid var(--line)}\n  .dp-desc .dp-spec:nth-last-child(-n+2){border-bottom:0}\n  .dp-desc .dp-half{min-height:250px;padding:30px 28px}\n  .dp-desc .dp-prob{padding:34px 32px}\n  .dp-desc .dp-prob ul{grid-template-columns:1fr 1fr;gap:14px 26px}\n  .dp-desc .dp-closer{padding:46px 40px}\n  .dp-desc .dp-closer h2{max-width:24ch}\n  .dp-desc .dp-sec{margin-bottom:54px}\n  .dp-desc summary{font-size:18px}\n}\n@container dpdesc (min-width:760px){\n  .dp-desc .dp-bens{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-steps{grid-template-columns:repeat(3,1fr);gap:30px}\n  .dp-desc .dp-specs{grid-template-columns:repeat(4,1fr)}\n  .dp-desc .dp-quotes{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-guar{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-spec{border-right:1px solid var(--line);border-bottom:0}\n  .dp-desc .dp-spec:nth-child(2n){border-right:1px solid var(--line)}\n  .dp-desc .dp-spec:last-child{border-right:0}\n  .dp-desc .dp-intro{grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}\n  .dp-desc .dp-sec{margin-bottom:66px}\n  .dp-desc .dp-half{min-height:290px;padding:36px 32px}\n  .dp-desc .dp-prob{padding:44px 42px}\n  .dp-desc .dp-closer{padding:58px 48px}\n}\n@supports not (container-type: inline-size){\n  @media(min-width:1100px){\n    .dp-desc .dp-bens,.dp-desc .dp-split,.dp-desc .dp-specs,\n    .dp-desc .dp-vs,.dp-desc .dp-guar,.dp-desc .dp-quotes{grid-template-columns:1fr 1fr}\n  }\n}\n\n\/* ---------- scroll animation, no JavaScript ---------- *\/\n@supports (animation-timeline: view()){\n  @media(prefers-reduced-motion: no-preference){\n    .dp-desc .dp-r{animation:dpIn .9s var(--e) both;animation-timeline:view();\n      animation-range:entry 5% cover 30%}\n    .dp-desc .dp-bens .dp-ben:nth-child(2n){animation-range:entry 2% cover 33%}\n    .dp-desc .dp-bens .dp-ben:nth-child(3n){animation-range:entry 0% cover 36%}\n    .dp-desc .dp-steps .dp-step:nth-child(2),\n    .dp-desc .dp-quotes .dp-quote:nth-child(2){animation-range:entry 2% cover 34%}\n    .dp-desc .dp-steps .dp-step:nth-child(3),\n    .dp-desc .dp-quotes .dp-quote:nth-child(3){animation-range:entry 0% cover 38%}\n    .dp-desc .dp-specs .dp-spec:nth-child(2){animation-range:entry 3% cover 33%}\n    .dp-desc .dp-specs .dp-spec:nth-child(3){animation-range:entry 1% cover 36%}\n    .dp-desc .dp-specs .dp-spec:nth-child(4){animation-range:entry -1% cover 39%}\n    .dp-desc .dp-steam{animation:dpSteam 1.1s var(--e) both;animation-timeline:view();\n      animation-range:entry 10% cover 48%}\n    .dp-desc .dp-leaves span{animation:dpDrop .9s var(--e) both;animation-timeline:view();\n      animation-range:entry 10% cover 40%}\n    .dp-desc .dp-leaves span:nth-child(2){animation-range:entry 5% cover 45%}\n    .dp-desc .dp-leaves span:nth-child(3){animation-range:entry 0% cover 50%}\n    .dp-desc .dp-leaves span:nth-child(4){animation-range:entry -5% cover 55%}\n  }\n}\n@keyframes dpIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}\n@keyframes dpSteam{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}\n@keyframes dpDrop{from{opacity:0;transform:translateY(22px)}to{opacity:.5;transform:translateY(0) rotate(var(--r,0deg))}}\n\u003c\/style\u003e\n\n\u003cdiv class=\"dp-intro dp-r\"\u003e\n  \u003cp class=\"dp-lede\"\u003eSalon-quality grooming. At home. In minutes.\u003c\/p\u003e\n  \u003cdiv class=\"dp-intro-body\"\u003e\n    \u003cp\u003eGrooming your dog shouldn't be a battle. With the TrailPets™ SteamGroom Pro, a simple brush stroke delivers a gentle burst of steam that loosens dirt, softens fur, and leaves your dog's coat looking and feeling incredible.\u003c\/p\u003e\n    \u003cp\u003eNo stress, no salon appointment, no fur all over the lounge — just a calm groom at home and a coat that looks like it cost a fortune.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-mq\"\u003e\n  \u003cdiv class=\"dp-track\"\u003e\n    \u003cspan\u003eDeeper clean \u003ci\u003e\u003c\/i\u003e Softer coat \u003ci\u003e\u003c\/i\u003e Less shedding \u003ci\u003e\u003c\/i\u003e Calmer sessions \u003ci\u003e\u003c\/i\u003e Salon-quality \u003ci\u003e\u003c\/i\u003e At home \u003ci\u003e\u003c\/i\u003e\u003c\/span\u003e\n    \u003cspan\u003eDeeper clean \u003ci\u003e\u003c\/i\u003e Softer coat \u003ci\u003e\u003c\/i\u003e Less shedding \u003ci\u003e\u003c\/i\u003e Calmer sessions \u003ci\u003e\u003c\/i\u003e Salon-quality \u003ci\u003e\u003c\/i\u003e At home \u003ci\u003e\u003c\/i\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-prob dp-r\"\u003e\n  \u003cp class=\"dp-eb\"\u003eSound familiar?\u003c\/p\u003e\n  \u003ch2\u003eGrooming day, and nobody's looking forward to it.\u003c\/h2\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eA dry brush that tugs at knots and leaves your dog squirming to get away.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eFur on the couch, the car seats and your clothes — no matter how often you brush.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eSalon bills stacking up for something you could do at home.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eA coat that never quite looks or smells as fresh as you'd like.\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp class=\"dp-turn\"\u003eOne brush, a little steam — and grooming becomes the calm part of the week.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eWhat it does for your dog\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eA better coat, and a calmer dog.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-bens\"\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3c3 4 3 6 0 8-3-2-3-4 0-8z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 12c4 1 5 3 4 7-4-1-5-3-4-7z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 12c-4 1-5 3-4 7 4-1 5-3 4-7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eDeeper clean, effortlessly\u003c\/h3\u003e\n      \u003cp\u003eSteam penetrates the coat to lift dirt and odour from the root — not just the surface.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l2.2 4.8L19 9l-3.5 3.4L16.5 18 12 15.3 7.5 18l1-5.6L5 9l4.8-1.2z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eSofter, shinier fur\u003c\/h3\u003e\n      \u003cp\u003eMoisture from the steam conditions the coat as you groom, leaving it soft and glossy.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21s-7-4.3-7-9.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 7 4.5C19 16.7 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eCalmer grooming sessions\u003c\/h3\u003e\n      \u003cp\u003eWarm steam soothes the skin and relaxes even anxious dogs, so grooming stops being a fight.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cellipse cx=\"12\" cy=\"16\" rx=\"5\" ry=\"4.3\"\u003e\u003c\/ellipse\u003e\u003cellipse cx=\"5\" cy=\"9.5\" rx=\"2.5\" ry=\"3.2\"\u003e\u003c\/ellipse\u003e\u003cellipse cx=\"9.5\" cy=\"5.5\" rx=\"2.4\" ry=\"3.2\"\u003e\u003c\/ellipse\u003e\u003cellipse cx=\"14.5\" cy=\"5.5\" rx=\"2.4\" ry=\"3.2\"\u003e\u003c\/ellipse\u003e\u003cellipse cx=\"19\" cy=\"9.5\" rx=\"2.5\" ry=\"3.2\"\u003e\u003c\/ellipse\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eReduces shedding\u003c\/h3\u003e\n      \u003cp\u003eLoosens dead fur so it comes out in the brush — not on your couch, your car, or your clothes.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M13 2 4 14h7l-1 8 9-12h-7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eFast \u0026amp; easy\u003c\/h3\u003e\n      \u003cp\u003eNo appointment, no fuss. A beautiful coat in minutes, whenever it suits you.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 12h4l2-7 4 14 2-7h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eGentle on the skin\u003c\/h3\u003e\n      \u003cp\u003eSoft bristles and warmth mean no tugging, no scratching — comfortable from the first stroke.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eBrush and steam, together\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eTwo jobs, one gentle stroke.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-split\"\u003e\n    \u003cdiv class=\"dp-half dp-r\"\u003e\n      \u003cdiv class=\"dp-steam\"\u003e\u003c\/div\u003e\n      \u003ch3\u003eThe steam\u003c\/h3\u003e\n      \u003cp\u003eA gentle, warm mist releases as you brush — loosening dirt, lifting odour and softening the coat from the root.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-half dp-r\"\u003e\n      \u003cdiv class=\"dp-leaves\"\u003e\n        \u003cspan style=\"top:15%;left:13%;--r:-14deg\"\u003e\u003csvg width=\"26\" height=\"26\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M12 3c3 4 3 6 0 8-3-2-3-4 0-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:26%;left:57%;--r:12deg\"\u003e\u003csvg width=\"22\" height=\"22\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M12 3c3 4 3 6 0 8-3-2-3-4 0-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:47%;left:27%;--r:-6deg\"\u003e\u003csvg width=\"19\" height=\"19\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M12 3c3 4 3 6 0 8-3-2-3-4 0-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:11%;left:77%;--r:20deg\"\u003e\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M12 3c3 4 3 6 0 8-3-2-3-4 0-8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003ch3\u003eThe brush\u003c\/h3\u003e\n      \u003cp\u003eSoft bristles glide through the coat to catch loose fur and detangle, while the steam does the deep work.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eHow it works\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eThree steps to a salon coat.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-steps\"\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e1\u003c\/span\u003e\u003ch3\u003eFill and warm up\u003c\/h3\u003e\n\u003cp\u003eAdd water to the chamber and let it heat. In moments it's ready to release a gentle steam.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e2\u003c\/span\u003e\u003ch3\u003eBrush as normal\u003c\/h3\u003e\n\u003cp\u003eStroke through the coat the way you always would. The steam releases as you go, no buttons to fuss with.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e3\u003c\/span\u003e\u003ch3\u003eWipe and admire\u003c\/h3\u003e\n\u003cp\u003eLoose fur collects in the brush. Empty it, and you're left with a soft, clean, glossy coat.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eThe difference\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eSalon visit, or five minutes at home.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-vs\"\u003e\n    \u003cdiv class=\"dp-col dp-col--old dp-r\"\u003e\n      \u003ch3\u003eThe usual way\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eBooking, driving and waiting for a salon slot\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eDry brushing that tugs and stresses your dog\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eFur that ends up everywhere but the brush\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eA recurring bill for every grooming session\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-col dp-col--new dp-r\"\u003e\n      \u003cspan class=\"dp-pill\"\u003eThe TrailPets way\u003c\/span\u003e\n      \u003ch3\u003eSteamGroom Pro\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eGroom at home, whenever it suits you\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eWarm steam that soothes instead of tugs\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eLoose fur caught in the brush, not the couch\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eOne purchase, endless grooms\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cdiv class=\"dp-guar dp-r\"\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2.8 4.5 6v6c0 4.6 3.2 8 7.5 9.2 4.3-1.2 7.5-4.6 7.5-9.2V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"m9 12 2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eGentle-groom promise\u003c\/b\u003e\u003csmall\u003eIf it's not gentler than your old brush, message us and we'll make it right.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"1.5\" y=\"6\" width=\"14\" height=\"11\" rx=\"1.6\"\u003e\u003c\/rect\u003e\u003cpath d=\"M15.5 10h3.4l3.1 3.2V17h-6.5z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"18.5\" r=\"1.9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18.5\" r=\"1.9\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eTracked to your door\u003c\/b\u003e\u003csmall\u003eAramex delivery countrywide in 8–11 days. Free over R500.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 11.5a8.4 8.4 0 0 1-9 8.4L3 21l1.1-3.2A8.4 8.4 0 1 1 21 11.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eA human replies\u003c\/b\u003e\u003csmall\u003eQuestions before or after you order — we answer them ourselves.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eBefore you buy\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eThe questions we get asked most.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-faq dp-r\"\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eIs the steam safe for my dog?\u003c\/summary\u003e\n      \u003cp\u003eYes. The steam is warm and gentle — closer to a soft, comforting mist than anything hot. It's designed to relax the skin, not irritate it. Always test it on your own hand first so you're comfortable with the warmth before you start.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eWill it work on my dog's coat type?\u003c\/summary\u003e\n      \u003cp\u003eIt suits most coat types, from short and smooth to longer and fluffier. For heavily matted coats, work the mats loose gently first — the steam helps soften them, but very tight knots may still need a proper de-matting comb.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eMy dog hates being groomed. Will this help?\u003c\/summary\u003e\n      \u003cp\u003eThat's exactly who it's made for. The warmth tends to calm anxious dogs rather than stress them, so many owners find grooming becomes far easier. Go slowly the first few times and let your dog get used to the sensation.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow do I clean and refill it?\u003c\/summary\u003e\n      \u003cp\u003eEmpty any leftover water after each use and wipe the bristles clean. Refill the chamber with fresh water each time you groom to keep the steam clean and fresh.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow often should I use it?\u003c\/summary\u003e\n      \u003cp\u003eOnce or twice a week keeps most coats soft, clean and shedding less. You can use it more often during heavy shedding seasons.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow long does delivery take?\u003c\/summary\u003e\n      \u003cp\u003eAramex delivers countrywide in 8–11 days with tracking. Orders over R500 ship free, and everything is priced in rands with no conversion at checkout.\u003c\/p\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eFrom customers\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eWhat people tell us.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-quotes\"\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — one about an anxious dog staying calm works well here.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — ideally one that mentions less fur on the furniture.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — one about how soft the coat felt afterwards.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eAt a glance\u003c\/p\u003e\n  \u003cdiv class=\"dp-specs\"\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eSteam + brush\u003c\/b\u003e\u003csmall\u003eGentle steam and soft bristles in one tool.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eCalming\u003c\/b\u003e\u003csmall\u003eWarmth soothes anxious dogs during grooming.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eLess shedding\u003c\/b\u003e\u003csmall\u003eCatches loose fur before it reaches your couch.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eMinutes, not hours\u003c\/b\u003e\u003csmall\u003eA salon-quality coat without the salon trip.\u003c\/small\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-closer dp-r\"\u003e\n  \u003ch2\u003eBecause your dog deserves to feel as good as they look.\u003c\/h2\u003e\n  \u003cp\u003eAdd it to your cart above and make the next groom the easy one.\u003c\/p\u003e\n  \u003cspan class=\"dp-ship\"\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Free shipping over R500\u003c\/span\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Aramex, 8–11 days\u003c\/span\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Priced in rands\u003c\/span\u003e\n  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TrailPets","offers":[{"title":"Default Title","offer_id":48867364798719,"sku":null,"price":449.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0828\/6820\/7871\/files\/ChatGPT_Image_Aug_5_2026_10_52_51_AM.png?v=1785920004"},{"product_id":"trailpets™-hairhero","title":"TrailPets™ HairHero","description":"\u003cdiv class=\"dp-desc\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Fredoka:wght@400;500;600\u0026family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800\u0026display=swap');\n\n.dp-desc{\n  --cream:#FFFBF6; --sand:#F5EADC; --caramel:#BC854D; --caramel-soft:#E8D3B6;\n  --rust:#A15B24; --cocoa:#3E2C1C; --slate:#486572; --line:rgba(62,44,28,.13);\n  --muted:#6A5646;\n  --disp:\"Fredoka\",ui-rounded,system-ui,sans-serif;\n  --bod:\"Nunito Sans\",ui-sans-serif,system-ui,sans-serif;\n  --e:cubic-bezier(.22,.68,.24,1);\n  container-type:inline-size;\n  container-name:dpdesc;\n  font-family:var(--bod);color:var(--cocoa);\n  font-size:16.5px;line-height:1.62;\n  width:100%;max-width:100%;overflow:hidden;\n}\n.dp-desc *{box-sizing:border-box}\n.dp-desc .dp-sec,.dp-desc .dp-intro,.dp-desc .dp-closer,.dp-desc .dp-bens,\n.dp-desc .dp-split,.dp-desc .dp-steps,.dp-desc .dp-specs,.dp-desc .dp-ben,\n.dp-desc .dp-half,.dp-desc .dp-step,.dp-desc .dp-spec,.dp-desc .dp-vs,\n.dp-desc .dp-faq,.dp-desc .dp-guar,.dp-desc .dp-quotes{max-width:100%}\n.dp-desc h2,.dp-desc h3{font-family:var(--disp);font-weight:600;line-height:1.06;letter-spacing:-.02em;margin:0;color:var(--cocoa)}\n.dp-desc p{margin:0}\n.dp-desc .dp-eb{font-size:11.5px;font-weight:800;letter-spacing:.16em;\n  text-transform:uppercase;color:var(--caramel);margin:0 0 11px}\n.dp-desc svg{display:block;flex:none}\n\n\/* ---------- intro ---------- *\/\n.dp-desc .dp-intro{display:grid;gap:16px;margin:0 0 32px;\n  border-left:3px solid var(--caramel);padding:4px 0 4px 20px}\n.dp-desc .dp-lede{font-family:var(--disp);font-weight:500;\n  font-size:clamp(20px,4.4cqi,30px);line-height:1.22;color:var(--rust);margin:0}\n.dp-desc .dp-intro-body{display:grid;gap:13px;color:var(--muted)}\n\n\/* ---------- marquee ---------- *\/\n.dp-desc .dp-mq{background:var(--cocoa);border-radius:999px;overflow:hidden;\n  padding:12px 0;margin:0 0 40px;max-width:100%}\n.dp-desc .dp-track{display:flex;width:max-content;max-width:none;\n  animation:dpDrift 26s linear infinite}\n.dp-desc .dp-mq:hover .dp-track{animation-play-state:paused}\n.dp-desc .dp-track span{font-family:var(--disp);font-size:clamp(14px,2.5cqi,18px);font-weight:500;\n  color:#F6EDE2;display:flex;align-items:center;gap:24px;padding:0 24px;\n  white-space:nowrap;flex:none;max-width:none}\n.dp-desc .dp-track i{width:6px;height:6px;border-radius:50%;background:var(--caramel);display:block;flex:none}\n@keyframes dpDrift{from{transform:translateX(0)}to{transform:translateX(-50%)}}\n\n\/* ---------- section shell ---------- *\/\n.dp-desc .dp-sec{margin:0 0 44px}\n.dp-desc .dp-sec\u003eh2{font-size:clamp(24px,5cqi,36px);margin-bottom:9px}\n.dp-desc .dp-sec\u003eh2+p{color:var(--muted);margin-bottom:24px}\n.dp-desc .dp-sec\u003eh2+.dp-bens,.dp-desc .dp-sec\u003eh2+.dp-split,\n.dp-desc .dp-sec\u003eh2+.dp-specs,.dp-desc .dp-sec\u003eh2+.dp-vs,\n.dp-desc .dp-sec\u003eh2+.dp-faq,.dp-desc .dp-sec\u003eh2+.dp-quotes{margin-top:26px}\n.dp-desc .dp-sec\u003eh2+.dp-steps{margin-top:38px}\n\n\/* ---------- problem strip ---------- *\/\n.dp-desc .dp-prob{background:var(--sand);border-radius:22px;padding:28px 26px;margin:0 0 44px}\n.dp-desc .dp-prob h2{font-size:clamp(21px,4.2cqi,29px);max-width:22ch}\n.dp-desc .dp-prob ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:11px}\n.dp-desc .dp-prob li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--muted)}\n.dp-desc .dp-prob svg{margin-top:3px;color:var(--rust)}\n.dp-desc .dp-prob .dp-turn{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);\n  font-family:var(--disp);font-weight:500;font-size:clamp(17px,3.2cqi,21px);\n  line-height:1.35;color:var(--cocoa)}\n\n\/* ---------- benefits ---------- *\/\n.dp-desc .dp-bens{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-ben{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;\n  padding:26px 24px;overflow:hidden;\n  transition:transform .3s var(--e),box-shadow .3s var(--e),border-color .3s ease}\n.dp-desc .dp-ben:hover{transform:translateY(-5px);border-color:var(--caramel-soft);\n  box-shadow:0 26px 48px -34px rgba(62,44,28,.6)}\n.dp-desc .dp-ben::before{content:\"\";position:absolute;inset:auto -40% -60% auto;\n  width:180px;height:180px;border-radius:50%;\n  background:radial-gradient(circle,rgba(188,133,77,.18),transparent 70%);\n  opacity:0;transition:opacity .4s ease}\n.dp-desc .dp-ben:hover::before{opacity:1}\n.dp-desc .dp-ico{width:44px;height:44px;border-radius:13px;background:var(--sand);\n  color:var(--rust);display:grid;place-items:center;position:relative;z-index:2;\n  transition:transform .35s var(--e),background .3s ease}\n.dp-desc .dp-ben:hover .dp-ico{transform:translateY(-2px) rotate(-6deg);background:var(--caramel-soft)}\n.dp-desc .dp-ben h3{font-size:18.5px;font-weight:500;margin:15px 0 6px;position:relative;z-index:2}\n.dp-desc .dp-ben p{font-size:14.5px;color:var(--muted);position:relative;z-index:2}\n\n\/* ---------- split ---------- *\/\n.dp-desc .dp-split{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-half{position:relative;border-radius:22px;overflow:hidden;background:var(--sand);\n  border:1px solid var(--line);padding:26px 24px;min-height:215px;\n  display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s var(--e)}\n.dp-desc .dp-half:hover{transform:translateY(-5px)}\n.dp-desc .dp-half h3{font-size:clamp(21px,4cqi,28px);position:relative;z-index:2}\n.dp-desc .dp-half p{margin-top:9px;color:var(--muted);position:relative;z-index:2;font-size:15px}\n.dp-desc .dp-lint{position:absolute;left:0;right:0;bottom:0;height:58%;\n  background:linear-gradient(180deg,rgba(188,133,77,.08),rgba(188,133,77,.24))}\n.dp-desc .dp-fur{position:absolute;inset:0;z-index:1;pointer-events:none;color:var(--caramel)}\n.dp-desc .dp-fur span{position:absolute;opacity:.5}\n\n\/* ---------- steps ---------- *\/\n.dp-desc .dp-steps{display:grid;grid-template-columns:1fr;gap:26px}\n.dp-desc .dp-step{position:relative;padding-top:24px;border-top:2px solid var(--caramel)}\n.dp-desc .dp-step .dp-n{position:absolute;top:-18px;left:0;width:34px;height:34px;border-radius:50%;\n  background:var(--rust);color:#fff;display:grid;place-items:center;font-family:var(--disp);\n  font-weight:600;font-size:14px;box-shadow:0 0 0 5px var(--cream)}\n.dp-desc .dp-step h3{font-size:18.5px;font-weight:500;margin:12px 0 6px}\n.dp-desc .dp-step p{font-size:15px;color:var(--muted)}\n\n\/* ---------- comparison ---------- *\/\n.dp-desc .dp-vs{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-col{border-radius:20px;padding:26px 24px;border:1px solid var(--line)}\n.dp-desc .dp-col--old{background:transparent}\n.dp-desc .dp-col--new{background:linear-gradient(155deg,#6B4423 0%,#54341B 60%,#452A14 100%);\n  color:#F0DFCB;border-color:#54341B;position:relative}\n.dp-desc .dp-col h3{font-size:19px;font-weight:500;margin-bottom:16px}\n.dp-desc .dp-col--new h3{color:#FFF6EA}\n.dp-desc .dp-pill{position:absolute;top:-11px;right:20px;background:var(--caramel);color:#2E1C0D;\n  font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;\n  padding:5px 12px;border-radius:999px}\n.dp-desc .dp-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}\n.dp-desc .dp-col li{display:flex;gap:11px;align-items:flex-start;font-size:14.8px;line-height:1.5}\n.dp-desc .dp-col--old li{color:var(--muted)}\n.dp-desc .dp-col--old svg{color:#B79E8A;margin-top:2px}\n.dp-desc .dp-col--new li{color:#EBD6BC}\n.dp-desc .dp-col--new svg{color:#E8D3B6;margin-top:2px}\n\n\/* ---------- guarantee row ---------- *\/\n.dp-desc .dp-guar{display:grid;grid-template-columns:1fr;gap:2px;\n  border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}\n.dp-desc .dp-guar\u003ediv{background:var(--cream);padding:24px 22px;display:flex;gap:14px;align-items:flex-start}\n.dp-desc .dp-guar svg{color:var(--rust);margin-top:2px}\n.dp-desc .dp-guar b{display:block;font-family:var(--disp);font-weight:500;font-size:17px;margin-bottom:4px}\n.dp-desc .dp-guar small{font-size:13.8px;color:var(--muted);line-height:1.5}\n\n\/* ---------- FAQ ---------- *\/\n.dp-desc .dp-faq{display:grid;gap:0;border-top:1px solid var(--line)}\n.dp-desc details{border-bottom:1px solid var(--line)}\n.dp-desc summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;\n  font-family:var(--disp);font-weight:500;font-size:17px;color:var(--cocoa);\n  transition:color .2s ease}\n.dp-desc summary::-webkit-details-marker{display:none}\n.dp-desc summary:hover{color:var(--rust)}\n.dp-desc summary::after{content:\"\";position:absolute;right:8px;top:26px;width:9px;height:9px;\n  border-right:2px solid var(--caramel);border-bottom:2px solid var(--caramel);\n  transform:rotate(45deg);transition:transform .28s var(--e)}\n.dp-desc details[open] summary::after{transform:rotate(-135deg)}\n.dp-desc details p{padding:0 8px 22px 0;color:var(--muted);font-size:15px;\n  animation:dpFade .35s var(--e) both}\n@keyframes dpFade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}\n\n\/* ---------- reviews ---------- *\/\n.dp-desc .dp-quotes{display:grid;grid-template-columns:1fr;gap:12px}\n.dp-desc .dp-quote{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;\n  transition:transform .3s var(--e),box-shadow .3s var(--e)}\n.dp-desc .dp-quote:hover{transform:translateY(-4px);box-shadow:0 24px 44px -34px rgba(62,44,28,.55)}\n.dp-desc .dp-stars{color:var(--caramel);letter-spacing:3px;font-size:15px}\n.dp-desc .dp-quote p{margin:12px 0 14px;font-size:15.5px}\n.dp-desc .dp-quote cite{font-style:normal;font-size:13px;font-weight:800;color:var(--slate);\n  letter-spacing:.03em}\n\n\/* ---------- specs ---------- *\/\n.dp-desc .dp-specs{display:grid;grid-template-columns:1fr;\n  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}\n.dp-desc .dp-spec{padding:20px 4px;border-bottom:1px solid var(--line)}\n.dp-desc .dp-spec:last-child{border-bottom:0}\n.dp-desc .dp-spec b{display:block;font-family:var(--disp);font-weight:500;font-size:18px;margin-bottom:4px}\n.dp-desc .dp-spec small{font-size:13.5px;color:var(--muted);line-height:1.45}\n\n\/* ---------- closer ---------- *\/\n.dp-desc .dp-closer{\n  background:linear-gradient(155deg,#6B4423 0%,#54341B 55%,#452A14 100%);\n  border-radius:22px;padding:34px 28px;text-align:center;\n  position:relative;overflow:hidden}\n.dp-desc .dp-closer::before{content:\"\";position:absolute;inset:-60% 40% auto -30%;height:280px;\n  background:radial-gradient(circle,rgba(232,211,182,.30),transparent 68%)}\n.dp-desc .dp-closer\u003e*{position:relative;z-index:2}\n.dp-desc .dp-closer h2{color:#FFF6EA;font-size:clamp(21px,4.2cqi,31px);margin:0 auto;line-height:1.24}\n.dp-desc .dp-closer p{color:#EBD6BC;margin-top:16px;font-size:15px}\n.dp-desc .dp-closer .dp-ship{display:inline-flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;\n  margin-top:20px;font-size:13.5px;color:#DCC2A2;letter-spacing:.02em}\n.dp-desc .dp-closer .dp-ship span{display:flex;align-items:center;gap:7px}\n.dp-desc .dp-closer .dp-ship i{width:5px;height:5px;border-radius:50%;background:#E8D3B6;display:block}\n\n\/* =========== CONTAINER QUERIES — measure the column, not the screen =========== *\/\n@container dpdesc (min-width:520px){\n  .dp-desc .dp-bens,.dp-desc .dp-split,.dp-desc .dp-specs,\n  .dp-desc .dp-vs,.dp-desc .dp-guar,.dp-desc .dp-quotes{grid-template-columns:1fr 1fr}\n  .dp-desc .dp-spec{border-right:1px solid var(--line);padding:22px 18px}\n  .dp-desc .dp-spec:nth-child(2n){border-right:0}\n  .dp-desc .dp-spec:nth-child(-n+2){border-bottom:1px solid var(--line)}\n  .dp-desc .dp-spec:nth-last-child(-n+2){border-bottom:0}\n  .dp-desc .dp-half{min-height:250px;padding:30px 28px}\n  .dp-desc .dp-prob{padding:34px 32px}\n  .dp-desc .dp-prob ul{grid-template-columns:1fr 1fr;gap:14px 26px}\n  .dp-desc .dp-closer{padding:46px 40px}\n  .dp-desc .dp-closer h2{max-width:24ch}\n  .dp-desc .dp-sec{margin-bottom:54px}\n  .dp-desc summary{font-size:18px}\n}\n@container dpdesc (min-width:760px){\n  .dp-desc .dp-bens{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-steps{grid-template-columns:repeat(3,1fr);gap:30px}\n  .dp-desc .dp-specs{grid-template-columns:repeat(4,1fr)}\n  .dp-desc .dp-quotes{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-guar{grid-template-columns:repeat(3,1fr)}\n  .dp-desc .dp-spec{border-right:1px solid var(--line);border-bottom:0}\n  .dp-desc .dp-spec:nth-child(2n){border-right:1px solid var(--line)}\n  .dp-desc .dp-spec:last-child{border-right:0}\n  .dp-desc .dp-intro{grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}\n  .dp-desc .dp-sec{margin-bottom:66px}\n  .dp-desc .dp-half{min-height:290px;padding:36px 32px}\n  .dp-desc .dp-prob{padding:44px 42px}\n  .dp-desc .dp-closer{padding:58px 48px}\n}\n@supports not (container-type: inline-size){\n  @media(min-width:1100px){\n    .dp-desc .dp-bens,.dp-desc .dp-split,.dp-desc .dp-specs,\n    .dp-desc .dp-vs,.dp-desc .dp-guar,.dp-desc .dp-quotes{grid-template-columns:1fr 1fr}\n  }\n}\n\n\/* ---------- scroll animation, no JavaScript ---------- *\/\n@supports (animation-timeline: view()){\n  @media(prefers-reduced-motion: no-preference){\n    .dp-desc .dp-r{animation:dpIn .9s var(--e) both;animation-timeline:view();\n      animation-range:entry 5% cover 30%}\n    .dp-desc .dp-bens .dp-ben:nth-child(2n){animation-range:entry 2% cover 33%}\n    .dp-desc .dp-bens .dp-ben:nth-child(3n){animation-range:entry 0% cover 36%}\n    .dp-desc .dp-steps .dp-step:nth-child(2),\n    .dp-desc .dp-quotes .dp-quote:nth-child(2){animation-range:entry 2% cover 34%}\n    .dp-desc .dp-steps .dp-step:nth-child(3),\n    .dp-desc .dp-quotes .dp-quote:nth-child(3){animation-range:entry 0% cover 38%}\n    .dp-desc .dp-specs .dp-spec:nth-child(2){animation-range:entry 3% cover 33%}\n    .dp-desc .dp-specs .dp-spec:nth-child(3){animation-range:entry 1% cover 36%}\n    .dp-desc .dp-specs .dp-spec:nth-child(4){animation-range:entry -1% cover 39%}\n    .dp-desc .dp-lint{animation:dpLint 1.1s var(--e) both;animation-timeline:view();\n      animation-range:entry 10% cover 48%}\n    .dp-desc .dp-fur span{animation:dpDrop .9s var(--e) both;animation-timeline:view();\n      animation-range:entry 10% cover 40%}\n    .dp-desc .dp-fur span:nth-child(2){animation-range:entry 5% cover 45%}\n    .dp-desc .dp-fur span:nth-child(3){animation-range:entry 0% cover 50%}\n    .dp-desc .dp-fur span:nth-child(4){animation-range:entry -5% cover 55%}\n  }\n}\n@keyframes dpIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}\n@keyframes dpLint{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}\n@keyframes dpDrop{from{opacity:0;transform:translateY(22px)}to{opacity:.5;transform:translateY(0) rotate(var(--r,0deg))}}\n\u003c\/style\u003e\n\n\u003cdiv class=\"dp-intro dp-r\"\u003e\n  \u003cp class=\"dp-lede\"\u003eSay goodbye to pet hair in seconds.\u003c\/p\u003e\n  \u003cdiv class=\"dp-intro-body\"\u003e\n    \u003cp\u003eLove your furry best friend, but not the hair they leave behind? The TrailPets™ HairHero is the quick, reusable way to lift stubborn pet hair, lint and fluff off almost any fabric.\u003c\/p\u003e\n    \u003cp\u003eTwo clever cleaning surfaces work together to grab loose hair and roll it neatly toward the centre — no sticky tape, no refills, no hassle.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-mq\"\u003e\n  \u003cdiv class=\"dp-track\"\u003e\n    \u003cspan\u003eNo sticky tape \u003ci\u003e\u003c\/i\u003e No refills \u003ci\u003e\u003c\/i\u003e 100% reusable \u003ci\u003e\u003c\/i\u003e Self-collecting \u003ci\u003e\u003c\/i\u003e Works on any fabric \u003ci\u003e\u003c\/i\u003e Dog \u0026amp; cat hair \u003ci\u003e\u003c\/i\u003e\u003c\/span\u003e\n    \u003cspan\u003eNo sticky tape \u003ci\u003e\u003c\/i\u003e No refills \u003ci\u003e\u003c\/i\u003e 100% reusable \u003ci\u003e\u003c\/i\u003e Self-collecting \u003ci\u003e\u003c\/i\u003e Works on any fabric \u003ci\u003e\u003c\/i\u003e Dog \u0026amp; cat hair \u003ci\u003e\u003c\/i\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-prob dp-r\"\u003e\n  \u003cp class=\"dp-eb\"\u003eSound familiar?\u003c\/p\u003e\n  \u003ch2\u003eYour furniture is wearing their coat too.\u003c\/h2\u003e\n  \u003cul\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eLint rollers that run out halfway through the couch.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eBuying refill after refill for something you use every day.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eHair that clings to the fabric no matter how much you brush.\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003csvg width=\"17\" height=\"17\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eWearing a jumper out the door still covered in fluff.\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp class=\"dp-turn\"\u003eOne swipe gathers it all into the centre — then you lift it off and you're done.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eWhy pet parents love it\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eThe lint roller you only buy once.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-bens\"\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"4\" width=\"8\" height=\"16\" rx=\"1.5\"\u003e\u003c\/rect\u003e\u003crect x=\"13\" y=\"4\" width=\"8\" height=\"16\" rx=\"1.5\"\u003e\u003c\/rect\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eDual-sided cleaning power\u003c\/h3\u003e\n      \u003cp\u003eTwo specially designed fabric textures work together to lift and trap pet hair with every swipe.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3.5 12a8.5 8.5 0 1 1 8.5 8.5\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8.5A3.5 3.5 0 1 0 15.5 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eSelf-collecting design\u003c\/h3\u003e\n      \u003cp\u003eHair rolls neatly into the centre of the brush, so it's quick and easy to pull out and bin.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3.5 12a8.5 8.5 0 0 1 14.6-5.9M20.5 12a8.5 8.5 0 0 1-14.6 5.9\"\u003e\u003c\/path\u003e\u003cpath d=\"M18 2.5v4h-4M6 21.5v-4h4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003e100% reusable\u003c\/h3\u003e\n      \u003cp\u003eForget expensive refills. Use it again and again — cleaner home, less waste.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 11l9-7 9 7\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 10v9h14v-9\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 19v-5h6v5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eWorks on almost any fabric\u003c\/h3\u003e\n      \u003cp\u003eSofas, beds, blankets, clothing, car seats, pet beds, cushions, rugs and upholstery.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 21V7l7-4 7 4v14\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21v-5h6v5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eLightweight \u0026amp; portable\u003c\/h3\u003e\n      \u003cp\u003eKeep one at home, one in the car and one in your bag for quick cleanups anywhere.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-ben dp-r\"\u003e\n      \u003cspan class=\"dp-ico\"\u003e\u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21s-7-4.3-7-9.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 7 4.5C19 16.7 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003ch3\u003eDog hair, cat hair, all of it\u003c\/h3\u003e\n      \u003cp\u003eFrom short bristly fur to long fluff, it lifts what your vacuum and your hands leave behind.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eTwo textures, one job\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eLift it, then roll it in.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-split\"\u003e\n    \u003cdiv class=\"dp-half dp-r\"\u003e\n      \u003cdiv class=\"dp-lint\"\u003e\u003c\/div\u003e\n      \u003ch3\u003eThe two surfaces\u003c\/h3\u003e\n      \u003cp\u003eEach side has its own texture — one lifts the hair off the fabric, the other guides it inward as you swipe.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-half dp-r\"\u003e\n      \u003cdiv class=\"dp-fur\"\u003e\n        \u003cspan style=\"top:16%;left:14%;--r:-14deg\"\u003e\u003csvg width=\"24\" height=\"24\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M4 12c4-3 12-3 16 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:26%;left:54%;--r:12deg\"\u003e\u003csvg width=\"22\" height=\"22\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M4 12c4-3 12-3 16 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:46%;left:28%;--r:-6deg\"\u003e\u003csvg width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M4 12c4-3 12-3 16 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n        \u003cspan style=\"top:12%;left:76%;--r:20deg\"\u003e\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M4 12c4-3 12-3 16 0\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003ch3\u003eThe centre catch\u003c\/h3\u003e\n      \u003cp\u003eAll that loose hair gathers into one neat clump in the middle — lift it out in one piece and drop it in the bin.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eHow it works\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eSwipe, gather, lift.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-steps\"\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e1\u003c\/span\u003e\u003ch3\u003eSwipe the brush\u003c\/h3\u003e\n\u003cp\u003eRun it across the fabric — the sofa, the car seat, the jumper you're about to wear.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e2\u003c\/span\u003e\u003ch3\u003eWatch it collect\u003c\/h3\u003e\n\u003cp\u003eThe hair rolls toward the centre of the brush as you go, gathering into one clump.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-step dp-r\"\u003e\n\u003cspan class=\"dp-n\"\u003e3\u003c\/span\u003e\u003ch3\u003eLift and repeat\u003c\/h3\u003e\n\u003cp\u003ePull out the gathered hair, bin it, and carry on. No tape to peel, nothing to replace.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eThe difference\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eA roll of tape, or a brush for life.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-vs\"\u003e\n    \u003cdiv class=\"dp-col dp-col--old dp-r\"\u003e\n      \u003ch3\u003eThe usual way\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eSticky sheets that run out mid-clean\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eBuying refill after refill, forever\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003ePiles of used sticky sheets in the bin\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M18 6 6 18M6 6l12 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eLoses its stick and stops picking up\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-col dp-col--new dp-r\"\u003e\n      \u003cspan class=\"dp-pill\"\u003eThe TrailPets way\u003c\/span\u003e\n      \u003ch3\u003eHairHero\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eNever runs out — no sheets to replace\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eBuy it once and reuse it again and again\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eJust lift the hair out and bin it\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003csvg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"m4 12.5 5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003eGrips just as well swipe after swipe\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cdiv class=\"dp-guar dp-r\"\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2.8 4.5 6v6c0 4.6 3.2 8 7.5 9.2 4.3-1.2 7.5-4.6 7.5-9.2V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"m9 12 2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eFur-free promise\u003c\/b\u003e\u003csmall\u003eIf it doesn't lift the hair, message us and we'll make it right.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"1.5\" y=\"6\" width=\"14\" height=\"11\" rx=\"1.6\"\u003e\u003c\/rect\u003e\u003cpath d=\"M15.5 10h3.4l3.1 3.2V17h-6.5z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"18.5\" r=\"1.9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18.5\" r=\"1.9\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eTracked to your door\u003c\/b\u003e\u003csmall\u003eAramex delivery countrywide in 8–11 days. Free over R500.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003csvg width=\"21\" height=\"21\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 11.5a8.4 8.4 0 0 1-9 8.4L3 21l1.1-3.2A8.4 8.4 0 1 1 21 11.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003e\u003cb\u003eA human replies\u003c\/b\u003e\u003csmall\u003eQuestions before or after you order — we answer them ourselves.\u003c\/small\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eBefore you buy\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eThe questions we get asked most.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-faq dp-r\"\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow do I empty it?\u003c\/summary\u003e\n      \u003cp\u003eThe hair gathers into one clump in the centre of the brush. Just pull it out with your fingers and drop it in the bin — no tape to peel, no cartridge to swap.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eWill it damage delicate fabric?\u003c\/summary\u003e\n      \u003cp\u003eIt's designed to glide over fabric and lift hair, not snag it. For anything very delicate, test a small hidden area first and use light strokes.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eDoes it really work without any tape or refills?\u003c\/summary\u003e\n      \u003cp\u003eYes — that's the whole point. The two textured surfaces do the work on their own, so there's nothing to run out, nothing to buy again, and nothing to throw away but the hair itself.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eDoes it work on both dog and cat hair?\u003c\/summary\u003e\n      \u003cp\u003eIt does — from short, bristly fur to longer, finer hair. It also handles lint and general fluff on clothing and upholstery.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow do I clean the brush itself?\u003c\/summary\u003e\n      \u003cp\u003ePull out the collected hair after each use. Every so often, wipe the surfaces down so they keep gripping well, and it's ready to go again.\u003c\/p\u003e\n    \u003c\/details\u003e\n    \u003cdetails\u003e\n      \u003csummary\u003eHow long does delivery take?\u003c\/summary\u003e\n      \u003cp\u003eAramex delivers countrywide in 8–11 days with tracking. Orders over R500 ship free, and everything is priced in rands with no conversion at checkout.\u003c\/p\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eFrom customers\u003c\/p\u003e\n  \u003ch2 class=\"dp-r\"\u003eWhat people tell us.\u003c\/h2\u003e\n  \u003cdiv class=\"dp-quotes\"\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — one about ditching lint roller refills works well here.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — ideally one about the couch or car seats.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n    \u003cdiv class=\"dp-quote dp-r\"\u003e\n      \u003cdiv class=\"dp-stars\"\u003e★★★★★\u003c\/div\u003e\n      \u003cp\u003e[Replace with a real review — one about how satisfying the hair collecting is.]\u003c\/p\u003e\n      Name, City\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-sec\"\u003e\n  \u003cp class=\"dp-eb dp-r\"\u003eAt a glance\u003c\/p\u003e\n  \u003cdiv class=\"dp-specs\"\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eDual-sided\u003c\/b\u003e\u003csmall\u003eTwo textures lift and trap hair together.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003eSelf-collecting\u003c\/b\u003e\u003csmall\u003eHair rolls into the centre to lift out.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003e100% reusable\u003c\/b\u003e\u003csmall\u003eNo tape, no refills, ever.\u003c\/small\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"dp-spec dp-r\"\u003e\n\u003cb\u003ePortable\u003c\/b\u003e\u003csmall\u003eHome, car or bag — clean up anywhere.\u003c\/small\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"dp-closer dp-r\"\u003e\n  \u003ch2\u003eBecause life is better with pets — even if your furniture disagrees.\u003c\/h2\u003e\n  \u003cp\u003eAdd it to your cart above and enjoy a cleaner home with less effort.\u003c\/p\u003e\n  \u003cspan class=\"dp-ship\"\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Free shipping over R500\u003c\/span\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Aramex, 8–11 days\u003c\/span\u003e\n    \u003cspan\u003e\u003ci\u003e\u003c\/i\u003e Priced in rands\u003c\/span\u003e\n  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"TrailPets","offers":[{"title":"Default Title","offer_id":48937428222207,"sku":null,"price":199.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0828\/6820\/7871\/files\/two-brushes-one-laying-flat-studio-shot.png?v=1785845512"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0828\/6820\/7871\/collections\/pexels-rdne-7516109.jpg?v=1785870660","url":"https:\/\/trailpets.co.za\/collections\/hair-everywhere.oembed","provider":"TrailPets","version":"1.0","type":"link"}