{"title":"Car Accessories","description":null,"products":[{"product_id":"solveo-roadframe™-dash-cam","title":"Solveo RoadFrame™ Dash Cam","description":"\n\u003csection class=\"rf-premium\" id=\"roadframe-premium\"\u003e\n  \u003cdiv class=\"rf-ambient rf-ambient-one\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rf-ambient rf-ambient-two\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"rf-wrap\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cheader class=\"rf-hero rf-reveal\"\u003e\n      \u003cdiv class=\"rf-eyebrow\"\u003e\n        \u003cspan class=\"rf-live-dot\"\u003e\u003c\/span\u003e\n        SOLVEO CAR ACCESSORIES\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rf-hero-rule\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e ROADFRAME SERIES \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Every journey\u003cbr\u003e\n        has a story.\n        \u003cspan\u003eMake sure yours\u003cbr\u003eis recorded.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"rf-intro\"\u003e\n        Meet the \u003cstrong\u003eSolveo RoadFrame™ Dash Cam\u003c\/strong\u003e.\n        Your everyday driving companion for capturing\n        the moments that matter — from the morning commute\n        to the open road.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"rf-actions\"\u003e\n        \u003ca href=\"#rf-shop\" class=\"rf-primary\"\u003e\n          EXPLORE ROADFRAME\n          \u003cspan aria-hidden=\"true\"\u003e↗\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#rf-features\" class=\"rf-secondary\"\u003e\n          Discover the technology ↓\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rf-spec-strip\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e1080P\u003c\/strong\u003e\n          \u003csmall\u003eFull HD Recording\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eG-SENSOR\u003c\/strong\u003e\n          \u003csmall\u003eImpact Detection\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eWIDE\u003c\/strong\u003e\n          \u003csmall\u003eAngle Coverage\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- ROAD VISUAL: PURE CSS, NO PRODUCT IMAGE --\u003e\n    \u003cdiv class=\"rf-road-scene rf-reveal\" aria-hidden=\"true\"\u003e\n      \u003cdiv class=\"rf-scene-glow\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"rf-horizon\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"rf-road\"\u003e\n        \u003cdiv class=\"rf-road-line rf-line-left\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"rf-road-line rf-line-right\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"rf-center-markings\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rf-scene-overlay\"\u003e\n        \u003cspan class=\"rf-rec\"\u003e\n          \u003ci\u003e\u003c\/i\u003e REC\n        \u003c\/span\u003e\n        \u003cspan\u003e1080P \/ FULL HD\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"rf-scene-caption\"\u003e\n        \u003cspan\u003eYOUR JOURNEY.\u003c\/span\u003e\n        \u003cstrong\u003eYOUR PERSPECTIVE.\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- THE PROBLEM --\u003e\n    \u003csection class=\"rf-story rf-reveal\"\u003e\n      \u003cdiv class=\"rf-kicker\"\u003e\n        \u003cspan class=\"rf-kicker-line\"\u003e\u003c\/span\u003e\n        THE REALITY OF THE ROAD\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        The unexpected\u003cbr\u003e\n        \u003cem\u003edoesn't give warnings.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"rf-section-copy\"\u003e\n        A sudden lane change. An unexpected bump.\n        A moment that becomes your word against\n        someone else's. On busy South African roads,\n        uncertainty is the last thing you need.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"rf-scenario-grid\"\u003e\n        \u003carticle class=\"rf-scenario\"\u003e\n          \u003cspan class=\"rf-scenario-icon\"\u003e↗\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003eSudden Lane Changes\u003c\/h3\u003e\n            \u003cp\u003eCapture the moments that happen\n              in a split second.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-scenario\"\u003e\n          \u003cspan class=\"rf-scenario-icon\"\u003e!\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003eUnexpected Incidents\u003c\/h3\u003e\n            \u003cp\u003eReview recorded footage when\n              the details matter.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-scenario\"\u003e\n          \u003cspan class=\"rf-scenario-icon\"\u003e◎\u003c\/span\u003e\n          \u003cdiv\u003e\n            \u003ch3\u003eDifferent Accounts\u003c\/h3\u003e\n            \u003cp\u003eHave a recorded perspective\n              to help explain what happened.\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FEATURES --\u003e\n    \u003csection class=\"rf-features\" id=\"rf-features\"\u003e\n      \u003cdiv class=\"rf-feature-heading rf-reveal\"\u003e\n        \u003cdiv class=\"rf-kicker\"\u003e\n          \u003cspan class=\"rf-kicker-line\"\u003e\u003c\/span\u003e\n          ENGINEERED FOR A CLEARER PERSPECTIVE\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n          Smart technology.\u003cbr\u003e\n          \u003cem\u003eEveryday reassurance.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp class=\"rf-section-copy\"\u003e\n          Essential recording features, brought\n          together in one practical driving companion.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"rf-feature-grid\"\u003e\n\n        \u003carticle class=\"rf-feature rf-reveal\"\u003e\n          \u003cdiv class=\"rf-feature-top\"\u003e\n            \u003cspan class=\"rf-feature-symbol\"\u003e▣\u003c\/span\u003e\n            \u003cspan class=\"rf-feature-index\"\u003e01 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rf-feature-highlight\"\u003e1080P\u003c\/div\u003e\n          \u003ch3\u003eFull HD Recording\u003c\/h3\u003e\n          \u003cp\u003e\n            Turn \"what happened?\" into something\n            you can review. Full HD 1080p footage\n            helps you look back at road incidents\n            and piece together events.\n          \u003c\/p\u003e\n          \u003cdiv class=\"rf-feature-bottom\"\u003e\n            \u003cspan\u003eCAPTURE THE DETAILS\u003c\/span\u003e\n            \u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-feature rf-reveal\"\u003e\n          \u003cdiv class=\"rf-feature-top\"\u003e\n            \u003cspan class=\"rf-feature-symbol\"\u003e☾\u003c\/span\u003e\n            \u003cspan class=\"rf-feature-index\"\u003e02 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rf-feature-highlight\"\u003eNIGHT\u003c\/div\u003e\n          \u003ch3\u003eNight Vision\u003c\/h3\u003e\n          \u003cp\u003e\n            Early starts and late drives are part\n            of life. Low-light recording support\n            helps capture more of your journey\n            when daylight fades.\n          \u003c\/p\u003e\n          \u003cdiv class=\"rf-feature-bottom\"\u003e\n            \u003cspan\u003eAFTER-DARK RECORDING\u003c\/span\u003e\n            \u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-feature rf-reveal\"\u003e\n          \u003cdiv class=\"rf-feature-top\"\u003e\n            \u003cspan class=\"rf-feature-symbol\"\u003e⬡\u003c\/span\u003e\n            \u003cspan class=\"rf-feature-index\"\u003e03 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rf-feature-highlight\"\u003eLOCK\u003c\/div\u003e\n          \u003ch3\u003eG-Sensor Protection\u003c\/h3\u003e\n          \u003cp\u003e\n            Built-in impact detection automatically\n            locks associated footage when a sudden\n            impact is detected, helping protect\n            important recordings.\n          \u003c\/p\u003e\n          \u003cdiv class=\"rf-feature-bottom\"\u003e\n            \u003cspan\u003eIMPORTANT MOMENTS\u003c\/span\u003e\n            \u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-feature rf-reveal\"\u003e\n          \u003cdiv class=\"rf-feature-top\"\u003e\n            \u003cspan class=\"rf-feature-symbol\"\u003e↻\u003c\/span\u003e\n            \u003cspan class=\"rf-feature-index\"\u003e04 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rf-feature-highlight\"\u003eLOOP\u003c\/div\u003e\n          \u003ch3\u003eLoop Recording\u003c\/h3\u003e\n          \u003cp\u003e\n            Recording cycles automatically as\n            you drive, reducing the need to\n            manage every video manually.\n            Less admin. More focus on the road.\n          \u003c\/p\u003e\n          \u003cdiv class=\"rf-feature-bottom\"\u003e\n            \u003cspan\u003eCONTINUOUS CONVENIENCE\u003c\/span\u003e\n            \u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"rf-feature rf-feature-wide rf-reveal\"\u003e\n          \u003cdiv class=\"rf-feature-top\"\u003e\n            \u003cspan class=\"rf-feature-symbol\"\u003e◉\u003c\/span\u003e\n            \u003cspan class=\"rf-feature-index\"\u003e05 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"rf-feature-highlight\"\u003eWIDE ANGLE\u003c\/div\u003e\n          \u003ch3\u003eSee More of the Bigger Picture\u003c\/h3\u003e\n          \u003cp\u003e\n            Wide-angle coverage captures a broader\n            view of your surroundings, adding useful\n            context to moments a narrower view\n            might miss.\n          \u003c\/p\u003e\n          \u003cdiv class=\"rf-feature-bottom\"\u003e\n            \u003cspan\u003eMORE CONTEXT. MORE PERSPECTIVE.\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!-- G-SENSOR EXPLAINER --\u003e\n    \u003csection class=\"rf-protection rf-reveal\"\u003e\n      \u003cdiv class=\"rf-protection-inner\"\u003e\n        \u003cdiv class=\"rf-protection-copy\"\u003e\n          \u003cdiv class=\"rf-kicker\"\u003e\n            \u003cspan class=\"rf-kicker-line\"\u003e\u003c\/span\u003e\n            BUILT-IN IMPACT DETECTION\n          \u003c\/div\u003e\n\n          \u003ch2\u003e\n            Some moments\u003cbr\u003e\n            are worth \u003cem\u003ekeeping.\u003c\/em\u003e\n          \u003c\/h2\u003e\n\n          \u003cp\u003e\n            When RoadFrame™ detects a sudden impact,\n            its G-Sensor automatically locks the\n            associated recording to help prevent\n            it from being overwritten during\n            normal loop recording.\n          \u003c\/p\u003e\n\n          \u003cdiv class=\"rf-protection-steps\"\u003e\n            \u003cdiv\u003e\n              \u003cspan\u003e01\u003c\/span\u003e\n              \u003cstrong\u003eImpact detected\u003c\/strong\u003e\n            \u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cspan\u003e02\u003c\/span\u003e\n              \u003cstrong\u003eFootage locked\u003c\/strong\u003e\n            \u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cspan\u003e03\u003c\/span\u003e\n              \u003cstrong\u003eReview when needed\u003c\/strong\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rf-shield-visual\" aria-hidden=\"true\"\u003e\n          \u003cdiv class=\"rf-shield-ring ring-a\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"rf-shield-ring ring-b\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"rf-shield-ring ring-c\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"rf-shield-core\"\u003e\n            \u003cspan\u003e⬡\u003c\/span\u003e\n            \u003cstrong\u003eG-SENSOR\u003c\/strong\u003e\n            \u003csmall\u003eIMPACT DETECTION\u003c\/small\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- USE CASES --\u003e\n    \u003csection class=\"rf-lifestyle rf-reveal\"\u003e\n      \u003cdiv class=\"rf-kicker\"\u003e\n        \u003cspan class=\"rf-kicker-line\"\u003e\u003c\/span\u003e\n        FOR EVERY KIND OF JOURNEY\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Wherever the road takes you.\u003cbr\u003e\n        \u003cem\u003eTake your perspective along.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"rf-use-grid\"\u003e\n        \u003cdiv class=\"rf-use\"\u003e\n          \u003cspan\u003e01\u003c\/span\u003e\n          \u003ch3\u003eDaily Commutes\u003c\/h3\u003e\n          \u003cp\u003eFrom morning traffic to the\n            drive home.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rf-use\"\u003e\n          \u003cspan\u003e02\u003c\/span\u003e\n          \u003ch3\u003eSchool Runs\u003c\/h3\u003e\n          \u003cp\u003eEveryday journeys with\n            the people who matter.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rf-use\"\u003e\n          \u003cspan\u003e03\u003c\/span\u003e\n          \u003ch3\u003eWeekend Escapes\u003c\/h3\u003e\n          \u003cp\u003eFrom city streets to\n            open highways.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"rf-use\"\u003e\n          \u003cspan\u003e04\u003c\/span\u003e\n          \u003ch3\u003eAfter-Dark Drives\u003c\/h3\u003e\n          \u003cp\u003eRecording support when\n            daylight disappears.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003csection class=\"rf-cta rf-reveal\" id=\"rf-shop\"\u003e\n      \u003cdiv class=\"rf-cta-light\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"rf-kicker rf-cta-kicker\"\u003e\n        \u003cspan class=\"rf-kicker-line\"\u003e\u003c\/span\u003e\n        SOLVEO ROADFRAME™\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Your journey.\u003cbr\u003e\n        Your perspective.\u003cbr\u003e\n        \u003cem\u003eRecorded.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        You can't control how everyone else drives.\n        But you can take a smarter approach\n        to documenting your own journey.\n      \u003c\/p\u003e\n\n      \u003ca class=\"rf-buy\" href=\"\/products\/solveo-roadframe-dash-cam\"\u003e\n        SHOP ROADFRAME™\n        \u003cspan\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"rf-cta-trust\"\u003e\n        \u003cspan\u003eSECURE CHECKOUT\u003c\/span\u003e\n        \u003cspan class=\"rf-trust-dot\"\u003e\u003c\/span\u003e\n        \u003cspan\u003eSOUTH AFRICAN STORE\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cfooter class=\"rf-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\/* ROADFRAME — SCOPED STYLES *\/\n\n.rf-premium {\n  --rf-bg:#080c12;\n  --rf-card:#111823;\n  --rf-line:rgba(166,192,220,.13);\n  --rf-white:#f4f7fb;\n  --rf-muted:#9caaba;\n  --rf-blue:#58baff;\n  --rf-blue2:#a4e4ff;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n  background:var(--rf-bg);\n  color:var(--rf-white);\n  padding:85px 20px 25px;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.6;\n}\n\n.rf-premium *,\n.rf-premium *::before,\n.rf-premium *::after {\n  box-sizing:border-box;\n}\n\n.rf-premium a {\n  text-decoration:none;\n}\n\n.rf-premium h2,\n.rf-premium h3,\n.rf-premium p {\n  margin-top:0;\n}\n\n.rf-wrap {\n  max-width:1160px;\n  margin:auto;\n  position:relative;\n  z-index:2;\n}\n\n.rf-ambient {\n  position:absolute;\n  border-radius:50%;\n  pointer-events:none;\n  filter:blur(90px);\n  opacity:.45;\n}\n\n.rf-ambient-one {\n  width:420px;\n  height:420px;\n  top:-170px;\n  right:-220px;\n  background:#144e88;\n}\n\n.rf-ambient-two {\n  width:340px;\n  height:340px;\n  top:37%;\n  left:-240px;\n  background:#123759;\n}\n\n\/* HERO *\/\n\n.rf-hero {\n  text-align:center;\n  max-width:850px;\n  margin:0 auto 60px;\n}\n\n.rf-eyebrow {\n  display:inline-flex;\n  align-items:center;\n  gap:10px;\n  border:1px solid rgba(88,186,255,.28);\n  border-radius:50px;\n  padding:9px 16px;\n  color:#a5dfff;\n  background:rgba(88,186,255,.07);\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n.rf-live-dot,\n.rf-rec i {\n  width:7px;\n  height:7px;\n  border-radius:50%;\n  display:inline-block;\n  background:#59c3ff;\n  box-shadow:0 0 0 0 rgba(89,195,255,.5);\n  animation:rfPulse 2s infinite;\n}\n\n@keyframes rfPulse {\n  65% {\n    box-shadow:0 0 0 9px rgba(89,195,255,0);\n  }\n  100% {\n    box-shadow:0 0 0 0 rgba(89,195,255,0);\n  }\n}\n\n.rf-hero-rule {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:15px;\n  color:#647b90;\n  font-size:10px;\n  font-weight:700;\n  letter-spacing:3px;\n  margin-top:35px;\n}\n\n.rf-hero-rule span {\n  width:38px;\n  height:1px;\n  background:#34516a;\n}\n\n.rf-hero h2 {\n  font-size:clamp(43px,6.8vw,85px);\n  font-weight:800;\n  letter-spacing:-3.5px;\n  line-height:1.05;\n  margin:20px 0 25px;\n}\n\n.rf-hero h2 span {\n  display:block;\n  background:linear-gradient(\n    100deg,#e8f8ff,#72c8ff,#d4efff\n  );\n  background-size:200% auto;\n  -webkit-background-clip:text;\n  background-clip:text;\n  color:transparent;\n  animation:rfShimmer 7s linear infinite;\n}\n\n@keyframes rfShimmer {\n  to {background-position:200% center}\n}\n\n.rf-intro {\n  color:var(--rf-muted);\n  font-size:17px;\n  max-width:660px;\n  margin:0 auto 30px;\n}\n\n.rf-intro strong {\n  color:#edf5ff;\n}\n\n.rf-actions {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  flex-wrap:wrap;\n  gap:22px;\n}\n\n.rf-primary,\n.rf-buy {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  gap:26px;\n  background:linear-gradient(110deg,#d9f3ff,#7bc9ff);\n  color:#07121e!important;\n  padding:17px 25px;\n  border-radius:10px;\n  font-size:12px;\n  font-weight:900;\n  letter-spacing:1px;\n  transition:transform .3s,box-shadow .3s;\n  box-shadow:0 12px 40px rgba(61,160,255,.15);\n}\n\n.rf-primary:hover,\n.rf-buy:hover {\n  transform:translateY(-4px);\n  box-shadow:0 18px 45px rgba(61,160,255,.28);\n}\n\n.rf-primary span,\n.rf-buy span {\n  font-size:21px;\n}\n\n.rf-secondary {\n  color:#a6c4da!important;\n  font-size:13px;\n  font-weight:700;\n}\n\n.rf-spec-strip {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:0;\n  max-width:650px;\n  margin:48px auto 0;\n  border-top:1px solid var(--rf-line);\n  border-bottom:1px solid var(--rf-line);\n  padding:20px 0;\n}\n\n.rf-spec-strip div {\n  display:flex;\n  flex-direction:column;\n  gap:2px;\n  padding:0 10px;\n}\n\n.rf-spec-strip div+div {\n  border-left:1px solid var(--rf-line);\n}\n\n.rf-spec-strip strong {\n  color:#e9f7ff;\n  font-size:17px;\n  letter-spacing:1px;\n}\n\n.rf-spec-strip small {\n  color:#7f94a8;\n  font-size:11px;\n}\n\n\/* ANIMATED ROAD SCENE *\/\n\n.rf-road-scene {\n  height:370px;\n  position:relative;\n  overflow:hidden;\n  border-radius:22px;\n  border:1px solid #22354a;\n  background:linear-gradient(\n    180deg,#0b1828 0%,#10263a 45%,\n    #152738 51%,#05080e 100%\n  );\n  margin-bottom:125px;\n}\n\n.rf-scene-glow {\n  position:absolute;\n  width:60%;\n  height:250px;\n  left:20%;\n  top:10%;\n  border-radius:50%;\n  background:radial-gradient(\n    ellipse,rgba(61,155,245,.25),transparent 70%\n  );\n  filter:blur(35px);\n  animation:rfGlow 5s ease-in-out infinite alternate;\n}\n\n@keyframes rfGlow {\n  to {opacity:.35;transform:scale(1.3)}\n}\n\n.rf-horizon {\n  position:absolute;\n  left:0;\n  right:0;\n  top:53%;\n  height:1px;\n  background:linear-gradient(\n    90deg,transparent,#5ba6d8,transparent\n  );\n  box-shadow:0 0 35px #3b91d2;\n}\n\n.rf-road {\n  position:absolute;\n  left:50%;\n  bottom:-8%;\n  width:100%;\n  height:56%;\n  transform:translateX(-50%);\n  clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);\n  background:linear-gradient(180deg,#111c29,#05080e);\n  border-top:1px solid #497a9e;\n}\n\n.rf-road-line {\n  position:absolute;\n  height:100%;\n  width:2px;\n  top:0;\n  background:#75c7ff;\n  box-shadow:0 0 14px #58baff;\n}\n\n.rf-line-left {\n  left:15%;\n  transform:rotate(23deg);\n  transform-origin:top;\n}\n\n.rf-line-right {\n  right:15%;\n  transform:rotate(-23deg);\n  transform-origin:top;\n}\n\n.rf-center-markings {\n  position:absolute;\n  width:5px;\n  height:100%;\n  left:50%;\n  top:0;\n  transform:translateX(-50%);\n  background:repeating-linear-gradient(\n    to bottom,\n    transparent 0px,\n    transparent 26px,\n    #a2d8ff 27px,\n    #a2d8ff 53px,\n    transparent 54px,\n    transparent 85px\n  );\n  background-size:100% 85px;\n  animation:rfDrive 1.6s linear infinite;\n  opacity:.75;\n}\n\n@keyframes rfDrive {\n  to {background-position:0 85px}\n}\n\n.rf-scene-overlay {\n  position:absolute;\n  top:20px;\n  left:22px;\n  right:22px;\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  color:#a6bcd1;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1.5px;\n}\n\n.rf-rec {\n  display:flex;\n  align-items:center;\n  gap:9px;\n}\n\n.rf-rec i {\n  background:#ff5269;\n  animation:none;\n  box-shadow:0 0 14px rgba(255,82,105,.5);\n}\n\n.rf-scene-caption {\n  position:absolute;\n  bottom:25px;\n  left:25px;\n  display:flex;\n  flex-direction:column;\n  line-height:1.4;\n}\n\n.rf-scene-caption span {\n  font-size:10px;\n  letter-spacing:2px;\n  color:#90b6d0;\n}\n\n.rf-scene-caption strong {\n  font-size:20px;\n  letter-spacing:1px;\n  color:#f4faff;\n}\n\n\/* COMMON HEADINGS *\/\n\n.rf-kicker {\n  display:flex;\n  align-items:center;\n  gap:12px;\n  color:#76c9ff;\n  font-size:10px;\n  letter-spacing:2px;\n  font-weight:800;\n  margin-bottom:20px;\n}\n\n.rf-kicker-line {\n  width:25px;\n  height:1px;\n  background:#64baff;\n  flex-shrink:0;\n}\n\n.rf-story,\n.rf-features,\n.rf-lifestyle {\n  margin-bottom:125px;\n}\n\n.rf-story h2,\n.rf-feature-heading h2,\n.rf-protection h2,\n.rf-lifestyle h2 {\n  font-size:clamp(34px,5vw,60px);\n  font-weight:800;\n  line-height:1.1;\n  letter-spacing:-2px;\n  margin-bottom:22px;\n}\n\n.rf-story h2 em,\n.rf-feature-heading h2 em,\n.rf-protection h2 em,\n.rf-lifestyle h2 em {\n  font-style:normal;\n  color:#85cfff;\n}\n\n.rf-section-copy {\n  max-width:650px;\n  color:var(--rf-muted);\n  font-size:16px;\n  line-height:1.85;\n  margin-bottom:35px;\n}\n\n\/* SCENARIOS *\/\n\n.rf-scenario-grid {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n}\n\n.rf-scenario {\n  display:flex;\n  align-items:flex-start;\n  gap:16px;\n  background:#101722;\n  border:1px solid var(--rf-line);\n  border-radius:15px;\n  padding:26px 20px;\n  transition:.3s;\n}\n\n.rf-scenario:hover {\n  border-color:#3b7098;\n  transform:translateY(-4px);\n}\n\n.rf-scenario-icon {\n  display:grid;\n  place-items:center;\n  flex-shrink:0;\n  width:42px;\n  height:42px;\n  background:#15283b;\n  border:1px solid #294c68;\n  color:#8cd2ff;\n  border-radius:10px;\n  font-size:22px;\n}\n\n.rf-scenario h3 {\n  font-size:15px;\n  margin:0 0 7px;\n  color:#f2f7ff;\n}\n\n.rf-scenario p {\n  font-size:13px;\n  color:var(--rf-muted);\n  line-height:1.65;\n  margin:0;\n}\n\n\/* FEATURE CARDS *\/\n\n.rf-feature-heading {\n  margin-bottom:38px;\n}\n\n.rf-feature-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.rf-feature {\n  display:flex;\n  flex-direction:column;\n  position:relative;\n  min-height:330px;\n  padding:32px;\n  border-radius:19px;\n  background:linear-gradient(\n    145deg,#151f2c,#0e141e\n  );\n  border:1px solid var(--rf-line);\n  overflow:hidden;\n  transition:transform .35s,border-color .35s;\n}\n\n.rf-feature::before {\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:2px;\n  background:linear-gradient(\n    90deg,transparent,#71c5ff,transparent\n  );\n  transform:scaleX(0);\n  transition:transform .4s;\n}\n\n.rf-feature:hover {\n  transform:translateY(-5px);\n  border-color:#315777;\n}\n\n.rf-feature:hover::before {\n  transform:scaleX(1);\n}\n\n.rf-feature-wide {\n  grid-column:1\/-1;\n  min-height:280px;\n  background:\n    radial-gradient(\n      circle at 90% 50%,\n      rgba(38,119,191,.13),transparent 50%\n    ),\n    linear-gradient(145deg,#151f2c,#0e141e);\n}\n\n.rf-feature-top {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  margin-bottom:30px;\n}\n\n.rf-feature-symbol {\n  display:grid;\n  place-items:center;\n  width:48px;\n  height:48px;\n  background:#1a3044;\n  border:1px solid #2a506d;\n  color:#9bdcff;\n  border-radius:12px;\n  font-size:26px;\n}\n\n.rf-feature-index {\n  color:#647a8f;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1.5px;\n}\n\n.rf-feature-highlight {\n  font-size:11px;\n  font-weight:800;\n  color:#68c3ff;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.rf-feature h3 {\n  font-size:24px;\n  font-weight:800;\n  letter-spacing:-.5px;\n  margin-bottom:12px;\n}\n\n.rf-feature p {\n  color:var(--rf-muted);\n  font-size:14px;\n  line-height:1.8;\n  max-width:530px;\n  margin-bottom:25px;\n}\n\n.rf-feature-bottom {\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(--rf-line);\n  color:#7495ae;\n  font-size:10px;\n  letter-spacing:1.4px;\n  font-weight:800;\n}\n\n.rf-feature-bottom span:last-child {\n  font-size:18px;\n  color:#82ccff;\n}\n\n\/* G-SENSOR *\/\n\n.rf-protection {\n  background:linear-gradient(\n    125deg,#101c2b,#0b111b\n  );\n  border:1px solid #22364b;\n  border-radius:24px;\n  padding:65px;\n  margin-bottom:125px;\n  overflow:hidden;\n}\n\n.rf-protection-inner {\n  display:grid;\n  grid-template-columns:1.15fr .85fr;\n  align-items:center;\n  gap:35px;\n}\n\n.rf-protection-copy p {\n  color:var(--rf-muted);\n  line-height:1.85;\n  font-size:15px;\n  max-width:530px;\n}\n\n.rf-protection-steps {\n  display:grid;\n  gap:10px;\n  margin-top:30px;\n}\n\n.rf-protection-steps div {\n  display:flex;\n  align-items:center;\n  gap:15px;\n  padding:13px 15px;\n  background:rgba(255,255,255,.035);\n  border:1px solid var(--rf-line);\n  border-radius:10px;\n}\n\n.rf-protection-steps span {\n  color:#6dc4ff;\n  font-size:11px;\n  font-weight:800;\n}\n\n.rf-protection-steps strong {\n  color:#d7e5f2;\n  font-size:13px;\n}\n\n.rf-shield-visual {\n  width:min(100%,320px);\n  aspect-ratio:1;\n  position:relative;\n  display:grid;\n  place-items:center;\n  margin:auto;\n}\n\n.rf-shield-ring {\n  position:absolute;\n  border:1px solid rgba(98,188,255,.19);\n  border-radius:50%;\n  animation:rfRing 5s ease-in-out infinite;\n}\n\n.ring-a {width:55%;height:55%}\n.ring-b {width:78%;height:78%;animation-delay:.7s}\n.ring-c {width:100%;height:100%;animation-delay:1.4s}\n\n@keyframes rfRing {\n  50% {transform:scale(1.06);opacity:.35}\n}\n\n.rf-shield-core {\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  width:150px;\n  height:150px;\n  border-radius:50%;\n  background:radial-gradient(\n    circle,#1b4568,#0c1a2a 75%\n  );\n  border:1px solid #376b94;\n  box-shadow:0 0 55px rgba(53,151,229,.17);\n}\n\n.rf-shield-core\u003espan {\n  font-size:50px;\n  color:#9bdeff;\n  line-height:1;\n  margin-bottom:12px;\n}\n\n.rf-shield-core strong {\n  font-size:12px;\n  letter-spacing:1px;\n}\n\n.rf-shield-core small {\n  font-size:8px;\n  color:#91afc6;\n  letter-spacing:1px;\n}\n\n\/* USE CASES *\/\n\n.rf-use-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:13px;\n  margin-top:40px;\n}\n\n.rf-use {\n  padding:25px 19px;\n  border-top:2px solid #36648a;\n  background:linear-gradient(\n    180deg,#111b28,#0b111a\n  );\n  border-radius:0 0 13px 13px;\n}\n\n.rf-use\u003espan {\n  color:#6ebef4;\n  font-size:12px;\n  font-weight:800;\n}\n\n.rf-use h3 {\n  margin:25px 0 8px;\n  font-size:16px;\n}\n\n.rf-use p {\n  color:var(--rf-muted);\n  font-size:13px;\n  margin:0;\n  line-height:1.7;\n}\n\n\/* FINAL CTA *\/\n\n.rf-cta {\n  position:relative;\n  text-align:center;\n  padding:85px 30px;\n  overflow:hidden;\n  border-radius:24px;\n  background:\n    radial-gradient(\n      ellipse at 50% 0%,\n      rgba(51,137,209,.2),transparent 65%\n    ),\n    linear-gradient(145deg,#13253a,#08111d);\n  border:1px solid #2a4a65;\n}\n\n.rf-cta-light {\n  position:absolute;\n  width:80%;\n  height:1px;\n  left:10%;\n  top:0;\n  background:linear-gradient(\n    90deg,transparent,#87d4ff,transparent\n  );\n}\n\n.rf-cta-kicker {\n  justify-content:center;\n}\n\n.rf-cta h2 {\n  font-size:clamp(42px,6vw,78px);\n  line-height:1.08;\n  letter-spacing:-3px;\n  margin-bottom:22px;\n}\n\n.rf-cta h2 em {\n  font-style:normal;\n  color:#8cd3ff;\n}\n\n.rf-cta\u003ep {\n  color:#a6bacb;\n  max-width:550px;\n  margin:0 auto 32px;\n  line-height:1.8;\n  font-size:15px;\n}\n\n.rf-buy {\n  min-width:245px;\n}\n\n.rf-cta-trust {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:13px;\n  margin-top:25px;\n  color:#829cb1;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.rf-trust-dot {\n  width:3px;\n  height:3px;\n  border-radius:50%;\n  background:#749ab8;\n}\n\n.rf-footer {\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  padding:30px 5px 0;\n  color:#5f7488;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n\/* SCROLL REVEAL *\/\n\n.rf-reveal {\n  opacity:1;\n  transform:none;\n}\n\n.rf-premium.rf-js-ready .rf-reveal {\n  opacity:0;\n  transform:translateY(22px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n\n.rf-premium.rf-js-ready .rf-reveal.rf-visible {\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* TABLET *\/\n\n@media(max-width:900px) {\n  .rf-scenario-grid {\n    grid-template-columns:1fr;\n  }\n\n  .rf-protection {\n    padding:40px;\n  }\n\n  .rf-protection-inner {\n    grid-template-columns:1fr;\n  }\n\n  .rf-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px) {\n  .rf-premium {\n    padding:50px 15px 22px;\n  }\n\n  .rf-hero {\n    margin-bottom:35px;\n  }\n\n  .rf-eyebrow {\n    font-size:9px;\n    letter-spacing:1.2px;\n    padding:8px 12px;\n  }\n\n  .rf-hero-rule {\n    margin-top:27px;\n    font-size:8px;\n    letter-spacing:2px;\n    gap:9px;\n  }\n\n  .rf-hero-rule span {\n    width:22px;\n  }\n\n  .rf-hero h2 {\n    font-size:clamp(34px,9.5vw,52px);\n    letter-spacing:-1.8px;\n    line-height:1.09;\n    margin:18px 0;\n  }\n\n  .rf-intro {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .rf-actions {\n    flex-direction:column;\n    gap:15px;\n  }\n\n  .rf-primary {\n    width:100%;\n    padding:16px;\n  }\n\n  .rf-secondary {\n    font-size:12px;\n  }\n\n  .rf-spec-strip {\n    margin-top:32px;\n    padding:16px 0;\n  }\n\n  .rf-spec-strip div {\n    padding:0 5px;\n  }\n\n  .rf-spec-strip strong {\n    font-size:clamp(10px,3vw,14px);\n    letter-spacing:0;\n  }\n\n  .rf-spec-strip small {\n    font-size:9px;\n    line-height:1.4;\n  }\n\n  .rf-road-scene {\n    height:250px;\n    border-radius:15px;\n    margin-bottom:75px;\n  }\n\n  .rf-scene-overlay {\n    top:14px;\n    left:13px;\n    right:13px;\n    font-size:8px;\n  }\n\n  .rf-scene-caption {\n    left:15px;\n    bottom:16px;\n  }\n\n  .rf-scene-caption span {\n    font-size:8px;\n  }\n\n  .rf-scene-caption strong {\n    font-size:14px;\n  }\n\n  .rf-story,\n  .rf-features,\n  .rf-lifestyle {\n    margin-bottom:78px;\n  }\n\n  .rf-kicker {\n    font-size:9px;\n    letter-spacing:1.3px;\n    gap:9px;\n    line-height:1.5;\n  }\n\n  .rf-kicker-line {\n    width:18px;\n  }\n\n  .rf-story h2,\n  .rf-feature-heading h2,\n  .rf-protection h2,\n  .rf-lifestyle h2 {\n    font-size:clamp(30px,8.3vw,42px);\n    letter-spacing:-1.2px;\n    line-height:1.15;\n  }\n\n  .rf-section-copy {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .rf-scenario-grid {\n    gap:10px;\n  }\n\n  .rf-scenario {\n    padding:19px 15px;\n    border-radius:12px;\n    gap:13px;\n  }\n\n  .rf-scenario-icon {\n    width:38px;\n    height:38px;\n    font-size:19px;\n  }\n\n  .rf-scenario h3 {\n    font-size:14px;\n  }\n\n  .rf-scenario p {\n    font-size:12px;\n  }\n\n  .rf-feature-heading {\n    margin-bottom:25px;\n  }\n\n  .rf-feature-grid {\n    grid-template-columns:1fr;\n    gap:12px;\n  }\n\n  .rf-feature,\n  .rf-feature-wide {\n    grid-column:auto;\n    min-height:0;\n    padding:24px 21px;\n    border-radius:15px;\n  }\n\n  .rf-feature-top {\n    margin-bottom:22px;\n  }\n\n  .rf-feature-symbol {\n    width:42px;\n    height:42px;\n    font-size:23px;\n  }\n\n  .rf-feature h3 {\n    font-size:21px;\n  }\n\n  .rf-feature p {\n    font-size:13px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .rf-feature-bottom {\n    font-size:9px;\n    letter-spacing:.8px;\n  }\n\n  .rf-protection {\n    padding:35px 20px;\n    margin-bottom:80px;\n    border-radius:18px;\n  }\n\n  .rf-protection-inner {\n    gap:35px;\n  }\n\n  .rf-protection-copy p {\n    font-size:13px;\n    line-height:1.8;\n  }\n\n  .rf-protection-steps strong {\n    font-size:12px;\n  }\n\n  .rf-shield-visual {\n    width:240px;\n  }\n\n  .rf-shield-core {\n    width:125px;\n    height:125px;\n  }\n\n  .rf-shield-core\u003espan {\n    font-size:40px;\n  }\n\n  .rf-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    gap:10px;\n    margin-top:25px;\n  }\n\n  .rf-use {\n    padding:19px 14px;\n  }\n\n  .rf-use h3 {\n    font-size:14px;\n    margin:18px 0 6px;\n  }\n\n  .rf-use p {\n    font-size:12px;\n  }\n\n  .rf-cta {\n    padding:58px 19px;\n    border-radius:18px;\n  }\n\n  .rf-cta h2 {\n    font-size:clamp(36px,10vw,53px);\n    letter-spacing:-1.6px;\n  }\n\n  .rf-cta\u003ep {\n    font-size:13px;\n    line-height:1.8;\n  }\n\n  .rf-buy {\n    width:100%;\n    min-width:0;\n    padding:16px;\n  }\n\n  .rf-cta-trust {\n    font-size:8px;\n    gap:8px;\n    letter-spacing:.5px;\n  }\n\n  .rf-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\/* SMALL MOBILE *\/\n\n@media(max-width:360px) {\n  .rf-premium {\n    padding-left:11px;\n    padding-right:11px;\n  }\n\n  .rf-hero h2 {\n    font-size:33px;\n  }\n\n  .rf-use-grid {\n    grid-template-columns:1fr;\n  }\n}\n\n\/* ACCESSIBILITY *\/\n\n@media(prefers-reduced-motion:reduce) {\n  .rf-premium *,\n  .rf-premium *::before,\n  .rf-premium *::after {\n    animation:none!important;\n    transition:none!important;\n    scroll-behavior:auto!important;\n  }\n\n  .rf-premium.rf-js-ready .rf-reveal {\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  function initRoadFrame() {\n    document.querySelectorAll('.rf-premium').forEach(\n      function(section) {\n        if (section.dataset.rfInit === 'true') return;\n        section.dataset.rfInit = 'true';\n\n        var elements = section.querySelectorAll('.rf-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('rf-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('rf-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',initRoadFrame\n    );\n  } else {\n    initRoadFrame();\n  }\n\n  document.addEventListener(\n    'shopify:section:load',initRoadFrame\n  );\n})();\n\u003c\/script\u003e\n","brand":"Solveo","offers":[{"title":"Default Title","offer_id":68020288684324,"sku":null,"price":799.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/files\/dash1fnl_cc1a00c6-8b6b-4de2-8ac9-9cb20368e6e7.png?v=1793775627"},{"product_id":"solveo-voltshift™-100w-car-charger","title":"Solveo VoltShift™ 100W Car Charger","description":"\n\u003csection class=\"vs-premium\" id=\"voltshift-premium\"\u003e\n  \u003cdiv class=\"vs-ambient vs-ambient-one\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"vs-ambient vs-ambient-two\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"vs-wrap\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cheader class=\"vs-hero vs-reveal\"\u003e\n      \u003cdiv class=\"vs-eyebrow\"\u003e\n        \u003cspan class=\"vs-pulse\"\u003e\u003c\/span\u003e\n        SOLVEO CAR ACCESSORIES\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vs-series\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e VOLTSHIFT SERIES \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Keep your day moving.\n        \u003cspan\u003eNot your battery warning.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"vs-intro\"\u003e\n        Meet the \u003cstrong\u003eSolveo VoltShift™ 100W Car Charger\u003c\/strong\u003e.\n        A sleek, practical charging upgrade that helps keep\n        compatible devices powered while you get on with life.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"vs-actions\"\u003e\n        \u003ca href=\"#vs-shop\" class=\"vs-primary\"\u003e\n          EXPLORE VOLTSHIFT \u003cspan\u003e↗\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#vs-features\" class=\"vs-secondary\"\u003e\n          Discover the features ↓\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vs-specs\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e100W\u003c\/strong\u003e\n          \u003csmall\u003eRated Power*\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e3 PORTS\u003c\/strong\u003e\n          \u003csmall\u003eMulti-Device Charging\u003c\/small\u003e\n        \u003c\/div\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eUSB-C\u003c\/strong\u003e\n          \u003csmall\u003e+ Dual USB-A\u003c\/small\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/header\u003e\n\n    \u003c!-- ANIMATED POWER VISUAL --\u003e\n    \u003cdiv class=\"vs-power-scene vs-reveal\" aria-label=\"Decorative charging animation\"\u003e\n      \u003cdiv class=\"vs-scene-grid\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"vs-energy-glow\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"vs-power-ring vs-ring-one\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"vs-power-ring vs-ring-two\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"vs-power-ring vs-ring-three\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"vs-power-core\"\u003e\n        \u003cspan class=\"vs-bolt\"\u003eϟ\u003c\/span\u003e\n        \u003cstrong\u003e100W\u003c\/strong\u003e\n        \u003csmall\u003eVOLTSHIFT™\u003c\/small\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vs-power-line vs-line-left\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"vs-power-line vs-line-right\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"vs-scene-label\"\u003e\n        \u003cspan\u003ePOWER FOR THE JOURNEY\u003c\/span\u003e\n        \u003cstrong\u003eRECHARGE ON THE ROAD.\u003c\/strong\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- THE PROBLEM --\u003e\n    \u003csection class=\"vs-problem vs-reveal\"\u003e\n      \u003cdiv class=\"vs-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e THE EVERYDAY CHALLENGE\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Your plans shouldn't\n        \u003cem\u003erun out of power.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"vs-copy\"\u003e\n        You're following directions somewhere new.\n        Your phone is on 8%. There's still a full day ahead.\n        A low battery shouldn't be the reason your plans\n        fall apart.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"vs-problem-grid\"\u003e\n        \u003carticle class=\"vs-mini-card\"\u003e\n          \u003cdiv class=\"vs-mini-icon\"\u003e8%\u003c\/div\u003e\n          \u003ch3\u003eLow Battery?\u003c\/h3\u003e\n          \u003cp\u003eMake your travel time an opportunity to recharge.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-mini-card\"\u003e\n          \u003cdiv class=\"vs-mini-icon\"\u003e↗\u003c\/div\u003e\n          \u003ch3\u003eLong Day Ahead?\u003c\/h3\u003e\n          \u003cp\u003eKeep power available for your everyday essentials.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-mini-card\"\u003e\n          \u003cdiv class=\"vs-mini-icon\"\u003e3\u003c\/div\u003e\n          \u003ch3\u003eMore Devices?\u003c\/h3\u003e\n          \u003cp\u003eConnect multiple compatible devices without taking turns.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FEATURES --\u003e\n    \u003csection class=\"vs-features\" id=\"vs-features\"\u003e\n      \u003cdiv class=\"vs-feature-heading vs-reveal\"\u003e\n        \u003cdiv class=\"vs-kicker\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e DESIGNED FOR EVERYDAY POWER\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n          One charger.\n          \u003cem\u003eMore possibilities.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp class=\"vs-copy\"\u003e\n          Smart, convenient charging for the devices\n          you rely on throughout your day.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vs-feature-grid\"\u003e\n\n        \u003carticle class=\"vs-feature vs-reveal\"\u003e\n          \u003cdiv class=\"vs-feature-top\"\u003e\n            \u003cspan class=\"vs-feature-icon\"\u003eϟ\u003c\/span\u003e\n            \u003cspan class=\"vs-index\"\u003e01 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-feature-tag\"\u003eRATED OUTPUT\u003c\/div\u003e\n          \u003ch3\u003e100W Charging Power\u003c\/h3\u003e\n          \u003cp\u003e\n            Put your travel time to work with a charger\n            rated for up to 100W output. Actual charging\n            performance depends on your connected devices,\n            cables and supported charging protocols.\n          \u003c\/p\u003e\n          \u003cdiv class=\"vs-feature-foot\"\u003e\n            \u003cspan\u003ePOWER ON THE MOVE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-feature vs-reveal\"\u003e\n          \u003cdiv class=\"vs-feature-top\"\u003e\n            \u003cspan class=\"vs-feature-icon\"\u003e▣\u003c\/span\u003e\n            \u003cspan class=\"vs-index\"\u003e02 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-feature-tag\"\u003eMULTI-DEVICE\u003c\/div\u003e\n          \u003ch3\u003eThree Charging Ports\u003c\/h3\u003e\n          \u003cp\u003e\n            Two USB-A ports and one USB-C port let\n            you connect up to three compatible devices.\n            Less waiting for your turn to charge.\n          \u003c\/p\u003e\n          \u003cdiv class=\"vs-feature-foot\"\u003e\n            \u003cspan\u003e2 × USB-A · 1 × USB-C\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-feature vs-reveal\"\u003e\n          \u003cdiv class=\"vs-feature-top\"\u003e\n            \u003cspan class=\"vs-feature-icon\"\u003e↗\u003c\/span\u003e\n            \u003cspan class=\"vs-index\"\u003e03 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-feature-tag\"\u003eEVERYDAY CONVENIENCE\u003c\/div\u003e\n          \u003ch3\u003eCharge While You Drive\u003c\/h3\u003e\n          \u003cp\u003e\n            Plug in before you set off. Keep your\n            phone charging while you navigate,\n            listen to music or travel to your next stop.\n          \u003c\/p\u003e\n          \u003cdiv class=\"vs-feature-foot\"\u003e\n            \u003cspan\u003eMAKE THE JOURNEY COUNT\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-feature vs-reveal\"\u003e\n          \u003cdiv class=\"vs-feature-top\"\u003e\n            \u003cspan class=\"vs-feature-icon\"\u003e◇\u003c\/span\u003e\n            \u003cspan class=\"vs-index\"\u003e04 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-feature-tag\"\u003eREFINED DESIGN\u003c\/div\u003e\n          \u003ch3\u003ePremium Automotive Finish\u003c\/h3\u003e\n          \u003cp\u003e\n            A sleek black body, carbon-fibre-look\n            surface and blue illuminated trim bring\n            a polished, modern touch to your car interior.\n          \u003c\/p\u003e\n          \u003cdiv class=\"vs-feature-foot\"\u003e\n            \u003cspan\u003eFUNCTION MEETS STYLE\u003c\/span\u003e\u003cspan\u003e↗\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"vs-feature vs-feature-wide vs-reveal\"\u003e\n          \u003cdiv class=\"vs-feature-top\"\u003e\n            \u003cspan class=\"vs-feature-icon\"\u003e◎\u003c\/span\u003e\n            \u003cspan class=\"vs-index\"\u003e05 \/ 05\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-feature-tag\"\u003eREADY FOR THE ROAD\u003c\/div\u003e\n          \u003ch3\u003eMade for Your Everyday Journey\u003c\/h3\u003e\n          \u003cp\u003e\n            From morning commutes to coastal getaways,\n            VoltShift™ helps keep compatible devices\n            charged and ready for the moments ahead.\n            Practical power that fits into your routine.\n          \u003c\/p\u003e\n          \u003cdiv class=\"vs-feature-foot\"\u003e\n            \u003cspan\u003eRECHARGE. ARRIVE READY.\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!-- THREE PORTS --\u003e\n    \u003csection class=\"vs-ports vs-reveal\"\u003e\n      \u003cdiv class=\"vs-ports-content\"\u003e\n        \u003cdiv class=\"vs-kicker\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e THREE PORTS. ONE SOLUTION.\n        \u003c\/div\u003e\n\n        \u003ch2\u003e\n          Less taking turns.\n          \u003cem\u003eMore staying charged.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Your phone. Your passenger's phone.\n          Another everyday essential. Connect\n          three compatible devices and make\n          charging part of the journey.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"vs-port-list\"\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003e01\u003c\/span\u003e\n            \u003cstrong\u003eUSB-A Port\u003c\/strong\u003e\n            \u003csmall\u003eCompatible USB devices\u003c\/small\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003e02\u003c\/span\u003e\n            \u003cstrong\u003eUSB-A Port\u003c\/strong\u003e\n            \u003csmall\u003eCompatible USB devices\u003c\/small\u003e\n          \u003c\/div\u003e\n          \u003cdiv\u003e\n            \u003cspan\u003e03\u003c\/span\u003e\n            \u003cstrong\u003eUSB-C Port\u003c\/strong\u003e\n            \u003csmall\u003eCompatible USB-C devices\u003c\/small\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"vs-port-visual\" aria-hidden=\"true\"\u003e\n        \u003cdiv class=\"vs-port-glow\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"vs-port-stack\"\u003e\n          \u003cdiv class=\"vs-usb-a\"\u003e\n            \u003cspan\u003eUSB-A\u003c\/span\u003e\n            \u003cdiv class=\"vs-usb-slot\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-usb-a\"\u003e\n            \u003cspan\u003eUSB-A\u003c\/span\u003e\n            \u003cdiv class=\"vs-usb-slot\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"vs-usb-c\"\u003e\n            \u003cspan\u003eUSB-C\u003c\/span\u003e\n            \u003cdiv class=\"vs-usbc-slot\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vs-port-caption\"\u003e\n          TRIPLE-PORT CONNECTIVITY\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- LIFESTYLE --\u003e\n    \u003csection class=\"vs-lifestyle vs-reveal\"\u003e\n      \u003cdiv class=\"vs-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e POWER FOR REAL LIFE\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Every destination.\n        \u003cem\u003eEveryday ready.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"vs-use-grid\"\u003e\n        \u003cdiv class=\"vs-use\"\u003e\n          \u003cspan\u003e01\u003c\/span\u003e\n          \u003ch3\u003eMorning Commutes\u003c\/h3\u003e\n          \u003cp\u003eStart your day with your devices charging along the way.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vs-use\"\u003e\n          \u003cspan\u003e02\u003c\/span\u003e\n          \u003ch3\u003eSchool Runs\u003c\/h3\u003e\n          \u003cp\u003eKeep compatible devices powered during busy routines.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vs-use\"\u003e\n          \u003cspan\u003e03\u003c\/span\u003e\n          \u003ch3\u003eRoad Trips\u003c\/h3\u003e\n          \u003cp\u003eShare the charging ports on longer journeys.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"vs-use\"\u003e\n          \u003cspan\u003e04\u003c\/span\u003e\n          \u003ch3\u003eBusy Workdays\u003c\/h3\u003e\n          \u003cp\u003eRecharge between meetings and appointments.\u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003csection class=\"vs-cta vs-reveal\" id=\"vs-shop\"\u003e\n      \u003cdiv class=\"vs-cta-light\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"vs-kicker vs-cta-kicker\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e SOLVEO VOLTSHIFT™\n      \u003c\/div\u003e\n\n      \u003ch2\u003e\n        Recharge on the road.\n        \u003cem\u003eArrive ready.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Turn everyday travel into charging time.\n        Upgrade your car with practical power\n        and a refined automotive finish.\n      \u003c\/p\u003e\n\n      \u003ca href=\"\/products\/solveo-voltshift-100w-car-charger\" class=\"vs-buy\"\u003e\n        SHOP VOLTSHIFT™ \u003cspan\u003e↗\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"vs-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=\"vs-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.vs-premium {\n  --vs-bg:#080c12;\n  --vs-card:#111823;\n  --vs-line:rgba(166,192,220,.13);\n  --vs-white:#f4f7fb;\n  --vs-muted:#9caaba;\n  --vs-blue:#58baff;\n\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n  background:var(--vs-bg);\n  color:var(--vs-white);\n  padding:85px 20px 25px;\n  font-family:Arial,Helvetica,sans-serif;\n  line-height:1.6;\n}\n\n.vs-premium *,\n.vs-premium *::before,\n.vs-premium *::after {\n  box-sizing:border-box;\n}\n\n.vs-premium a {\n  text-decoration:none;\n}\n\n.vs-premium h2,\n.vs-premium h3,\n.vs-premium p {\n  margin-top:0;\n}\n\n.vs-wrap {\n  max-width:1160px;\n  margin:auto;\n  position:relative;\n  z-index:2;\n}\n\n.vs-ambient {\n  position:absolute;\n  border-radius:50%;\n  pointer-events:none;\n  filter:blur(90px);\n  opacity:.4;\n}\n\n.vs-ambient-one {\n  width:420px;\n  height:420px;\n  top:-180px;\n  right:-220px;\n  background:#164b85;\n}\n\n.vs-ambient-two {\n  width:340px;\n  height:340px;\n  top:45%;\n  left:-240px;\n  background:#123759;\n}\n\n\/* HERO *\/\n\n.vs-hero {\n  text-align:center;\n  max-width:850px;\n  margin:0 auto 60px;\n}\n\n.vs-eyebrow {\n  display:inline-flex;\n  align-items:center;\n  gap:10px;\n  border:1px solid rgba(88,186,255,.28);\n  border-radius:50px;\n  padding:9px 16px;\n  color:#a5dfff;\n  background:rgba(88,186,255,.07);\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n.vs-pulse {\n  width:7px;\n  height:7px;\n  border-radius:50%;\n  background:#59c3ff;\n  box-shadow:0 0 0 0 rgba(89,195,255,.5);\n  animation:vsPulse 2s infinite;\n}\n\n@keyframes vsPulse {\n  65% {\n    box-shadow:0 0 0 9px rgba(89,195,255,0);\n  }\n  100% {\n    box-shadow:0 0 0 0 rgba(89,195,255,0);\n  }\n}\n\n.vs-series {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:15px;\n  color:#647b90;\n  font-size:10px;\n  font-weight:700;\n  letter-spacing:3px;\n  margin-top:35px;\n}\n\n.vs-series span {\n  width:38px;\n  height:1px;\n  background:#34516a;\n}\n\n.vs-hero h2 {\n  font-size:clamp(43px,6.8vw,85px);\n  font-weight:800;\n  letter-spacing:-3.5px;\n  line-height:1.05;\n  margin:20px 0 25px;\n}\n\n.vs-hero h2\u003espan {\n  display:block;\n  background:linear-gradient(\n    100deg,#e8f8ff,#72c8ff,#d4efff\n  );\n  background-size:200% auto;\n  -webkit-background-clip:text;\n  background-clip:text;\n  color:transparent;\n  animation:vsShimmer 7s linear infinite;\n}\n\n@keyframes vsShimmer {\n  to {background-position:200% center}\n}\n\n.vs-intro {\n  color:var(--vs-muted);\n  font-size:17px;\n  max-width:660px;\n  margin:0 auto 30px;\n}\n\n.vs-intro strong {\n  color:#edf5ff;\n}\n\n.vs-actions {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  flex-wrap:wrap;\n  gap:22px;\n}\n\n.vs-primary,\n.vs-buy {\n  display:inline-flex;\n  justify-content:center;\n  align-items:center;\n  gap:26px;\n  background:linear-gradient(110deg,#d9f3ff,#7bc9ff);\n  color:#07121e!important;\n  padding:17px 25px;\n  border-radius:10px;\n  font-size:12px;\n  font-weight:900;\n  letter-spacing:1px;\n  transition:transform .3s,box-shadow .3s;\n  box-shadow:0 12px 40px rgba(61,160,255,.15);\n}\n\n.vs-primary:hover,\n.vs-buy:hover {\n  transform:translateY(-4px);\n  box-shadow:0 18px 45px rgba(61,160,255,.28);\n}\n\n.vs-primary span,\n.vs-buy span {\n  font-size:21px;\n}\n\n.vs-secondary {\n  color:#a6c4da!important;\n  font-size:13px;\n  font-weight:700;\n}\n\n.vs-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(--vs-line);\n  border-bottom:1px solid var(--vs-line);\n  padding:20px 0;\n}\n\n.vs-specs div {\n  display:flex;\n  flex-direction:column;\n  gap:2px;\n  padding:0 10px;\n}\n\n.vs-specs div+div {\n  border-left:1px solid var(--vs-line);\n}\n\n.vs-specs strong {\n  color:#e9f7ff;\n  font-size:17px;\n  letter-spacing:1px;\n}\n\n.vs-specs small {\n  color:#7f94a8;\n  font-size:11px;\n}\n\n\/* ANIMATED POWER SCENE *\/\n\n.vs-power-scene {\n  height:350px;\n  position:relative;\n  display:grid;\n  place-items:center;\n  overflow:hidden;\n  border-radius:22px;\n  border:1px solid #22354a;\n  background:radial-gradient(\n    ellipse at center,#152e48,#080e18 70%\n  );\n  margin-bottom:125px;\n}\n\n.vs-scene-grid {\n  position:absolute;\n  inset:0;\n  background-image:\n    linear-gradient(rgba(87,158,213,.07) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(87,158,213,.07) 1px,transparent 1px);\n  background-size:35px 35px;\n  mask-image:radial-gradient(\n    ellipse,black 15%,transparent 75%\n  );\n}\n\n.vs-energy-glow {\n  position:absolute;\n  width:280px;\n  height:280px;\n  border-radius:50%;\n  background:rgba(46,149,255,.17);\n  filter:blur(60px);\n  animation:vsGlow 4s ease-in-out infinite alternate;\n}\n\n@keyframes vsGlow {\n  to {transform:scale(1.25);opacity:.4}\n}\n\n.vs-power-ring {\n  position:absolute;\n  border:1px solid rgba(106,198,255,.22);\n  border-radius:50%;\n  animation:vsRing 5s ease-in-out infinite;\n}\n\n.vs-ring-one {width:170px;height:170px}\n.vs-ring-two {\n  width:245px;height:245px;\n  animation-delay:.7s;\n}\n.vs-ring-three {\n  width:320px;height:320px;\n  animation-delay:1.4s;\n}\n\n@keyframes vsRing {\n  50% {transform:scale(1.07);opacity:.3}\n}\n\n.vs-power-core {\n  position:relative;\n  z-index:2;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  width:155px;\n  height:155px;\n  border-radius:50%;\n  background:radial-gradient(\n    circle,#214f78,#0c1a2b 75%\n  );\n  border:1px solid #477da5;\n  box-shadow:0 0 55px rgba(53,151,229,.2);\n}\n\n.vs-bolt {\n  color:#a5e3ff;\n  font-size:38px;\n  line-height:1;\n}\n\n.vs-power-core strong {\n  color:#f0faff;\n  font-size:37px;\n  font-weight:900;\n  letter-spacing:-1px;\n}\n\n.vs-power-core small {\n  font-size:9px;\n  font-weight:800;\n  letter-spacing:2px;\n  color:#a7d6f2;\n}\n\n.vs-power-line {\n  position:absolute;\n  width:25%;\n  height:1px;\n  background:linear-gradient(\n    90deg,transparent,#5cbcff,transparent\n  );\n  top:50%;\n  box-shadow:0 0 15px #5cbcff;\n}\n\n.vs-line-left {left:2%}\n.vs-line-right {right:2%}\n\n.vs-scene-label {\n  position:absolute;\n  bottom:23px;\n  left:25px;\n  display:flex;\n  flex-direction:column;\n}\n\n.vs-scene-label span {\n  font-size:9px;\n  letter-spacing:2px;\n  color:#88afc9;\n}\n\n.vs-scene-label strong {\n  font-size:17px;\n  letter-spacing:1px;\n}\n\n\/* SHARED HEADINGS *\/\n\n.vs-kicker {\n  display:flex;\n  align-items:center;\n  gap:12px;\n  color:#76c9ff;\n  font-size:10px;\n  letter-spacing:2px;\n  font-weight:800;\n  margin-bottom:20px;\n}\n\n.vs-kicker\u003espan {\n  width:25px;\n  height:1px;\n  background:#64baff;\n  flex-shrink:0;\n}\n\n.vs-problem,\n.vs-features,\n.vs-lifestyle {\n  margin-bottom:125px;\n}\n\n.vs-problem h2,\n.vs-feature-heading h2,\n.vs-ports h2,\n.vs-lifestyle h2 {\n  font-size:clamp(34px,5vw,60px);\n  font-weight:800;\n  line-height:1.1;\n  letter-spacing:-2px;\n  margin-bottom:22px;\n}\n\n.vs-problem h2 em,\n.vs-feature-heading h2 em,\n.vs-ports h2 em,\n.vs-lifestyle h2 em {\n  display:block;\n  font-style:normal;\n  color:#85cfff;\n}\n\n.vs-copy {\n  max-width:650px;\n  color:var(--vs-muted);\n  font-size:16px;\n  line-height:1.85;\n  margin-bottom:35px;\n}\n\n\/* PROBLEM CARDS *\/\n\n.vs-problem-grid {\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:15px;\n}\n\n.vs-mini-card {\n  background:#101722;\n  border:1px solid var(--vs-line);\n  border-radius:15px;\n  padding:27px 23px;\n  transition:.3s;\n}\n\n.vs-mini-card:hover {\n  transform:translateY(-5px);\n  border-color:#3b7098;\n}\n\n.vs-mini-icon {\n  display:grid;\n  place-items:center;\n  width:50px;\n  height:50px;\n  background:#15283b;\n  border:1px solid #294c68;\n  color:#8cd2ff;\n  border-radius:12px;\n  font-size:20px;\n  font-weight:900;\n  margin-bottom:20px;\n}\n\n.vs-mini-card h3 {\n  font-size:17px;\n  margin-bottom:8px;\n}\n\n.vs-mini-card p {\n  color:var(--vs-muted);\n  font-size:13px;\n  line-height:1.7;\n  margin:0;\n}\n\n\/* FEATURE CARDS *\/\n\n.vs-feature-heading {\n  margin-bottom:38px;\n}\n\n.vs-feature-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:16px;\n}\n\n.vs-feature {\n  position:relative;\n  display:flex;\n  flex-direction:column;\n  min-height:325px;\n  padding:32px;\n  border-radius:19px;\n  background:linear-gradient(145deg,#151f2c,#0e141e);\n  border:1px solid var(--vs-line);\n  overflow:hidden;\n  transition:transform .35s,border-color .35s;\n}\n\n.vs-feature::before {\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:0;\n  width:100%;\n  height:2px;\n  background:linear-gradient(\n    90deg,transparent,#71c5ff,transparent\n  );\n  transform:scaleX(0);\n  transition:transform .4s;\n}\n\n.vs-feature:hover {\n  transform:translateY(-5px);\n  border-color:#315777;\n}\n\n.vs-feature:hover::before {\n  transform:scaleX(1);\n}\n\n.vs-feature-wide {\n  grid-column:1\/-1;\n  min-height:260px;\n  background:\n    radial-gradient(circle at 90% 50%,\n      rgba(38,119,191,.13),transparent 50%),\n    linear-gradient(145deg,#151f2c,#0e141e);\n}\n\n.vs-feature-top {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  margin-bottom:30px;\n}\n\n.vs-feature-icon {\n  display:grid;\n  place-items:center;\n  width:48px;\n  height:48px;\n  background:#1a3044;\n  border:1px solid #2a506d;\n  color:#9bdcff;\n  border-radius:12px;\n  font-size:26px;\n}\n\n.vs-index {\n  color:#647a8f;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1.5px;\n}\n\n.vs-feature-tag {\n  font-size:11px;\n  font-weight:800;\n  color:#68c3ff;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.vs-feature h3 {\n  font-size:24px;\n  font-weight:800;\n  letter-spacing:-.5px;\n  margin-bottom:12px;\n}\n\n.vs-feature p {\n  color:var(--vs-muted);\n  font-size:14px;\n  line-height:1.8;\n  max-width:530px;\n  margin-bottom:25px;\n}\n\n.vs-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(--vs-line);\n  color:#7495ae;\n  font-size:10px;\n  letter-spacing:1.4px;\n  font-weight:800;\n}\n\n.vs-feature-foot span:last-child {\n  font-size:18px;\n  color:#82ccff;\n}\n\n\/* PORT SECTION *\/\n\n.vs-ports {\n  display:grid;\n  grid-template-columns:1.1fr .9fr;\n  align-items:center;\n  gap:40px;\n  padding:65px;\n  margin-bottom:125px;\n  background:linear-gradient(125deg,#101c2b,#0b111b);\n  border:1px solid #22364b;\n  border-radius:24px;\n  overflow:hidden;\n}\n\n.vs-ports-content\u003ep {\n  color:var(--vs-muted);\n  font-size:15px;\n  line-height:1.85;\n}\n\n.vs-port-list {\n  display:grid;\n  gap:10px;\n  margin-top:28px;\n}\n\n.vs-port-list\u003ediv {\n  display:grid;\n  grid-template-columns:35px 1fr;\n  align-items:center;\n  column-gap:10px;\n  padding:12px 15px;\n  border:1px solid var(--vs-line);\n  border-radius:10px;\n  background:rgba(255,255,255,.03);\n}\n\n.vs-port-list\u003ediv\u003espan {\n  grid-row:span 2;\n  color:#6dc4ff;\n  font-size:12px;\n  font-weight:800;\n}\n\n.vs-port-list strong {\n  font-size:13px;\n  color:#e2f1ff;\n}\n\n.vs-port-list small {\n  font-size:11px;\n  color:#8299ae;\n}\n\n.vs-port-visual {\n  position:relative;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  min-height:320px;\n}\n\n.vs-port-glow {\n  position:absolute;\n  width:230px;\n  height:230px;\n  border-radius:50%;\n  background:rgba(50,151,245,.16);\n  filter:blur(60px);\n  animation:vsGlow 4s infinite alternate;\n}\n\n.vs-port-stack {\n  position:relative;\n  z-index:1;\n  display:grid;\n  gap:16px;\n  width:220px;\n  padding:30px;\n  border-radius:27px;\n  border:2px solid #416785;\n  background:\n    repeating-linear-gradient(\n      45deg,rgba(255,255,255,.025) 0px,\n      rgba(255,255,255,.025) 2px,\n      transparent 2px,transparent 6px\n    ),\n    linear-gradient(145deg,#273849,#0c121c);\n  box-shadow:0 20px 60px rgba(0,0,0,.4),\n    0 0 30px rgba(60,163,255,.12);\n}\n\n.vs-usb-a,\n.vs-usb-c {\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n}\n\n.vs-usb-a span,\n.vs-usb-c span {\n  font-size:10px;\n  color:#91b7d1;\n  font-weight:800;\n}\n\n.vs-usb-slot {\n  width:65px;\n  height:24px;\n  border-radius:4px;\n  background:#03070c;\n  border:3px solid #5b809d;\n  box-shadow:inset 0 0 10px #000;\n}\n\n.vs-usbc-slot {\n  width:43px;\n  height:19px;\n  border-radius:15px;\n  background:#03070c;\n  border:3px solid #5b809d;\n}\n\n.vs-port-caption {\n  margin-top:22px;\n  color:#8eb7d3;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n\/* LIFESTYLE *\/\n\n.vs-use-grid {\n  display:grid;\n  grid-template-columns:repeat(4,minmax(0,1fr));\n  gap:13px;\n  margin-top:40px;\n}\n\n.vs-use {\n  padding:25px 19px;\n  border-top:2px solid #36648a;\n  background:linear-gradient(180deg,#111b28,#0b111a);\n  border-radius:0 0 13px 13px;\n}\n\n.vs-use\u003espan {\n  color:#6ebef4;\n  font-size:12px;\n  font-weight:800;\n}\n\n.vs-use h3 {\n  margin:25px 0 8px;\n  font-size:16px;\n}\n\n.vs-use p {\n  color:var(--vs-muted);\n  font-size:13px;\n  margin:0;\n  line-height:1.7;\n}\n\n\/* CTA *\/\n\n.vs-cta {\n  position:relative;\n  text-align:center;\n  padding:85px 30px;\n  overflow:hidden;\n  border-radius:24px;\n  background:\n    radial-gradient(ellipse at 50% 0%,\n      rgba(51,137,209,.2),transparent 65%),\n    linear-gradient(145deg,#13253a,#08111d);\n  border:1px solid #2a4a65;\n}\n\n.vs-cta-light {\n  position:absolute;\n  width:80%;\n  height:1px;\n  left:10%;\n  top:0;\n  background:linear-gradient(\n    90deg,transparent,#87d4ff,transparent\n  );\n}\n\n.vs-cta-kicker {\n  justify-content:center;\n}\n\n.vs-cta h2 {\n  font-size:clamp(42px,6vw,78px);\n  line-height:1.08;\n  letter-spacing:-3px;\n  margin-bottom:22px;\n}\n\n.vs-cta h2 em {\n  display:block;\n  font-style:normal;\n  color:#8cd3ff;\n}\n\n.vs-cta\u003ep {\n  color:#a6bacb;\n  max-width:550px;\n  margin:0 auto 32px;\n  line-height:1.8;\n  font-size:15px;\n}\n\n.vs-buy {\n  min-width:245px;\n}\n\n.vs-trust {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:13px;\n  margin-top:25px;\n  color:#829cb1;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:1px;\n}\n\n.vs-trust i {\n  width:3px;\n  height:3px;\n  border-radius:50%;\n  background:#749ab8;\n}\n\n.vs-footer {\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  padding:30px 5px 0;\n  color:#5f7488;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:2px;\n}\n\n\/* SCROLL ANIMATION *\/\n\n.vs-reveal {\n  opacity:1;\n  transform:none;\n}\n\n.vs-premium.vs-js-ready .vs-reveal {\n  opacity:0;\n  transform:translateY(22px);\n  transition:opacity .75s ease,transform .75s ease;\n}\n\n.vs-premium.vs-js-ready .vs-reveal.vs-visible {\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* TABLET *\/\n\n@media(max-width:900px) {\n  .vs-problem-grid {\n    grid-template-columns:1fr;\n  }\n\n  .vs-ports {\n    grid-template-columns:1fr;\n    padding:40px;\n  }\n\n  .vs-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n  }\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px) {\n  .vs-premium {\n    padding:50px 15px 22px;\n  }\n\n  .vs-hero {\n    margin-bottom:35px;\n  }\n\n  .vs-eyebrow {\n    font-size:9px;\n    letter-spacing:1.2px;\n    padding:8px 12px;\n  }\n\n  .vs-series {\n    margin-top:27px;\n    font-size:8px;\n    letter-spacing:2px;\n    gap:9px;\n  }\n\n  .vs-series span {\n    width:22px;\n  }\n\n  .vs-hero h2 {\n    font-size:clamp(34px,9.5vw,52px);\n    letter-spacing:-1.8px;\n    line-height:1.09;\n    margin:18px 0;\n  }\n\n  .vs-intro {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .vs-actions {\n    flex-direction:column;\n    gap:15px;\n  }\n\n  .vs-primary {\n    width:100%;\n    padding:16px;\n  }\n\n  .vs-secondary {\n    font-size:12px;\n  }\n\n  .vs-specs {\n    margin-top:32px;\n    padding:16px 0;\n  }\n\n  .vs-specs div {\n    padding:0 5px;\n  }\n\n  .vs-specs strong {\n    font-size:clamp(10px,3vw,14px);\n    letter-spacing:0;\n  }\n\n  .vs-specs small {\n    font-size:9px;\n    line-height:1.4;\n  }\n\n  .vs-power-scene {\n    height:265px;\n    border-radius:15px;\n    margin-bottom:75px;\n  }\n\n  .vs-ring-one {width:120px;height:120px}\n  .vs-ring-two {width:180px;height:180px}\n  .vs-ring-three {width:240px;height:240px}\n\n  .vs-power-core {\n    width:120px;\n    height:120px;\n  }\n\n  .vs-power-core strong {\n    font-size:29px;\n  }\n\n  .vs-bolt {\n    font-size:28px;\n  }\n\n  .vs-power-core small {\n    font-size:8px;\n  }\n\n  .vs-scene-label {\n    bottom:15px;\n    left:15px;\n  }\n\n  .vs-scene-label span {\n    font-size:8px;\n  }\n\n  .vs-scene-label strong {\n    font-size:13px;\n  }\n\n  .vs-problem,\n  .vs-features,\n  .vs-lifestyle {\n    margin-bottom:78px;\n  }\n\n  .vs-kicker {\n    font-size:9px;\n    letter-spacing:1.3px;\n    gap:9px;\n    line-height:1.5;\n  }\n\n  .vs-kicker\u003espan {\n    width:18px;\n  }\n\n  .vs-problem h2,\n  .vs-feature-heading h2,\n  .vs-ports h2,\n  .vs-lifestyle h2 {\n    font-size:clamp(30px,8.3vw,42px);\n    letter-spacing:-1.2px;\n    line-height:1.15;\n  }\n\n  .vs-copy {\n    font-size:14px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .vs-problem-grid {\n    gap:10px;\n  }\n\n  .vs-mini-card {\n    padding:20px;\n    border-radius:12px;\n  }\n\n  .vs-mini-icon {\n    width:42px;\n    height:42px;\n    font-size:17px;\n    margin-bottom:15px;\n  }\n\n  .vs-mini-card h3 {\n    font-size:15px;\n  }\n\n  .vs-mini-card p {\n    font-size:12px;\n  }\n\n  .vs-feature-heading {\n    margin-bottom:25px;\n  }\n\n  .vs-feature-grid {\n    grid-template-columns:1fr;\n    gap:12px;\n  }\n\n  .vs-feature,\n  .vs-feature-wide {\n    grid-column:auto;\n    min-height:0;\n    padding:24px 21px;\n    border-radius:15px;\n  }\n\n  .vs-feature-top {\n    margin-bottom:22px;\n  }\n\n  .vs-feature-icon {\n    width:42px;\n    height:42px;\n    font-size:23px;\n  }\n\n  .vs-feature h3 {\n    font-size:21px;\n  }\n\n  .vs-feature p {\n    font-size:13px;\n    line-height:1.75;\n    margin-bottom:25px;\n  }\n\n  .vs-feature-foot {\n    font-size:9px;\n    letter-spacing:.8px;\n  }\n\n  .vs-ports {\n    padding:35px 20px;\n    margin-bottom:80px;\n    border-radius:18px;\n    gap:25px;\n  }\n\n  .vs-ports-content\u003ep {\n    font-size:13px;\n    line-height:1.8;\n  }\n\n  .vs-port-visual {\n    min-height:280px;\n  }\n\n  .vs-port-stack {\n    width:200px;\n    padding:25px;\n  }\n\n  .vs-use-grid {\n    grid-template-columns:repeat(2,minmax(0,1fr));\n    gap:10px;\n    margin-top:25px;\n  }\n\n  .vs-use {\n    padding:19px 14px;\n  }\n\n  .vs-use h3 {\n    font-size:14px;\n    margin:18px 0 6px;\n  }\n\n  .vs-use p {\n    font-size:12px;\n  }\n\n  .vs-cta {\n    padding:58px 19px;\n    border-radius:18px;\n  }\n\n  .vs-cta h2 {\n    font-size:clamp(36px,10vw,53px);\n    letter-spacing:-1.6px;\n  }\n\n  .vs-cta\u003ep {\n    font-size:13px;\n    line-height:1.8;\n  }\n\n  .vs-buy {\n    width:100%;\n    min-width:0;\n    padding:16px;\n  }\n\n  .vs-trust {\n    font-size:8px;\n    gap:8px;\n    letter-spacing:.5px;\n  }\n\n  .vs-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  .vs-premium {\n    padding-left:11px;\n    padding-right:11px;\n  }\n\n  .vs-hero h2 {\n    font-size:33px;\n  }\n\n  .vs-use-grid {\n    grid-template-columns:1fr;\n  }\n}\n\n@media(prefers-reduced-motion:reduce) {\n  .vs-premium *,\n  .vs-premium *::before,\n  .vs-premium *::after {\n    animation:none!important;\n    transition:none!important;\n    scroll-behavior:auto!important;\n  }\n\n  .vs-premium.vs-js-ready .vs-reveal {\n    opacity:1!important;\n    transform:none!important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  function initVoltShift() {\n    document.querySelectorAll('.vs-premium').forEach(\n      function(section) {\n        if (section.dataset.vsInit === 'true') return;\n        section.dataset.vsInit = 'true';\n\n        var elements = section.querySelectorAll('.vs-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('vs-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('vs-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',initVoltShift\n    );\n  } else {\n    initVoltShift();\n  }\n\n  document.addEventListener(\n    'shopify:section:load',initVoltShift\n  );\n})();\n\u003c\/script\u003e\n","brand":"Solveo","offers":[{"title":"Default Title","offer_id":68022021357860,"sku":null,"price":329.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/files\/carchrager4fnlno3.png?v=1793778963"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1028\/5269\/0212\/collections\/car_accessoires_collection.png?v=1793047474","url":"https:\/\/solveo.co.za\/collections\/car-accessories.oembed","provider":"Solveo","version":"1.0","type":"link"}