{"title":"You might also like","description":null,"products":[{"product_id":"powerspot™-magpulse-magnetic-wireless-charger","title":"PowerSpot™ MagPulse (Magnetic Wireless Charger)","description":"\u003c!-- =========================================================\n     POWERSPOT™ MAGPULSE — mobile-first, shortened\n     Background\/typography matches the WristCharge, CableVault\n     Pro and PowerTag pages: white field, blue → violet →\n     magenta gradient accent.\n========================================================== --\u003e\n\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@500;600;700\u0026amp;family=Inter:wght@400;500;600;700\u0026amp;family=JetBrains+Mono:wght@400;500;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n\u003csection id=\"ps-magpulse\"\u003e\n\n  \u003cdiv class=\"ps-mp-background\" aria-hidden=\"true\"\u003e\n    \u003cdiv class=\"ps-mp-grid\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"ps-mp-orb ps-mp-orb-one\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"ps-mp-orb ps-mp-orb-two\"\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ps-mp-container\"\u003e\n\n    \u003c!-- HERO --\u003e\n    \u003cdiv class=\"ps-mp-hero ps-mp-reveal\"\u003e\n\n      \u003cdiv class=\"ps-mp-logo\"\u003e\n        \u003csvg class=\"ps-mp-logo-symbol\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n          \u003cpath d=\"M13 2 L4 14 H11 L9 22 L20 8 H12 Z\" fill=\"url(#psMpLogoGrad)\"\u003e\u003c\/path\u003e\n          \u003cdefs\u003e\n            \u003clineargradient id=\"psMpLogoGrad\" x1=\"4\" y1=\"2\" x2=\"20\" y2=\"22\" gradientunits=\"userSpaceOnUse\"\u003e\n              \u003cstop offset=\"0%\" stop-color=\"#2AA8E0\"\u003e\u003c\/stop\u003e\n              \u003cstop offset=\"50%\" stop-color=\"#7B5CF0\"\u003e\u003c\/stop\u003e\n              \u003cstop offset=\"100%\" stop-color=\"#E619C9\"\u003e\u003c\/stop\u003e\n            \u003c\/lineargradient\u003e\n          \u003c\/defs\u003e\n        \u003c\/svg\u003e\n        \u003cspan class=\"ps-mp-logo-text\"\u003epowerspot\u003cspan\u003e™\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-eyebrow\"\u003e\n        \u003cspan class=\"ps-mp-pulse\"\u003e\u003c\/span\u003e\n        Magnetic wireless charging\n      \u003c\/div\u003e\n\n      \u003ch1 class=\"ps-mp-main-title\"\u003e\n        PowerSpot™\n        \u003cspan class=\"ps-mp-gradient-text\"\u003eMagPulse\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"ps-mp-tagline\"\u003eDrop It. Charge It. Done.\u003c\/p\u003e\n\n      \u003cp class=\"ps-mp-hero-description\"\u003e\n        Snaps on magnetically and starts charging instantly — no plugging,\n        no awkward alignment, no frustration.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ps-mp-buttons\"\u003e\n        \u003ca href=\"#ps-mp-compat\" class=\"ps-mp-button ps-mp-primary-button\"\u003e\n          \u003cspan\u003eCheck Compatibility\u003c\/span\u003e\n          \u003cspan aria-hidden=\"true\"\u003e↓\u003c\/span\u003e\n        \u003c\/a\u003e\n        \u003ca href=\"#ps-mp-details\" class=\"ps-mp-button ps-mp-secondary-button\"\u003e\n          Product Details\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- CHARGING VISUAL --\u003e\n    \u003cdiv class=\"ps-mp-showcase ps-mp-reveal\"\u003e\n      \u003cdiv class=\"ps-mp-showcase-glow\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-showcase-badge ps-mp-badge-one\"\u003e\n        \u003cspan\u003e🧲\u003c\/span\u003e Perfect snap\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-phone\"\u003e\n        \u003cdiv class=\"ps-mp-phone-top\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-phone-screen\"\u003e\n          \u003cdiv class=\"ps-mp-charge-status\"\u003e\n            \u003cspan class=\"ps-mp-charge-label\"\u003eCharging\u003c\/span\u003e\n            \u003cstrong\u003e\u003cspan class=\"ps-mp-counter\" data-target=\"100\"\u003e0\u003c\/span\u003e%\u003c\/strong\u003e\n            \u003cdiv class=\"ps-mp-battery\"\u003e\u003cspan class=\"ps-mp-battery-level\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-magnetic-ring\"\u003e\n          \u003cspan class=\"ps-mp-ring-one\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"ps-mp-ring-two\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-charger-disc\"\u003e\n          \u003cdiv class=\"ps-mp-disc-core\"\u003e\u003cspan class=\"ps-mp-bolt\"\u003eϟ\u003c\/span\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-showcase-badge ps-mp-badge-two\"\u003e\n        \u003cspan\u003e⚡\u003c\/span\u003e Effortless power\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- COMPATIBILITY --\u003e\n    \u003cdiv id=\"ps-mp-compat\" class=\"ps-mp-section\"\u003e\n      \u003cdiv class=\"ps-mp-section-heading ps-mp-reveal\"\u003e\n        \u003cp class=\"ps-mp-section-label\"\u003eWide compatibility\u003c\/p\u003e\n        \u003ch2 class=\"ps-mp-heading\"\u003eMade for your \u003cspan class=\"ps-mp-gradient-text\"\u003eiPhone.\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-device-grid ps-mp-reveal\"\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e17\u003c\/span\u003eiPhone 17\u003c\/div\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e16\u003c\/span\u003eiPhone 16\u003c\/div\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e15\u003c\/span\u003eiPhone 15\u003c\/div\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e14\u003c\/span\u003eiPhone 14\u003c\/div\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e13\u003c\/span\u003eiPhone 13\u003c\/div\u003e\n        \u003cdiv class=\"ps-mp-device-pill\"\u003e\n\u003cspan\u003e12\u003c\/span\u003eiPhone 12\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cp class=\"ps-mp-note ps-mp-reveal\"\u003e\n        Compatible with supported MagSafe-enabled iPhone models and suitable\n        magnetic charging cases. Performance may vary by phone, case and\n        power source.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- PRODUCT DETAILS --\u003e\n    \u003cdiv id=\"ps-mp-details\" class=\"ps-mp-section\"\u003e\n      \u003cdiv class=\"ps-mp-section-heading ps-mp-reveal\"\u003e\n        \u003cp class=\"ps-mp-section-label\"\u003eProduct information\u003c\/p\u003e\n        \u003ch2 class=\"ps-mp-heading\"\u003eEverything you \u003cspan class=\"ps-mp-gradient-text\"\u003eneed to know.\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-details-grid ps-mp-reveal\"\u003e\n        \u003cdiv class=\"ps-mp-detail\"\u003e\n          \u003cspan\u003eProduct\u003c\/span\u003e\n          \u003cstrong\u003ePowerSpot™ MagPulse\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-detail\"\u003e\n          \u003cspan\u003eCharging type\u003c\/span\u003e\n          \u003cstrong\u003eMagnetic wireless\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-detail\"\u003e\n          \u003cspan\u003eCompatibility\u003c\/span\u003e\n          \u003cstrong\u003eMagSafe-enabled iPhones\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-detail\"\u003e\n          \u003cspan\u003eDesign\u003c\/span\u003e\n          \u003cstrong\u003eSlim, portable disc\u003c\/strong\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"ps-mp-detail\"\u003e\n          \u003cspan\u003ePower source\u003c\/span\u003e\n          \u003cstrong\u003eRequires a USB power source (adapter not included)\u003c\/strong\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ps-mp-colours\"\u003e\n        \u003cp class=\"ps-mp-section-label\"\u003eAvailable colours\u003c\/p\u003e\n        \u003cdiv class=\"ps-mp-colour-row\"\u003e\n          \u003cspan class=\"ps-mp-colour-swatch ps-mp-colour-black\"\u003e\u003c\/span\u003e\n          \u003cspan class=\"ps-mp-colour-swatch ps-mp-colour-white\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"ps-mp-colour-caption\"\u003eBlack and White\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ps-mp-closing ps-mp-reveal\"\u003e\n      \u003cspan\u003eSnap.\u003c\/span\u003e\n      \u003cspan\u003eCharge.\u003c\/span\u003e\n      \u003cstrong\u003eGo. ⚡🧲\u003c\/strong\u003e\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cstyle\u003e\n  \/* ============================================================\n     BASE — mobile-first, matches WristCharge \/ CableVault \/ PowerTag\n  ============================================================= *\/\n\n  #ps-magpulse,\n  #ps-magpulse * {\n    box-sizing: border-box;\n  }\n\n  #ps-magpulse {\n    --blue: #2aa8e0;\n    --violet: #7b5cf0;\n    --magenta: #e619c9;\n    --grad: linear-gradient(90deg, var(--blue) 0%, var(--violet) 55%, var(--magenta) 100%);\n\n    --ink: #0a0a0f;\n    --muted: #656b76;\n    --surface: #f6f6f9;\n    --line: rgba(10, 10, 20, 0.09);\n    --chip-bg: #0d1020;\n    --chip-text: #cfe8ff;\n\n    position: relative;\n    width: 100%;\n    overflow: hidden;\n    color: var(--ink);\n    background:\n      radial-gradient(circle at 8% 5%, rgba(42, 168, 224, 0.14), transparent 28%),\n      radial-gradient(circle at 92% 20%, rgba(123, 92, 240, 0.12), transparent 28%),\n      radial-gradient(circle at 85% 78%, rgba(230, 25, 201, 0.08), transparent 25%),\n      linear-gradient(180deg, #ffffff 0%, #fafaff 48%, #ffffff 100%);\n    font-family: 'Inter', sans-serif;\n    isolation: isolate;\n    -webkit-font-smoothing: antialiased;\n  }\n\n  #ps-magpulse h1,\n  #ps-magpulse h2,\n  #ps-magpulse h3,\n  #ps-magpulse p {\n    margin: 0;\n  }\n\n  #ps-magpulse a {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  #ps-magpulse h1,\n  #ps-magpulse h2,\n  #ps-magpulse h3 {\n    font-family: 'Space Grotesk', sans-serif;\n    color: var(--ink);\n  }\n\n  #ps-magpulse p {\n    color: var(--muted);\n  }\n\n  #ps-magpulse .ps-mp-gradient-text {\n    display: inline-block;\n    background: var(--grad);\n    background-size: 200% auto;\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n    animation: psMpGradientMove 5s linear infinite;\n  }\n\n  .ps-mp-container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 560px;\n    margin: 0 auto;\n    padding: 40px 16px 56px;\n  }\n\n  \/* ---------- background ---------- *\/\n\n  .ps-mp-background {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n  }\n\n  .ps-mp-grid {\n    position: absolute;\n    inset: 0;\n    opacity: 0.3;\n    background-image:\n      linear-gradient(rgba(42, 168, 224, 0.05) 1px, transparent 1px),\n      linear-gradient(90deg, rgba(123, 92, 240, 0.05) 1px, transparent 1px);\n    background-size: 32px 32px;\n    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 65%);\n  }\n\n  .ps-mp-orb {\n    position: absolute;\n    width: 200px;\n    height: 200px;\n    border-radius: 50%;\n    opacity: 0.5;\n    filter: blur(60px);\n    animation: psMpOrbMove 11s ease-in-out infinite;\n  }\n\n  .ps-mp-orb-one {\n    top: 2%;\n    left: -110px;\n    background: rgba(42, 168, 224, 0.22);\n  }\n\n  .ps-mp-orb-two {\n    top: 28%;\n    right: -120px;\n    background: rgba(230, 25, 201, 0.16);\n    animation-delay: -5s;\n  }\n\n  \/* ---------- hero ---------- *\/\n\n  .ps-mp-hero {\n    text-align: center;\n  }\n\n  .ps-mp-logo {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 18px;\n  }\n\n  .ps-mp-logo-symbol {\n    width: 20px;\n    height: 20px;\n  }\n\n  .ps-mp-logo-text {\n    font-family: 'Space Grotesk', sans-serif;\n    font-size: 18px;\n    font-style: italic;\n    font-weight: 800;\n    letter-spacing: -0.3px;\n  }\n\n  .ps-mp-logo-text span {\n    color: var(--magenta);\n    font-size: 10px;\n    vertical-align: super;\n    font-style: normal;\n  }\n\n  .ps-mp-eyebrow {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 16px;\n    padding: 7px 13px;\n    border: 1px solid var(--line);\n    border-radius: 100px;\n    background: rgba(255, 255, 255, 0.7);\n    font-family: 'JetBrains Mono', monospace;\n    color: var(--violet);\n    font-size: 9.5px;\n    font-weight: 700;\n    letter-spacing: 0.6px;\n    text-transform: uppercase;\n  }\n\n  .ps-mp-pulse {\n    width: 6px;\n    height: 6px;\n    flex: 0 0 auto;\n    border-radius: 50%;\n    background: var(--magenta);\n    animation: psMpPulse 1.8s infinite;\n  }\n\n  .ps-mp-main-title {\n    font-size: clamp(32px, 11vw, 42px);\n    line-height: 1;\n    font-weight: 700;\n    letter-spacing: -1.2px;\n  }\n\n  .ps-mp-main-title .ps-mp-gradient-text {\n    display: block;\n    margin-top: 4px;\n  }\n\n  .ps-mp-tagline {\n    margin-top: 14px;\n    color: var(--ink);\n    font-size: 17px;\n    font-weight: 700;\n  }\n\n  .ps-mp-hero-description {\n    max-width: 340px;\n    margin: 12px auto 0;\n    font-size: 14px;\n    line-height: 1.6;\n  }\n\n  .ps-mp-buttons {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 9px;\n    margin-top: 22px;\n  }\n\n  .ps-mp-button {\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    min-height: 52px;\n    padding: 12px 20px;\n    border-radius: 14px;\n    font-size: 13px;\n    font-weight: 700;\n    transition: transform 0.25s ease, box-shadow 0.25s ease;\n  }\n\n  .ps-mp-primary-button {\n    color: #ffffff;\n    background: var(--grad);\n    background-size: 200% auto;\n    box-shadow: 0 12px 28px rgba(123, 92, 240, 0.28);\n    animation: psMpGradientMove 5s linear infinite;\n  }\n\n  .ps-mp-secondary-button {\n    color: var(--ink);\n    border: 1px solid var(--line);\n    background: rgba(255, 255, 255, 0.85);\n  }\n\n  .ps-mp-button:active {\n    transform: translateY(-2px);\n  }\n\n  \/* ---------- charging showcase ---------- *\/\n\n  .ps-mp-showcase {\n    position: relative;\n    display: flex;\n    width: 100%;\n    min-height: 380px;\n    margin: 30px auto 50px;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .ps-mp-showcase-glow {\n    position: absolute;\n    width: 75%;\n    height: 65%;\n    border-radius: 50%;\n    background: var(--grad);\n    opacity: 0.16;\n    filter: blur(50px);\n    animation: psMpGlow 4s ease-in-out infinite;\n  }\n\n  .ps-mp-phone {\n    position: relative;\n    z-index: 2;\n    width: 180px;\n    height: 350px;\n    border: 2px solid rgba(255, 255, 255, 0.5);\n    border-radius: 32px;\n    background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02)), var(--chip-bg);\n    box-shadow: 0 30px 60px rgba(20, 20, 40, 0.28);\n    animation: psMpPhoneFloat 5s ease-in-out infinite;\n  }\n\n  .ps-mp-phone-top {\n    position: absolute;\n    top: 10px;\n    left: 50%;\n    z-index: 5;\n    width: 60px;\n    height: 16px;\n    border-radius: 12px;\n    background: #050508;\n    transform: translateX(-50%);\n  }\n\n  .ps-mp-phone-top span {\n    position: absolute;\n    top: 5px;\n    right: 10px;\n    width: 5px;\n    height: 5px;\n    border-radius: 50%;\n    background: #15152a;\n  }\n\n  .ps-mp-phone-screen {\n    position: absolute;\n    inset: 8px;\n    z-index: 1;\n    overflow: hidden;\n    border-radius: 24px;\n    background:\n      radial-gradient(circle at 68% 22%, rgba(230, 25, 201, 0.3), transparent 30%),\n      radial-gradient(circle at 25% 75%, rgba(42, 168, 224, 0.22), transparent 32%),\n      linear-gradient(155deg, #121226, #090910 62%);\n  }\n\n  .ps-mp-charge-status {\n    position: absolute;\n    top: 46px;\n    left: 50%;\n    width: 120px;\n    text-align: center;\n    transform: translateX(-50%);\n  }\n\n  .ps-mp-charge-label {\n    display: block;\n    margin-bottom: 4px;\n    color: #d5d1e2;\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 9px;\n    font-weight: 700;\n    letter-spacing: 0.8px;\n    text-transform: uppercase;\n  }\n\n  .ps-mp-charge-status strong {\n    display: block;\n    margin-bottom: 8px;\n    color: #ffffff;\n    font-size: 24px;\n    line-height: 1;\n  }\n\n  .ps-mp-battery {\n    position: relative;\n    width: 76px;\n    height: 9px;\n    margin: 0 auto;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, 0.28);\n    border-radius: 999px;\n    background: rgba(255, 255, 255, 0.06);\n  }\n\n  .ps-mp-battery-level {\n    display: block;\n    width: 0;\n    height: 100%;\n    border-radius: inherit;\n    background: var(--grad);\n    animation: psMpBatteryFill 3.5s ease-in-out infinite;\n  }\n\n  .ps-mp-magnetic-ring {\n    position: absolute;\n    top: 52%;\n    left: 50%;\n    z-index: 6;\n    width: 130px;\n    height: 130px;\n    border: 1px solid rgba(123, 92, 240, 0.4);\n    border-radius: 50%;\n    transform: translate(-50%, -50%);\n  }\n\n  .ps-mp-magnetic-ring span {\n    position: absolute;\n    inset: 0;\n    border: 1px solid rgba(42, 168, 224, 0.4);\n    border-radius: inherit;\n    animation: psMpMagneticPulse 2.4s ease-out infinite;\n  }\n\n  .ps-mp-magnetic-ring .ps-mp-ring-two {\n    animation-delay: 0.9s;\n  }\n\n  .ps-mp-charger-disc {\n    position: absolute;\n    top: 52%;\n    left: 50%;\n    z-index: 8;\n    display: grid;\n    width: 94px;\n    height: 94px;\n    place-items: center;\n    border-radius: 50%;\n    background: linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.04));\n    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4), 0 0 30px rgba(123, 92, 240, 0.25);\n    transform: translate(-50%, -50%);\n  }\n\n  .ps-mp-disc-core {\n    display: grid;\n    width: 78px;\n    height: 78px;\n    place-items: center;\n    border: 1px solid rgba(255, 255, 255, 0.12);\n    border-radius: 50%;\n    background: linear-gradient(145deg, #171728, #09090f);\n  }\n\n  .ps-mp-bolt {\n    color: transparent;\n    background: var(--grad);\n    -webkit-background-clip: text;\n    background-clip: text;\n    filter: drop-shadow(0 0 10px rgba(123, 92, 240, 0.7));\n    font-size: 34px;\n    font-weight: 900;\n    line-height: 1;\n  }\n\n  .ps-mp-showcase-badge {\n    position: absolute;\n    z-index: 5;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    max-width: 120px;\n    padding: 9px 11px;\n    border: 1px solid var(--line);\n    border-radius: 12px;\n    background: rgba(255, 255, 255, 0.94);\n    box-shadow: 0 12px 28px rgba(20, 20, 40, 0.1);\n    font-size: 8px;\n    font-weight: 700;\n    white-space: nowrap;\n    animation: psMpFloat 4s ease-in-out infinite;\n  }\n\n  .ps-mp-badge-one { top: 6px; left: 2px; }\n  .ps-mp-badge-two { bottom: 6px; right: 2px; animation-delay: -2s; }\n\n  \/* ---------- section headings ---------- *\/\n\n  .ps-mp-section {\n    margin-bottom: 44px;\n  }\n\n  .ps-mp-section-heading {\n    margin-bottom: 22px;\n    text-align: center;\n  }\n\n  .ps-mp-section-label {\n    display: block;\n    margin-bottom: 8px;\n    color: var(--violet);\n    font-family: 'JetBrains Mono', monospace;\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: 1.2px;\n    text-transform: uppercase;\n  }\n\n  .ps-mp-heading {\n    font-size: clamp(24px, 8vw, 30px);\n    line-height: 1.08;\n    font-weight: 700;\n    letter-spacing: -0.6px;\n  }\n\n  \/* ---------- compatibility ---------- *\/\n\n  .ps-mp-device-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 8px;\n  }\n\n  .ps-mp-device-pill {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 13px 14px;\n    border: 1px solid var(--line);\n    border-radius: 14px;\n    background: var(--surface);\n    font-size: 12.5px;\n    font-weight: 700;\n    transition: transform 0.25s ease, border-color 0.25s ease;\n  }\n\n  .ps-mp-device-pill:active {\n    transform: translateY(-2px);\n    border-color: rgba(42, 168, 224, 0.4);\n  }\n\n  .ps-mp-device-pill span {\n    display: grid;\n    flex: 0 0 32px;\n    width: 32px;\n    height: 32px;\n    place-items: center;\n    border-radius: 9px;\n    background: var(--grad);\n    color: #ffffff;\n    font-size: 11px;\n    font-weight: 800;\n  }\n\n  .ps-mp-note {\n    max-width: 480px;\n    margin: 18px auto 0;\n    font-size: 11.5px;\n    line-height: 1.6;\n    text-align: center;\n  }\n\n  \/* ---------- details grid ---------- *\/\n\n  .ps-mp-details-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    overflow: hidden;\n    border: 1px solid var(--line);\n    border-radius: 18px;\n    background: var(--surface);\n  }\n\n  .ps-mp-detail {\n    padding: 15px 14px;\n    border-right: 1px solid var(--line);\n    border-bottom: 1px solid var(--line);\n  }\n\n  .ps-mp-detail:nth-child(2n) { border-right: 0; }\n  .ps-mp-detail:nth-last-child(-n + 2) { border-bottom: 0; }\n\n  .ps-mp-detail span {\n    display: block;\n    margin-bottom: 5px;\n    font-family: 'JetBrains Mono', monospace;\n    color: var(--muted);\n    font-size: 9.5px;\n    font-weight: 700;\n    letter-spacing: 0.6px;\n    text-transform: uppercase;\n  }\n\n  .ps-mp-detail strong {\n    font-size: 12.5px;\n    line-height: 1.3;\n  }\n\n  \/* ---------- colours ---------- *\/\n\n  .ps-mp-colours {\n    margin-top: 22px;\n    text-align: center;\n  }\n\n  .ps-mp-colour-row {\n    display: flex;\n    justify-content: center;\n    gap: 14px;\n    margin-top: 4px;\n  }\n\n  .ps-mp-colour-swatch {\n    width: 28px;\n    height: 28px;\n    border-radius: 50%;\n    box-shadow: 0 4px 14px rgba(20, 20, 40, 0.18);\n    border: 1px solid var(--line);\n  }\n\n  .ps-mp-colour-black { background: #141414; }\n  .ps-mp-colour-white { background: #eeeeea; }\n\n  .ps-mp-colour-caption {\n    margin-top: 10px;\n    font-size: 12.5px;\n  }\n\n  \/* ---------- closing ---------- *\/\n\n  .ps-mp-closing {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    gap: 6px;\n    color: var(--muted);\n    font-size: clamp(14px, 4vw, 17px);\n    text-align: center;\n  }\n\n  .ps-mp-closing strong {\n    background: var(--grad);\n    -webkit-background-clip: text;\n    background-clip: text;\n    color: transparent;\n  }\n\n  \/* ---------- reveal ---------- *\/\n\n  .ps-mp-reveal {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.6s ease, transform 0.6s ease;\n  }\n\n  .ps-mp-reveal.ps-mp-visible {\n    opacity: 1;\n    transform: translateY(0);\n  }\n\n  \/* ---------- roomier on tablet\/desktop previews ---------- *\/\n\n  @media (min-width: 760px) {\n    .ps-mp-container { max-width: 640px; padding-top: 56px; }\n    .ps-mp-buttons { grid-template-columns: 1fr 1fr; }\n    .ps-mp-device-grid { grid-template-columns: repeat(3, 1fr); }\n    .ps-mp-details-grid { grid-template-columns: repeat(4, 1fr); }\n    .ps-mp-detail:nth-child(2n) { border-right: 1px solid var(--line); }\n    .ps-mp-detail:nth-child(4n) { border-right: 0; }\n    .ps-mp-detail:nth-last-child(-n + 2) { border-bottom: 1px solid var(--line); }\n    .ps-mp-detail:nth-last-child(-n + 4) { border-bottom: 0; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #ps-magpulse *,\n    #ps-magpulse *::before,\n    #ps-magpulse *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n    .ps-mp-reveal { opacity: 1; transform: none; }\n  }\n\n  \/* ---------- keyframes ---------- *\/\n\n  @keyframes psMpGradientMove {\n    from { background-position: 0% center; }\n    to { background-position: 200% center; }\n  }\n\n  @keyframes psMpPulse {\n    0% { box-shadow: 0 0 0 0 rgba(230, 25, 201, 0.55); }\n    70% { box-shadow: 0 0 0 8px rgba(230, 25, 201, 0); }\n    100% { box-shadow: 0 0 0 0 rgba(230, 25, 201, 0); }\n  }\n\n  @keyframes psMpOrbMove {\n    0%, 100% { transform: translate3d(0, 0, 0); }\n    50% { transform: translate3d(20px, -18px, 0); }\n  }\n\n  @keyframes psMpGlow {\n    0%, 100% { opacity: 0.14; transform: scale(0.93); }\n    50% { opacity: 0.24; transform: scale(1.07); }\n  }\n\n  @keyframes psMpPhoneFloat {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-10px); }\n  }\n\n  @keyframes psMpBatteryFill {\n    0% { width: 8%; }\n    65%, 100% { width: 100%; }\n  }\n\n  @keyframes psMpMagneticPulse {\n    0% { opacity: 0.7; transform: scale(0.75); }\n    100% { opacity: 0; transform: scale(1.5); }\n  }\n\n  @keyframes psMpFloat {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-7px); }\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  (function () {\n    var section = document.getElementById(\"ps-magpulse\");\n    if (!section || section.dataset.psInitialised === \"true\") return;\n    section.dataset.psInitialised = \"true\";\n\n    var revealElements = section.querySelectorAll(\".ps-mp-reveal\");\n\n    if (\"IntersectionObserver\" in window) {\n      var observer = new IntersectionObserver(\n        function (entries, revealObserver) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) {\n              entry.target.classList.add(\"ps-mp-visible\");\n              revealObserver.unobserve(entry.target);\n            }\n          });\n        },\n        { threshold: 0.1, rootMargin: \"0px 0px -25px 0px\" }\n      );\n\n      revealElements.forEach(function (element, index) {\n        element.style.transitionDelay = Math.min((index % 5) * 55, 220) + \"ms\";\n        observer.observe(element);\n      });\n    } else {\n      revealElements.forEach(function (element) {\n        element.classList.add(\"ps-mp-visible\");\n      });\n    }\n\n    section.querySelectorAll('a[href^=\"#\"]').forEach(function (link) {\n      link.addEventListener(\"click\", function (event) {\n        var selector = link.getAttribute(\"href\");\n        if (!selector || selector === \"#\") return;\n        var target = null;\n        try { target = document.querySelector(selector); } catch (error) { target = null; }\n        if (target) {\n          event.preventDefault();\n          target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        }\n      });\n    });\n\n    var counter = section.querySelector(\".ps-mp-counter\");\n    if (counter) {\n      var counterStarted = false;\n\n      var startCounter = function () {\n        if (counterStarted) return;\n        counterStarted = true;\n\n        var target = Number(counter.dataset.target || 100);\n        var duration = 2600;\n        var startTime = performance.now();\n\n        var updateCounter = function (currentTime) {\n          var progress = Math.min((currentTime - startTime) \/ duration, 1);\n          var easedProgress = 1 - Math.pow(1 - progress, 3);\n          counter.textContent = Math.round(target * easedProgress);\n          if (progress \u003c 1) requestAnimationFrame(updateCounter);\n        };\n\n        requestAnimationFrame(updateCounter);\n      };\n\n      if (\"IntersectionObserver\" in window) {\n        var counterObserver = new IntersectionObserver(\n          function (entries, obs) {\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting) {\n                startCounter();\n                obs.disconnect();\n              }\n            });\n          },\n          { threshold: 0.4 }\n        );\n        counterObserver.observe(counter);\n      } else {\n        startCounter();\n      }\n    }\n  })();\n\u003c\/script\u003e","brand":"PowerSpot","offers":[{"title":"white","offer_id":47813991202921,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":47813991235689,"sku":null,"price":399.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0778\/4821\/5657\/files\/Untitled_design_14.png?v=1782655540"}],"url":"https:\/\/powerspot.co.za\/collections\/you-might-also-like-1.oembed","provider":"PowerSpot","version":"1.0","type":"link"}