{"title":"Bathroom \u0026 Healthcare","description":null,"products":[{"product_id":"solveo-dentidock™-toothpaste-dispenser-toothbrush-holder","title":"Solveo DentiDock™ Toothpaste Dispenser \u0026 Toothbrush Holder","description":"\n\u003csection class=\"dd-luxe\" id=\"solveo-dentidock\"\u003e\n  \u003cdiv class=\"dd-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cheader class=\"dd-hero dd-reveal\"\u003e\n      \u003cdiv class=\"dd-pill\"\u003e\n        \u003cspan class=\"dd-pill-dot\"\u003e\u003c\/span\u003e\n        SOLVEO BATHROOM \u0026amp; HEALTHCARE\n      \u003c\/div\u003e\n\n      \u003cp class=\"dd-overline\"\u003eTHE DENTIDOCK™ COLLECTION\u003c\/p\u003e\n\n      \u003ch2\u003e\n        A little less clutter.\n        \u003cem\u003eA more polished morning.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"dd-lead\"\u003e\n        Meet the \u003cstrong\u003eSolveo DentiDock™ Toothpaste Dispenser\n        \u0026amp; Toothbrush Holder\u003c\/strong\u003e. A thoughtful bathroom\n        upgrade that brings your brushing essentials together\n        while keeping your basin beautifully organised.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"dd-hero-actions\"\u003e\n        \u003ca href=\"#dd-shop\" class=\"dd-button\"\u003e\n          DISCOVER DENTIDOCK™ \u003cspan\u003e↗\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#dd-features\" class=\"dd-text-link\"\u003e\n          Explore the benefits ↓\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dd-stats\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e2-IN-1\u003c\/strong\u003e\n          \u003csmall\u003eBathroom Organisation\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eWALL\u003c\/strong\u003e\n          \u003csmall\u003eMounted Design\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eCOVERED\u003c\/strong\u003e\n          \u003csmall\u003eToothbrush Storage\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- DECORATIVE BATHROOM VISUAL --\u003e\n    \u003cdiv class=\"dd-showcase dd-reveal\" aria-hidden=\"true\"\u003e\n      \u003cdiv class=\"dd-showcase-top\"\u003e\n        \u003cspan\u003eTHE ART OF EVERYDAY ORGANISATION\u003c\/span\u003e\n        \u003cspan\u003e01 \/ DENTIDOCK\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dd-tile-wall\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"dd-light-orb\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"dd-device\"\u003e\n        \u003cdiv class=\"dd-toothpaste-tube\"\u003e\n          \u003cdiv class=\"dd-tube-top\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"dd-tube-body\"\u003e\n            \u003cspan\u003eFRESH\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dd-tube-neck\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"dd-dispenser\"\u003e\n          \u003cdiv class=\"dd-dispenser-silver\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"dd-dispenser-opening\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"dd-holder\"\u003e\n          \u003cdiv class=\"dd-holder-cover\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"dd-brushes\"\u003e\n            \u003cdiv class=\"dd-brush dd-brush-a\"\u003e\n              \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"dd-brush dd-brush-b\"\u003e\n              \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"dd-brush dd-brush-c\"\u003e\n              \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"dd-holder-base\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dd-sink-line\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"dd-showcase-bottom\"\u003e\n        \u003cstrong\u003eYOUR BASIN, BEAUTIFULLY REIMAGINED.\u003c\/strong\u003e\n        \u003cspan\u003eLESS CLUTTER · MORE CALM\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- PROBLEM \/ SOLUTION --\u003e\n    \u003csection class=\"dd-story dd-reveal\"\u003e\n      \u003cp class=\"dd-kicker\"\u003eA SMALL CHANGE, A LOVELY DIFFERENCE\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Make room for\n        \u003cem\u003ea calmer routine.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"dd-body\"\u003e\n        Toothbrushes scattered beside the taps.\n        A toothpaste tube taking up counter space.\n        A basin that feels busier than it needs to.\n        DentiDock™ gives your everyday essentials\n        a dedicated place to belong.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"dd-mini-grid\"\u003e\n        \u003carticle\u003e\n          \u003cspan class=\"dd-mini-icon\"\u003e✧\u003c\/span\u003e\n          \u003ch3\u003eLess Counter Clutter\u003c\/h3\u003e\n          \u003cp\u003eMove brushing essentials off your basin\n          and create a tidier space.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan class=\"dd-mini-icon\"\u003e⌂\u003c\/span\u003e\n          \u003ch3\u003eEverything in Its Place\u003c\/h3\u003e\n          \u003cp\u003eKeep toothbrushes and toothpaste\n          conveniently organised.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan class=\"dd-mini-icon\"\u003e♡\u003c\/span\u003e\n          \u003ch3\u003eA More Relaxed Start\u003c\/h3\u003e\n          \u003cp\u003eMake your everyday bathroom routine\n          feel beautifully simple.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FEATURES --\u003e\n    \u003csection class=\"dd-features\" id=\"dd-features\"\u003e\n      \u003cdiv class=\"dd-section-heading dd-reveal\"\u003e\n        \u003cp class=\"dd-kicker\"\u003eDESIGNED FOR EVERYDAY LIVING\u003c\/p\u003e\n        \u003ch2\u003e\n          Thoughtful details.\n          \u003cem\u003eBeautiful simplicity.\u003c\/em\u003e\n        \u003c\/h2\u003e\n        \u003cp class=\"dd-body\"\u003e\n          Practical organisation meets a refined\n          bathroom aesthetic.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dd-feature-grid\"\u003e\n\n        \u003carticle class=\"dd-feature dd-reveal\"\u003e\n          \u003cdiv class=\"dd-feature-top\"\u003e\n            \u003cspan class=\"dd-feature-icon\"\u003e♧\u003c\/span\u003e\n            \u003cspan class=\"dd-feature-number\"\u003e01 \/ 04\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"dd-feature-label\"\u003eORGANISED STORAGE\u003c\/p\u003e\n          \u003ch3\u003eA Proper Home for Your Brushes\u003c\/h3\u003e\n          \u003cp\u003e\n            Keep your household's toothbrushes\n            neatly arranged in a dedicated holder.\n            The cover sits over the brush heads,\n            keeping your setup looking tidy.\n          \u003c\/p\u003e\n          \u003cdiv class=\"dd-feature-footer\"\u003e\n            \u003cspan\u003eEVERYTHING IN ITS PLACE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"dd-feature dd-reveal\"\u003e\n          \u003cdiv class=\"dd-feature-top\"\u003e\n            \u003cspan class=\"dd-feature-icon\"\u003e✧\u003c\/span\u003e\n            \u003cspan class=\"dd-feature-number\"\u003e02 \/ 04\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"dd-feature-label\"\u003eTOOTHPASTE DISPENSING\u003c\/p\u003e\n          \u003ch3\u003eA Smarter Toothpaste Setup\u003c\/h3\u003e\n          \u003cp\u003e\n            Keep your toothpaste tube docked\n            above the dispenser. Position your\n            toothbrush beneath the front opening\n            for a more convenient routine.\n          \u003c\/p\u003e\n          \u003cdiv class=\"dd-feature-footer\"\u003e\n            \u003cspan\u003eDAILY CONVENIENCE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"dd-feature dd-reveal\"\u003e\n          \u003cdiv class=\"dd-feature-top\"\u003e\n            \u003cspan class=\"dd-feature-icon\"\u003e□\u003c\/span\u003e\n            \u003cspan class=\"dd-feature-number\"\u003e03 \/ 04\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"dd-feature-label\"\u003eSPACE-SAVING DESIGN\u003c\/p\u003e\n          \u003ch3\u003eReclaim Your Basin Space\u003c\/h3\u003e\n          \u003cp\u003e\n            The wall-mounted design helps\n            free up counter space, making\n            it a practical addition to\n            shared bathrooms and smaller basins.\n          \u003c\/p\u003e\n          \u003cdiv class=\"dd-feature-footer\"\u003e\n            \u003cspan\u003eMORE ROOM TO BREATHE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"dd-feature dd-reveal\"\u003e\n          \u003cdiv class=\"dd-feature-top\"\u003e\n            \u003cspan class=\"dd-feature-icon\"\u003e◇\u003c\/span\u003e\n            \u003cspan class=\"dd-feature-number\"\u003e04 \/ 04\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"dd-feature-label\"\u003eREFINED FINISH\u003c\/p\u003e\n          \u003ch3\u003eUnderstated Bathroom Elegance\u003c\/h3\u003e\n          \u003cp\u003e\n            A crisp white finish and silver-tone\n            detailing bring a clean, contemporary\n            look that complements your\n            bathroom décor.\n          \u003c\/p\u003e\n          \u003cdiv class=\"dd-feature-footer\"\u003e\n            \u003cspan\u003eFUNCTION MEETS STYLE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- SPACE SAVING --\u003e\n    \u003csection class=\"dd-space dd-reveal\"\u003e\n      \u003cdiv class=\"dd-space-copy\"\u003e\n        \u003cp class=\"dd-kicker\"\u003eA BETTER USE OF SPACE\u003c\/p\u003e\n        \u003ch2\u003e\n          Less on the basin.\n          \u003cem\u003eMore room for you.\u003c\/em\u003e\n        \u003c\/h2\u003e\n        \u003cp\u003e\n          DentiDock™ moves your brushing essentials\n          onto the wall, giving your sink area\n          a more considered, organised appearance.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"dd-space-points\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e01\u003c\/span\u003e Wall-mounted convenience\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e02\u003c\/span\u003e Dedicated toothbrush storage\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e03\u003c\/span\u003e Toothpaste within easy reach\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"dd-space-graphic\" aria-hidden=\"true\"\u003e\n        \u003cdiv class=\"dd-space-circle circle-one\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"dd-space-circle circle-two\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"dd-space-core\"\u003e\n          \u003cspan\u003e✧\u003c\/span\u003e\n          \u003cstrong\u003eLESS CLUTTER\u003c\/strong\u003e\n          \u003csmall\u003eMORE CALM\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- LIFESTYLE --\u003e\n    \u003csection class=\"dd-lifestyle dd-reveal\"\u003e\n      \u003cp class=\"dd-kicker\"\u003eMADE FOR REAL HOMES\u003c\/p\u003e\n\n      \u003ch2\u003e\n        A thoughtful touch\n        \u003cem\u003efor everyday living.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"dd-use-grid\"\u003e\n        \u003carticle\u003e\n          \u003cspan\u003e01\u003c\/span\u003e\n          \u003ch3\u003eMorning Routines\u003c\/h3\u003e\n          \u003cp\u003eKeep your essentials ready when\n          the day begins.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e02\u003c\/span\u003e\n          \u003ch3\u003eShared Bathrooms\u003c\/h3\u003e\n          \u003cp\u003eGive household toothbrushes\n          a dedicated place.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e03\u003c\/span\u003e\n          \u003ch3\u003eCompact Spaces\u003c\/h3\u003e\n          \u003cp\u003eMake better use of limited\n          counter space.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e04\u003c\/span\u003e\n          \u003ch3\u003eMinimalist Homes\u003c\/h3\u003e\n          \u003cp\u003eBring a clean, polished feel\n          to your bathroom setup.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003csection class=\"dd-cta dd-reveal\" id=\"dd-shop\"\u003e\n      \u003cdiv class=\"dd-cta-shine\"\u003e\u003c\/div\u003e\n\n      \u003cp class=\"dd-kicker\"\u003eSOLVEO DENTIDOCK™\u003c\/p\u003e\n\n      \u003ch2\u003e\n        A place for your essentials.\n        \u003cem\u003eA calmer start to your day.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Small change. Lovely difference.\n        Bring thoughtful organisation\n        to your everyday bathroom routine.\n      \u003c\/p\u003e\n\n      \u003ca class=\"dd-button dd-shop-button\" href=\"\/products\/solveo-dentidock-toothpaste-dispenser-toothbrush-holder\"\u003e\n        SHOP DENTIDOCK™ \u003cspan\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"dd-checkout\"\u003e\n        SECURE CHECKOUT \u003cspan\u003e•\u003c\/span\u003e SOUTH AFRICAN STORE\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cfooter class=\"dd-footer\"\u003e\n      \u003cspan\u003eSOLVEO™\u003c\/span\u003e\n      \u003cspan\u003eEVERYDAY SOLUTIONS. REFINED.\u003c\/span\u003e\n    \u003c\/footer\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n.dd-luxe {\n  --dd-ink:#27363e;\n  --dd-muted:#73828a;\n  --dd-blue:#6b9bab;\n  --dd-line:#dce8ec;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n  background:\n    radial-gradient(circle at 90% 0%,#e8f3f6,transparent 30%),\n    linear-gradient(160deg,#ffffff,#f5fafb 60%,#fdfefe);\n  color:var(--dd-ink);\n  padding:80px 20px 25px;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.65;\n}\n\n.dd-luxe *,\n.dd-luxe *::before,\n.dd-luxe *::after {box-sizing:border-box}\n\n.dd-luxe a {text-decoration:none}\n.dd-luxe h2,.dd-luxe h3,.dd-luxe p {margin-top:0}\n\n.dd-container {max-width:1150px;margin:auto}\n\n\/* HERO *\/\n\n.dd-hero {\n  text-align:center;\n  max-width:850px;\n  margin:0 auto 60px;\n}\n\n.dd-pill {\n  display:inline-flex;\n  align-items:center;\n  gap:9px;\n  padding:9px 16px;\n  border-radius:50px;\n  background:#fff;\n  border:1px solid #dce9ee;\n  color:#5e899b;\n  font-size:10px;\n  letter-spacing:1.5px;\n  font-weight:800;\n}\n\n.dd-pill-dot {\n  width:7px;\n  height:7px;\n  border-radius:50%;\n  background:#80b7c8;\n  animation:ddPulse 2s infinite;\n}\n\n@keyframes ddPulse {\n  50% {box-shadow:0 0 0 8px rgba(128,183,200,0)}\n}\n\n.dd-overline,.dd-kicker {\n  color:#719aab;\n  font-size:11px;\n  font-weight:800;\n  letter-spacing:2.2px;\n}\n\n.dd-overline {margin:32px 0 15px}\n\n.dd-hero h2 {\n  font-size:clamp(43px,7vw,82px);\n  line-height:1.07;\n  letter-spacing:-3px;\n  font-weight:800;\n  margin-bottom:25px;\n}\n\n.dd-hero h2 em,\n.dd-story h2 em,\n.dd-section-heading h2 em,\n.dd-space h2 em,\n.dd-lifestyle h2 em,\n.dd-cta h2 em {\n  display:block;\n  font-style:normal;\n  background:linear-gradient(\n    100deg,#5c8da1,#a3c4ce,#618fa4\n  );\n  background-size:200% auto;\n  -webkit-background-clip:text;\n  background-clip:text;\n  color:transparent;\n  animation:ddGradient 7s linear infinite;\n}\n\n@keyframes ddGradient {\n  to {background-position:200% center}\n}\n\n.dd-lead {\n  color:var(--dd-muted);\n  max-width:650px;\n  margin:0 auto 30px;\n  font-size:17px;\n}\n\n.dd-lead strong {color:#36515d}\n\n.dd-hero-actions {\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  flex-wrap:wrap;\n  gap:22px;\n}\n\n.dd-button {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  gap:22px;\n  padding:17px 26px;\n  border-radius:12px;\n  color:white!important;\n  background:linear-gradient(110deg,#608fa2,#3d6a7d);\n  box-shadow:0 15px 35px rgba(56,105,128,.17);\n  font-size:12px;\n  font-weight:800;\n  letter-spacing:1px;\n  transition:transform .3s,box-shadow .3s;\n}\n\n.dd-button:hover {\n  transform:translateY(-4px);\n  box-shadow:0 20px 40px rgba(56,105,128,.25);\n}\n\n.dd-button span {font-size:21px}\n\n.dd-text-link {\n  color:#628b9d!important;\n  font-size:13px;\n  font-weight:700;\n}\n\n.dd-stats {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  max-width:650px;\n  margin:48px auto 0;\n  border-top:1px solid var(--dd-line);\n  border-bottom:1px solid var(--dd-line);\n  padding:19px 0;\n}\n\n.dd-stats div {\n  display:flex;\n  flex-direction:column;\n  padding:0 7px;\n}\n\n.dd-stats div+div {border-left:1px solid var(--dd-line)}\n.dd-stats strong {font-size:21px;color:#527d8e}\n.dd-stats small {font-size:11px;color:#8b9ca4}\n\n\/* SHOWCASE *\/\n\n.dd-showcase {\n  position:relative;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:space-between;\n  min-height:470px;\n  padding:25px;\n  margin-bottom:115px;\n  overflow:hidden;\n  border-radius:25px;\n  border:1px solid #d9e7ec;\n  background:linear-gradient(150deg,#f6fbfd,#e5f0f4);\n}\n\n.dd-showcase-top,\n.dd-showcase-bottom {\n  position:relative;\n  z-index:3;\n  display:flex;\n  justify-content:space-between;\n  width:100%;\n  gap:15px;\n  font-size:10px;\n  letter-spacing:1.4px;\n  color:#7b9caa;\n  font-weight:800;\n}\n\n.dd-showcase-bottom {align-items:flex-end}\n.dd-showcase-bottom strong {color:#4e7484}\n\n.dd-tile-wall {\n  position:absolute;\n  inset:0;\n  background-image:\n    linear-gradient(rgba(129,166,181,.09) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(129,166,181,.09) 1px,transparent 1px);\n  background-size:90px 90px;\n}\n\n.dd-light-orb {\n  position:absolute;\n  width:350px;\n  height:350px;\n  top:15%;\n  border-radius:50%;\n  background:rgba(255,255,255,.8);\n  filter:blur(55px);\n  animation:ddGlow 5s ease-in-out infinite alternate;\n}\n\n@keyframes ddGlow {\n  to {transform:scale(1.15);opacity:.5}\n}\n\n.dd-device {\n  position:relative;\n  z-index:2;\n  display:flex;\n  align-items:center;\n  gap:16px;\n  margin:auto;\n  filter:drop-shadow(0 20px 18px rgba(66,100,115,.15));\n}\n\n.dd-toothpaste-tube {\n  position:absolute;\n  z-index:3;\n  top:-83px;\n  left:24px;\n  width:55px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n}\n\n.dd-tube-top {\n  width:42px;\n  height:9px;\n  background:#cbd8de;\n  border-radius:4px 4px 0 0;\n}\n\n.dd-tube-body {\n  display:grid;\n  place-items:center;\n  width:55px;\n  height:69px;\n  background:linear-gradient(90deg,#fff,#e8f0f2,#fff);\n  border:1px solid #c8d6dc;\n  border-radius:7px 7px 15px 15px;\n}\n\n.dd-tube-body span {\n  color:#76a2b3;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1px;\n}\n\n.dd-tube-neck {\n  width:17px;\n  height:14px;\n  background:#cbd9df;\n}\n\n.dd-dispenser {\n  position:relative;\n  width:110px;\n  height:125px;\n  border-radius:16px 16px 24px 24px;\n  background:linear-gradient(120deg,#fff,#dfe9ed,#fff);\n  border:2px solid #cad9df;\n  box-shadow:inset -8px 0 15px rgba(108,146,163,.08);\n}\n\n.dd-dispenser-silver {\n  position:absolute;\n  top:16px;\n  left:15px;\n  right:15px;\n  height:30px;\n  background:linear-gradient(110deg,#aabdc5,#e8f0f2,#9eb2bc);\n  border-radius:9px;\n}\n\n.dd-dispenser-opening {\n  position:absolute;\n  bottom:12px;\n  left:50%;\n  transform:translateX(-50%);\n  width:48px;\n  height:36px;\n  border-radius:12px 12px 18px 18px;\n  background:#668a9c;\n  box-shadow:inset 0 4px 9px rgba(0,0,0,.2);\n}\n\n.dd-holder {\n  position:relative;\n  width:145px;\n  height:135px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n}\n\n.dd-holder-cover {\n  position:absolute;\n  top:0;\n  width:145px;\n  height:45px;\n  border-radius:15px 15px 6px 6px;\n  background:linear-gradient(120deg,#fff,#e5eef2,#fff);\n  border:2px solid #cbdbe2;\n  z-index:3;\n}\n\n.dd-brushes {\n  display:flex;\n  gap:20px;\n  position:absolute;\n  top:18px;\n  height:95px;\n  z-index:2;\n}\n\n.dd-brush {\n  position:relative;\n  width:9px;\n  height:90px;\n  border-radius:6px;\n  background:#83a8ba;\n}\n\n.dd-brush-b {background:#b3a6bb}\n.dd-brush-c {background:#9fb7a6}\n\n.dd-brush i {\n  position:absolute;\n  top:0;\n  left:-3px;\n  width:15px;\n  height:23px;\n  border-radius:4px;\n  background:#e6edf0;\n  border:2px solid #91a8b4;\n}\n\n.dd-holder-base {\n  position:absolute;\n  bottom:0;\n  width:145px;\n  height:43px;\n  border-radius:7px 7px 15px 15px;\n  background:linear-gradient(120deg,#fff,#e0eaee,#fff);\n  border:2px solid #cad9df;\n  z-index:3;\n}\n\n.dd-sink-line {\n  position:absolute;\n  left:10%;\n  right:10%;\n  top:77%;\n  height:3px;\n  background:linear-gradient(\n    90deg,transparent,#b8cbd3,transparent\n  );\n}\n\n\/* SECTIONS *\/\n\n.dd-story,.dd-features,.dd-lifestyle {margin-bottom:115px}\n\n.dd-story h2,\n.dd-section-heading h2,\n.dd-space h2,\n.dd-lifestyle h2 {\n  font-size:clamp(35px,5vw,60px);\n  line-height:1.12;\n  letter-spacing:-2px;\n  margin:15px 0 22px;\n}\n\n.dd-body {\n  max-width:650px;\n  color:var(--dd-muted);\n  font-size:16px;\n  line-height:1.85;\n}\n\n\/* MINI CARDS *\/\n\n.dd-mini-grid {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n  margin-top:35px;\n}\n\n.dd-mini-grid article {\n  background:#fff;\n  border:1px solid var(--dd-line);\n  border-radius:17px;\n  padding:27px 23px;\n  box-shadow:0 12px 35px rgba(66,108,125,.04);\n  transition:transform .3s;\n}\n\n.dd-mini-grid article:hover {transform:translateY(-5px)}\n\n.dd-mini-icon {\n  display:grid;\n  place-items:center;\n  width:50px;\n  height:50px;\n  background:#eaf4f7;\n  color:#6a9aad;\n  border-radius:14px;\n  font-size:24px;\n  margin-bottom:20px;\n}\n\n.dd-mini-grid h3 {font-size:17px;margin-bottom:8px}\n.dd-mini-grid p {\n  color:var(--dd-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* FEATURES *\/\n\n.dd-section-heading {margin-bottom:35px}\n\n.dd-feature-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.dd-feature {\n  display:flex;\n  flex-direction:column;\n  min-height:315px;\n  padding:32px;\n  border-radius:20px;\n  background:linear-gradient(145deg,#fff,#f4fafc);\n  border:1px solid var(--dd-line);\n  transition:transform .3s,box-shadow .3s;\n}\n\n.dd-feature:hover {\n  transform:translateY(-5px);\n  box-shadow:0 20px 45px rgba(66,108,125,.1);\n}\n\n.dd-feature-top {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-bottom:27px;\n}\n\n.dd-feature-icon {\n  display:grid;\n  place-items:center;\n  width:48px;\n  height:48px;\n  border-radius:14px;\n  background:#e6f2f6;\n  color:#6795a9;\n  font-size:25px;\n}\n\n.dd-feature-number {\n  color:#9bb0b9;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.dd-feature-label {\n  color:#739fb0;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.dd-feature h3 {\n  color:#344b56;\n  font-size:23px;\n  margin-bottom:12px;\n}\n\n.dd-feature\u003ep:not(.dd-feature-label) {\n  color:var(--dd-muted);\n  font-size:14px;\n  line-height:1.8;\n  margin-bottom:25px;\n}\n\n.dd-feature-footer {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-top:auto;\n  padding-top:16px;\n  border-top:1px solid var(--dd-line);\n  color:#8ca5b0;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.dd-feature-footer span:last-child {\n  color:#6899ad;\n  font-size:18px;\n}\n\n\/* SPACE SAVING *\/\n\n.dd-space {\n  display:grid;\n  grid-template-columns:1.1fr .9fr;\n  align-items:center;\n  gap:35px;\n  padding:60px;\n  margin-bottom:115px;\n  border:1px solid #d6e6ec;\n  border-radius:25px;\n  background:linear-gradient(125deg,#eaf4f7,#f9fcfd);\n}\n\n.dd-space-copy\u003ep:not(.dd-kicker) {\n  color:var(--dd-muted);\n  font-size:15px;\n  line-height:1.85;\n}\n\n.dd-space-points {\n  display:grid;\n  gap:10px;\n  margin-top:25px;\n}\n\n.dd-space-points div {\n  display:flex;\n  align-items:center;\n  gap:15px;\n  padding:13px 15px;\n  background:rgba(255,255,255,.7);\n  border:1px solid #d9e7ec;\n  border-radius:10px;\n  color:#4e6c7a;\n  font-size:13px;\n  font-weight:700;\n}\n\n.dd-space-points span {\n  color:#6b9bac;\n  font-weight:900;\n}\n\n.dd-space-graphic {\n  position:relative;\n  width:min(100%,310px);\n  aspect-ratio:1;\n  display:grid;\n  place-items:center;\n  margin:auto;\n}\n\n.dd-space-circle {\n  position:absolute;\n  border:1px solid rgba(96,154,180,.23);\n  border-radius:50%;\n  animation:ddRing 5s ease-in-out infinite;\n}\n\n.circle-one {width:75%;height:75%}\n.circle-two {\n  width:100%;height:100%;\n  animation-delay:1s;\n}\n\n@keyframes ddRing {\n  50% {transform:scale(1.06);opacity:.35}\n}\n\n.dd-space-core {\n  width:175px;\n  height:175px;\n  border-radius:50%;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  background:linear-gradient(145deg,#fff,#dcecf2);\n  border:1px solid #c7dde6;\n  box-shadow:0 15px 40px rgba(79,132,157,.13);\n}\n\n.dd-space-core\u003espan {\n  color:#75a3b6;\n  font-size:36px;\n}\n\n.dd-space-core strong {\n  color:#456f82;\n  font-size:13px;\n  letter-spacing:1px;\n}\n\n.dd-space-core small {\n  color:#83a2b0;\n  font-size:10px;\n  letter-spacing:1px;\n}\n\n\/* LIFESTYLE *\/\n\n.dd-use-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:13px;\n  margin-top:35px;\n}\n\n.dd-use-grid article {\n  background:#fff;\n  border-top:2px solid #91b9c7;\n  padding:25px 19px;\n  border-radius:0 0 13px 13px;\n}\n\n.dd-use-grid article\u003espan {\n  color:#7ba7b8;\n  font-size:12px;\n  font-weight:800;\n}\n\n.dd-use-grid h3 {\n  font-size:16px;\n  margin:23px 0 8px;\n}\n\n.dd-use-grid p {\n  color:var(--dd-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* CTA *\/\n\n.dd-cta {\n  position:relative;\n  text-align:center;\n  padding:85px 25px;\n  border-radius:25px;\n  overflow:hidden;\n  border:1px solid #d2e4ea;\n  background:\n    radial-gradient(circle at 50% 0%,#fff,transparent 65%),\n    linear-gradient(145deg,#e1eff4,#f3f9fb);\n}\n\n.dd-cta-shine {\n  position:absolute;\n  top:0;\n  left:10%;\n  width:80%;\n  height:2px;\n  background:linear-gradient(\n    90deg,transparent,#9bc4d2,transparent\n  );\n}\n\n.dd-cta h2 {\n  font-size:clamp(43px,6vw,76px);\n  line-height:1.08;\n  letter-spacing:-3px;\n  margin:18px 0;\n}\n\n.dd-cta\u003ep:not(.dd-kicker) {\n  color:#6e8996;\n  max-width:530px;\n  margin:0 auto 30px;\n  font-size:15px;\n  line-height:1.8;\n}\n\n.dd-shop-button {min-width:260px}\n\n.dd-checkout {\n  margin-top:24px;\n  color:#7897a5;\n  font-size:10px;\n  letter-spacing:1px;\n  font-weight:800;\n}\n\n.dd-checkout span {margin:0 10px}\n\n.dd-footer {\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  padding:30px 5px 0;\n  color:#9aafb8;\n  font-size:10px;\n  letter-spacing:2px;\n  font-weight:800;\n}\n\n\/* SCROLL REVEAL *\/\n\n.dd-reveal {opacity:1;transform:none}\n\n.dd-luxe.dd-ready .dd-reveal {\n  opacity:0;\n  transform:translateY(22px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n\n.dd-luxe.dd-ready .dd-reveal.dd-visible {\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* TABLET *\/\n\n@media(max-width:900px) {\n  .dd-mini-grid {grid-template-columns:1fr}\n  .dd-space {grid-template-columns:1fr;padding:40px}\n  .dd-use-grid {grid-template-columns:repeat(2,minmax(0,1fr))}\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px) {\n  .dd-luxe {padding:48px 14px 22px}\n  .dd-hero {margin-bottom:35px}\n\n  .dd-pill {\n    font-size:9px;\n    letter-spacing:1px;\n    padding:8px 12px;\n  }\n\n  .dd-overline {\n    font-size:9px;\n    margin:26px 0 13px;\n  }\n\n  .dd-hero h2 {\n    font-size:clamp(34px,9.3vw,51px);\n    letter-spacing:-1.7px;\n    line-height:1.1;\n  }\n\n  .dd-lead {font-size:14px;line-height:1.75}\n  .dd-hero-actions {flex-direction:column;gap:14px}\n  .dd-button {width:100%;padding:16px}\n  .dd-text-link {font-size:12px}\n\n  .dd-stats {margin-top:30px;padding:15px 0}\n  .dd-stats strong {font-size:clamp(11px,3.5vw,17px)}\n  .dd-stats small {font-size:9px;line-height:1.4}\n\n  .dd-showcase {\n    min-height:340px;\n    padding:14px;\n    margin-bottom:75px;\n    border-radius:17px;\n  }\n\n  .dd-showcase-top,\n  .dd-showcase-bottom {\n    font-size:8px;\n    letter-spacing:.6px;\n  }\n\n  .dd-device {transform:scale(.78);gap:12px}\n  .dd-showcase-bottom {flex-direction:column;gap:3px}\n  .dd-sink-line {top:76%}\n\n  .dd-story,.dd-features,.dd-lifestyle {margin-bottom:75px}\n\n  .dd-kicker {font-size:9px;letter-spacing:1.4px}\n\n  .dd-story h2,\n  .dd-section-heading h2,\n  .dd-space h2,\n  .dd-lifestyle h2 {\n    font-size:clamp(30px,8.3vw,42px);\n    letter-spacing:-1.2px;\n  }\n\n  .dd-body {font-size:14px;line-height:1.75}\n\n  .dd-mini-grid {gap:10px;margin-top:25px}\n  .dd-mini-grid article {padding:20px;border-radius:13px}\n  .dd-mini-icon {width:42px;height:42px;margin-bottom:15px}\n  .dd-mini-grid h3 {font-size:15px}\n  .dd-mini-grid p {font-size:12px}\n\n  .dd-section-heading {margin-bottom:25px}\n  .dd-feature-grid {grid-template-columns:1fr;gap:12px}\n\n  .dd-feature {\n    min-height:0;\n    padding:23px 20px;\n    border-radius:15px;\n  }\n\n  .dd-feature-top {margin-bottom:22px}\n  .dd-feature-icon {width:42px;height:42px;font-size:23px}\n  .dd-feature h3 {font-size:21px}\n  .dd-feature\u003ep:not(.dd-feature-label) {font-size:13px}\n  .dd-feature-footer {font-size:9px;letter-spacing:.6px}\n\n  .dd-space {\n    padding:30px 18px;\n    gap:20px;\n    margin-bottom:75px;\n    border-radius:18px;\n  }\n\n  .dd-space-copy\u003ep:not(.dd-kicker) {font-size:13px}\n  .dd-space-points div {font-size:12px}\n  .dd-space-graphic {width:220px}\n  .dd-space-core {width:135px;height:135px}\n  .dd-space-core strong {font-size:11px}\n\n  .dd-use-grid {gap:10px;margin-top:25px}\n  .dd-use-grid article {padding:19px 13px}\n  .dd-use-grid h3 {font-size:14px;margin:16px 0 6px}\n  .dd-use-grid p {font-size:12px}\n\n  .dd-cta {padding:58px 18px;border-radius:18px}\n  .dd-cta h2 {\n    font-size:clamp(35px,9.5vw,52px);\n    letter-spacing:-1.5px;\n  }\n\n  .dd-cta\u003ep:not(.dd-kicker) {font-size:13px}\n  .dd-shop-button {min-width:0}\n  .dd-checkout {font-size:8px;letter-spacing:.4px}\n\n  .dd-footer {\n    flex-direction:column;\n    align-items:center;\n    text-align:center;\n    gap:5px;\n    font-size:9px;\n  }\n}\n\n@media(max-width:360px) {\n  .dd-luxe {padding-left:10px;padding-right:10px}\n  .dd-hero h2 {font-size:33px}\n  .dd-use-grid {grid-template-columns:1fr}\n}\n\n@media(prefers-reduced-motion:reduce) {\n  .dd-luxe *,\n  .dd-luxe *::before,\n  .dd-luxe *::after {\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .dd-luxe.dd-ready .dd-reveal {\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function() {\n  function initDentiDock() {\n    document.querySelectorAll('.dd-luxe').forEach(function(section) {\n      if (section.dataset.ddInit === 'true') return;\n      section.dataset.ddInit = 'true';\n\n      if (!('IntersectionObserver' in window) ||\n          window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n        return;\n      }\n\n      var elements = section.querySelectorAll('.dd-reveal');\n      var observer = new IntersectionObserver(function(entries) {\n        entries.forEach(function(entry) {\n          if (entry.isIntersecting) {\n            entry.target.classList.add('dd-visible');\n            observer.unobserve(entry.target);\n          }\n        });\n      }, {threshold:0.05,rootMargin:'0px 0px 40px 0px'});\n\n      section.classList.add('dd-ready');\n      elements.forEach(function(el) {observer.observe(el)});\n    });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded',initDentiDock);\n  } else {\n    initDentiDock();\n  }\n\n  document.addEventListener('shopify:section:load',initDentiDock);\n})();\n\u003c\/script\u003e\n","brand":"Solveo","offers":[{"title":"Default Title","offer_id":68128968605988,"sku":null,"price":289.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/files\/thtpste3fnl.png?v=1794121763"},{"product_id":"solveo-lumadock™-uv-disinfection-dispenser","title":"Solveo LumaDock™ UV Disinfection \u0026 Dispenser","description":"\n\u003csection class=\"ld-luma\" id=\"solveo-lumadock\"\u003e\n  \u003cdiv class=\"ld-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cheader class=\"ld-hero ld-reveal\"\u003e\n      \u003cdiv class=\"ld-pill\"\u003e\n        \u003cspan class=\"ld-pill-dot\"\u003e\u003c\/span\u003e\n        SOLVEO BATHROOM \u0026amp; HEALTHCARE\n      \u003c\/div\u003e\n\n      \u003cp class=\"ld-overline\"\u003eTHE LUMADOCK™ COLLECTION\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Less bathroom clutter.\n        \u003cem\u003eMore morning calm.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"ld-lead\"\u003e\n        Meet the \u003cstrong\u003eSolveo LumaDock™ UV Disinfection\n        \u0026amp; Dispenser\u003c\/strong\u003e. A sleek bathroom upgrade\n        combining UV toothbrush disinfection, convenient\n        toothpaste dispensing and organised storage\n        for up to four toothbrushes.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ld-hero-actions\"\u003e\n        \u003ca href=\"#ld-shop\" class=\"ld-button\"\u003e\n          DISCOVER LUMADOCK™ \u003cspan\u003e↗\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#ld-features\" class=\"ld-text-link\"\u003e\n          Explore the benefits ↓\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ld-stats\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eUV\u003c\/strong\u003e\n          \u003csmall\u003eDisinfection Function\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e4 SLOTS\u003c\/strong\u003e\n          \u003csmall\u003eToothbrush Storage\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e2-IN-1\u003c\/strong\u003e\n          \u003csmall\u003eDisinfection \u0026amp; Dispensing\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- UV-INSPIRED VISUAL --\u003e\n    \u003cdiv class=\"ld-showcase ld-reveal\"\u003e\n      \u003cdiv class=\"ld-showcase-top\"\u003e\n        \u003cspan\u003eTHE NEXT STEP IN BRUSH CARE\u003c\/span\u003e\n        \u003cspan\u003eUV-INSPIRED DESIGN\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ld-showcase-glow\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ld-uv-ring ld-ring-one\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"ld-uv-ring ld-ring-two\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"ld-device\" aria-hidden=\"true\"\u003e\n        \u003cdiv class=\"ld-device-top\"\u003e\n          \u003cdiv class=\"ld-device-brand\"\u003eLUMADOCK™\u003c\/div\u003e\n          \u003cdiv class=\"ld-device-status\"\u003e\n            \u003cspan\u003e\u003c\/span\u003e UV CARE\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ld-device-body\"\u003e\n          \u003cdiv class=\"ld-uv-chamber\"\u003e\n            \u003cdiv class=\"ld-uv-beam\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"ld-brush-row\"\u003e\n              \u003cdiv class=\"ld-brush\"\u003e\n                \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"ld-brush\"\u003e\n                \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"ld-brush\"\u003e\n                \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"ld-brush\"\u003e\n                \u003ci\u003e\u003c\/i\u003e\u003cspan\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"ld-paste-unit\"\u003e\n            \u003cdiv class=\"ld-paste-window\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"ld-paste-opening\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ld-device-footer\"\u003e\n          \u003cspan\u003eUV TOOTHBRUSH CARE\u003c\/span\u003e\n          \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ld-showcase-bottom\"\u003e\n        \u003cstrong\u003eAN ORGANISED SPACE. A SMARTER ROUTINE.\u003c\/strong\u003e\n        \u003cspan\u003eDESIGNED FOR EVERYDAY LIVING\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- STORY --\u003e\n    \u003csection class=\"ld-story ld-reveal\"\u003e\n      \u003cp class=\"ld-kicker\"\u003eTHE EVERYDAY BATHROOM UPGRADE\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Your mornings have\n        \u003cem\u003eenough going on.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"ld-body\"\u003e\n        School runs, traffic, work, repeat. Your morning\n        shouldn't involve hunting for a toothbrush or\n        searching for the toothpaste tube. LumaDock™\n        keeps your brushing essentials together\n        in one dedicated space.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ld-mini-grid\"\u003e\n        \u003carticle\u003e\n          \u003cspan class=\"ld-mini-icon\"\u003e✧\u003c\/span\u003e\n          \u003ch3\u003eUV Brush Care\u003c\/h3\u003e\n          \u003cp\u003eAn added disinfection step for\n          compatible toothbrushes.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan class=\"ld-mini-icon\"\u003e▤\u003c\/span\u003e\n          \u003ch3\u003eLess Clutter\u003c\/h3\u003e\n          \u003cp\u003eKeep brushing essentials off\n          the basin and neatly arranged.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan class=\"ld-mini-icon\"\u003e4\u003c\/span\u003e\n          \u003ch3\u003eRoom for Four\u003c\/h3\u003e\n          \u003cp\u003eDedicated slots for up to four\n          compatible toothbrushes.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FEATURES --\u003e\n    \u003csection class=\"ld-features\" id=\"ld-features\"\u003e\n      \u003cdiv class=\"ld-section-heading ld-reveal\"\u003e\n        \u003cp class=\"ld-kicker\"\u003eTHOUGHTFULLY DESIGNED\u003c\/p\u003e\n\n        \u003ch2\u003e\n          More than storage.\n          \u003cem\u003eA better daily ritual.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp class=\"ld-body\"\u003e\n          Practical bathroom organisation\n          with an added UV disinfection function.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ld-feature-grid\"\u003e\n\n        \u003carticle class=\"ld-feature ld-reveal\"\u003e\n          \u003cdiv class=\"ld-feature-top\"\u003e\n            \u003cspan class=\"ld-feature-icon\"\u003e✦\u003c\/span\u003e\n            \u003cspan class=\"ld-feature-number\"\u003e01 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ld-feature-label\"\u003eUV DISINFECTION\u003c\/p\u003e\n          \u003ch3\u003eGive Your Toothbrush Extra Care\u003c\/h3\u003e\n          \u003cp\u003e\n            Designed for UV toothbrush disinfection,\n            LumaDock™ adds an extra step to your\n            brush-care routine. Rinse away toothpaste\n            and debris first, then place your\n            compatible brush in its designated slot.\n          \u003c\/p\u003e\n          \u003cdiv class=\"ld-feature-footer\"\u003e\n            \u003cspan\u003eAN ADDED CARE STEP\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ld-feature ld-reveal\"\u003e\n          \u003cdiv class=\"ld-feature-top\"\u003e\n            \u003cspan class=\"ld-feature-icon\"\u003e▣\u003c\/span\u003e\n            \u003cspan class=\"ld-feature-number\"\u003e02 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ld-feature-label\"\u003eTOOTHPASTE DISPENSER\u003c\/p\u003e\n          \u003ch3\u003eToothpaste, Right Where You Need It\u003c\/h3\u003e\n          \u003cp\u003e\n            The integrated dispenser keeps your\n            toothpaste tube in one convenient place,\n            reducing the daily juggle around the sink.\n          \u003c\/p\u003e\n          \u003cdiv class=\"ld-feature-footer\"\u003e\n            \u003cspan\u003eEVERYDAY CONVENIENCE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ld-feature ld-reveal\"\u003e\n          \u003cdiv class=\"ld-feature-top\"\u003e\n            \u003cspan class=\"ld-feature-icon\"\u003e⌂\u003c\/span\u003e\n            \u003cspan class=\"ld-feature-number\"\u003e03 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ld-feature-label\"\u003eWALL-MOUNTED DESIGN\u003c\/p\u003e\n          \u003ch3\u003eFree Up Your Basin Space\u003c\/h3\u003e\n          \u003cp\u003e\n            Keep toothbrushes and toothpaste off\n            your counter. The wall-mounted layout\n            helps create a cleaner-looking bathroom\n            with more room around the basin.\n          \u003c\/p\u003e\n          \u003cdiv class=\"ld-feature-footer\"\u003e\n            \u003cspan\u003eLESS COUNTER CLUTTER\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ld-feature ld-reveal\"\u003e\n          \u003cdiv class=\"ld-feature-top\"\u003e\n            \u003cspan class=\"ld-feature-icon\"\u003e④\u003c\/span\u003e\n            \u003cspan class=\"ld-feature-number\"\u003e04 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ld-feature-label\"\u003eFAMILY ORGANISATION\u003c\/p\u003e\n          \u003ch3\u003eFour Toothbrush Slots\u003c\/h3\u003e\n          \u003cp\u003e\n            Give up to four compatible toothbrushes\n            a dedicated home. A thoughtful addition\n            to shared bathrooms and busy households.\n          \u003c\/p\u003e\n          \u003cdiv class=\"ld-feature-footer\"\u003e\n            \u003cspan\u003eA PLACE FOR EVERY BRUSH\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"ld-feature ld-feature-wide ld-reveal\"\u003e\n          \u003cdiv class=\"ld-feature-top\"\u003e\n            \u003cspan class=\"ld-feature-icon\"\u003e◇\u003c\/span\u003e\n            \u003cspan class=\"ld-feature-number\"\u003e05 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"ld-feature-label\"\u003ePREMIUM BATHROOM STYLE\u003c\/p\u003e\n          \u003ch3\u003eA Touch of Hotel-Bathroom Elegance\u003c\/h3\u003e\n          \u003cp\u003e\n            A sleek, modern design brings a polished\n            feel to your everyday bathroom setup.\n            From the first brush before your commute\n            to the last one before bed, LumaDock™\n            makes organisation feel effortless.\n          \u003c\/p\u003e\n          \u003cdiv class=\"ld-feature-footer\"\u003e\n            \u003cspan\u003eSMALL UPGRADE. LOVELY DIFFERENCE.\u003c\/span\u003e\n            \u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- UV SECTION --\u003e\n    \u003csection class=\"ld-uv-section ld-reveal\"\u003e\n      \u003cdiv class=\"ld-uv-copy\"\u003e\n        \u003cp class=\"ld-kicker\"\u003eAN EXTRA STEP IN BRUSH CARE\u003c\/p\u003e\n        \u003ch2\u003e\n          A little more care.\n          \u003cem\u003eBuilt into your routine.\u003c\/em\u003e\n        \u003c\/h2\u003e\n        \u003cp\u003e\n          LumaDock™ includes a UV disinfection\n          function for compatible toothbrushes.\n          Continue rinsing your toothbrush after\n          every use and follow the device instructions\n          for the UV care cycle.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"ld-uv-steps\"\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e01\u003c\/span\u003e Rinse your toothbrush after brushing\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e02\u003c\/span\u003e Place it in its designated slot\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cspan\u003e03\u003c\/span\u003e Follow the UV cycle instructions\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003csmall class=\"ld-uv-note\"\u003e\n          UV disinfection performance depends on the\n          device specifications, exposure conditions\n          and correct use. It does not replace\n          regular toothbrush cleaning.\n        \u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ld-uv-graphic\" aria-hidden=\"true\"\u003e\n        \u003cdiv class=\"ld-graphic-ring ld-gr-one\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"ld-graphic-ring ld-gr-two\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"ld-graphic-ring ld-gr-three\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"ld-graphic-core\"\u003e\n          \u003cspan\u003e✦\u003c\/span\u003e\n          \u003cstrong\u003eUV CARE\u003c\/strong\u003e\n          \u003csmall\u003eTOOTHBRUSH DISINFECTION\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- LIFESTYLE --\u003e\n    \u003csection class=\"ld-lifestyle ld-reveal\"\u003e\n      \u003cp class=\"ld-kicker\"\u003eMADE FOR EVERYDAY LIFE\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Less morning chaos.\n        \u003cem\u003eMore everyday ease.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"ld-use-grid\"\u003e\n        \u003carticle\u003e\n          \u003cspan\u003e01\u003c\/span\u003e\n          \u003ch3\u003eBusy Mornings\u003c\/h3\u003e\n          \u003cp\u003eKeep essentials close when\n          you're getting ready for the day.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e02\u003c\/span\u003e\n          \u003ch3\u003eFamily Bathrooms\u003c\/h3\u003e\n          \u003cp\u003eOrganise up to four compatible\n          toothbrushes in one place.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e03\u003c\/span\u003e\n          \u003ch3\u003eSmaller Spaces\u003c\/h3\u003e\n          \u003cp\u003eMove everyday brushing items\n          off the basin.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle\u003e\n          \u003cspan\u003e04\u003c\/span\u003e\n          \u003ch3\u003eModern Homes\u003c\/h3\u003e\n          \u003cp\u003eBring a polished, uncluttered\n          feel to your bathroom.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003csection class=\"ld-cta ld-reveal\" id=\"ld-shop\"\u003e\n      \u003cdiv class=\"ld-cta-shine\"\u003e\u003c\/div\u003e\n\n      \u003cp class=\"ld-kicker\"\u003eSOLVEO LUMADOCK™\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Your toothbrush has a home.\n        \u003cem\u003eYour mornings have one less hassle.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        UV toothbrush care, convenient toothpaste\n        dispensing and organised storage —\n        all in one thoughtful bathroom upgrade.\n      \u003c\/p\u003e\n\n      \u003ca class=\"ld-button ld-shop-button\" href=\"\/products\/solveo-lumadock-uv-disinfection-dispenser\"\u003e\n        SHOP LUMADOCK™ \u003cspan\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"ld-checkout\"\u003e\n        SECURE CHECKOUT \u003cspan\u003e•\u003c\/span\u003e SOUTH AFRICAN STORE\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cfooter class=\"ld-footer\"\u003e\n      \u003cspan\u003eSOLVEO™\u003c\/span\u003e\n      \u003cspan\u003eEVERYDAY SOLUTIONS. REFINED.\u003c\/span\u003e\n    \u003c\/footer\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n.ld-luma {\n  --ld-ink:#203542;\n  --ld-muted:#718491;\n  --ld-blue:#468fb5;\n  --ld-line:#d9e8f0;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n  background:\n    radial-gradient(circle at 90% 0%,#e1f2fa,transparent 30%),\n    linear-gradient(160deg,#fff,#f4faff 60%,#fff);\n  color:var(--ld-ink);\n  padding:80px 20px 25px;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.65;\n}\n\n.ld-luma *,\n.ld-luma *::before,\n.ld-luma *::after {box-sizing:border-box}\n\n.ld-luma a {text-decoration:none}\n.ld-luma h2,.ld-luma h3,.ld-luma p {margin-top:0}\n.ld-container {max-width:1150px;margin:auto}\n\n\/* HERO *\/\n\n.ld-hero {\n  text-align:center;\n  max-width:850px;\n  margin:0 auto 60px;\n}\n\n.ld-pill {\n  display:inline-flex;\n  align-items:center;\n  gap:9px;\n  padding:9px 16px;\n  border-radius:50px;\n  background:#fff;\n  border:1px solid #d5e9f3;\n  color:#508da9;\n  font-size:10px;\n  letter-spacing:1.5px;\n  font-weight:800;\n}\n\n.ld-pill-dot {\n  width:7px;\n  height:7px;\n  border-radius:50%;\n  background:#5bb5e5;\n  box-shadow:0 0 0 0 rgba(91,181,229,.4);\n  animation:ldPulse 2s infinite;\n}\n\n@keyframes ldPulse {\n  60% {box-shadow:0 0 0 8px rgba(91,181,229,0)}\n}\n\n.ld-overline,.ld-kicker {\n  color:#518fac;\n  font-size:11px;\n  font-weight:800;\n  letter-spacing:2.2px;\n}\n\n.ld-overline {margin:32px 0 15px}\n\n.ld-hero h2 {\n  font-size:clamp(43px,7vw,82px);\n  line-height:1.07;\n  letter-spacing:-3px;\n  font-weight:800;\n  margin-bottom:25px;\n}\n\n.ld-hero h2 em,\n.ld-story h2 em,\n.ld-section-heading h2 em,\n.ld-uv-section h2 em,\n.ld-lifestyle h2 em,\n.ld-cta h2 em {\n  display:block;\n  font-style:normal;\n  background:linear-gradient(\n    100deg,#347ea5,#86c6e4,#427fbb\n  );\n  background-size:200% auto;\n  -webkit-background-clip:text;\n  background-clip:text;\n  color:transparent;\n  animation:ldGradient 7s linear infinite;\n}\n\n@keyframes ldGradient {\n  to {background-position:200% center}\n}\n\n.ld-lead {\n  color:var(--ld-muted);\n  max-width:650px;\n  margin:0 auto 30px;\n  font-size:17px;\n}\n\n.ld-lead strong {color:#30556a}\n\n.ld-hero-actions {\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  flex-wrap:wrap;\n  gap:22px;\n}\n\n.ld-button {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  gap:22px;\n  padding:17px 26px;\n  border-radius:12px;\n  color:white!important;\n  background:linear-gradient(110deg,#3d91bc,#245d83);\n  box-shadow:0 15px 35px rgba(36,93,131,.2);\n  font-size:12px;\n  font-weight:800;\n  letter-spacing:1px;\n  transition:transform .3s,box-shadow .3s;\n}\n\n.ld-button:hover {\n  transform:translateY(-4px);\n  box-shadow:0 20px 40px rgba(36,93,131,.3);\n}\n\n.ld-button span {font-size:21px}\n\n.ld-text-link {\n  color:#568ca9!important;\n  font-size:13px;\n  font-weight:700;\n}\n\n.ld-stats {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  max-width:650px;\n  margin:48px auto 0;\n  border-top:1px solid var(--ld-line);\n  border-bottom:1px solid var(--ld-line);\n  padding:19px 0;\n}\n\n.ld-stats div {\n  display:flex;\n  flex-direction:column;\n  padding:0 7px;\n}\n\n.ld-stats div+div {border-left:1px solid var(--ld-line)}\n.ld-stats strong {font-size:21px;color:#367fa5}\n.ld-stats small {font-size:11px;color:#849ca9}\n\n\/* SHOWCASE *\/\n\n.ld-showcase {\n  position:relative;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:space-between;\n  min-height:475px;\n  padding:25px;\n  margin-bottom:115px;\n  overflow:hidden;\n  border-radius:25px;\n  border:1px solid #cfe3ed;\n  background:radial-gradient(\n    ellipse at center,#edfaff,#d9edf7 75%,#e9f6fb\n  );\n}\n\n.ld-showcase-top,\n.ld-showcase-bottom {\n  position:relative;\n  z-index:3;\n  display:flex;\n  justify-content:space-between;\n  width:100%;\n  gap:15px;\n  font-size:10px;\n  letter-spacing:1.4px;\n  color:#6d9ab0;\n  font-weight:800;\n}\n\n.ld-showcase-bottom {align-items:flex-end}\n.ld-showcase-bottom strong {color:#3e7796}\n\n.ld-showcase-glow {\n  position:absolute;\n  width:350px;\n  height:350px;\n  top:10%;\n  border-radius:50%;\n  background:rgba(88,182,235,.2);\n  filter:blur(60px);\n  animation:ldGlow 5s ease-in-out infinite alternate;\n}\n\n@keyframes ldGlow {\n  to {transform:scale(1.2);opacity:.4}\n}\n\n.ld-uv-ring {\n  position:absolute;\n  border:1px solid rgba(77,160,211,.23);\n  border-radius:50%;\n  top:50%;\n  left:50%;\n  transform:translate(-50%,-50%);\n  animation:ldRing 5s ease-in-out infinite;\n}\n\n.ld-ring-one {width:330px;height:330px}\n.ld-ring-two {\n  width:440px;height:440px;\n  animation-delay:1s;\n}\n\n@keyframes ldRing {\n  50% {opacity:.35;scale:1.04}\n}\n\n\/* DEVICE *\/\n\n.ld-device {\n  position:relative;\n  z-index:2;\n  width:340px;\n  margin:auto;\n  background:linear-gradient(130deg,#fff,#e2edf3,#fff);\n  border:2px solid #bed5e0;\n  border-radius:22px;\n  padding:16px;\n  box-shadow:0 25px 50px rgba(44,103,139,.2),\n    inset 0 2px 4px rgba(255,255,255,.9);\n}\n\n.ld-device-top {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-bottom:14px;\n}\n\n.ld-device-brand {\n  font-size:13px;\n  font-weight:900;\n  color:#487f9d;\n  letter-spacing:2px;\n}\n\n.ld-device-status {\n  display:flex;\n  align-items:center;\n  gap:6px;\n  font-size:9px;\n  font-weight:800;\n  color:#3c91c1;\n}\n\n.ld-device-status span {\n  width:6px;\n  height:6px;\n  border-radius:50%;\n  background:#52b9ff;\n  box-shadow:0 0 9px #52b9ff;\n  animation:ldPulse 2s infinite;\n}\n\n.ld-device-body {\n  display:grid;\n  grid-template-columns:1.5fr 1fr;\n  gap:12px;\n}\n\n.ld-uv-chamber {\n  position:relative;\n  height:130px;\n  overflow:hidden;\n  border-radius:12px;\n  border:1px solid #a7c6d9;\n  background:linear-gradient(135deg,#173c59,#275b7d);\n  box-shadow:inset 0 0 20px rgba(0,0,0,.2);\n}\n\n.ld-uv-beam {\n  position:absolute;\n  inset:0;\n  background:linear-gradient(\n    180deg,rgba(105,200,255,.45),\n    transparent 65%\n  );\n  animation:ldBeam 3s ease-in-out infinite alternate;\n}\n\n@keyframes ldBeam {\n  to {opacity:.3}\n}\n\n.ld-brush-row {\n  position:absolute;\n  bottom:10px;\n  left:0;\n  right:0;\n  display:flex;\n  justify-content:space-evenly;\n}\n\n.ld-brush {\n  position:relative;\n  width:8px;\n  height:83px;\n  border-radius:6px;\n  background:#a8d9ef;\n}\n\n.ld-brush:nth-child(2) {background:#d2b7df}\n.ld-brush:nth-child(3) {background:#a4d2c1}\n.ld-brush:nth-child(4) {background:#f0c5bc}\n\n.ld-brush i {\n  position:absolute;\n  top:0;\n  left:-3px;\n  width:14px;\n  height:22px;\n  border-radius:4px;\n  background:#f3f8fb;\n}\n\n.ld-paste-unit {\n  position:relative;\n  height:130px;\n  border:1px solid #c6d9e2;\n  border-radius:12px;\n  background:linear-gradient(120deg,#fff,#e1ebf0);\n}\n\n.ld-paste-window {\n  position:absolute;\n  top:16px;\n  left:18%;\n  width:64%;\n  height:33px;\n  border-radius:8px;\n  background:linear-gradient(120deg,#a9c5d3,#edf5f8);\n}\n\n.ld-paste-opening {\n  position:absolute;\n  bottom:15px;\n  left:50%;\n  transform:translateX(-50%);\n  width:55px;\n  height:42px;\n  border-radius:12px 12px 18px 18px;\n  background:#547e95;\n  box-shadow:inset 0 4px 10px rgba(0,0,0,.18);\n}\n\n.ld-device-footer {\n  display:flex;\n  justify-content:space-between;\n  margin-top:13px;\n  color:#6a98ae;\n  font-size:9px;\n  font-weight:800;\n  letter-spacing:1.2px;\n}\n\n\/* SECTIONS *\/\n\n.ld-story,.ld-features,.ld-lifestyle {margin-bottom:115px}\n\n.ld-story h2,\n.ld-section-heading h2,\n.ld-uv-section h2,\n.ld-lifestyle h2 {\n  font-size:clamp(35px,5vw,60px);\n  line-height:1.12;\n  letter-spacing:-2px;\n  margin:15px 0 22px;\n}\n\n.ld-body {\n  max-width:650px;\n  color:var(--ld-muted);\n  font-size:16px;\n  line-height:1.85;\n}\n\n\/* MINI CARDS *\/\n\n.ld-mini-grid {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n  margin-top:35px;\n}\n\n.ld-mini-grid article {\n  background:#fff;\n  border:1px solid var(--ld-line);\n  border-radius:17px;\n  padding:27px 23px;\n  box-shadow:0 12px 35px rgba(44,103,139,.04);\n  transition:transform .3s;\n}\n\n.ld-mini-grid article:hover {transform:translateY(-5px)}\n\n.ld-mini-icon {\n  display:grid;\n  place-items:center;\n  width:50px;\n  height:50px;\n  background:#e7f4fb;\n  color:#4b9ac4;\n  border-radius:14px;\n  font-size:24px;\n  margin-bottom:20px;\n}\n\n.ld-mini-grid h3 {font-size:17px;margin-bottom:8px}\n.ld-mini-grid p {\n  color:var(--ld-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* FEATURES *\/\n\n.ld-section-heading {margin-bottom:35px}\n\n.ld-feature-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.ld-feature {\n  display:flex;\n  flex-direction:column;\n  min-height:315px;\n  padding:32px;\n  border-radius:20px;\n  background:linear-gradient(145deg,#fff,#f3f9fd);\n  border:1px solid var(--ld-line);\n  transition:transform .3s,box-shadow .3s;\n}\n\n.ld-feature:hover {\n  transform:translateY(-5px);\n  box-shadow:0 20px 45px rgba(44,103,139,.1);\n}\n\n.ld-feature-wide {\n  grid-column:1\/-1;\n  min-height:250px;\n}\n\n.ld-feature-top {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-bottom:27px;\n}\n\n.ld-feature-icon {\n  display:grid;\n  place-items:center;\n  width:48px;\n  height:48px;\n  border-radius:14px;\n  background:#e3f2fa;\n  color:#4c94b9;\n  font-size:25px;\n}\n\n.ld-feature-number {\n  color:#9db5c2;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.ld-feature-label {\n  color:#5d9cbd;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.ld-feature h3 {\n  color:#2f4b5b;\n  font-size:23px;\n  margin-bottom:12px;\n}\n\n.ld-feature\u003ep:not(.ld-feature-label) {\n  color:var(--ld-muted);\n  font-size:14px;\n  line-height:1.8;\n  margin-bottom:25px;\n}\n\n.ld-feature-footer {\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  margin-top:auto;\n  padding-top:16px;\n  border-top:1px solid var(--ld-line);\n  color:#89a6b7;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.ld-feature-footer span:last-child {\n  color:#4c99c4;\n  font-size:18px;\n}\n\n\/* UV CARE SECTION *\/\n\n.ld-uv-section {\n  display:grid;\n  grid-template-columns:1.1fr .9fr;\n  align-items:center;\n  gap:35px;\n  padding:60px;\n  margin-bottom:115px;\n  border:1px solid #c9e2f0;\n  border-radius:25px;\n  background:linear-gradient(125deg,#e5f3fc,#f9fcff);\n}\n\n.ld-uv-copy\u003ep:not(.ld-kicker) {\n  color:var(--ld-muted);\n  font-size:15px;\n  line-height:1.85;\n}\n\n.ld-uv-steps {\n  display:grid;\n  gap:10px;\n  margin-top:25px;\n}\n\n.ld-uv-steps div {\n  display:flex;\n  align-items:center;\n  gap:15px;\n  padding:13px 15px;\n  background:rgba(255,255,255,.75);\n  border:1px solid #d5e7f1;\n  border-radius:10px;\n  color:#426c83;\n  font-size:13px;\n  font-weight:700;\n}\n\n.ld-uv-steps span {\n  color:#448fb8;\n  font-weight:900;\n}\n\n.ld-uv-note {\n  display:block;\n  margin-top:20px;\n  color:#829bab;\n  font-size:11px;\n  line-height:1.7;\n}\n\n.ld-uv-graphic {\n  position:relative;\n  width:min(100%,310px);\n  aspect-ratio:1;\n  display:grid;\n  place-items:center;\n  margin:auto;\n}\n\n.ld-graphic-ring {\n  position:absolute;\n  border:1px solid rgba(65,151,206,.3);\n  border-radius:50%;\n  animation:ldGraphicRing 5s ease-in-out infinite;\n}\n\n.ld-gr-one {width:65%;height:65%}\n.ld-gr-two {width:85%;height:85%;animation-delay:.7s}\n.ld-gr-three {width:100%;height:100%;animation-delay:1.4s}\n\n@keyframes ldGraphicRing {\n  50% {transform:scale(1.06);opacity:.35}\n}\n\n.ld-graphic-core {\n  width:175px;\n  height:175px;\n  border-radius:50%;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  background:radial-gradient(circle,#fff,#cde9f8);\n  border:1px solid #a9d2e8;\n  box-shadow:0 15px 45px rgba(54,147,202,.18);\n}\n\n.ld-graphic-core\u003espan {\n  color:#439cd0;\n  font-size:36px;\n}\n\n.ld-graphic-core strong {\n  color:#337fa8;\n  font-size:19px;\n  letter-spacing:1px;\n}\n\n.ld-graphic-core small {\n  color:#6e9db6;\n  font-size:9px;\n  letter-spacing:1px;\n  text-align:center;\n}\n\n\/* LIFESTYLE *\/\n\n.ld-use-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:13px;\n  margin-top:35px;\n}\n\n.ld-use-grid article {\n  background:#fff;\n  border-top:2px solid #81bbd8;\n  padding:25px 19px;\n  border-radius:0 0 13px 13px;\n}\n\n.ld-use-grid article\u003espan {\n  color:#5ca3c9;\n  font-size:12px;\n  font-weight:800;\n}\n\n.ld-use-grid h3 {\n  font-size:16px;\n  margin:23px 0 8px;\n}\n\n.ld-use-grid p {\n  color:var(--ld-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* CTA *\/\n\n.ld-cta {\n  position:relative;\n  text-align:center;\n  padding:85px 25px;\n  border-radius:25px;\n  overflow:hidden;\n  border:1px solid #c9e1ef;\n  background:\n    radial-gradient(circle at 50% 0%,#fff,transparent 65%),\n    linear-gradient(145deg,#d9edf9,#f1f8fd);\n}\n\n.ld-cta-shine {\n  position:absolute;\n  top:0;\n  left:10%;\n  width:80%;\n  height:2px;\n  background:linear-gradient(\n    90deg,transparent,#80c7ee,transparent\n  );\n}\n\n.ld-cta h2 {\n  font-size:clamp(43px,6vw,76px);\n  line-height:1.08;\n  letter-spacing:-3px;\n  margin:18px 0;\n}\n\n.ld-cta\u003ep:not(.ld-kicker) {\n  color:#6d8b9c;\n  max-width:530px;\n  margin:0 auto 30px;\n  font-size:15px;\n  line-height:1.8;\n}\n\n.ld-shop-button {min-width:260px}\n\n.ld-checkout {\n  margin-top:24px;\n  color:#7597a9;\n  font-size:10px;\n  letter-spacing:1px;\n  font-weight:800;\n}\n\n.ld-checkout span {margin:0 10px}\n\n.ld-footer {\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  padding:30px 5px 0;\n  color:#91acbb;\n  font-size:10px;\n  letter-spacing:2px;\n  font-weight:800;\n}\n\n\/* SCROLL REVEAL *\/\n\n.ld-reveal {opacity:1;transform:none}\n\n.ld-luma.ld-ready .ld-reveal {\n  opacity:0;\n  transform:translateY(22px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n\n.ld-luma.ld-ready .ld-reveal.ld-visible {\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* TABLET *\/\n\n@media(max-width:900px) {\n  .ld-mini-grid {grid-template-columns:1fr}\n  .ld-uv-section {grid-template-columns:1fr;padding:40px}\n  .ld-use-grid {grid-template-columns:repeat(2,minmax(0,1fr))}\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px) {\n  .ld-luma {padding:48px 14px 22px}\n  .ld-hero {margin-bottom:35px}\n\n  .ld-pill {\n    font-size:9px;\n    letter-spacing:1px;\n    padding:8px 12px;\n  }\n\n  .ld-overline {\n    font-size:9px;\n    margin:26px 0 13px;\n  }\n\n  .ld-hero h2 {\n    font-size:clamp(34px,9.3vw,51px);\n    letter-spacing:-1.7px;\n    line-height:1.1;\n  }\n\n  .ld-lead {font-size:14px;line-height:1.75}\n  .ld-hero-actions {flex-direction:column;gap:14px}\n  .ld-button {width:100%;padding:16px}\n  .ld-text-link {font-size:12px}\n\n  .ld-stats {margin-top:30px;padding:15px 0}\n  .ld-stats strong {font-size:clamp(11px,3.5vw,17px)}\n  .ld-stats small {font-size:9px;line-height:1.4}\n\n  .ld-showcase {\n    min-height:350px;\n    padding:14px;\n    margin-bottom:75px;\n    border-radius:17px;\n  }\n\n  .ld-showcase-top,\n  .ld-showcase-bottom {\n    font-size:8px;\n    letter-spacing:.6px;\n  }\n\n  .ld-device {\n    width:340px;\n    transform:scale(.78);\n    transform-origin:center;\n  }\n\n  .ld-showcase-bottom {flex-direction:column;gap:3px}\n\n  .ld-story,.ld-features,.ld-lifestyle {margin-bottom:75px}\n  .ld-kicker {font-size:9px;letter-spacing:1.4px}\n\n  .ld-story h2,\n  .ld-section-heading h2,\n  .ld-uv-section h2,\n  .ld-lifestyle h2 {\n    font-size:clamp(30px,8.3vw,42px);\n    letter-spacing:-1.2px;\n  }\n\n  .ld-body {font-size:14px;line-height:1.75}\n\n  .ld-mini-grid {gap:10px;margin-top:25px}\n  .ld-mini-grid article {padding:20px;border-radius:13px}\n  .ld-mini-icon {width:42px;height:42px;margin-bottom:15px}\n  .ld-mini-grid h3 {font-size:15px}\n  .ld-mini-grid p {font-size:12px}\n\n  .ld-section-heading {margin-bottom:25px}\n  .ld-feature-grid {grid-template-columns:1fr;gap:12px}\n\n  .ld-feature,.ld-feature-wide {\n    grid-column:auto;\n    min-height:0;\n    padding:23px 20px;\n    border-radius:15px;\n  }\n\n  .ld-feature-top {margin-bottom:22px}\n  .ld-feature-icon {width:42px;height:42px;font-size:23px}\n  .ld-feature h3 {font-size:21px}\n  .ld-feature\u003ep:not(.ld-feature-label) {font-size:13px}\n  .ld-feature-footer {font-size:9px;letter-spacing:.6px}\n\n  .ld-uv-section {\n    padding:30px 18px;\n    gap:20px;\n    margin-bottom:75px;\n    border-radius:18px;\n  }\n\n  .ld-uv-copy\u003ep:not(.ld-kicker) {font-size:13px}\n  .ld-uv-steps div {font-size:12px}\n  .ld-uv-graphic {width:220px}\n  .ld-graphic-core {width:135px;height:135px}\n  .ld-graphic-core strong {font-size:15px}\n  .ld-graphic-core small {font-size:8px}\n\n  .ld-use-grid {gap:10px;margin-top:25px}\n  .ld-use-grid article {padding:19px 13px}\n  .ld-use-grid h3 {font-size:14px;margin:16px 0 6px}\n  .ld-use-grid p {font-size:12px}\n\n  .ld-cta {padding:58px 18px;border-radius:18px}\n  .ld-cta h2 {\n    font-size:clamp(35px,9.5vw,52px);\n    letter-spacing:-1.5px;\n  }\n\n  .ld-cta\u003ep:not(.ld-kicker) {font-size:13px}\n  .ld-shop-button {min-width:0}\n  .ld-checkout {font-size:8px;letter-spacing:.4px}\n\n  .ld-footer {\n    flex-direction:column;\n    align-items:center;\n    text-align:center;\n    gap:5px;\n    font-size:9px;\n  }\n}\n\n@media(max-width:360px) {\n  .ld-luma {padding-left:10px;padding-right:10px}\n  .ld-hero h2 {font-size:33px}\n  .ld-use-grid {grid-template-columns:1fr}\n  .ld-device {transform:scale(.7)}\n}\n\n@media(prefers-reduced-motion:reduce) {\n  .ld-luma *,\n  .ld-luma *::before,\n  .ld-luma *::after {\n    animation:none!important;\n    transition:none!important;\n  }\n\n  .ld-luma.ld-ready .ld-reveal {\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function() {\n  function initLumaDock() {\n    document.querySelectorAll('.ld-luma').forEach(function(section) {\n      if (section.dataset.ldInit === 'true') return;\n      section.dataset.ldInit = 'true';\n\n      if (!('IntersectionObserver' in window) ||\n          window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n        return;\n      }\n\n      var elements = section.querySelectorAll('.ld-reveal');\n      var observer = new IntersectionObserver(function(entries) {\n        entries.forEach(function(entry) {\n          if (entry.isIntersecting) {\n            entry.target.classList.add('ld-visible');\n            observer.unobserve(entry.target);\n          }\n        });\n      }, {threshold:0.05,rootMargin:'0px 0px 40px 0px'});\n\n      section.classList.add('ld-ready');\n      elements.forEach(function(el) {observer.observe(el)});\n    });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded',initLumaDock);\n  } else {\n    initLumaDock();\n  }\n\n  document.addEventListener('shopify:section:load',initLumaDock);\n})();\n\u003c\/script\u003e\n","brand":"Solveo","offers":[{"title":"Default Title","offer_id":68132041720100,"sku":null,"price":589.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/files\/disinfectfnl.png?v=1794131788"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/collections\/bthrm_healthacaraeraea.png?v=1794038258","url":"https:\/\/solveo.co.za\/collections\/bathroom-healthcare.oembed","provider":"Solveo","version":"1.0","type":"link"}