{"title":"Other example products","description":null,"products":[{"product_id":"other-example-product-1","title":"Vortix SA™ Reusable Hairbrush Cleaning Tool","description":"\u003cstyle\u003e\n  .vortix-cleaner {\n    position: relative;\n    overflow: hidden;\n    padding: 90px 20px;\n    background:\n      radial-gradient(circle at 10% 15%, rgba(255,255,255,.07), transparent 28%),\n      radial-gradient(circle at 90% 85%, rgba(255,255,255,.055), transparent 30%),\n      linear-gradient(135deg, #080808, #171717 55%, #070707);\n    color: #fff;\n  }\n\n  .vortix-cleaner::before {\n    content: \"\";\n    position: absolute;\n    width: 600px;\n    height: 600px;\n    border: 1px solid rgba(255,255,255,.07);\n    border-radius: 50%;\n    top: -350px;\n    left: -220px;\n    animation: cleanerFloat 9s ease-in-out infinite;\n  }\n\n  .vortix-cleaner::after {\n    content: \"\";\n    position: absolute;\n    width: 480px;\n    height: 480px;\n    border: 1px solid rgba(255,255,255,.06);\n    border-radius: 50%;\n    right: -200px;\n    bottom: -300px;\n    animation: cleanerFloat 11s ease-in-out infinite reverse;\n  }\n\n  .vortix-cleaner-container {\n    position: relative;\n    z-index: 2;\n    max-width: 1150px;\n    margin: 0 auto;\n  }\n\n  .vortix-cleaner-header {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 55px;\n    animation: cleanerFadeUp .9s ease both;\n  }\n\n  .vortix-cleaner-badge {\n    display: inline-block;\n    padding: 9px 20px;\n    border: 1px solid rgba(255,255,255,.18);\n    border-radius: 50px;\n    background: rgba(255,255,255,.035);\n    color: rgba(255,255,255,.72);\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    margin-bottom: 22px;\n  }\n\n  .vortix-cleaner-title {\n    margin: 0;\n    color: #fff !important;\n    font-size: clamp(40px, 6vw, 70px);\n    line-height: 1.03;\n    letter-spacing: -3px;\n    font-weight: 750;\n  }\n\n  .vortix-cleaner-title span {\n    background: linear-gradient(\n      90deg,\n      #ffffff,\n      #bcbcbc,\n      #ffffff\n    );\n    background-size: 200% auto;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    animation: cleanerShine 5s linear infinite;\n  }\n\n  .vortix-cleaner-intro {\n    max-width: 720px;\n    margin: 25px auto 0;\n    color: rgba(255,255,255,.62) !important;\n    font-size: 17px;\n    line-height: 1.8;\n  }\n\n  .vortix-cleaner-card {\n    padding: 42px;\n    border-radius: 28px;\n    border: 1px solid rgba(255,255,255,.13);\n    background: rgba(255,255,255,.045);\n    box-shadow:\n      0 35px 100px rgba(0,0,0,.45),\n      inset 0 1px 0 rgba(255,255,255,.06);\n    backdrop-filter: blur(25px);\n    -webkit-backdrop-filter: blur(25px);\n    animation: cleanerFadeUp 1s ease .15s both;\n  }\n\n  .vortix-cleaner-feature-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 20px;\n  }\n\n  .vortix-cleaner-feature {\n    position: relative;\n    overflow: hidden;\n    padding: 28px;\n    min-height: 150px;\n    border-radius: 20px;\n    border: 1px solid rgba(255,255,255,.1);\n    background: rgba(255,255,255,.035);\n    transition:\n      transform .35s ease,\n      border-color .35s ease,\n      background .35s ease;\n  }\n\n  .vortix-cleaner-feature::before {\n    content: \"\";\n    position: absolute;\n    width: 160px;\n    height: 160px;\n    border-radius: 50%;\n    background: rgba(255,255,255,.06);\n    filter: blur(45px);\n    top: -80px;\n    right: -60px;\n    opacity: 0;\n    transition: opacity .35s ease;\n  }\n\n  .vortix-cleaner-feature:hover {\n    transform: translateY(-6px);\n    border-color: rgba(255,255,255,.22);\n    background: rgba(255,255,255,.06);\n  }\n\n  .vortix-cleaner-feature:hover::before {\n    opacity: 1;\n  }\n\n  .vortix-cleaner-icon {\n    width: 46px;\n    height: 46px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 14px;\n    border: 1px solid rgba(255,255,255,.1);\n    background: rgba(255,255,255,.08);\n    font-size: 21px;\n    margin-bottom: 18px;\n  }\n\n  .vortix-cleaner-feature h3 {\n    margin: 0 0 9px;\n    color: #fff !important;\n    font-size: 18px;\n    font-weight: 650;\n  }\n\n  .vortix-cleaner-feature p {\n    margin: 0;\n    color: rgba(255,255,255,.55) !important;\n    font-size: 14px;\n    line-height: 1.65;\n  }\n\n  .vortix-cleaner-bottom {\n    margin-top: 45px;\n    padding-top: 40px;\n    border-top: 1px solid rgba(255,255,255,.1);\n    text-align: center;\n  }\n\n  .vortix-cleaner-bottom h2 {\n    margin: 0 0 15px;\n    color: #fff !important;\n    font-size: 30px;\n    letter-spacing: -1px;\n  }\n\n  .vortix-cleaner-bottom p {\n    max-width: 760px;\n    margin: 0 auto;\n    color: rgba(255,255,255,.58) !important;\n    font-size: 15px;\n    line-height: 1.8;\n  }\n\n  .vortix-cleaner-highlight {\n    display: inline-block;\n    margin-top: 30px;\n    padding: 14px 25px;\n    border-radius: 12px;\n    border: 1px solid rgba(255,255,255,.14);\n    background: rgba(255,255,255,.05);\n    color: rgba(255,255,255,.8);\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: .5px;\n  }\n\n  @keyframes cleanerFadeUp {\n    from {\n      opacity: 0;\n      transform: translateY(30px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes cleanerFloat {\n    0%, 100% {\n      transform: translateY(0) rotate(0deg);\n    }\n\n    50% {\n      transform: translateY(20px) rotate(5deg);\n    }\n  }\n\n  @keyframes cleanerShine {\n    0% {\n      background-position: 200% center;\n    }\n\n    100% {\n      background-position: -200% center;\n    }\n  }\n\n  @media (max-width: 700px) {\n\n    .vortix-cleaner {\n      padding: 65px 15px;\n    }\n\n    .vortix-cleaner-title {\n      font-size: 45px;\n      letter-spacing: -2px;\n    }\n\n    .vortix-cleaner-intro {\n      font-size: 15px;\n    }\n\n    .vortix-cleaner-card {\n      padding: 20px;\n      border-radius: 20px;\n    }\n\n    .vortix-cleaner-feature-grid {\n      grid-template-columns: 1fr;\n      gap: 15px;\n    }\n\n    .vortix-cleaner-feature {\n      min-height: auto;\n      padding: 23px;\n    }\n\n    .vortix-cleaner-bottom h2 {\n      font-size: 25px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .vortix-cleaner::before,\n    .vortix-cleaner::after,\n    .vortix-cleaner-title span {\n      animation: none;\n    }\n\n    .vortix-cleaner-header,\n    .vortix-cleaner-card {\n      animation: none;\n    }\n  }\n\u003c\/style\u003e\n\n\u003csection class=\"vortix-cleaner\"\u003e\n\n  \u003cdiv class=\"vortix-cleaner-container\"\u003e\n\n    \u003cdiv class=\"vortix-cleaner-header\"\u003e\n\n      \u003cdiv class=\"vortix-cleaner-badge\"\u003e\n        VORTIX SA • HAIR CARE\n      \u003c\/div\u003e\n\n      \u003ch1 class=\"vortix-cleaner-title\"\u003e\n        A Cleaner Brush,\n        \u003cspan\u003eEvery Time.\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"vortix-cleaner-intro\"\u003e\n        Keep your favourite hairbrush fresh, clean, and ready to use\n        with the VORTIX SA™ Reusable Hairbrush Cleaner. Designed to\n        remove trapped hair and buildup from your brush with a simple,\n        practical design made for everyday use.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"vortix-cleaner-card\"\u003e\n\n      \u003cdiv class=\"vortix-cleaner-feature-grid\"\u003e\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            🧹\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Easy Hair Removal\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Designed to help lift and remove trapped hair from\n            between your brush bristles quickly and easily.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            ♻️\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Reusable Design\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Built for repeated use, giving you a practical cleaning\n            tool you can keep in your hair-care routine.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            ✋\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Ergonomic Handle\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            A comfortable handle provides a secure grip while\n            cleaning your brush.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            ✨\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Deep Cleaning Bristles\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Specially arranged bristles help reach into brush gaps\n            and loosen hair and everyday buildup.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            🛁\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Perfect For The Bathroom\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Compact and practical, making it easy to keep alongside\n            your everyday hair-care essentials.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-cleaner-feature\"\u003e\n\n          \u003cdiv class=\"vortix-cleaner-icon\"\u003e\n            🎒\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Compact \u0026amp; Portable\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Lightweight and easy to carry, so you can keep your\n            hairbrush cleaning tool wherever you need it.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vortix-cleaner-bottom\"\u003e\n\n        \u003ch2\u003e\n          Keep Your Brush Fresh\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Regularly removing trapped hair helps keep your brush\n          cleaner and ready for your next styling routine. With its\n          sleek design, durable plastic construction, and ergonomic\n          handle, the VORTIX SA™ Hairbrush Cleaner is a simple\n          addition to your everyday hair-care essentials.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"vortix-cleaner-highlight\"\u003e\n          SIMPLE • REUSABLE • COMPACT • EASY TO USE\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e","brand":"VORTIX SA","offers":[{"title":"Default Title","offer_id":53508366008609,"sku":null,"price":65.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1000\/7992\/7585\/files\/72428ee8-6e7e-4835-9d96-d1ef1b57b5d0.png?v=1789602402"},{"product_id":"other-example-product-2","title":"Vortix SA™ Cordless Heated Hair Straightening Brush","description":"\u003cstyle\u003e\n  .vortix-product-showcase {\n    position: relative;\n    overflow: hidden;\n    padding: 90px 20px;\n    background:\n      radial-gradient(circle at 10% 20%, rgba(255,255,255,.08), transparent 30%),\n      radial-gradient(circle at 90% 80%, rgba(255,255,255,.06), transparent 30%),\n      linear-gradient(135deg, #080808, #171717 55%, #070707);\n    color: #fff;\n  }\n\n  \/* Animated background glow *\/\n  .vortix-product-showcase::before {\n    content: \"\";\n    position: absolute;\n    width: 550px;\n    height: 550px;\n    border-radius: 50%;\n    border: 1px solid rgba(255,255,255,.07);\n    top: -300px;\n    left: -180px;\n    animation: vortixFloat 8s ease-in-out infinite;\n  }\n\n  .vortix-product-showcase::after {\n    content: \"\";\n    position: absolute;\n    width: 450px;\n    height: 450px;\n    border-radius: 50%;\n    border: 1px solid rgba(255,255,255,.06);\n    bottom: -280px;\n    right: -160px;\n    animation: vortixFloat 10s ease-in-out infinite reverse;\n  }\n\n  .vortix-product-container {\n    position: relative;\n    z-index: 2;\n    max-width: 1150px;\n    margin: 0 auto;\n  }\n\n  \/* Header *\/\n  .vortix-product-header {\n    text-align: center;\n    max-width: 850px;\n    margin: 0 auto 55px;\n    animation: vortixFadeUp .9s ease both;\n  }\n\n  .vortix-product-badge {\n    display: inline-block;\n    padding: 9px 20px;\n    border: 1px solid rgba(255,255,255,.18);\n    border-radius: 50px;\n    background: rgba(255,255,255,.04);\n    color: rgba(255,255,255,.72);\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 3px;\n    margin-bottom: 22px;\n  }\n\n  .vortix-product-title {\n    margin: 0;\n    color: #fff !important;\n    font-size: clamp(40px, 6vw, 72px);\n    line-height: 1.02;\n    letter-spacing: -3px;\n    font-weight: 750;\n  }\n\n  .vortix-product-title span {\n    background: linear-gradient(\n      90deg,\n      #ffffff,\n      #bdbdbd,\n      #ffffff\n    );\n    background-size: 200% auto;\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    animation: vortixShine 5s linear infinite;\n  }\n\n  .vortix-product-intro {\n    max-width: 720px;\n    margin: 25px auto 0;\n    color: rgba(255,255,255,.62) !important;\n    font-size: 17px;\n    line-height: 1.8;\n  }\n\n  \/* Main glass card *\/\n  .vortix-product-card {\n    border: 1px solid rgba(255,255,255,.13);\n    border-radius: 28px;\n    background: rgba(255,255,255,.045);\n    box-shadow:\n      0 35px 100px rgba(0,0,0,.45),\n      inset 0 1px 0 rgba(255,255,255,.06);\n    backdrop-filter: blur(25px);\n    -webkit-backdrop-filter: blur(25px);\n    padding: 42px;\n    animation: vortixFadeUp 1s ease .15s both;\n  }\n\n  \/* Feature grid *\/\n  .vortix-feature-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 20px;\n  }\n\n  .vortix-feature {\n    position: relative;\n    padding: 28px;\n    min-height: 150px;\n    border-radius: 20px;\n    border: 1px solid rgba(255,255,255,.1);\n    background: rgba(255,255,255,.035);\n    transition:\n      transform .35s ease,\n      border-color .35s ease,\n      background .35s ease;\n    overflow: hidden;\n  }\n\n  .vortix-feature::before {\n    content: \"\";\n    position: absolute;\n    width: 150px;\n    height: 150px;\n    border-radius: 50%;\n    background: rgba(255,255,255,.06);\n    filter: blur(45px);\n    top: -80px;\n    right: -60px;\n    opacity: 0;\n    transition: opacity .35s ease;\n  }\n\n  .vortix-feature:hover {\n    transform: translateY(-6px);\n    border-color: rgba(255,255,255,.22);\n    background: rgba(255,255,255,.065);\n  }\n\n  .vortix-feature:hover::before {\n    opacity: 1;\n  }\n\n  .vortix-feature-icon {\n    width: 46px;\n    height: 46px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    border-radius: 14px;\n    background: rgba(255,255,255,.08);\n    border: 1px solid rgba(255,255,255,.1);\n    font-size: 21px;\n    margin-bottom: 18px;\n  }\n\n  .vortix-feature h3 {\n    margin: 0 0 9px;\n    color: #fff !important;\n    font-size: 18px;\n    font-weight: 650;\n  }\n\n  .vortix-feature p {\n    margin: 0;\n    color: rgba(255,255,255,.55) !important;\n    font-size: 14px;\n    line-height: 1.65;\n  }\n\n  \/* Bottom description *\/\n  .vortix-product-bottom {\n    margin-top: 45px;\n    padding-top: 40px;\n    border-top: 1px solid rgba(255,255,255,.1);\n    text-align: center;\n  }\n\n  .vortix-product-bottom h2 {\n    margin: 0 0 15px;\n    color: #fff !important;\n    font-size: 30px;\n    letter-spacing: -1px;\n  }\n\n  .vortix-product-bottom p {\n    max-width: 760px;\n    margin: 0 auto;\n    color: rgba(255,255,255,.58) !important;\n    font-size: 15px;\n    line-height: 1.8;\n  }\n\n  \/* CTA *\/\n  .vortix-product-cta {\n    margin-top: 35px;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 15px 28px;\n    border-radius: 13px;\n    background: #fff;\n    color: #080808 !important;\n    text-decoration: none;\n    font-size: 14px;\n    font-weight: 700;\n    transition: all .3s ease;\n  }\n\n  .vortix-product-cta span {\n    margin-left: 9px;\n    transition: transform .3s ease;\n  }\n\n  .vortix-product-cta:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 15px 35px rgba(255,255,255,.12);\n  }\n\n  .vortix-product-cta:hover span {\n    transform: translateX(5px);\n  }\n\n  \/* Animations *\/\n  @keyframes vortixFadeUp {\n    from {\n      opacity: 0;\n      transform: translateY(30px);\n    }\n\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n\n  @keyframes vortixFloat {\n    0%, 100% {\n      transform: translateY(0) rotate(0deg);\n    }\n\n    50% {\n      transform: translateY(20px) rotate(5deg);\n    }\n  }\n\n  @keyframes vortixShine {\n    0% {\n      background-position: 200% center;\n    }\n\n    100% {\n      background-position: -200% center;\n    }\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 700px) {\n\n    .vortix-product-showcase {\n      padding: 65px 15px;\n    }\n\n    .vortix-product-title {\n      font-size: 46px;\n      letter-spacing: -2px;\n    }\n\n    .vortix-product-intro {\n      font-size: 15px;\n    }\n\n    .vortix-product-card {\n      padding: 20px;\n      border-radius: 20px;\n    }\n\n    .vortix-feature-grid {\n      grid-template-columns: 1fr;\n      gap: 15px;\n    }\n\n    .vortix-feature {\n      min-height: auto;\n      padding: 23px;\n    }\n\n    .vortix-product-bottom h2 {\n      font-size: 25px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .vortix-product-showcase::before,\n    .vortix-product-showcase::after,\n    .vortix-product-title span {\n      animation: none;\n    }\n\n    .vortix-product-header,\n    .vortix-product-card {\n      animation: none;\n    }\n  }\n\u003c\/style\u003e\n\n\n\u003csection class=\"vortix-product-showcase\"\u003e\n\n  \u003cdiv class=\"vortix-product-container\"\u003e\n\n    \u003c!-- HEADER --\u003e\n\n    \u003cdiv class=\"vortix-product-header\"\u003e\n\n      \u003cdiv class=\"vortix-product-badge\"\u003e\n        VORTIX SA • SMART BEAUTY\n      \u003c\/div\u003e\n\n      \u003ch1 class=\"vortix-product-title\"\u003e\n        Effortless Styling,\n        \u003cspan\u003eWherever You Go.\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"vortix-product-intro\"\u003e\n        Keep your hair routine simple with the VORTIX SA™ Cordless\n        Heated Hair Straightening Brush. Designed for convenient\n        styling at home or on the move, this lightweight styling tool\n        gives you the freedom to refresh your look without being tied\n        to a wall outlet.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- PRODUCT FEATURES --\u003e\n\n    \u003cdiv class=\"vortix-product-card\"\u003e\n\n      \u003cdiv class=\"vortix-feature-grid\"\u003e\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            ⚡\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Rapid Heating\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            A rapid-heating design helps make your styling routine\n            quick and convenient.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            🔋\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Cordless \u0026amp; Rechargeable\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Enjoy flexible styling without being connected to a\n            wall outlet. Recharge whenever you need.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            🔌\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            USB Type-C\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Convenient Type-C charging makes powering your styling\n            brush simple and practical.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            ✨\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Lightweight Design\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Compact and lightweight for comfortable handling at home,\n            while travelling, or wherever your day takes you.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            🛡️\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Anti-Scald Design\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Designed with an anti-scald construction for a more\n            comfortable styling experience.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vortix-feature\"\u003e\n\n          \u003cdiv class=\"vortix-feature-icon\"\u003e\n            ✈️\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Style On The Go\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Charge it, pack it, and take it with you for convenient\n            touch-ups wherever you go.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- BOTTOM --\u003e\n\n      \u003cdiv class=\"vortix-product-bottom\"\u003e\n\n        \u003ch2\u003e\n          Your Style. Your Way.\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Charge it, take it with you, and refresh your look with a\n          compact styling tool made for everyday convenience.\n          Whether you're getting ready at home or preparing for a\n          day out, VORTIX SA™ keeps your styling routine simple.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e","brand":"VORTIX SA","offers":[{"title":"White","offer_id":53518790459681,"sku":null,"price":549.99,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":53518790492449,"sku":null,"price":549.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1000\/7992\/7585\/files\/new_1.png?v=1789527100"},{"product_id":"other-example-product-3","title":"VORTIX SA™ 360° Rotating 5-Compartment Desk Organiser","description":"\u003csection class=\"vx-beauty\"\u003e\n\n  \u003c!-- BACKGROUND EFFECTS --\u003e\n  \u003cdiv class=\"vx-bg-glow vx-glow-1\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"vx-bg-glow vx-glow-2\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"vx-wrap\"\u003e\n\n    \u003c!-- INTRO --\u003e\n    \u003cdiv class=\"vx-intro vx-reveal\"\u003e\n\n      \u003cspan class=\"vx-kicker\"\u003e\n        VORTIX SA™ • BEAUTY \u0026amp; ORGANISATION\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Your beauty space,\n        \u003cem\u003ebeautifully organised.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Keep your favourite beauty and everyday essentials beautifully\n        organised and always within reach.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- MAIN FEATURE --\u003e\n    \u003cdiv class=\"vx-feature\"\u003e\n\n      \u003cdiv class=\"vx-feature-text vx-reveal\"\u003e\n\n        \u003cdiv class=\"vx-small-label\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e\n          THE EVERYDAY ORGANISER\n        \u003c\/div\u003e\n\n        \u003ch3\u003e\n          Stop searching.\u003cbr\u003e\n          \u003cstrong\u003eStart spinning.\u003c\/strong\u003e\n        \u003c\/h3\u003e\n\n        \u003cp class=\"vx-description\"\u003e\n          Meet the VORTIX SA™ 360° Rotating 5-Compartment Organiser —\n          designed to bring a little more order and a lot more ease\n          to your everyday routine.\n        \u003c\/p\u003e\n\n\n        \u003c!-- FEATURES --\u003e\n        \u003cdiv class=\"vx-points\"\u003e\n\n          \u003cdiv class=\"vx-point\"\u003e\n\n            \u003cdiv class=\"vx-circle\"\u003e\n              01\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003e360° ACCESS\u003c\/b\u003e\n\n              \u003cp\u003e\n                Spin to reach what you need in seconds.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vx-point\"\u003e\n\n            \u003cdiv class=\"vx-circle\"\u003e\n              02\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003e5 COMPARTMENTS\u003c\/b\u003e\n\n              \u003cp\u003e\n                Keep your essentials separated and easy to find.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vx-point\"\u003e\n\n            \u003cdiv class=\"vx-circle\"\u003e\n              03\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003eMADE FOR YOUR SPACE\u003c\/b\u003e\n\n              \u003cp\u003e\n                Perfect for your vanity, bathroom, desk or office.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- PREMIUM VISUAL --\u003e\n      \u003cdiv class=\"vx-visual vx-reveal\"\u003e\n\n        \u003cdiv class=\"vx-ring vx-ring-1\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"vx-ring vx-ring-2\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"vx-orbit-dot\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"vx-glass-card\"\u003e\n\n          \u003cdiv class=\"vx-card-top\"\u003e\n            \u003cspan\u003eVORTIX SA™\u003c\/span\u003e\n            \u003cspan\u003e360°\u003c\/span\u003e\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vx-card-middle\"\u003e\n\n            \u003cdiv class=\"vx-big-number\"\u003e\n              360\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"vx-degree\"\u003e\n              °\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vx-card-bottom\"\u003e\n\n            \u003cspan\u003eROTATE\u003c\/span\u003e\n            \u003cspan\u003eORGANISE\u003c\/span\u003e\n            \u003cspan\u003eENJOY\u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- BEAUTY MESSAGE --\u003e\n    \u003cdiv class=\"vx-message vx-reveal\"\u003e\n\n      \u003cspan\u003e\n        BEAUTY • SKINCARE • EVERYDAY ESSENTIALS\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Everything you reach for,\n        \u003cem\u003eright where you need it.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        From your morning routine to getting ready for the evening,\n        keep your favourites organised, visible and easy to access.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- USE CASES --\u003e\n    \u003cdiv class=\"vx-use\"\u003e\n\n      \u003cdiv class=\"vx-use-heading vx-reveal\"\u003e\n\n        \u003cspan\u003e\n          DESIGNED AROUND YOU\n        \u003c\/span\u003e\n\n        \u003ch2\u003e\n          One organiser.\u003cbr\u003e\n          \u003cem\u003eSo many possibilities.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vx-use-grid\"\u003e\n\n\n        \u003c!-- MAKEUP --\u003e\n        \u003cdiv class=\"vx-use-card vx-reveal\"\u003e\n\n          \u003cdiv class=\"vx-use-number\"\u003e\n            01\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vx-use-icon\"\u003e\n            ✦\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Makeup\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Keep brushes, lipsticks and everyday makeup\n            organised and ready to grab.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- SKINCARE --\u003e\n        \u003cdiv class=\"vx-use-card vx-reveal\"\u003e\n\n          \u003cdiv class=\"vx-use-number\"\u003e\n            02\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vx-use-icon\"\u003e\n            ♡\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Skincare\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Give your favourite skincare products\n            a dedicated place on your counter.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- DESK --\u003e\n        \u003cdiv class=\"vx-use-card vx-reveal\"\u003e\n\n          \u003cdiv class=\"vx-use-number\"\u003e\n            03\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vx-use-icon\"\u003e\n            ✧\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Desk\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Keep pens, stationery and small essentials\n            neatly organised.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- BATHROOM --\u003e\n        \u003cdiv class=\"vx-use-card vx-reveal\"\u003e\n\n          \u003cdiv class=\"vx-use-number\"\u003e\n            04\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vx-use-icon\"\u003e\n            ◌\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Bathroom\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Keep your everyday essentials close\n            without cluttering your space.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- TRANSFORMATION --\u003e\n    \u003cdiv class=\"vx-transformation vx-reveal\"\u003e\n\n\n      \u003cdiv class=\"vx-before\"\u003e\n\n        \u003cspan\u003e\n          BEFORE\n        \u003c\/span\u003e\n\n        \u003ch3\u003e\n          Cluttered.\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Searching through drawers, bags and scattered products.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vx-arrow\"\u003e\n        →\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vx-after\"\u003e\n\n        \u003cspan\u003e\n          AFTER\n        \u003c\/span\u003e\n\n        \u003ch3\u003e\n          Organised.\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Your everyday essentials visible, accessible and beautifully arranged.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- FINAL CTA --\u003e\n    \u003cdiv class=\"vx-final vx-reveal\"\u003e\n\n      \u003cdiv class=\"vx-final-line\"\u003e\u003c\/div\u003e\n\n      \u003cspan\u003e\n        MAKE SPACE FOR WHAT MATTERS\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        A little more order.\u003cbr\u003e\n        \u003cem\u003eA lot more ease.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Give your everyday essentials a place of their own.\n      \u003c\/p\u003e\n\n      \u003c!--\n        This button scrolls toward the Shopify product purchase area.\n        Change #AddToCart if your theme uses a different ID.\n      --\u003e\n\n      \u003ca href=\"#AddToCart\" class=\"vx-button\"\u003e\n        ADD TO CART\n        \u003cspan\u003e→\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"vx-final-line\"\u003e\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003cstyle\u003e\n\n\/* =========================================================\n   VORTIX SA™\n   FEMININE LUXURY COLOUR SYSTEM\n   ========================================================= *\/\n\n.vx-beauty {\n\n  --cream:#FAF6F2;\n  --cream-dark:#F3E5E5;\n\n  --blush:#E8C7CB;\n  --rose:#C98F9B;\n  --rose-dark:#B98286;\n\n  --gold:#C9A96E;\n  --gold-light:#D8B47A;\n\n  --brown:#352A2B;\n  --brown-soft:#625355;\n\n  --grey:#7D6E70;\n\n  position:relative;\n\n  overflow:hidden;\n\n  background:\n\n    radial-gradient(\n      circle at 12% 8%,\n      rgba(201,143,155,.20),\n      transparent 30%\n    ),\n\n    radial-gradient(\n      circle at 88% 65%,\n      rgba(232,199,203,.35),\n      transparent 35%\n    ),\n\n    linear-gradient(\n      180deg,\n      #FAF6F2 0%,\n      #F7ECEC 50%,\n      #FAF6F2 100%\n    );\n\n  color:var(--brown);\n\n  padding:110px 22px;\n\n  font-family:inherit;\n\n}\n\n\n\/* =========================================================\n   CONTAINER\n   ========================================================= *\/\n\n.vx-wrap {\n\n  width:min(1180px,100%);\n\n  margin:auto;\n\n  position:relative;\n\n  z-index:2;\n\n}\n\n\n\/* =========================================================\n   INTRO\n   ========================================================= *\/\n\n.vx-intro {\n\n  text-align:center;\n\n  max-width:780px;\n\n  margin:auto;\n\n}\n\n\n.vx-kicker {\n\n  color:var(--rose-dark);\n\n  font-size:10px;\n\n  font-weight:700;\n\n  letter-spacing:.28em;\n\n}\n\n\n.vx-intro h2 {\n\n  font-size:clamp(44px,6vw,78px);\n\n  line-height:.96;\n\n  letter-spacing:-.05em;\n\n  margin:25px 0;\n\n  color:var(--brown);\n\n}\n\n\n.vx-intro h2 em {\n\n  display:block;\n\n  font-style:normal;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-intro p {\n\n  color:var(--grey);\n\n  font-size:16px;\n\n  line-height:1.7;\n\n  max-width:600px;\n\n  margin:auto;\n\n}\n\n\n\/* =========================================================\n   MAIN FEATURE\n   ========================================================= *\/\n\n.vx-feature {\n\n  margin-top:110px;\n\n  display:grid;\n\n  grid-template-columns:1fr 1fr;\n\n  gap:90px;\n\n  align-items:center;\n\n}\n\n\n\/* =========================================================\n   LABEL\n   ========================================================= *\/\n\n.vx-small-label {\n\n  display:flex;\n\n  align-items:center;\n\n  gap:12px;\n\n  color:var(--rose-dark);\n\n  font-size:10px;\n\n  letter-spacing:.2em;\n\n  margin-bottom:25px;\n\n}\n\n\n.vx-small-label span {\n\n  width:30px;\n\n  height:1px;\n\n  background:var(--gold);\n\n}\n\n\n\/* =========================================================\n   MAIN HEADING\n   ========================================================= *\/\n\n.vx-feature-text h3 {\n\n  font-size:clamp(44px,5vw,68px);\n\n  line-height:.98;\n\n  letter-spacing:-.045em;\n\n  margin:0;\n\n  color:var(--brown);\n\n}\n\n\n.vx-feature-text h3 strong {\n\n  color:var(--rose-dark);\n\n  font-weight:600;\n\n}\n\n\n.vx-description {\n\n  color:var(--grey);\n\n  font-size:16px;\n\n  line-height:1.8;\n\n  max-width:570px;\n\n  margin:30px 0 40px;\n\n}\n\n\n\/* =========================================================\n   FEATURE POINTS\n   ========================================================= *\/\n\n.vx-points {\n\n  display:flex;\n\n  flex-direction:column;\n\n  gap:15px;\n\n}\n\n\n.vx-point {\n\n  display:flex;\n\n  align-items:center;\n\n  gap:16px;\n\n  padding:18px;\n\n  border:1px solid rgba(201,143,155,.22);\n\n  border-radius:16px;\n\n  background:rgba(255,255,255,.68);\n\n  box-shadow:\n\n    0 10px 35px rgba(100,60,65,.055);\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease,\n\n    border-color .35s ease;\n\n}\n\n\n.vx-point:hover {\n\n  transform:translateX(7px);\n\n  border-color:rgba(201,143,155,.48);\n\n  box-shadow:\n\n    0 18px 50px rgba(100,60,65,.10);\n\n}\n\n\n.vx-circle {\n\n  width:40px;\n\n  height:40px;\n\n  min-width:40px;\n\n  display:grid;\n\n  place-items:center;\n\n  border-radius:50%;\n\n  border:1px solid rgba(201,143,155,.5);\n\n  color:var(--rose-dark);\n\n  font-size:10px;\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(255,255,255,.9),\n\n      rgba(232,199,203,.3)\n\n    );\n\n}\n\n\n.vx-point b {\n\n  display:block;\n\n  font-size:12px;\n\n  letter-spacing:.1em;\n\n  color:var(--brown);\n\n}\n\n\n.vx-point p {\n\n  margin:5px 0 0;\n\n  color:var(--grey);\n\n  font-size:12px;\n\n}\n\n\n\/* =========================================================\n   PREMIUM VISUAL\n   ========================================================= *\/\n\n.vx-visual {\n\n  min-height:560px;\n\n  display:grid;\n\n  place-items:center;\n\n  position:relative;\n\n}\n\n\n.vx-glass-card {\n\n  width:min(360px,80%);\n\n  aspect-ratio:.75;\n\n  border-radius:30px;\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(255,255,255,.96),\n\n      rgba(248,226,229,.82)\n\n    );\n\n  border:1px solid rgba(201,169,110,.55);\n\n  box-shadow:\n\n    0 35px 90px rgba(100,60,65,.16),\n\n    inset 0 1px rgba(255,255,255,.95);\n\n  backdrop-filter:blur(18px);\n\n  position:relative;\n\n  overflow:hidden;\n\n  animation:\n\n    vxFloat 5s ease-in-out infinite;\n\n}\n\n\n.vx-glass-card:after {\n\n  content:\"\";\n\n  position:absolute;\n\n  width:160%;\n\n  height:20%;\n\n  left:-30%;\n\n  top:40%;\n\n  background:\n\n    linear-gradient(\n\n      100deg,\n\n      transparent,\n\n      rgba(255,255,255,.55),\n\n      transparent\n\n    );\n\n  transform:rotate(-25deg);\n\n  animation:vxShine 5s infinite;\n\n}\n\n\n@keyframes vxFloat {\n\n  0%,100% {\n\n    transform:\n\n      translateY(0)\n\n      rotate(-1deg);\n\n  }\n\n  50% {\n\n    transform:\n\n      translateY(-14px)\n\n      rotate(1deg);\n\n  }\n\n}\n\n\n@keyframes vxShine {\n\n  0%,45% {\n\n    transform:\n\n      translateX(-80%)\n\n      rotate(-25deg);\n\n  }\n\n  70%,100% {\n\n    transform:\n\n      translateX(80%)\n\n      rotate(-25deg);\n\n  }\n\n}\n\n\n\/* =========================================================\n   CARD\n   ========================================================= *\/\n\n.vx-card-top {\n\n  display:flex;\n\n  justify-content:space-between;\n\n  padding:30px;\n\n  font-size:10px;\n\n  letter-spacing:.18em;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-card-middle {\n\n  display:flex;\n\n  align-items:flex-start;\n\n  justify-content:center;\n\n  margin-top:80px;\n\n}\n\n\n.vx-big-number {\n\n  font-size:130px;\n\n  line-height:.8;\n\n  font-weight:800;\n\n  letter-spacing:-.08em;\n\n  background:\n\n    linear-gradient(\n\n      135deg,\n\n      #B98286,\n\n      #D8B47A,\n\n      #C98F9B,\n\n      #B98286\n\n    );\n\n  -webkit-background-clip:text;\n\n  background-clip:text;\n\n  color:transparent;\n\n  background-size:250%;\n\n  animation:\n\n    vxGoldMove 5s linear infinite;\n\n}\n\n\n@keyframes vxGoldMove {\n\n  to {\n\n    background-position:250% center;\n\n  }\n\n}\n\n\n.vx-degree {\n\n  font-size:35px;\n\n  color:var(--gold);\n\n}\n\n\n.vx-card-bottom {\n\n  position:absolute;\n\n  bottom:30px;\n\n  left:30px;\n\n  right:30px;\n\n  display:flex;\n\n  justify-content:space-between;\n\n  font-size:9px;\n\n  letter-spacing:.16em;\n\n  color:var(--brown-soft);\n\n}\n\n\n\/* =========================================================\n   ORBITS\n   ========================================================= *\/\n\n.vx-ring {\n\n  position:absolute;\n\n  border:1px solid rgba(201,143,155,.18);\n\n  border-radius:50%;\n\n}\n\n\n.vx-ring-1 {\n\n  width:480px;\n\n  height:480px;\n\n  animation:\n\n    vxRotate 18s linear infinite;\n\n}\n\n\n.vx-ring-2 {\n\n  width:570px;\n\n  height:330px;\n\n  transform:rotate(-25deg);\n\n  border-color:\n\n    rgba(201,169,110,.14);\n\n}\n\n\n@keyframes vxRotate {\n\n  to {\n\n    transform:rotate(360deg);\n\n  }\n\n}\n\n\n.vx-orbit-dot {\n\n  position:absolute;\n\n  width:8px;\n\n  height:8px;\n\n  border-radius:50%;\n\n  background:var(--gold);\n\n  box-shadow:\n\n    0 0 25px rgba(201,169,110,.7);\n\n  top:100px;\n\n  right:90px;\n\n}\n\n\n\/* =========================================================\n   BEAUTY MESSAGE\n   ========================================================= *\/\n\n.vx-message {\n\n  text-align:center;\n\n  padding:140px 0;\n\n  max-width:850px;\n\n  margin:auto;\n\n}\n\n\n.vx-message span,\n\n.vx-use-heading span,\n\n.vx-final \u003e span {\n\n  color:var(--rose-dark);\n\n  font-size:10px;\n\n  letter-spacing:.25em;\n\n  font-weight:700;\n\n}\n\n\n.vx-message h2 {\n\n  font-size:clamp(40px,5vw,65px);\n\n  line-height:1;\n\n  letter-spacing:-.045em;\n\n  margin:20px 0;\n\n}\n\n\n.vx-message h2 em {\n\n  font-style:normal;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-message p {\n\n  color:var(--grey);\n\n  line-height:1.8;\n\n  max-width:650px;\n\n  margin:auto;\n\n}\n\n\n\/* =========================================================\n   USE CASES\n   ========================================================= *\/\n\n.vx-use-heading h2 {\n\n  font-size:clamp(42px,5vw,65px);\n\n  line-height:.98;\n\n  letter-spacing:-.05em;\n\n  margin:18px 0 50px;\n\n}\n\n\n.vx-use-heading h2 em {\n\n  font-style:normal;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-use-grid {\n\n  display:grid;\n\n  grid-template-columns:\n\n    repeat(4,1fr);\n\n  gap:14px;\n\n}\n\n\n.vx-use-card {\n\n  padding:28px 22px 35px;\n\n  border:\n\n    1px solid rgba(201,143,155,.20);\n\n  border-radius:22px;\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(255,255,255,.88),\n\n      rgba(248,226,229,.58)\n\n    );\n\n  box-shadow:\n\n    0 12px 40px rgba(100,60,65,.06);\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease,\n\n    border-color .35s ease;\n\n}\n\n\n.vx-use-card:hover {\n\n  transform:translateY(-8px);\n\n  border-color:\n\n    rgba(201,169,110,.5);\n\n  box-shadow:\n\n    0 25px 70px rgba(100,60,65,.12);\n\n}\n\n\n.vx-use-number {\n\n  color:var(--rose-dark);\n\n  font-size:10px;\n\n}\n\n\n.vx-use-icon {\n\n  font-size:28px;\n\n  color:var(--gold);\n\n  margin:35px 0 20px;\n\n}\n\n\n.vx-use-card h3 {\n\n  font-size:21px;\n\n  margin:0 0 10px;\n\n  color:var(--brown);\n\n}\n\n\n.vx-use-card p {\n\n  color:var(--grey);\n\n  font-size:13px;\n\n  line-height:1.65;\n\n  margin:0;\n\n}\n\n\n\/* =========================================================\n   BEFORE \/ AFTER\n   ========================================================= *\/\n\n.vx-transformation {\n\n  margin-top:130px;\n\n  display:grid;\n\n  grid-template-columns:\n\n    1fr auto 1fr;\n\n  gap:35px;\n\n  align-items:center;\n\n}\n\n\n.vx-before,\n\n.vx-after {\n\n  padding:45px;\n\n  border-radius:25px;\n\n}\n\n\n.vx-before {\n\n  background:\n\n    rgba(255,255,255,.58);\n\n  border:\n\n    1px solid rgba(201,143,155,.15);\n\n}\n\n\n.vx-after {\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(232,199,203,.55),\n\n      rgba(255,255,255,.8)\n\n    );\n\n  border:\n\n    1px solid rgba(201,169,110,.35);\n\n  box-shadow:\n\n    0 15px 45px rgba(100,60,65,.07);\n\n}\n\n\n.vx-before span,\n\n.vx-after span {\n\n  font-size:9px;\n\n  letter-spacing:.2em;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-before h3,\n\n.vx-after h3 {\n\n  font-size:30px;\n\n  margin:18px 0 8px;\n\n  color:var(--brown);\n\n}\n\n\n.vx-before p,\n\n.vx-after p {\n\n  color:var(--grey);\n\n  font-size:13px;\n\n  line-height:1.6;\n\n}\n\n\n.vx-arrow {\n\n  font-size:35px;\n\n  color:var(--gold);\n\n}\n\n\n\/* =========================================================\n   FINAL CTA\n   ========================================================= *\/\n\n.vx-final {\n\n  text-align:center;\n\n  padding-top:150px;\n\n}\n\n\n.vx-final h2 {\n\n  font-size:clamp(45px,7vw,85px);\n\n  line-height:.95;\n\n  letter-spacing:-.055em;\n\n  margin:22px 0;\n\n  color:var(--brown);\n\n}\n\n\n.vx-final h2 em {\n\n  font-style:normal;\n\n  color:var(--rose-dark);\n\n}\n\n\n.vx-final p {\n\n  color:var(--grey);\n\n  margin-bottom:35px;\n\n}\n\n\n\/* =========================================================\n   BUTTON\n   ========================================================= *\/\n\n.vx-button {\n\n  display:inline-flex;\n\n  align-items:center;\n\n  gap:35px;\n\n  padding:17px 27px;\n\n  border-radius:100px;\n\n  background:\n\n    linear-gradient(\n\n      135deg,\n\n      #B98286,\n\n      #D8B47A\n\n    );\n\n  color:white;\n\n  text-decoration:none;\n\n  font-size:11px;\n\n  font-weight:800;\n\n  letter-spacing:.14em;\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease;\n\n  box-shadow:\n\n    0 15px 45px rgba(185,130,134,.25);\n\n}\n\n\n.vx-button:hover {\n\n  transform:translateY(-4px);\n\n  box-shadow:\n\n    0 20px 60px rgba(185,130,134,.35);\n\n}\n\n\n.vx-button span {\n\n  font-size:18px;\n\n}\n\n\n\/* =========================================================\n   CTA LINES\n   ========================================================= *\/\n\n.vx-final-line {\n\n  width:1px;\n\n  height:55px;\n\n  margin:35px auto;\n\n  background:\n\n    linear-gradient(\n\n      transparent,\n\n      var(--gold),\n\n      transparent\n\n    );\n\n}\n\n\n\/* =========================================================\n   BACKGROUND GLOWS\n   ========================================================= *\/\n\n.vx-bg-glow {\n\n  position:absolute;\n\n  width:450px;\n\n  height:450px;\n\n  border-radius:50%;\n\n  background:var(--rose);\n\n  filter:blur(140px);\n\n  opacity:.06;\n\n  pointer-events:none;\n\n}\n\n\n.vx-glow-1 {\n\n  top:5%;\n\n  left:-250px;\n\n}\n\n\n.vx-glow-2 {\n\n  bottom:5%;\n\n  right:-250px;\n\n}\n\n\n\/* =========================================================\n   SCROLL REVEAL\n   ========================================================= *\/\n\n.vx-reveal {\n\n  opacity:0;\n\n  transform:translateY(35px);\n\n  transition:\n\n    opacity .9s ease,\n\n    transform .9s cubic-bezier(.2,.7,.2,1);\n\n}\n\n\n.vx-reveal.vx-show {\n\n  opacity:1;\n\n  transform:translateY(0);\n\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media(max-width:900px) {\n\n  .vx-feature {\n\n    grid-template-columns:1fr;\n\n    gap:50px;\n\n  }\n\n\n  .vx-visual {\n\n    min-height:480px;\n\n  }\n\n\n  .vx-use-grid {\n\n    grid-template-columns:\n\n      1fr 1fr;\n\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media(max-width:600px) {\n\n  .vx-beauty {\n\n    padding:75px 17px;\n\n  }\n\n\n  .vx-intro h2 {\n\n    font-size:45px;\n\n  }\n\n\n  .vx-feature {\n\n    margin-top:75px;\n\n  }\n\n\n  .vx-feature-text h3 {\n\n    font-size:45px;\n\n  }\n\n\n  .vx-visual {\n\n    min-height:400px;\n\n  }\n\n\n  .vx-glass-card {\n\n    width:76%;\n\n  }\n\n\n  .vx-big-number {\n\n    font-size:95px;\n\n  }\n\n\n  .vx-ring-1 {\n\n    width:350px;\n\n    height:350px;\n\n  }\n\n\n  .vx-ring-2 {\n\n    width:390px;\n\n    height:230px;\n\n  }\n\n\n  .vx-use-grid {\n\n    grid-template-columns:1fr;\n\n  }\n\n\n  .vx-transformation {\n\n    grid-template-columns:1fr;\n\n    gap:12px;\n\n    text-align:center;\n\n  }\n\n\n  .vx-arrow {\n\n    transform:rotate(90deg);\n\n  }\n\n\n  .vx-before,\n\n  .vx-after {\n\n    padding:30px;\n\n  }\n\n\n  .vx-message {\n\n    padding:100px 0;\n\n  }\n\n\n  .vx-final {\n\n    padding-top:100px;\n\n  }\n\n\n  .vx-final h2 {\n\n    font-size:47px;\n\n  }\n\n}\n\n\n\/* =========================================================\n   ACCESSIBILITY\n   ========================================================= *\/\n\n@media(prefers-reduced-motion:reduce) {\n\n  *,\n\n  *::before,\n\n  *::after {\n\n    animation:none !important;\n\n    transition:none !important;\n\n  }\n\n\n  .vx-reveal {\n\n    opacity:1;\n\n    transform:none;\n\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\u003cscript\u003e\n\ndocument.addEventListener(\n\n  \"DOMContentLoaded\",\n\n  function(){\n\n    const elements =\n      document.querySelectorAll(\n        \".vx-reveal\"\n      );\n\n\n    if(\n      !(\"IntersectionObserver\" in window)\n    ){\n\n      elements.forEach(\n        element =\u003e\n          element.classList.add(\n            \"vx-show\"\n          )\n      );\n\n      return;\n\n    }\n\n\n    const observer =\n      new IntersectionObserver(\n\n        entries =\u003e {\n\n          entries.forEach(\n\n            entry =\u003e {\n\n              if(\n                entry.isIntersecting\n              ){\n\n                entry.target.classList.add(\n                  \"vx-show\"\n                );\n\n                observer.unobserve(\n                  entry.target\n                );\n\n              }\n\n            }\n\n          );\n\n        },\n\n        {\n\n          threshold:.12\n\n        }\n\n      );\n\n\n    elements.forEach(\n\n      (element,index) =\u003e {\n\n        element.style.transitionDelay =\n          Math.min(\n            index * 70,\n            350\n          ) + \"ms\";\n\n        observer.observe(\n          element\n        );\n\n      }\n\n    );\n\n  }\n\n);\n\n\u003c\/script\u003e","brand":"VORTIX SA","offers":[{"title":"White","offer_id":53518787084577,"sku":null,"price":345.99,"currency_code":"ZAR","in_stock":true},{"title":"Pink","offer_id":53518787117345,"sku":null,"price":345.99,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":53518787150113,"sku":null,"price":345.99,"currency_code":"ZAR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1000\/7992\/7585\/files\/91431938-1270-4966-854a-8bed8ef6bd75.png?v=1789527805"},{"product_id":"other-example-product-4","title":"VORTIX SA™ SpinScrub Pro Electric Spin Scrubber","description":"\u003csection class=\"vxscrub\"\u003e\n\n  \u003cdiv class=\"vxscrub-glow vxscrub-glow-1\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"vxscrub-glow vxscrub-glow-2\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"vxscrub-container\"\u003e\n\n    \u003c!-- INTRO --\u003e\n    \u003cdiv class=\"vxscrub-intro vxscrub-reveal\"\u003e\n\n      \u003cspan class=\"vxscrub-kicker\"\u003e\n        VORTIX SA™ • HOME ESSENTIALS\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Cleaning that feels\n        \u003cem\u003eeffortless.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Meet the \u003cstrong\u003eVORTIX SA™ SpinScrub Pro\u003c\/strong\u003e —\n        a cordless electric spin scrubber designed to help\n        you tackle everyday grime with less effort.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- MAIN FEATURE --\u003e\n    \u003cdiv class=\"vxscrub-main\"\u003e\n\n      \u003cdiv class=\"vxscrub-copy vxscrub-reveal\"\u003e\n\n        \u003cdiv class=\"vxscrub-label\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e\n          CLEAN SMARTER\n        \u003c\/div\u003e\n\n        \u003ch3\u003e\n          Stop scrubbing.\u003cbr\u003e\n          \u003cstrong\u003eLet it spin.\u003c\/strong\u003e\n        \u003c\/h3\u003e\n\n        \u003cp class=\"vxscrub-description\"\u003e\n          Say goodbye to exhausting hand scrubbing.\n          The SpinScrub Pro uses a powered rotating brush\n          to help loosen soap scum, grease, grime and everyday\n          buildup around your home.\n        \u003c\/p\u003e\n\n\n        \u003c!-- BENEFITS --\u003e\n\n        \u003cdiv class=\"vxscrub-benefits\"\u003e\n\n\n          \u003cdiv class=\"vxscrub-benefit\"\u003e\n\n            \u003cdiv class=\"vxscrub-icon\"\u003e\n              ↻\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003ePOWERED ROTATION\u003c\/b\u003e\n\n              \u003cp\u003e\n                Let the motor do the repetitive scrubbing for you.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-benefit\"\u003e\n\n            \u003cdiv class=\"vxscrub-icon\"\u003e\n              05\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003e5 REPLACEABLE HEADS\u003c\/b\u003e\n\n              \u003cp\u003e\n                Choose the brush head suited to different cleaning tasks.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-benefit\"\u003e\n\n            \u003cdiv class=\"vxscrub-icon\"\u003e\n              ♢\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003eCORDLESS DESIGN\u003c\/b\u003e\n\n              \u003cp\u003e\n                Move freely around your home without a power cable.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-benefit\"\u003e\n\n            \u003cdiv class=\"vxscrub-icon\"\u003e\n              ✓\n            \u003c\/div\u003e\n\n            \u003cdiv\u003e\n              \u003cb\u003eONE-HANDED CONTROL\u003c\/b\u003e\n\n              \u003cp\u003e\n                Lightweight and easy to handle while cleaning.\n              \u003c\/p\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- PREMIUM PRODUCT VISUAL --\u003e\n\n      \u003cdiv class=\"vxscrub-visual vxscrub-reveal\"\u003e\n\n        \u003cdiv class=\"vxscrub-circle vxscrub-circle-one\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"vxscrub-circle vxscrub-circle-two\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"vxscrub-orbit-dot\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"vxscrub-product-card\"\u003e\n\n          \u003cdiv class=\"vxscrub-card-top\"\u003e\n\n            \u003cspan\u003eVORTIX SA™\u003c\/span\u003e\n\n            \u003cspan\u003eSPINSCRUB PRO\u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-spinner\"\u003e\n\n            \u003cdiv class=\"vxscrub-spinner-ring\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"vxscrub-spinner-center\"\u003e\n              ↻\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-card-title\"\u003e\n\n            CLEAN\u003cbr\u003e\n\n            \u003cspan\u003eSMARTER.\u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"vxscrub-card-bottom\"\u003e\n\n            \u003cspan\u003eCORDLESS\u003c\/span\u003e\n\n            \u003cspan\u003e5 HEADS\u003c\/span\u003e\n\n            \u003cspan\u003ePOWERED\u003c\/span\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- STATEMENT --\u003e\n\n    \u003cdiv class=\"vxscrub-statement vxscrub-reveal\"\u003e\n\n      \u003cspan\u003e\n        LESS EFFORT • MORE CLEAN\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Your clean routine,\n        \u003cem\u003eupgraded.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Designed for the places that need a little extra attention —\n        without turning cleaning into a workout.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- WHERE TO USE --\u003e\n\n    \u003cdiv class=\"vxscrub-use\"\u003e\n\n      \u003cdiv class=\"vxscrub-use-heading vxscrub-reveal\"\u003e\n\n        \u003cspan\u003e\n          ONE TOOL. MULTIPLE JOBS.\n        \u003c\/span\u003e\n\n        \u003ch2\u003e\n          Built for the\n          \u003cem\u003eeveryday clean.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vxscrub-use-grid\"\u003e\n\n\n        \u003cdiv class=\"vxscrub-use-card vxscrub-reveal\"\u003e\n\n          \u003cdiv class=\"vxscrub-use-number\"\u003e\n            01\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vxscrub-use-icon\"\u003e\n            ◌\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Bathroom\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Tackle soap scum, grime and buildup around\n            tubs, showers and bathroom surfaces.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vxscrub-use-card vxscrub-reveal\"\u003e\n\n          \u003cdiv class=\"vxscrub-use-number\"\u003e\n            02\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vxscrub-use-icon\"\u003e\n            ◇\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Tiles\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Work across wall and floor tiles to help\n            loosen everyday dirt and grime.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vxscrub-use-card vxscrub-reveal\"\u003e\n\n          \u003cdiv class=\"vxscrub-use-number\"\u003e\n            03\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vxscrub-use-icon\"\u003e\n            ✦\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Kitchen\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Useful for tackling grease and buildup\n            across suitable kitchen surfaces.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"vxscrub-use-card vxscrub-reveal\"\u003e\n\n          \u003cdiv class=\"vxscrub-use-number\"\u003e\n            04\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"vxscrub-use-icon\"\u003e\n            ✧\n          \u003c\/div\u003e\n\n          \u003ch3\u003e\n            Floors\n          \u003c\/h3\u003e\n\n          \u003cp\u003e\n            Reach awkward areas and give suitable\n            floor surfaces some extra attention.\n          \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- 5 HEADS --\u003e\n\n    \u003cdiv class=\"vxscrub-heads vxscrub-reveal\"\u003e\n\n      \u003cdiv class=\"vxscrub-heads-copy\"\u003e\n\n        \u003cspan\u003e\n          INCLUDED WITH YOUR SPINSCRUB PRO\n        \u003c\/span\u003e\n\n        \u003ch2\u003e\n          Five heads.\n          \u003cem\u003eMore ways to clean.\u003c\/em\u003e\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Switch between the included replaceable brush heads\n          depending on the cleaning task at hand.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vxscrub-head-list\"\u003e\n\n        \u003cdiv\u003e\n          \u003cb\u003e01\u003c\/b\u003e\n          \u003cspan\u003eEVERYDAY CLEANING\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cb\u003e02\u003c\/b\u003e\n          \u003cspan\u003eDEEPER SCRUBBING\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cb\u003e03\u003c\/b\u003e\n          \u003cspan\u003eDETAIL CLEANING\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cb\u003e04\u003c\/b\u003e\n          \u003cspan\u003eHARD-TO-REACH AREAS\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv\u003e\n          \u003cb\u003e05\u003c\/b\u003e\n          \u003cspan\u003eVERSATILE SURFACES\u003c\/span\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- BEFORE AFTER --\u003e\n\n    \u003cdiv class=\"vxscrub-transformation vxscrub-reveal\"\u003e\n\n\n      \u003cdiv class=\"vxscrub-before\"\u003e\n\n        \u003cspan\u003e\n          THE OLD WAY\n        \u003c\/span\u003e\n\n        \u003ch3\u003e\n          Scrub.\u003cbr\u003e\n          Scrub.\u003cbr\u003e\n          Scrub.\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Repetitive hand scrubbing can turn a quick clean\n          into a tiring chore.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vxscrub-arrow\"\u003e\n        →\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"vxscrub-after\"\u003e\n\n        \u003cspan\u003e\n          THE SPINSCRUB WAY\n        \u003c\/span\u003e\n\n        \u003ch3\u003e\n          Attach.\u003cbr\u003e\n          Spin.\u003cbr\u003e\n          Clean.\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Let powered rotation help take care of the repetitive work.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003c!-- FINAL CTA --\u003e\n\n    \u003cdiv class=\"vxscrub-final vxscrub-reveal\"\u003e\n\n      \u003cdiv class=\"vxscrub-line\"\u003e\u003c\/div\u003e\n\n      \u003cspan\u003e\n        CLEAN SMARTER. NOT HARDER.\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Make cleaning\n        \u003cem\u003efeel easier.\u003c\/em\u003e\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Upgrade your cleaning routine with the VORTIX SA™ SpinScrub Pro.\n      \u003c\/p\u003e\n\n      \u003ca href=\"#AddToCart\" class=\"vxscrub-button\"\u003e\n        ADD TO CART\n        \u003cspan\u003e→\u003c\/span\u003e\n      \u003c\/a\u003e\n\n      \u003cdiv class=\"vxscrub-line\"\u003e\u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003cstyle\u003e\n\n\/* =========================================================\n   VORTIX SA™ SPINSCRUB PRO\n   PREMIUM HOME \/ CLEANING DESIGN\n   ========================================================= *\/\n\n.vxscrub {\n\n  --ivory:#F8F6F0;\n\n  --ivory-dark:#EEECE3;\n\n  --sage:#AAB7A0;\n\n  --sage-dark:#75836D;\n\n  --champagne:#C8A86A;\n\n  --champagne-light:#E2C98F;\n\n  --charcoal:#292A27;\n\n  --soft:#686963;\n\n  --border:rgba(117,131,109,.20);\n\n  position:relative;\n\n  overflow:hidden;\n\n  background:\n\n    radial-gradient(\n      circle at 10% 5%,\n      rgba(170,183,160,.25),\n      transparent 30%\n    ),\n\n    radial-gradient(\n      circle at 90% 70%,\n      rgba(200,168,106,.12),\n      transparent 32%\n    ),\n\n    linear-gradient(\n      180deg,\n      #F8F6F0,\n      #F1F0E9 52%,\n      #F8F6F0\n    );\n\n  color:var(--charcoal);\n\n  padding:110px 22px;\n\n}\n\n\n\/* =========================================================\n   CONTAINER\n   ========================================================= *\/\n\n.vxscrub-container {\n\n  width:min(1180px,100%);\n\n  margin:auto;\n\n  position:relative;\n\n  z-index:2;\n\n}\n\n\n\/* =========================================================\n   INTRO\n   ========================================================= *\/\n\n.vxscrub-intro {\n\n  max-width:800px;\n\n  text-align:center;\n\n  margin:auto;\n\n}\n\n\n.vxscrub-kicker {\n\n  color:var(--sage-dark);\n\n  font-size:10px;\n\n  font-weight:700;\n\n  letter-spacing:.28em;\n\n}\n\n\n.vxscrub-intro h2 {\n\n  font-size:clamp(45px,6vw,78px);\n\n  line-height:.95;\n\n  letter-spacing:-.055em;\n\n  margin:25px 0;\n\n}\n\n\n.vxscrub-intro h2 em {\n\n  display:block;\n\n  font-style:normal;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-intro p {\n\n  color:var(--soft);\n\n  font-size:16px;\n\n  line-height:1.8;\n\n  max-width:650px;\n\n  margin:auto;\n\n}\n\n\n.vxscrub-intro strong {\n\n  color:var(--charcoal);\n\n}\n\n\n\/* =========================================================\n   MAIN\n   ========================================================= *\/\n\n.vxscrub-main {\n\n  margin-top:110px;\n\n  display:grid;\n\n  grid-template-columns:1fr 1fr;\n\n  gap:90px;\n\n  align-items:center;\n\n}\n\n\n\/* =========================================================\n   COPY\n   ========================================================= *\/\n\n.vxscrub-label {\n\n  display:flex;\n\n  align-items:center;\n\n  gap:12px;\n\n  color:var(--sage-dark);\n\n  font-size:10px;\n\n  letter-spacing:.2em;\n\n  margin-bottom:25px;\n\n}\n\n\n.vxscrub-label span {\n\n  width:30px;\n\n  height:1px;\n\n  background:var(--champagne);\n\n}\n\n\n.vxscrub-copy h3 {\n\n  font-size:clamp(45px,5vw,70px);\n\n  line-height:.96;\n\n  letter-spacing:-.05em;\n\n  margin:0;\n\n}\n\n\n.vxscrub-copy h3 strong {\n\n  color:var(--sage-dark);\n\n  font-weight:600;\n\n}\n\n\n.vxscrub-description {\n\n  color:var(--soft);\n\n  font-size:16px;\n\n  line-height:1.8;\n\n  max-width:580px;\n\n  margin:30px 0 40px;\n\n}\n\n\n\/* =========================================================\n   BENEFITS\n   ========================================================= *\/\n\n.vxscrub-benefits {\n\n  display:grid;\n\n  grid-template-columns:1fr 1fr;\n\n  gap:14px;\n\n}\n\n\n.vxscrub-benefit {\n\n  display:flex;\n\n  gap:14px;\n\n  padding:20px;\n\n  border-radius:18px;\n\n  border:1px solid var(--border);\n\n  background:\n\n    rgba(255,255,255,.66);\n\n  box-shadow:\n\n    0 10px 35px rgba(60,65,55,.045);\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease,\n\n    border-color .35s ease;\n\n}\n\n\n.vxscrub-benefit:hover {\n\n  transform:translateY(-5px);\n\n  border-color:\n\n    rgba(117,131,109,.45);\n\n  box-shadow:\n\n    0 20px 55px rgba(60,65,55,.10);\n\n}\n\n\n.vxscrub-icon {\n\n  width:42px;\n\n  height:42px;\n\n  min-width:42px;\n\n  border-radius:50%;\n\n  display:grid;\n\n  place-items:center;\n\n  color:var(--sage-dark);\n\n  border:\n\n    1px solid rgba(117,131,109,.35);\n\n  background:\n\n    rgba(170,183,160,.12);\n\n  font-size:13px;\n\n}\n\n\n.vxscrub-benefit b {\n\n  display:block;\n\n  font-size:11px;\n\n  letter-spacing:.1em;\n\n}\n\n\n.vxscrub-benefit p {\n\n  margin:6px 0 0;\n\n  color:#85867F;\n\n  font-size:12px;\n\n  line-height:1.55;\n\n}\n\n\n\/* =========================================================\n   PRODUCT VISUAL\n   ========================================================= *\/\n\n.vxscrub-visual {\n\n  min-height:570px;\n\n  display:grid;\n\n  place-items:center;\n\n  position:relative;\n\n}\n\n\n.vxscrub-product-card {\n\n  width:min(370px,80%);\n\n  aspect-ratio:.75;\n\n  position:relative;\n\n  overflow:hidden;\n\n  border-radius:32px;\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(255,255,255,.95),\n\n      rgba(232,236,225,.78)\n\n    );\n\n  border:\n\n    1px solid rgba(200,168,106,.50);\n\n  box-shadow:\n\n    0 45px 100px rgba(60,65,55,.16),\n\n    inset 0 1px rgba(255,255,255,.95);\n\n  animation:\n\n    vxscrubFloat 5s ease-in-out infinite;\n\n}\n\n\n@keyframes vxscrubFloat {\n\n  0%,100% {\n\n    transform:\n\n      translateY(0)\n\n      rotate(-1deg);\n\n  }\n\n  50% {\n\n    transform:\n\n      translateY(-15px)\n\n      rotate(1deg);\n\n  }\n\n}\n\n\n\/* =========================================================\n   CARD TOP\n   ========================================================= *\/\n\n.vxscrub-card-top {\n\n  position:absolute;\n\n  top:30px;\n\n  left:30px;\n\n  right:30px;\n\n  display:flex;\n\n  justify-content:space-between;\n\n  color:var(--sage-dark);\n\n  font-size:9px;\n\n  letter-spacing:.18em;\n\n}\n\n\n\/* =========================================================\n   SPINNER\n   ========================================================= *\/\n\n.vxscrub-spinner {\n\n  position:absolute;\n\n  width:220px;\n\n  height:220px;\n\n  left:50%;\n\n  top:44%;\n\n  transform:translate(-50%,-50%);\n\n  border-radius:50%;\n\n  display:grid;\n\n  place-items:center;\n\n}\n\n\n.vxscrub-spinner-ring {\n\n  position:absolute;\n\n  inset:0;\n\n  border-radius:50%;\n\n  border:\n\n    1px solid rgba(117,131,109,.22);\n\n  border-top-color:\n\n    var(--champagne);\n\n  animation:\n\n    vxscrubSpin 5s linear infinite;\n\n}\n\n\n.vxscrub-spinner-ring:before {\n\n  content:\"\";\n\n  position:absolute;\n\n  width:10px;\n\n  height:10px;\n\n  border-radius:50%;\n\n  background:var(--champagne);\n\n  top:8px;\n\n  left:50%;\n\n  transform:translateX(-50%);\n\n  box-shadow:\n\n    0 0 25px rgba(200,168,106,.65);\n\n}\n\n\n@keyframes vxscrubSpin {\n\n  to {\n\n    transform:rotate(360deg);\n\n  }\n\n}\n\n\n.vxscrub-spinner-center {\n\n  width:125px;\n\n  height:125px;\n\n  border-radius:50%;\n\n  display:grid;\n\n  place-items:center;\n\n  font-size:50px;\n\n  color:var(--sage-dark);\n\n  background:\n\n    radial-gradient(\n\n      circle,\n\n      #fff,\n\n      #E6EBE0\n\n    );\n\n  border:\n\n    1px solid rgba(117,131,109,.22);\n\n  box-shadow:\n\n    0 15px 40px rgba(60,65,55,.10);\n\n  animation:\n\n    vxscrubPulse 3s ease-in-out infinite;\n\n}\n\n\n@keyframes vxscrubPulse {\n\n  0%,100% {\n\n    transform:scale(1);\n\n  }\n\n  50% {\n\n    transform:scale(1.04);\n\n  }\n\n}\n\n\n\/* =========================================================\n   CARD TITLE\n   ========================================================= *\/\n\n.vxscrub-card-title {\n\n  position:absolute;\n\n  left:35px;\n\n  bottom:105px;\n\n  font-size:40px;\n\n  line-height:.9;\n\n  font-weight:800;\n\n  letter-spacing:-.055em;\n\n}\n\n\n.vxscrub-card-title span {\n\n  color:var(--sage-dark);\n\n}\n\n\n\/* =========================================================\n   CARD BOTTOM\n   ========================================================= *\/\n\n.vxscrub-card-bottom {\n\n  position:absolute;\n\n  left:35px;\n\n  right:35px;\n\n  bottom:32px;\n\n  display:flex;\n\n  justify-content:space-between;\n\n  color:#85867F;\n\n  font-size:8px;\n\n  letter-spacing:.15em;\n\n}\n\n\n\/* =========================================================\n   CIRCLES\n   ========================================================= *\/\n\n.vxscrub-circle {\n\n  position:absolute;\n\n  border-radius:50%;\n\n  border:1px solid rgba(117,131,109,.18);\n\n}\n\n\n.vxscrub-circle-one {\n\n  width:500px;\n\n  height:500px;\n\n  animation:\n\n    vxscrubRotate 18s linear infinite;\n\n}\n\n\n.vxscrub-circle-two {\n\n  width:580px;\n\n  height:350px;\n\n  transform:rotate(-25deg);\n\n  border-color:\n\n    rgba(200,168,106,.14);\n\n}\n\n\n@keyframes vxscrubRotate {\n\n  to {\n\n    transform:rotate(360deg);\n\n  }\n\n}\n\n\n.vxscrub-orbit-dot {\n\n  position:absolute;\n\n  width:8px;\n\n  height:8px;\n\n  border-radius:50%;\n\n  background:var(--champagne);\n\n  box-shadow:\n\n    0 0 25px rgba(200,168,106,.7);\n\n  top:95px;\n\n  right:80px;\n\n}\n\n\n\/* =========================================================\n   STATEMENT\n   ========================================================= *\/\n\n.vxscrub-statement {\n\n  text-align:center;\n\n  max-width:850px;\n\n  margin:140px auto;\n\n}\n\n\n.vxscrub-statement span,\n\n.vxscrub-use-heading span,\n\n.vxscrub-heads-copy \u003e span,\n\n.vxscrub-final \u003e span {\n\n  color:var(--sage-dark);\n\n  font-size:10px;\n\n  letter-spacing:.25em;\n\n  font-weight:700;\n\n}\n\n\n.vxscrub-statement h2 {\n\n  font-size:clamp(42px,5vw,68px);\n\n  line-height:1;\n\n  letter-spacing:-.05em;\n\n  margin:20px 0;\n\n}\n\n\n.vxscrub-statement h2 em {\n\n  font-style:normal;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-statement p {\n\n  color:var(--soft);\n\n  line-height:1.8;\n\n  max-width:650px;\n\n  margin:auto;\n\n}\n\n\n\/* =========================================================\n   USE CASES\n   ========================================================= *\/\n\n.vxscrub-use-heading h2 {\n\n  font-size:clamp(42px,5vw,65px);\n\n  line-height:.98;\n\n  letter-spacing:-.05em;\n\n  margin:18px 0 50px;\n\n}\n\n\n.vxscrub-use-heading h2 em {\n\n  font-style:normal;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-use-grid {\n\n  display:grid;\n\n  grid-template-columns:\n\n    repeat(4,1fr);\n\n  gap:14px;\n\n}\n\n\n.vxscrub-use-card {\n\n  padding:28px 22px 35px;\n\n  border:\n\n    1px solid rgba(117,131,109,.18);\n\n  border-radius:22px;\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(255,255,255,.88),\n\n      rgba(232,236,225,.60)\n\n    );\n\n  box-shadow:\n\n    0 12px 40px rgba(60,65,55,.05);\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease,\n\n    border-color .35s ease;\n\n}\n\n\n.vxscrub-use-card:hover {\n\n  transform:translateY(-8px);\n\n  border-color:\n\n    rgba(200,168,106,.5);\n\n  box-shadow:\n\n    0 25px 70px rgba(60,65,55,.12);\n\n}\n\n\n.vxscrub-use-number {\n\n  color:var(--champagne);\n\n  font-size:10px;\n\n}\n\n\n.vxscrub-use-icon {\n\n  color:var(--sage-dark);\n\n  font-size:28px;\n\n  margin:35px 0 20px;\n\n}\n\n\n.vxscrub-use-card h3 {\n\n  margin:0 0 10px;\n\n  font-size:21px;\n\n}\n\n\n.vxscrub-use-card p {\n\n  color:var(--soft);\n\n  font-size:13px;\n\n  line-height:1.65;\n\n  margin:0;\n\n}\n\n\n\/* =========================================================\n   FIVE HEADS\n   ========================================================= *\/\n\n.vxscrub-heads {\n\n  margin-top:130px;\n\n  padding:60px;\n\n  border-radius:30px;\n\n  background:\n\n    linear-gradient(\n\n      135deg,\n\n      #E7ECE1,\n\n      #F8F6F0\n\n    );\n\n  border:\n\n    1px solid rgba(117,131,109,.18);\n\n  display:grid;\n\n  grid-template-columns:1fr 1fr;\n\n  gap:80px;\n\n  align-items:center;\n\n}\n\n\n.vxscrub-heads-copy h2 {\n\n  font-size:clamp(40px,5vw,60px);\n\n  line-height:.98;\n\n  letter-spacing:-.05em;\n\n  margin:20px 0;\n\n}\n\n\n.vxscrub-heads-copy h2 em {\n\n  font-style:normal;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-heads-copy p {\n\n  color:var(--soft);\n\n  line-height:1.8;\n\n  max-width:500px;\n\n}\n\n\n.vxscrub-head-list {\n\n  display:flex;\n\n  flex-direction:column;\n\n}\n\n\n.vxscrub-head-list div {\n\n  display:flex;\n\n  align-items:center;\n\n  gap:20px;\n\n  padding:18px 0;\n\n  border-bottom:\n\n    1px solid rgba(117,131,109,.16);\n\n}\n\n\n.vxscrub-head-list b {\n\n  color:var(--champagne);\n\n  font-size:10px;\n\n}\n\n\n.vxscrub-head-list span {\n\n  font-size:11px;\n\n  letter-spacing:.12em;\n\n}\n\n\n\/* =========================================================\n   TRANSFORMATION\n   ========================================================= *\/\n\n.vxscrub-transformation {\n\n  margin-top:130px;\n\n  display:grid;\n\n  grid-template-columns:1fr auto 1fr;\n\n  gap:35px;\n\n  align-items:center;\n\n}\n\n\n.vxscrub-before,\n\n.vxscrub-after {\n\n  padding:45px;\n\n  border-radius:25px;\n\n}\n\n\n.vxscrub-before {\n\n  background:\n\n    rgba(255,255,255,.65);\n\n  border:\n\n    1px solid rgba(117,131,109,.12);\n\n}\n\n\n.vxscrub-after {\n\n  background:\n\n    linear-gradient(\n\n      145deg,\n\n      rgba(170,183,160,.32),\n\n      rgba(255,255,255,.8)\n\n    );\n\n  border:\n\n    1px solid rgba(200,168,106,.35);\n\n}\n\n\n.vxscrub-before span,\n\n.vxscrub-after span {\n\n  font-size:9px;\n\n  letter-spacing:.2em;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-before h3,\n\n.vxscrub-after h3 {\n\n  font-size:34px;\n\n  line-height:.95;\n\n  margin:20px 0;\n\n}\n\n\n.vxscrub-before p,\n\n.vxscrub-after p {\n\n  color:var(--soft);\n\n  font-size:13px;\n\n  line-height:1.6;\n\n}\n\n\n.vxscrub-arrow {\n\n  font-size:35px;\n\n  color:var(--champagne);\n\n}\n\n\n\/* =========================================================\n   FINAL CTA\n   ========================================================= *\/\n\n.vxscrub-final {\n\n  text-align:center;\n\n  padding-top:150px;\n\n}\n\n\n.vxscrub-final h2 {\n\n  font-size:clamp(45px,7vw,85px);\n\n  line-height:.95;\n\n  letter-spacing:-.055em;\n\n  margin:22px 0;\n\n}\n\n\n.vxscrub-final h2 em {\n\n  font-style:normal;\n\n  color:var(--sage-dark);\n\n}\n\n\n.vxscrub-final p {\n\n  color:var(--soft);\n\n  margin-bottom:35px;\n\n}\n\n\n\/* =========================================================\n   BUTTON\n   ========================================================= *\/\n\n.vxscrub-button {\n\n  display:inline-flex;\n\n  align-items:center;\n\n  gap:35px;\n\n  padding:17px 28px;\n\n  border-radius:100px;\n\n  background:\n\n    linear-gradient(\n\n      135deg,\n\n      #75836D,\n\n      #AAB7A0\n\n    );\n\n  color:white;\n\n  text-decoration:none;\n\n  font-size:11px;\n\n  font-weight:800;\n\n  letter-spacing:.14em;\n\n  box-shadow:\n\n    0 15px 45px rgba(117,131,109,.25);\n\n  transition:\n\n    transform .35s ease,\n\n    box-shadow .35s ease;\n\n}\n\n\n.vxscrub-button:hover {\n\n  transform:translateY(-4px);\n\n  box-shadow:\n\n    0 20px 60px rgba(117,131,109,.35);\n\n}\n\n\n.vxscrub-button span {\n\n  font-size:18px;\n\n}\n\n\n\/* =========================================================\n   LINES\n   ========================================================= *\/\n\n.vxscrub-line {\n\n  width:1px;\n\n  height:55px;\n\n  margin:35px auto;\n\n  background:\n\n    linear-gradient(\n\n      transparent,\n\n      var(--champagne),\n\n      transparent\n\n    );\n\n}\n\n\n\/* =========================================================\n   BACKGROUND GLOWS\n   ========================================================= *\/\n\n.vxscrub-glow {\n\n  position:absolute;\n\n  width:450px;\n\n  height:450px;\n\n  border-radius:50%;\n\n  filter:blur(140px);\n\n  pointer-events:none;\n\n  opacity:.07;\n\n}\n\n\n.vxscrub-glow-1 {\n\n  top:5%;\n\n  left:-250px;\n\n  background:var(--sage);\n\n}\n\n\n.vxscrub-glow-2 {\n\n  bottom:5%;\n\n  right:-250px;\n\n  background:var(--champagne);\n\n}\n\n\n\/* =========================================================\n   SCROLL ANIMATION\n   ========================================================= *\/\n\n.vxscrub-reveal {\n\n  opacity:0;\n\n  transform:translateY(35px);\n\n  transition:\n\n    opacity .9s ease,\n\n    transform .9s cubic-bezier(.2,.7,.2,1);\n\n}\n\n\n.vxscrub-reveal.vxscrub-show {\n\n  opacity:1;\n\n  transform:translateY(0);\n\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media(max-width:900px) {\n\n  .vxscrub-main {\n\n    grid-template-columns:1fr;\n\n    gap:50px;\n\n  }\n\n\n  .vxscrub-use-grid {\n\n    grid-template-columns:\n\n      1fr 1fr;\n\n  }\n\n\n  .vxscrub-heads {\n\n    grid-template-columns:1fr;\n\n    gap:45px;\n\n  }\n\n\n  .vxscrub-visual {\n\n    min-height:500px;\n\n  }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media(max-width:600px) {\n\n  .vxscrub {\n\n    padding:75px 17px;\n\n  }\n\n\n  .vxscrub-intro h2 {\n\n    font-size:45px;\n\n  }\n\n\n  .vxscrub-main {\n\n    margin-top:75px;\n\n  }\n\n\n  .vxscrub-copy h3 {\n\n    font-size:45px;\n\n  }\n\n\n  .vxscrub-benefits {\n\n    grid-template-columns:1fr;\n\n  }\n\n\n  .vxscrub-visual {\n\n    min-height:410px;\n\n  }\n\n\n  .vxscrub-product-card {\n\n    width:76%;\n\n  }\n\n\n  .vxscrub-spinner {\n\n    width:175px;\n\n    height:175px;\n\n  }\n\n\n  .vxscrub-spinner-center {\n\n    width:100px;\n\n    height:100px;\n\n  }\n\n\n  .vxscrub-card-title {\n\n    left:28px;\n\n    bottom:95px;\n\n    font-size:34px;\n\n  }\n\n\n  .vxscrub-card-bottom {\n\n    left:28px;\n\n    right:28px;\n\n  }\n\n\n  .vxscrub-circle-one {\n\n    width:350px;\n\n    height:350px;\n\n  }\n\n\n  .vxscrub-circle-two {\n\n    width:390px;\n\n    height:230px;\n\n  }\n\n\n  .vxscrub-use-grid {\n\n    grid-template-columns:1fr;\n\n  }\n\n\n  .vxscrub-heads {\n\n    padding:32px 25px;\n\n  }\n\n\n  .vxscrub-transformation {\n\n    grid-template-columns:1fr;\n\n    gap:12px;\n\n    text-align:center;\n\n  }\n\n\n  .vxscrub-arrow {\n\n    transform:rotate(90deg);\n\n  }\n\n\n  .vxscrub-before,\n\n  .vxscrub-after {\n\n    padding:30px;\n\n  }\n\n\n  .vxscrub-statement {\n\n    margin:100px auto;\n\n  }\n\n\n  .vxscrub-final {\n\n    padding-top:100px;\n\n  }\n\n\n  .vxscrub-final h2 {\n\n    font-size:47px;\n\n  }\n\n}\n\n\n\/* =========================================================\n   REDUCED MOTION\n   ========================================================= *\/\n\n@media(prefers-reduced-motion:reduce) {\n\n  *,\n\n  *::before,\n\n  *::after {\n\n    animation:none !important;\n\n    transition:none !important;\n\n  }\n\n\n  .vxscrub-reveal {\n\n    opacity:1;\n\n    transform:none;\n\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\n\u003cscript\u003e\n\ndocument.addEventListener(\n\n  \"DOMContentLoaded\",\n\n  function(){\n\n    const elements =\n      document.querySelectorAll(\n        \".vxscrub-reveal\"\n      );\n\n\n    if(\n      !(\"IntersectionObserver\" in window)\n    ){\n\n      elements.forEach(\n\n        element =\u003e\n\n          element.classList.add(\n            \"vxscrub-show\"\n          )\n\n      );\n\n      return;\n\n    }\n\n\n    const observer =\n\n      new IntersectionObserver(\n\n        entries =\u003e {\n\n          entries.forEach(\n\n            entry =\u003e {\n\n              if(\n                entry.isIntersecting\n              ){\n\n                entry.target.classList.add(\n                  \"vxscrub-show\"\n                );\n\n                observer.unobserve(\n                  entry.target\n                );\n\n              }\n\n            }\n\n          );\n\n        },\n\n        {\n\n          threshold:.12\n\n        }\n\n      );\n\n\n    elements.forEach(\n\n      (element,index) =\u003e {\n\n        element.style.transitionDelay =\n\n          Math.min(\n            index * 65,\n            350\n          ) + \"ms\";\n\n        observer.observe(\n          element\n        );\n\n      }\n\n    );\n\n  }\n\n);\n\n\u003c\/script\u003e","brand":"VORTIX SA","offers":[{"title":"Default Title","offer_id":53508366303521,"sku":null,"price":589.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1000\/7992\/7585\/files\/yes.png?v=1789528318"}],"url":"https:\/\/vortixsa.co.za\/collections\/other-example-products.oembed","provider":"VORTIX SA","version":"1.0","type":"link"}