{"product_id":"solveo-brushe™-makeup-brush-cleaner","title":"Solveo Brushè™ Makeup Brush Cleaner","description":"\n\u003csection class=\"sb-beauty\" id=\"solveo-brushe\"\u003e\n  \u003cdiv class=\"sb-glow sb-glow-one\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"sb-glow sb-glow-two\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"sb-wrap\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cheader class=\"sb-hero sb-reveal\"\u003e\n      \u003cdiv class=\"sb-badge\"\u003e\n        \u003cspan class=\"sb-badge-dot\"\u003e\u003c\/span\u003e\n        SOLVEO BEAUTY COLLECTION\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sb-series\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e THE BEAUTY RITUAL SERIES \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        A fresh start\u003cbr\u003efor your brushes.\n        \u003cem\u003eA little luxury\u003cbr\u003efor your routine.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"sb-intro\"\u003e\n        Meet the \u003cstrong\u003eSolveo Brushè™ Makeup Brush Cleaner\u003c\/strong\u003e.\n        Your electric cleaning companion designed to\n        make brush care beautifully simple.\n        Less hands-on scrubbing. More time for you.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"sb-actions\"\u003e\n        \u003ca href=\"#sb-shop\" class=\"sb-primary\"\u003e\n          DISCOVER BRUSHÈ™ \u003cspan\u003e↗\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#sb-features\" class=\"sb-secondary\"\u003e\n          Explore the benefits ↓\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sb-specs\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eElectric\u003c\/strong\u003e\n          \u003csmall\u003eAutomatic Cleaning\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eMulti-Slot\u003c\/strong\u003e\n          \u003csmall\u003eBrush Holder\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eUSB\u003c\/strong\u003e\n          \u003csmall\u003eRechargeable\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- ANIMATED BEAUTY VISUAL --\u003e\n    \u003cdiv class=\"sb-visual sb-reveal\" aria-hidden=\"true\"\u003e\n      \u003cdiv class=\"sb-visual-glow\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"sb-halo sb-halo-one\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"sb-halo sb-halo-two\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"sb-cleaner\"\u003e\n        \u003cdiv class=\"sb-cleaner-lid\"\u003e\n          \u003cdiv class=\"sb-brush sb-brush-one\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-brush sb-brush-two\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-brush sb-brush-three\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-cleaner-chamber\"\u003e\n          \u003cdiv class=\"sb-water\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-bubble sb-b1\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-bubble sb-b2\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-bubble sb-b3\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-bubble sb-b4\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"sb-bubble sb-b5\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-cleaner-base\"\u003e\n          \u003cspan\u003eBRUSHÈ™\u003c\/span\u003e\n          \u003cdiv class=\"sb-power-light\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sb-visual-caption\"\u003e\n        \u003cspan\u003eTHE ART OF BRUSH CARE\u003c\/span\u003e\n        \u003cstrong\u003eREFRESH YOUR BEAUTY ROUTINE.\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- PROBLEM --\u003e\n    \u003csection class=\"sb-problem sb-reveal\"\u003e\n      \u003cdiv class=\"sb-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e THE BEAUTY ROUTINE RESET\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Beautiful makeup deserves\n        \u003cem\u003ebeautifully cared-for tools.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"sb-copy\"\u003e\n        You love the finished look. Washing yesterday's\n        foundation out of your brushes? Not quite as\n        glamorous. Brushè™ makes that overlooked\n        step feel a little more effortless.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"sb-problem-grid\"\u003e\n        \u003carticle class=\"sb-mini-card\"\u003e\n          \u003cdiv class=\"sb-mini-icon\"\u003e✧\u003c\/div\u003e\n          \u003ch3\u003eMakeup Build-Up\u003c\/h3\u003e\n          \u003cp\u003eHelp lift foundation, powder and oils\n             from your favourite brushes.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-mini-card\"\u003e\n          \u003cdiv class=\"sb-mini-icon\"\u003e◷\u003c\/div\u003e\n          \u003ch3\u003eTime-Consuming Care\u003c\/h3\u003e\n          \u003cp\u003eLet electric cleaning take some\n             of the manual work out of washing.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-mini-card\"\u003e\n          \u003cdiv class=\"sb-mini-icon\"\u003e♡\u003c\/div\u003e\n          \u003ch3\u003eYour Beauty Reset\u003c\/h3\u003e\n          \u003cp\u003eMake regular brush care a more\n             inviting part of your routine.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FEATURES --\u003e\n    \u003csection class=\"sb-features\" id=\"sb-features\"\u003e\n      \u003cdiv class=\"sb-feature-heading sb-reveal\"\u003e\n        \u003cdiv class=\"sb-kicker\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e BEAUTY MEETS CONVENIENCE\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n          Thoughtful care.\n          \u003cem\u003eEffortlessly refined.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp class=\"sb-copy\"\u003e\n          A smarter way to refresh your tools,\n          designed for the beauty routines\n          you already love.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"sb-feature-grid\"\u003e\n\n        \u003carticle class=\"sb-feature sb-reveal\"\u003e\n          \u003cdiv class=\"sb-feature-top\"\u003e\n            \u003cspan class=\"sb-feature-icon\"\u003e✧\u003c\/span\u003e\n            \u003cspan class=\"sb-index\"\u003e01 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"sb-feature-tag\"\u003eFRESHER TOOLS\u003c\/div\u003e\n          \u003ch3\u003eLift Away Makeup Residue\u003c\/h3\u003e\n          \u003cp\u003e\n            Foundation, powder and oils can build up\n            between brush bristles. Brushè™ helps\n            loosen residue so your next routine\n            starts with cleaner tools.\n          \u003c\/p\u003e\n          \u003cdiv class=\"sb-feature-foot\"\u003e\n            \u003cspan\u003eREFRESH YOUR BRUSHES\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-feature sb-reveal\"\u003e\n          \u003cdiv class=\"sb-feature-top\"\u003e\n            \u003cspan class=\"sb-feature-icon\"\u003e◷\u003c\/span\u003e\n            \u003cspan class=\"sb-index\"\u003e02 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"sb-feature-tag\"\u003eLESS MANUAL WORK\u003c\/div\u003e\n          \u003ch3\u003eAutomatic Electric Cleaning\u003c\/h3\u003e\n          \u003cp\u003e\n            Take some of the scrubbing out of\n            brush maintenance. Make caring for\n            your collection easier to fit into\n            a busy week.\n          \u003c\/p\u003e\n          \u003cdiv class=\"sb-feature-foot\"\u003e\n            \u003cspan\u003eMORE TIME FOR YOU\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-feature sb-reveal\"\u003e\n          \u003cdiv class=\"sb-feature-top\"\u003e\n            \u003cspan class=\"sb-feature-icon\"\u003e▥\u003c\/span\u003e\n            \u003cspan class=\"sb-index\"\u003e03 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"sb-feature-tag\"\u003eVERSATILE HOLDER\u003c\/div\u003e\n          \u003ch3\u003eMulti-Slot Brush Support\u003c\/h3\u003e\n          \u003cp\u003e\n            Accommodate different compatible\n            brush sizes with a multi-slot holder\n            designed to keep brushes positioned\n            during cleaning.\n          \u003c\/p\u003e\n          \u003cdiv class=\"sb-feature-foot\"\u003e\n            \u003cspan\u003eCARE FOR YOUR FAVOURITES\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-feature sb-reveal\"\u003e\n          \u003cdiv class=\"sb-feature-top\"\u003e\n            \u003cspan class=\"sb-feature-icon\"\u003e♡\u003c\/span\u003e\n            \u003cspan class=\"sb-index\"\u003e04 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"sb-feature-tag\"\u003eELEGANT DESIGN\u003c\/div\u003e\n          \u003ch3\u003eBeauty-Space Worthy\u003c\/h3\u003e\n          \u003cp\u003e\n            Soft lilac accents and a transparent\n            cleaning chamber bring a refined,\n            polished feel to the practical\n            side of beauty.\n          \u003c\/p\u003e\n          \u003cdiv class=\"sb-feature-foot\"\u003e\n            \u003cspan\u003eDESIGNED TO LOOK THE PART\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"sb-feature sb-feature-wide sb-reveal\"\u003e\n          \u003cdiv class=\"sb-feature-top\"\u003e\n            \u003cspan class=\"sb-feature-icon\"\u003eϟ\u003c\/span\u003e\n            \u003cspan class=\"sb-index\"\u003e05 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"sb-feature-tag\"\u003eEVERYDAY CONVENIENCE\u003c\/div\u003e\n          \u003ch3\u003eRecharge. Refresh. Repeat.\u003c\/h3\u003e\n          \u003cp\u003e\n            USB-rechargeable convenience and a compact\n            design make Brushè™ easy to incorporate\n            into your beauty setup. A practical\n            companion for your regular brush-care routine.\n          \u003c\/p\u003e\n          \u003cdiv class=\"sb-feature-foot\"\u003e\n            \u003cspan\u003eYOUR ROUTINE, REFINED\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!-- HOW IT WORKS --\u003e\n    \u003csection class=\"sb-ritual sb-reveal\"\u003e\n      \u003cdiv class=\"sb-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e THE BRUSHÈ™ RITUAL\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        A little care.\n        \u003cem\u003eA lovely difference.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"sb-copy\"\u003e\n        Make brush maintenance part of your\n        weekly beauty reset with a simple\n        three-step routine.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"sb-steps\"\u003e\n        \u003cdiv class=\"sb-step\"\u003e\n          \u003cdiv class=\"sb-step-number\"\u003e01\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003ePrepare\u003c\/h3\u003e\n            \u003cp\u003eAdd water and a suitable brush cleanser\n               according to the product instructions.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-step\"\u003e\n          \u003cdiv class=\"sb-step-number\"\u003e02\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003eRefresh\u003c\/h3\u003e\n            \u003cp\u003eSecure compatible brushes in the holder\n               and start the cleaning cycle.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-step\"\u003e\n          \u003cdiv class=\"sb-step-number\"\u003e03\u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003eCare \u0026amp; Dry\u003c\/h3\u003e\n            \u003cp\u003eRinse if required, then allow brushes\n               to dry fully before using them again.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- LIFESTYLE --\u003e\n    \u003csection class=\"sb-lifestyle sb-reveal\"\u003e\n      \u003cdiv class=\"sb-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e YOUR BEAUTY SPACE, ELEVATED\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Turn the chore into\n        \u003cem\u003ethe ritual.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"sb-use-grid\"\u003e\n        \u003cdiv class=\"sb-use\"\u003e\n          \u003cspan\u003e01\u003c\/span\u003e\n          \u003ch3\u003eSunday Resets\u003c\/h3\u003e\n          \u003cp\u003eA refreshing addition to your weekly\n             beauty routine.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-use\"\u003e\n          \u003cspan\u003e02\u003c\/span\u003e\n          \u003ch3\u003eMakeup Lovers\u003c\/h3\u003e\n          \u003cp\u003eGive your everyday brushes the\n             care they deserve.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-use\"\u003e\n          \u003cspan\u003e03\u003c\/span\u003e\n          \u003ch3\u003eBusy Schedules\u003c\/h3\u003e\n          \u003cp\u003eMake regular brush maintenance\n             feel less demanding.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"sb-use\"\u003e\n          \u003cspan\u003e04\u003c\/span\u003e\n          \u003ch3\u003eBeauty Setups\u003c\/h3\u003e\n          \u003cp\u003eKeep a compact cleaning companion\n             close to your collection.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003csection class=\"sb-cta sb-reveal\" id=\"sb-shop\"\u003e\n      \u003cdiv class=\"sb-cta-shine\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"sb-kicker sb-cta-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e SOLVEO BRUSHÈ™\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Less chore.\n        \u003cem\u003eMore beauty ritual.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Your brushes deserve care, too.\n        Bring a little more ease and elegance\n        to your everyday beauty routine.\n      \u003c\/p\u003e\n\n      \u003ca href=\"\/products\/solveo-brushe-makeup-brush-cleaner\" class=\"sb-buy\"\u003e\n        SHOP BRUSHÈ™ \u003cspan\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"sb-trust\"\u003e\n        \u003cspan\u003eSECURE CHECKOUT\u003c\/span\u003e\n        \u003ci\u003e\u003c\/i\u003e\n        \u003cspan\u003eSOUTH AFRICAN STORE\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cfooter class=\"sb-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.sb-beauty {\n  --sb-bg:#fcf9ff;\n  --sb-ink:#292035;\n  --sb-muted:#756c80;\n  --sb-lilac:#8d66b1;\n  --sb-soft:#eee4f7;\n  --sb-line:rgba(123,89,153,.15);\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n  background:var(--sb-bg);\n  color:var(--sb-ink);\n  padding:85px 20px 25px;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.6;\n}\n\n.sb-beauty *,\n.sb-beauty *::before,\n.sb-beauty *::after {\n  box-sizing:border-box;\n}\n\n.sb-beauty a {\n  text-decoration:none;\n}\n\n.sb-beauty h2,\n.sb-beauty h3,\n.sb-beauty p {\n  margin-top:0;\n}\n\n.sb-wrap {\n  max-width:1160px;\n  margin:auto;\n  position:relative;\n  z-index:2;\n}\n\n.sb-glow {\n  position:absolute;\n  border-radius:50%;\n  pointer-events:none;\n  filter:blur(90px);\n  opacity:.5;\n}\n\n.sb-glow-one {\n  width:420px;\n  height:420px;\n  top:-170px;\n  right:-200px;\n  background:#e9d6fb;\n}\n\n.sb-glow-two {\n  width:350px;\n  height:350px;\n  top:48%;\n  left:-230px;\n  background:#f1dfe9;\n}\n\n\/* HERO *\/\n\n.sb-hero {\n  text-align:center;\n  max-width:850px;\n  margin:0 auto 60px;\n}\n\n.sb-badge {\n  display:inline-flex;\n  align-items:center;\n  gap:10px;\n  border:1px solid #e1cdec;\n  border-radius:50px;\n  padding:9px 16px;\n  color:#8054a2;\n  background:#f5edfb;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n.sb-badge-dot {\n  width:7px;\n  height:7px;\n  border-radius:50%;\n  background:#a87bc6;\n  box-shadow:0 0 0 0 rgba(168,123,198,.4);\n  animation:sbPulse 2s infinite;\n}\n\n@keyframes sbPulse {\n  65% {\n    box-shadow:0 0 0 9px rgba(168,123,198,0);\n  }\n  100% {\n    box-shadow:0 0 0 0 rgba(168,123,198,0);\n  }\n}\n\n.sb-series {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:15px;\n  color:#a48eae;\n  font-size:10px;\n  font-weight:700;\n  letter-spacing:3px;\n  margin-top:35px;\n}\n\n.sb-series span {\n  width:38px;\n  height:1px;\n  background:#d6c3df;\n}\n\n.sb-hero h2 {\n  font-size:clamp(43px,6.5vw,80px);\n  font-weight:800;\n  letter-spacing:-3.5px;\n  line-height:1.07;\n  margin:20px 0 25px;\n}\n\n.sb-hero h2 em {\n  display:block;\n  font-style:normal;\n  background:linear-gradient(\n    100deg,#9a6cc0,#c19ad7,#8a5caa\n  );\n  background-size:200% auto;\n  -webkit-background-clip:text;\n  background-clip:text;\n  color:transparent;\n  animation:sbShimmer 7s linear infinite;\n}\n\n@keyframes sbShimmer {\n  to {background-position:200% center}\n}\n\n.sb-intro {\n  color:var(--sb-muted);\n  font-size:17px;\n  max-width:660px;\n  margin:0 auto 30px;\n}\n\n.sb-intro strong {\n  color:#44324e;\n}\n\n.sb-actions {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  flex-wrap:wrap;\n  gap:22px;\n}\n\n.sb-primary,\n.sb-buy {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  gap:26px;\n  background:linear-gradient(110deg,#9b70bd,#775099);\n  color:white!important;\n  padding:17px 25px;\n  border-radius:11px;\n  font-size:12px;\n  font-weight:900;\n  letter-spacing:1px;\n  transition:transform .3s,box-shadow .3s;\n  box-shadow:0 12px 35px rgba(117,77,149,.2);\n}\n\n.sb-primary:hover,\n.sb-buy:hover {\n  transform:translateY(-4px);\n  box-shadow:0 18px 45px rgba(117,77,149,.3);\n}\n\n.sb-primary span,\n.sb-buy span {\n  font-size:21px;\n}\n\n.sb-secondary {\n  color:#886c9b!important;\n  font-size:13px;\n  font-weight:700;\n}\n\n.sb-specs {\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(--sb-line);\n  border-bottom:1px solid var(--sb-line);\n  padding:20px 0;\n}\n\n.sb-specs div {\n  display:flex;\n  flex-direction:column;\n  gap:2px;\n  padding:0 10px;\n}\n\n.sb-specs div+div {\n  border-left:1px solid var(--sb-line);\n}\n\n.sb-specs strong {\n  color:#543a66;\n  font-size:17px;\n}\n\n.sb-specs small {\n  color:#9989a2;\n  font-size:11px;\n}\n\n\/* ANIMATED CLEANER *\/\n\n.sb-visual {\n  height:390px;\n  position:relative;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  overflow:hidden;\n  border-radius:24px;\n  border:1px solid #eadcf1;\n  background:radial-gradient(\n    ellipse at center,#f3e6fa,#e9d9f3 65%,#f8f1fb\n  );\n  margin-bottom:125px;\n}\n\n.sb-visual-glow {\n  position:absolute;\n  width:320px;\n  height:320px;\n  border-radius:50%;\n  background:rgba(255,255,255,.65);\n  filter:blur(60px);\n  animation:sbGlow 5s ease-in-out infinite alternate;\n}\n\n@keyframes sbGlow {\n  to {transform:scale(1.2);opacity:.4}\n}\n\n.sb-halo {\n  position:absolute;\n  border:1px solid rgba(157,105,193,.18);\n  border-radius:50%;\n  animation:sbHalo 5s ease-in-out infinite;\n}\n\n.sb-halo-one {width:280px;height:280px}\n.sb-halo-two {\n  width:370px;height:370px;\n  animation-delay:1s;\n}\n\n@keyframes sbHalo {\n  50% {transform:scale(1.06);opacity:.4}\n}\n\n.sb-cleaner {\n  position:relative;\n  z-index:2;\n  width:175px;\n  height:230px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  filter:drop-shadow(0 20px 20px rgba(95,55,115,.16));\n}\n\n.sb-cleaner-lid {\n  position:relative;\n  z-index:3;\n  width:180px;\n  height:27px;\n  border-radius:50%;\n  background:linear-gradient(180deg,#d6b9e9,#a982c4);\n  border:2px solid #aa83c4;\n  box-shadow:0 5px 10px rgba(95,55,115,.12);\n}\n\n.sb-brush {\n  position:absolute;\n  bottom:14px;\n  width:8px;\n  height:80px;\n  background:linear-gradient(90deg,#a78bb7,#e3cde9,#a78bb7);\n  border-radius:4px;\n  transform-origin:bottom;\n  animation:sbBrushMove 3s ease-in-out infinite;\n}\n\n.sb-brush::before {\n  content:\"\";\n  position:absolute;\n  top:-19px;\n  left:-6px;\n  width:20px;\n  height:25px;\n  border-radius:60% 60% 25% 25%;\n  background:linear-gradient(90deg,#6e4d77,#ae89af);\n}\n\n.sb-brush-one {left:45px;transform:rotate(-12deg)}\n.sb-brush-two {left:85px;height:92px;animation-delay:.5s}\n.sb-brush-three {left:125px;transform:rotate(12deg);animation-delay:1s}\n\n@keyframes sbBrushMove {\n  50% {translate:0 -3px}\n}\n\n.sb-cleaner-chamber {\n  position:relative;\n  width:155px;\n  height:145px;\n  margin-top:-2px;\n  overflow:hidden;\n  background:linear-gradient(\n    90deg,rgba(255,255,255,.55),\n    rgba(223,196,240,.38),\n    rgba(255,255,255,.65)\n  );\n  border:2px solid rgba(164,119,192,.5);\n  border-radius:8px 8px 18px 18px;\n}\n\n.sb-water {\n  position:absolute;\n  bottom:0;\n  width:100%;\n  height:52%;\n  background:linear-gradient(\n    180deg,rgba(194,151,225,.35),\n    rgba(151,99,195,.32)\n  );\n  animation:sbWater 3s ease-in-out infinite;\n}\n\n@keyframes sbWater {\n  50% {height:56%;transform:skewY(2deg)}\n}\n\n.sb-bubble {\n  position:absolute;\n  bottom:15px;\n  width:10px;\n  height:10px;\n  border-radius:50%;\n  border:1px solid rgba(255,255,255,.9);\n  background:rgba(255,255,255,.25);\n  animation:sbBubbleRise 3s linear infinite;\n}\n\n.sb-b1 {left:20%;animation-delay:0s}\n.sb-b2 {left:40%;width:7px;height:7px;animation-delay:.8s}\n.sb-b3 {left:65%;animation-delay:1.5s}\n.sb-b4 {left:80%;width:6px;height:6px;animation-delay:2.2s}\n.sb-b5 {left:50%;width:12px;height:12px;animation-delay:1.1s}\n\n@keyframes sbBubbleRise {\n  0% {transform:translateY(0);opacity:0}\n  20% {opacity:1}\n  100% {transform:translateY(-105px);opacity:0}\n}\n\n.sb-cleaner-base {\n  position:relative;\n  width:165px;\n  height:57px;\n  margin-top:-3px;\n  background:linear-gradient(145deg,#d3b4e6,#a87cc6);\n  border:2px solid #a57ac0;\n  border-radius:8px 8px 22px 22px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n\n.sb-cleaner-base\u003espan {\n  color:#fff;\n  font-size:13px;\n  font-weight:900;\n  letter-spacing:2px;\n}\n\n.sb-power-light {\n  position:absolute;\n  right:18px;\n  width:6px;\n  height:6px;\n  border-radius:50%;\n  background:#fff;\n  box-shadow:0 0 10px #fff;\n  animation:sbPulse 2s infinite;\n}\n\n.sb-visual-caption {\n  position:absolute;\n  bottom:23px;\n  left:25px;\n  display:flex;\n  flex-direction:column;\n  z-index:3;\n}\n\n.sb-visual-caption span {\n  color:#a281b1;\n  font-size:9px;\n  letter-spacing:2px;\n}\n\n.sb-visual-caption strong {\n  color:#654675;\n  font-size:16px;\n  letter-spacing:1px;\n}\n\n\/* COMMON HEADINGS *\/\n\n.sb-kicker {\n  display:flex;\n  align-items:center;\n  gap:12px;\n  color:#9168af;\n  font-size:10px;\n  letter-spacing:2px;\n  font-weight:800;\n  margin-bottom:20px;\n}\n\n.sb-kicker\u003espan {\n  width:25px;\n  height:1px;\n  background:#b28acb;\n  flex-shrink:0;\n}\n\n.sb-problem,\n.sb-features,\n.sb-lifestyle {\n  margin-bottom:125px;\n}\n\n.sb-problem h2,\n.sb-feature-heading h2,\n.sb-ritual h2,\n.sb-lifestyle h2 {\n  font-size:clamp(34px,5vw,60px);\n  font-weight:800;\n  line-height:1.12;\n  letter-spacing:-2px;\n  margin-bottom:22px;\n}\n\n.sb-problem h2 em,\n.sb-feature-heading h2 em,\n.sb-ritual h2 em,\n.sb-lifestyle h2 em {\n  display:block;\n  font-style:normal;\n  color:#a079bc;\n}\n\n.sb-copy {\n  max-width:650px;\n  color:var(--sb-muted);\n  font-size:16px;\n  line-height:1.85;\n  margin-bottom:35px;\n}\n\n\/* PROBLEM CARDS *\/\n\n.sb-problem-grid {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n}\n\n.sb-mini-card {\n  background:#fff;\n  border:1px solid var(--sb-line);\n  border-radius:17px;\n  padding:27px 23px;\n  box-shadow:0 12px 35px rgba(91,55,115,.04);\n  transition:.3s;\n}\n\n.sb-mini-card:hover {\n  transform:translateY(-5px);\n  box-shadow:0 20px 40px rgba(91,55,115,.1);\n}\n\n.sb-mini-icon {\n  display:grid;\n  place-items:center;\n  width:50px;\n  height:50px;\n  background:#f4eafa;\n  border:1px solid #e7d5f0;\n  color:#9569b4;\n  border-radius:14px;\n  font-size:25px;\n  margin-bottom:20px;\n}\n\n.sb-mini-card h3 {\n  font-size:17px;\n  margin-bottom:8px;\n  color:#463251;\n}\n\n.sb-mini-card p {\n  color:var(--sb-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* FEATURE CARDS *\/\n\n.sb-feature-heading {\n  margin-bottom:38px;\n}\n\n.sb-feature-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.sb-feature {\n  position:relative;\n  display:flex;\n  flex-direction:column;\n  min-height:320px;\n  padding:32px;\n  border-radius:20px;\n  background:linear-gradient(145deg,#fff,#f8f2fc);\n  border:1px solid var(--sb-line);\n  overflow:hidden;\n  box-shadow:0 12px 30px rgba(91,55,115,.04);\n  transition:transform .35s,box-shadow .35s;\n}\n\n.sb-feature::before {\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:3px;\n  background:linear-gradient(\n    90deg,transparent,#c59ad9,transparent\n  );\n  transform:scaleX(0);\n  transition:transform .4s;\n}\n\n.sb-feature:hover {\n  transform:translateY(-5px);\n  box-shadow:0 20px 45px rgba(91,55,115,.1);\n}\n\n.sb-feature:hover::before {\n  transform:scaleX(1);\n}\n\n.sb-feature-wide {\n  grid-column:1\/-1;\n  min-height:250px;\n  background:linear-gradient(120deg,#fff,#f3e9fa);\n}\n\n.sb-feature-top {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  margin-bottom:30px;\n}\n\n.sb-feature-icon {\n  display:grid;\n  place-items:center;\n  width:48px;\n  height:48px;\n  background:#f0e2f7;\n  border:1px solid #e2cdeb;\n  color:#9264b2;\n  border-radius:14px;\n  font-size:27px;\n}\n\n.sb-index {\n  color:#b3a0bc;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1.5px;\n}\n\n.sb-feature-tag {\n  font-size:11px;\n  font-weight:800;\n  color:#9b70b9;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.sb-feature h3 {\n  color:#392843;\n  font-size:24px;\n  font-weight:800;\n  letter-spacing:-.5px;\n  margin-bottom:12px;\n}\n\n.sb-feature p {\n  color:var(--sb-muted);\n  font-size:14px;\n  line-height:1.8;\n  max-width:530px;\n  margin-bottom:25px;\n}\n\n.sb-feature-foot {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  margin-top:auto;\n  padding-top:17px;\n  border-top:1px solid var(--sb-line);\n  color:#a18cae;\n  font-size:10px;\n  letter-spacing:1.4px;\n  font-weight:800;\n}\n\n.sb-feature-foot span:last-child {\n  font-size:18px;\n  color:#a477c1;\n}\n\n\/* RITUAL STEPS *\/\n\n.sb-ritual {\n  background:linear-gradient(130deg,#f2e8f8,#fbf7fd);\n  border:1px solid #e7d7ef;\n  border-radius:25px;\n  padding:65px;\n  margin-bottom:125px;\n}\n\n.sb-steps {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n  margin-top:30px;\n}\n\n.sb-step {\n  padding:25px;\n  border:1px solid #e6d6ee;\n  background:rgba(255,255,255,.7);\n  border-radius:16px;\n}\n\n.sb-step-number {\n  display:grid;\n  place-items:center;\n  width:45px;\n  height:45px;\n  background:#ead9f4;\n  color:#8c5cab;\n  border-radius:50%;\n  font-size:13px;\n  font-weight:900;\n  margin-bottom:20px;\n}\n\n.sb-step h3 {\n  color:#47314f;\n  font-size:18px;\n  margin-bottom:8px;\n}\n\n.sb-step p {\n  color:var(--sb-muted);\n  font-size:13px;\n  line-height:1.75;\n  margin:0;\n}\n\n\/* LIFESTYLE *\/\n\n.sb-use-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:13px;\n  margin-top:40px;\n}\n\n.sb-use {\n  padding:25px 19px;\n  border-top:2px solid #b68bcf;\n  background:#fff;\n  border-radius:0 0 13px 13px;\n  box-shadow:0 10px 30px rgba(91,55,115,.04);\n}\n\n.sb-use\u003espan {\n  color:#a075bd;\n  font-size:12px;\n  font-weight:800;\n}\n\n.sb-use h3 {\n  margin:25px 0 8px;\n  color:#493451;\n  font-size:16px;\n}\n\n.sb-use p {\n  color:var(--sb-muted);\n  font-size:13px;\n  margin:0;\n  line-height:1.7;\n}\n\n\/* CTA *\/\n\n.sb-cta {\n  position:relative;\n  text-align:center;\n  padding:85px 30px;\n  overflow:hidden;\n  border-radius:25px;\n  background:linear-gradient(\n    145deg,#e9d9f3,#f7eefb\n  );\n  border:1px solid #dcc6e9;\n}\n\n.sb-cta-shine {\n  position:absolute;\n  width:80%;\n  height:2px;\n  left:10%;\n  top:0;\n  background:linear-gradient(\n    90deg,transparent,#b889d0,transparent\n  );\n}\n\n.sb-cta-kicker {\n  justify-content:center;\n}\n\n.sb-cta h2 {\n  color:#382642;\n  font-size:clamp(42px,6vw,78px);\n  line-height:1.08;\n  letter-spacing:-3px;\n  margin-bottom:22px;\n}\n\n.sb-cta h2 em {\n  display:block;\n  font-style:normal;\n  color:#9266b0;\n}\n\n.sb-cta\u003ep {\n  color:#766581;\n  max-width:550px;\n  margin:0 auto 32px;\n  line-height:1.8;\n  font-size:15px;\n}\n\n.sb-buy {\n  min-width:245px;\n}\n\n.sb-trust {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:13px;\n  margin-top:25px;\n  color:#927ca1;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.sb-trust i {\n  width:3px;\n  height:3px;\n  border-radius:50%;\n  background:#bba1cb;\n}\n\n.sb-footer {\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  padding:30px 5px 0;\n  color:#ad9ab5;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n\/* REVEAL ANIMATIONS *\/\n\n.sb-reveal {\n  opacity:1;\n  transform:none;\n}\n\n.sb-beauty.sb-js-ready .sb-reveal {\n  opacity:0;\n  transform:translateY(22px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n\n.sb-beauty.sb-js-ready .sb-reveal.sb-visible {\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* TABLET *\/\n\n@media(max-width:900px) {\n  .sb-problem-grid {\n    grid-template-columns:1fr;\n  }\n\n  .sb-ritual {\n    padding:40px;\n  }\n\n  .sb-steps {\n    grid-template-columns:1fr;\n  }\n\n  .sb-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px) {\n  .sb-beauty {\n    padding:50px 15px 22px;\n  }\n\n  .sb-hero {\n    margin-bottom:35px;\n  }\n\n  .sb-badge {\n    font-size:9px;\n    letter-spacing:1.1px;\n    padding:8px 12px;\n  }\n\n  .sb-series {\n    margin-top:27px;\n    font-size:8px;\n    letter-spacing:1.6px;\n    gap:9px;\n  }\n\n  .sb-series span {\n    width:22px;\n  }\n\n  .sb-hero h2 {\n    font-size:clamp(34px,9.3vw,51px);\n    letter-spacing:-1.7px;\n    line-height:1.1;\n    margin:18px 0;\n  }\n\n  .sb-intro {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .sb-actions {\n    flex-direction:column;\n    gap:15px;\n  }\n\n  .sb-primary {\n    width:100%;\n    padding:16px;\n  }\n\n  .sb-secondary {\n    font-size:12px;\n  }\n\n  .sb-specs {\n    margin-top:32px;\n    padding:16px 0;\n  }\n\n  .sb-specs div {\n    padding:0 5px;\n  }\n\n  .sb-specs strong {\n    font-size:clamp(10px,3vw,14px);\n  }\n\n  .sb-specs small {\n    font-size:9px;\n    line-height:1.4;\n  }\n\n  .sb-visual {\n    height:310px;\n    border-radius:17px;\n    margin-bottom:75px;\n  }\n\n  .sb-cleaner {\n    transform:scale(.83);\n  }\n\n  .sb-halo-one {width:210px;height:210px}\n  .sb-halo-two {width:290px;height:290px}\n\n  .sb-visual-caption {\n    bottom:15px;\n    left:15px;\n  }\n\n  .sb-visual-caption span {\n    font-size:8px;\n  }\n\n  .sb-visual-caption strong {\n    font-size:12px;\n  }\n\n  .sb-problem,\n  .sb-features,\n  .sb-lifestyle {\n    margin-bottom:78px;\n  }\n\n  .sb-kicker {\n    font-size:9px;\n    letter-spacing:1.2px;\n    gap:9px;\n    line-height:1.5;\n  }\n\n  .sb-kicker\u003espan {\n    width:18px;\n  }\n\n  .sb-problem h2,\n  .sb-feature-heading h2,\n  .sb-ritual h2,\n  .sb-lifestyle h2 {\n    font-size:clamp(30px,8.3vw,42px);\n    letter-spacing:-1.2px;\n    line-height:1.15;\n  }\n\n  .sb-copy {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .sb-problem-grid {\n    gap:10px;\n  }\n\n  .sb-mini-card {\n    padding:20px;\n    border-radius:13px;\n  }\n\n  .sb-mini-icon {\n    width:42px;\n    height:42px;\n    font-size:22px;\n    margin-bottom:15px;\n  }\n\n  .sb-mini-card h3 {\n    font-size:15px;\n  }\n\n  .sb-mini-card p {\n    font-size:12px;\n  }\n\n  .sb-feature-heading {\n    margin-bottom:25px;\n  }\n\n  .sb-feature-grid {\n    grid-template-columns:1fr;\n    gap:12px;\n  }\n\n  .sb-feature,\n  .sb-feature-wide {\n    grid-column:auto;\n    min-height:0;\n    padding:24px 21px;\n    border-radius:15px;\n  }\n\n  .sb-feature-top {\n    margin-bottom:22px;\n  }\n\n  .sb-feature-icon {\n    width:42px;\n    height:42px;\n    font-size:23px;\n  }\n\n  .sb-feature h3 {\n    font-size:21px;\n  }\n\n  .sb-feature p {\n    font-size:13px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .sb-feature-foot {\n    font-size:9px;\n    letter-spacing:.8px;\n  }\n\n  .sb-ritual {\n    padding:35px 20px;\n    margin-bottom:80px;\n    border-radius:18px;\n  }\n\n  .sb-steps {\n    gap:10px;\n    margin-top:20px;\n  }\n\n  .sb-step {\n    padding:20px;\n  }\n\n  .sb-step-number {\n    width:38px;\n    height:38px;\n    margin-bottom:14px;\n  }\n\n  .sb-step h3 {\n    font-size:16px;\n  }\n\n  .sb-step p {\n    font-size:12px;\n  }\n\n  .sb-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    gap:10px;\n    margin-top:25px;\n  }\n\n  .sb-use {\n    padding:19px 14px;\n  }\n\n  .sb-use h3 {\n    font-size:14px;\n    margin:18px 0 6px;\n  }\n\n  .sb-use p {\n    font-size:12px;\n  }\n\n  .sb-cta {\n    padding:58px 19px;\n    border-radius:18px;\n  }\n\n  .sb-cta h2 {\n    font-size:clamp(36px,10vw,53px);\n    letter-spacing:-1.6px;\n  }\n\n  .sb-cta\u003ep {\n    font-size:13px;\n    line-height:1.8;\n  }\n\n  .sb-buy {\n    width:100%;\n    min-width:0;\n    padding:16px;\n  }\n\n  .sb-trust {\n    font-size:8px;\n    gap:8px;\n    letter-spacing:.5px;\n  }\n\n  .sb-footer {\n    flex-direction:column;\n    align-items:center;\n    text-align:center;\n    gap:5px;\n    font-size:9px;\n    letter-spacing:1.2px;\n  }\n}\n\n@media(max-width:360px) {\n  .sb-beauty {\n    padding-left:11px;\n    padding-right:11px;\n  }\n\n  .sb-hero h2 {\n    font-size:33px;\n  }\n\n  .sb-use-grid {\n    grid-template-columns:1fr;\n  }\n}\n\n@media(prefers-reduced-motion:reduce) {\n  .sb-beauty *,\n  .sb-beauty *::before,\n  .sb-beauty *::after {\n    animation:none!important;\n    transition:none!important;\n    scroll-behavior:auto!important;\n  }\n\n  .sb-beauty.sb-js-ready .sb-reveal {\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  function initBrushe() {\n    document.querySelectorAll('.sb-beauty').forEach(\n      function(section) {\n        if (section.dataset.sbInit === 'true') return;\n        section.dataset.sbInit = 'true';\n\n        var elements = section.querySelectorAll('.sb-reveal');\n\n        if (!('IntersectionObserver' in window) ||\n            window.matchMedia(\n              '(prefers-reduced-motion: reduce)'\n            ).matches) {\n          return;\n        }\n\n        var observer = new IntersectionObserver(\n          function(entries) {\n            entries.forEach(function(entry) {\n              if (entry.isIntersecting) {\n                entry.target.classList.add('sb-visible');\n                observer.unobserve(entry.target);\n              }\n            });\n          },\n          {\n            threshold:0.06,\n            rootMargin:'0px 0px 40px 0px'\n          }\n        );\n\n        section.classList.add('sb-js-ready');\n        elements.forEach(function(el) {\n          observer.observe(el);\n        });\n      }\n    );\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener(\n      'DOMContentLoaded',initBrushe\n    );\n  } else {\n    initBrushe();\n  }\n\n  document.addEventListener(\n    'shopify:section:load',initBrushe\n  );\n})();\n\u003c\/script\u003e\n","brand":"Solveo","offers":[{"title":"Default Title","offer_id":68025125011748,"sku":null,"price":399.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/files\/mk3fnl.png?v=1793781199","url":"https:\/\/solveo.co.za\/products\/solveo-brushe%e2%84%a2-makeup-brush-cleaner","provider":"Solveo","version":"1.0","type":"link"}