{"product_id":"loadoutx™-portalbase-ps-portal-fast-charge-dock-stand","title":"LoadoutX™ PortalBase — PS Portal Fast-Charge Dock \u0026 Stand","description":"\u003c!-- LOADOUTX™ PORTALBASE — PREMIUM ANIMATED SHOPIFY PRODUCT DESCRIPTION --\u003e\n\u003cdiv class=\"lx-portalbase\"\u003e\n\n  \u003cstyle\u003e\n    .lx-portalbase {\n      --lx-bg: #050505;\n      --lx-bg2: #0b0b0b;\n      --lx-panel: rgba(255,255,255,.045);\n      --lx-panel2: rgba(255,255,255,.025);\n      --lx-gold: #d6ad3a;\n      --lx-gold-light: #ffe58a;\n      --lx-gold-dark: #806016;\n      --lx-white: #f7f5ef;\n      --lx-muted: #a6a39a;\n      --lx-purple: #9c7cff;\n      --lx-cyan: #52e5ff;\n      --lx-pink: #ff65c8;\n      --lx-green: #79e0a0;\n\n      position: relative;\n      width: 100%;\n      overflow: hidden;\n      box-sizing: border-box;\n      background:\n        radial-gradient(circle at 50% 5%, rgba(214,175,58,.13), transparent 27%),\n        radial-gradient(circle at 0% 40%, rgba(156,124,255,.055), transparent 28%),\n        radial-gradient(circle at 100% 65%, rgba(82,229,255,.045), transparent 28%),\n        linear-gradient(180deg,#050505 0%,#090909 50%,#040404 100%);\n      color: var(--lx-white);\n      font-family: Arial, Helvetica, sans-serif;\n      border-radius: 18px;\n      isolation: isolate;\n      box-shadow: 0 30px 100px rgba(0,0,0,.6);\n    }\n\n    .lx-portalbase *,\n    .lx-portalbase *::before,\n    .lx-portalbase *::after {\n      box-sizing: border-box;\n    }\n\n    \/* =========================================================\n       AMBIENT LIGHT\n    ========================================================= *\/\n\n    .lx-portalbase::before,\n    .lx-portalbase::after {\n      content: \"\";\n      position: absolute;\n      width: 380px;\n      height: 380px;\n      border-radius: 50%;\n      pointer-events: none;\n      filter: blur(90px);\n      opacity: .17;\n      z-index: -1;\n      animation: lxPBGlow 9s ease-in-out infinite alternate;\n    }\n\n    .lx-portalbase::before {\n      left: -190px;\n      top: 12%;\n      background: rgba(214,175,58,.35);\n    }\n\n    .lx-portalbase::after {\n      right: -190px;\n      bottom: 10%;\n      background: rgba(156,124,255,.2);\n      animation-delay: -4s;\n    }\n\n    @keyframes lxPBGlow {\n      0% {\n        transform: translate3d(0,0,0) scale(.85);\n      }\n      100% {\n        transform: translate3d(35px,-25px,0) scale(1.15);\n      }\n    }\n\n    \/* =========================================================\n       HERO\n    ========================================================= *\/\n\n    .lx-pb-hero {\n      position: relative;\n      text-align: center;\n      padding: 72px 22px 50px;\n      overflow: hidden;\n    }\n\n    .lx-pb-grid {\n      position: absolute;\n      inset: 0;\n      opacity: .055;\n      background-image:\n        linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),\n        linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);\n      background-size: 42px 42px;\n      mask-image: linear-gradient(to bottom,#000,transparent);\n      pointer-events: none;\n    }\n\n    .lx-pb-badge {\n      position: relative;\n      display: inline-flex;\n      align-items: center;\n      gap: 9px;\n      padding: 9px 15px;\n      border: 1px solid rgba(214,175,58,.3);\n      border-radius: 999px;\n      background: rgba(214,175,58,.055);\n      color: var(--lx-gold-light);\n      font-size: 10px;\n      font-weight: 900;\n      letter-spacing: 2.4px;\n      text-transform: uppercase;\n      box-shadow: 0 0 30px rgba(214,175,58,.08);\n      animation: lxPBBadge 3s ease-in-out infinite;\n    }\n\n    .lx-pb-dot {\n      width: 7px;\n      height: 7px;\n      border-radius: 50%;\n      background: var(--lx-gold-light);\n      box-shadow: 0 0 15px var(--lx-gold-light);\n      animation: lxPBDot 1.6s ease-in-out infinite;\n    }\n\n    @keyframes lxPBBadge {\n      0%,100% {\n        transform: translateY(0);\n      }\n      50% {\n        transform: translateY(-3px);\n        box-shadow: 0 0 40px rgba(214,175,58,.2);\n      }\n    }\n\n    @keyframes lxPBDot {\n      0%,100% {\n        opacity: .45;\n        transform: scale(.8);\n      }\n      50% {\n        opacity: 1;\n        transform: scale(1.2);\n      }\n    }\n\n    .lx-pb-title {\n      position: relative;\n      margin: 22px auto 12px;\n      max-width: 900px;\n      font-size: clamp(44px,8vw,84px);\n      line-height: .9;\n      font-weight: 950;\n      letter-spacing: -3.5px;\n      text-transform: uppercase;\n      background:\n        linear-gradient(\n          110deg,\n          #806016 5%,\n          #d6ad3a 20%,\n          #fff0a4 40%,\n          #c59629 58%,\n          #ffe58a 75%,\n          #8c6818 100%\n        );\n      background-size: 220% auto;\n      -webkit-background-clip: text;\n      background-clip: text;\n      color: transparent;\n      animation: lxPBGild 5s linear infinite;\n    }\n\n    @keyframes lxPBGild {\n      to {\n        background-position: 220% center;\n      }\n    }\n\n    .lx-pb-tagline {\n      position: relative;\n      margin: 0 auto 30px;\n      color: var(--lx-white);\n      font-size: clamp(17px,3vw,25px);\n      font-weight: 750;\n    }\n\n    .lx-pb-tagline span {\n      color: var(--lx-gold-light);\n    }\n\n    \/* =========================================================\n       CSS-BUILT PORTALBASE VISUAL\n    ========================================================= *\/\n\n    .lx-pb-device-stage {\n      position: relative;\n      width: min(680px,100%);\n      height: 330px;\n      margin: 5px auto 0;\n      perspective: 1100px;\n    }\n\n    .lx-pb-desk-glow {\n      position: absolute;\n      width: 80%;\n      height: 90px;\n      left: 10%;\n      bottom: 10px;\n      border-radius: 50%;\n      background:\n        radial-gradient(\n          ellipse,\n          rgba(214,175,58,.22),\n          rgba(156,124,255,.07) 42%,\n          transparent 72%\n        );\n      filter: blur(12px);\n      animation: lxPBFloor 4s ease-in-out infinite;\n    }\n\n    @keyframes lxPBFloor {\n      0%,100% {\n        transform: scaleX(.9);\n        opacity: .55;\n      }\n      50% {\n        transform: scaleX(1.08);\n        opacity: 1;\n      }\n    }\n\n    \/* Dock *\/\n    .lx-pb-dock {\n      position: absolute;\n      left: 50%;\n      bottom: 40px;\n      width: 285px;\n      height: 72px;\n      transform:\n        translateX(-50%)\n        rotateX(55deg)\n        rotateZ(-2deg);\n      border-radius: 16px;\n      background:\n        linear-gradient(\n          145deg,\n          #292929,\n          #111 58%,\n          #060606\n        );\n      border: 1px solid rgba(255,255,255,.14);\n      box-shadow:\n        0 30px 45px rgba(0,0,0,.65),\n        inset 0 1px rgba(255,255,255,.1),\n        0 0 40px rgba(214,175,58,.07);\n      animation: lxPBDockFloat 4.5s ease-in-out infinite;\n    }\n\n    .lx-pb-dock::before {\n      content: \"\";\n      position: absolute;\n      left: 15px;\n      right: 15px;\n      bottom: 7px;\n      height: 3px;\n      border-radius: 5px;\n      background:\n        linear-gradient(\n          90deg,\n          var(--lx-purple),\n          var(--lx-cyan),\n          var(--lx-pink),\n          var(--lx-gold-light)\n        );\n      background-size: 300% 100%;\n      box-shadow:\n        0 0 12px rgba(156,124,255,.6),\n        0 0 22px rgba(82,229,255,.3);\n      animation: lxRGB 3s linear infinite;\n    }\n\n    .lx-pb-dock::after {\n      content: \"\";\n      position: absolute;\n      left: 30px;\n      right: 30px;\n      top: 12px;\n      height: 1px;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255,255,255,.22),\n        transparent\n      );\n    }\n\n    @keyframes lxPBDockFloat {\n      0%,100% {\n        transform:\n          translateX(-50%)\n          rotateX(55deg)\n          rotateZ(-2deg)\n          translateY(0);\n      }\n      50% {\n        transform:\n          translateX(-50%)\n          rotateX(55deg)\n          rotateZ(-2deg)\n          translateY(-7px);\n      }\n    }\n\n    @keyframes lxRGB {\n      to {\n        background-position: 300% 0;\n      }\n    }\n\n    \/* Portal *\/\n    .lx-pb-portal {\n      position: absolute;\n      z-index: 3;\n      left: 50%;\n      bottom: 87px;\n      width: 265px;\n      height: 132px;\n      transform:\n        translateX(-50%)\n        rotateX(7deg);\n      border-radius: 30px;\n      background:\n        linear-gradient(145deg,#262626,#101010);\n      border: 1px solid rgba(255,255,255,.16);\n      box-shadow:\n        0 25px 40px rgba(0,0,0,.65),\n        0 0 35px rgba(255,255,255,.035);\n      animation: lxPortalFloat 4.5s ease-in-out infinite;\n    }\n\n    @keyframes lxPortalFloat {\n      0%,100% {\n        transform:\n          translateX(-50%)\n          rotateX(7deg)\n          translateY(0);\n      }\n      50% {\n        transform:\n          translateX(-50%)\n          rotateX(7deg)\n          translateY(-7px);\n      }\n    }\n\n    .lx-pb-screen {\n      position: absolute;\n      left: 50%;\n      top: 50%;\n      width: 137px;\n      height: 87px;\n      transform: translate(-50%,-50%);\n      border-radius: 13px;\n      background:\n        radial-gradient(circle at 40% 30%,rgba(82,229,255,.24),transparent 30%),\n        linear-gradient(145deg,#101820,#05080b);\n      border: 2px solid #171717;\n      box-shadow:\n        inset 0 0 20px rgba(82,229,255,.08),\n        0 0 20px rgba(82,229,255,.04);\n      overflow: hidden;\n    }\n\n    .lx-pb-screen::before {\n      content: \"\";\n      position: absolute;\n      left: -30%;\n      top: 0;\n      width: 30%;\n      height: 100%;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255,255,255,.18),\n        transparent\n      );\n      animation: lxScreenScan 3.8s linear infinite;\n    }\n\n    .lx-pb-screen::after {\n      content: \"LOADOUTX\";\n      position: absolute;\n      left: 0;\n      right: 0;\n      top: 50%;\n      transform: translateY(-50%);\n      color: rgba(255,255,255,.12);\n      font-size: 9px;\n      font-weight: 900;\n      letter-spacing: 2px;\n    }\n\n    @keyframes lxScreenScan {\n      to {\n        left: 120%;\n      }\n    }\n\n    \/* Controller grips *\/\n    .lx-pb-grip {\n      position: absolute;\n      top: 37px;\n      width: 53px;\n      height: 65px;\n      border-radius: 48% 48% 42% 42%;\n      background: linear-gradient(145deg,#303030,#101010);\n      border: 1px solid rgba(255,255,255,.12);\n    }\n\n    .lx-pb-grip.left {\n      left: -12px;\n      transform: rotate(14deg);\n    }\n\n    .lx-pb-grip.right {\n      right: -12px;\n      transform: rotate(-14deg);\n    }\n\n    \/* Charging contacts *\/\n    .lx-pb-contact {\n      position: absolute;\n      left: 50%;\n      bottom: -9px;\n      width: 34px;\n      height: 10px;\n      transform: translateX(-50%);\n      border-radius: 0 0 8px 8px;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        var(--lx-gold-light),\n        transparent\n      );\n      box-shadow: 0 0 15px rgba(214,175,58,.65);\n      animation: lxContact 1.8s ease-in-out infinite;\n    }\n\n    @keyframes lxContact {\n      0%,100% {\n        opacity: .4;\n      }\n      50% {\n        opacity: 1;\n        box-shadow: 0 0 25px rgba(214,175,58,.9);\n      }\n    }\n\n    \/* Energy lines *\/\n    .lx-pb-energy {\n      position: absolute;\n      z-index: 1;\n      left: 50%;\n      bottom: 74px;\n      width: 2px;\n      height: 85px;\n      transform: translateX(-50%);\n      background:\n        linear-gradient(\n          to top,\n          transparent,\n          var(--lx-gold-light),\n          transparent\n        );\n      filter: drop-shadow(0 0 7px var(--lx-gold));\n      animation: lxEnergy 1.6s ease-in-out infinite;\n    }\n\n    @keyframes lxEnergy {\n      0%,100% {\n        opacity: .15;\n        transform: translateX(-50%) scaleY(.6);\n      }\n      50% {\n        opacity: .9;\n        transform: translateX(-50%) scaleY(1);\n      }\n    }\n\n    \/* Orbit rings *\/\n    .lx-pb-orbit {\n      position: absolute;\n      left: 50%;\n      top: 38%;\n      width: 350px;\n      height: 130px;\n      transform: translate(-50%,-50%) rotate(-8deg);\n      border: 1px solid rgba(214,175,58,.11);\n      border-radius: 50%;\n      animation: lxOrbit 10s linear infinite;\n    }\n\n    .lx-pb-orbit::before,\n    .lx-pb-orbit::after {\n      content: \"\";\n      position: absolute;\n      border-radius: 50%;\n      border: 1px solid rgba(214,175,58,.08);\n    }\n\n    .lx-pb-orbit::before {\n      inset: 15px 45px;\n    }\n\n    .lx-pb-orbit::after {\n      inset: 30px 90px;\n    }\n\n    @keyframes lxOrbit {\n      to {\n        transform:\n          translate(-50%,-50%)\n          rotate(352deg);\n      }\n    }\n\n    \/* Particles *\/\n    .lx-pb-particles span {\n      position: absolute;\n      width: 4px;\n      height: 4px;\n      border-radius: 50%;\n      background: var(--lx-gold-light);\n      box-shadow: 0 0 12px var(--lx-gold-light);\n      animation: lxPBParticle 5s linear infinite;\n    }\n\n    .lx-pb-particles span:nth-child(1) {\n      left: 13%;\n      top: 50%;\n      animation-delay: -1s;\n    }\n\n    .lx-pb-particles span:nth-child(2) {\n      left: 82%;\n      top: 38%;\n      animation-delay: -3s;\n    }\n\n    .lx-pb-particles span:nth-child(3) {\n      left: 24%;\n      top: 75%;\n      animation-delay: -2s;\n    }\n\n    .lx-pb-particles span:nth-child(4) {\n      left: 76%;\n      top: 70%;\n      animation-delay: -4s;\n    }\n\n    .lx-pb-particles span:nth-child(5) {\n      left: 48%;\n      top: 18%;\n      animation-delay: -1.8s;\n    }\n\n    @keyframes lxPBParticle {\n      0% {\n        transform: translateY(20px) scale(.4);\n        opacity: 0;\n      }\n      25% {\n        opacity: .8;\n      }\n      75% {\n        opacity: .5;\n      }\n      100% {\n        transform: translateY(-60px) scale(1.2);\n        opacity: 0;\n      }\n    }\n\n    \/* =========================================================\n       INTRO GLASS CARD\n    ========================================================= *\/\n\n    .lx-pb-intro {\n      position: relative;\n      max-width: 940px;\n      margin: 0 auto;\n      padding: 28px;\n      border: 1px solid rgba(214,175,58,.17);\n      border-radius: 20px;\n      background:\n        linear-gradient(\n          135deg,\n          rgba(255,255,255,.065),\n          rgba(255,255,255,.018)\n        );\n      backdrop-filter: blur(16px);\n      box-shadow: 0 25px 70px rgba(0,0,0,.4);\n      overflow: hidden;\n    }\n\n    .lx-pb-intro::before {\n      content: \"\";\n      position: absolute;\n      left: -100%;\n      top: 0;\n      width: 65%;\n      height: 1px;\n      background:\n        linear-gradient(\n          90deg,\n          transparent,\n          var(--lx-gold-light),\n          transparent\n        );\n      animation: lxPBCardSweep 5s linear infinite;\n    }\n\n    @keyframes lxPBCardSweep {\n      to {\n        left: 150%;\n      }\n    }\n\n    .lx-pb-intro p {\n      margin: 0;\n      color: #ddd9cf;\n      font-size: 16px;\n      line-height: 1.8;\n    }\n\n    .lx-pb-intro strong {\n      color: var(--lx-gold-light);\n    }\n\n    \/* =========================================================\n       SECTIONS\n    ========================================================= *\/\n\n    .lx-pb-section {\n      max-width: 1100px;\n      margin: auto;\n      padding: 68px 24px;\n    }\n\n    .lx-pb-heading-wrap {\n      text-align: center;\n      margin-bottom: 35px;\n    }\n\n    .lx-pb-eyebrow {\n      margin-bottom: 10px;\n      color: var(--lx-gold-light);\n      font-size: 10px;\n      font-weight: 900;\n      letter-spacing: 3px;\n      text-transform: uppercase;\n    }\n\n    .lx-pb-heading {\n      margin: 0;\n      color: var(--lx-white);\n      font-size: clamp(29px,5vw,48px);\n      line-height: 1;\n      font-weight: 950;\n      letter-spacing: -1.5px;\n    }\n\n    .lx-pb-heading span {\n      color: var(--lx-gold-light);\n    }\n\n    .lx-pb-description {\n      max-width: 660px;\n      margin: 14px auto 0;\n      color: var(--lx-muted);\n      font-size: 14px;\n      line-height: 1.7;\n    }\n\n    \/* =========================================================\n       FEATURE CARDS\n    ========================================================= *\/\n\n    .lx-pb-cards {\n      display: grid;\n      grid-template-columns: repeat(2,1fr);\n      gap: 15px;\n    }\n\n    .lx-pb-card {\n      position: relative;\n      min-height: 220px;\n      padding: 25px;\n      overflow: hidden;\n      border-radius: 18px;\n      border: 1px solid rgba(255,255,255,.075);\n      background:\n        linear-gradient(\n          145deg,\n          rgba(255,255,255,.06),\n          rgba(255,255,255,.015)\n        );\n      transition:\n        transform .45s cubic-bezier(.2,.8,.2,1),\n        border-color .45s ease,\n        box-shadow .45s ease;\n    }\n\n    .lx-pb-card::before {\n      content: \"\";\n      position: absolute;\n      width: 150px;\n      height: 150px;\n      right: -75px;\n      top: -75px;\n      border-radius: 50%;\n      background: rgba(214,175,58,.12);\n      filter: blur(25px);\n      transition: transform .5s ease;\n    }\n\n    .lx-pb-card::after {\n      content: \"\";\n      position: absolute;\n      left: 0;\n      bottom: 0;\n      width: 0;\n      height: 2px;\n      background:\n        linear-gradient(\n          90deg,\n          var(--lx-gold-dark),\n          var(--lx-gold-light)\n        );\n      transition: width .5s ease;\n    }\n\n    .lx-pb-card:hover {\n      transform: translateY(-7px);\n      border-color: rgba(214,175,58,.33);\n      box-shadow: 0 22px 55px rgba(0,0,0,.4);\n    }\n\n    .lx-pb-card:hover::before {\n      transform: scale(1.5);\n    }\n\n    .lx-pb-card:hover::after {\n      width: 100%;\n    }\n\n    .lx-pb-icon {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      width: 54px;\n      height: 54px;\n      margin-bottom: 20px;\n      border-radius: 15px;\n      border: 1px solid rgba(214,175,58,.28);\n      background: rgba(214,175,58,.065);\n      font-size: 25px;\n      box-shadow: 0 0 25px rgba(214,175,58,.06);\n      transition: transform .4s ease;\n    }\n\n    .lx-pb-card:hover .lx-pb-icon {\n      transform: rotate(-5deg) scale(1.08);\n    }\n\n    .lx-pb-card h3 {\n      margin: 0 0 9px;\n      color: var(--lx-white);\n      font-size: 18px;\n      font-weight: 900;\n    }\n\n    .lx-pb-card p {\n      margin: 0;\n      color: var(--lx-muted);\n      font-size: 13px;\n      line-height: 1.7;\n    }\n\n    \/* =========================================================\n       CHARGING STATUS\n    ========================================================= *\/\n\n    .lx-pb-status {\n      position: relative;\n      padding: 34px;\n      overflow: hidden;\n      border-radius: 22px;\n      border: 1px solid rgba(214,175,58,.2);\n      background:\n        radial-gradient(\n          circle at 50% 0%,\n          rgba(214,175,58,.12),\n          transparent 45%\n        ),\n        rgba(255,255,255,.025);\n    }\n\n    .lx-pb-status-top {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 20px;\n      margin-bottom: 28px;\n    }\n\n    .lx-pb-status-title {\n      color: var(--lx-white);\n      font-size: 22px;\n      font-weight: 900;\n    }\n\n    .lx-pb-ready {\n      display: inline-flex;\n      align-items: center;\n      gap: 7px;\n      padding: 8px 12px;\n      border-radius: 999px;\n      color: var(--lx-green);\n      border: 1px solid rgba(121,224,160,.2);\n      background: rgba(121,224,160,.055);\n      font-size: 10px;\n      font-weight: 900;\n      letter-spacing: 1.5px;\n    }\n\n    .lx-pb-ready i {\n      width: 7px;\n      height: 7px;\n      border-radius: 50%;\n      background: var(--lx-green);\n      box-shadow: 0 0 12px var(--lx-green);\n      animation: lxReadyPulse 1.5s infinite;\n    }\n\n    @keyframes lxReadyPulse {\n      50% {\n        opacity: .35;\n      }\n    }\n\n    .lx-pb-battery {\n      position: relative;\n      height: 70px;\n      border: 1px solid rgba(255,255,255,.1);\n      border-radius: 14px;\n      padding: 8px;\n      background: #070707;\n      box-shadow: inset 0 0 25px rgba(0,0,0,.5);\n    }\n\n    .lx-pb-battery::after {\n      content: \"\";\n      position: absolute;\n      right: -7px;\n      top: 25px;\n      width: 7px;\n      height: 20px;\n      border-radius: 0 4px 4px 0;\n      background: rgba(255,255,255,.15);\n    }\n\n    .lx-pb-battery-fill {\n      width: 91%;\n      height: 100%;\n      border-radius: 8px;\n      background:\n        linear-gradient(\n          90deg,\n          var(--lx-gold-dark),\n          var(--lx-gold-light),\n          var(--lx-green)\n        );\n      background-size: 180% 100%;\n      box-shadow:\n        0 0 20px rgba(214,175,58,.18),\n        inset 0 1px rgba(255,255,255,.35);\n      animation:\n        lxBattery 3s linear infinite,\n        lxBatteryPulse 2.5s ease-in-out infinite;\n    }\n\n    @keyframes lxBattery {\n      to {\n        background-position: 180% 0;\n      }\n    }\n\n    @keyframes lxBatteryPulse {\n      50% {\n        box-shadow:\n          0 0 35px rgba(214,175,58,.3),\n          inset 0 1px rgba(255,255,255,.4);\n      }\n    }\n\n    .lx-pb-status-bottom {\n      display: flex;\n      justify-content: space-between;\n      margin-top: 12px;\n      color: var(--lx-muted);\n      font-size: 11px;\n    }\n\n    .lx-pb-status-bottom strong {\n      color: var(--lx-gold-light);\n    }\n\n    \/* =========================================================\n       RGB FEATURE\n    ========================================================= *\/\n\n    .lx-pb-rgb {\n      position: relative;\n      min-height: 260px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      overflow: hidden;\n      border-radius: 22px;\n      border: 1px solid rgba(255,255,255,.08);\n      background: #060606;\n    }\n\n    .lx-pb-rgb-ring {\n      position: absolute;\n      width: 280px;\n      height: 280px;\n      border-radius: 50%;\n      border: 2px solid transparent;\n      background:\n        linear-gradient(#060606,#060606) padding-box,\n        linear-gradient(\n          90deg,\n          var(--lx-purple),\n          var(--lx-cyan),\n          var(--lx-pink),\n          var(--lx-gold-light),\n          var(--lx-purple)\n        ) border-box;\n      animation: lxRGBSpin 7s linear infinite;\n      filter: drop-shadow(0 0 15px rgba(156,124,255,.18));\n    }\n\n    .lx-pb-rgb-ring::before {\n      content: \"\";\n      position: absolute;\n      inset: 25px;\n      border-radius: 50%;\n      border: 1px solid rgba(255,255,255,.08);\n    }\n\n    .lx-pb-rgb-core {\n      position: relative;\n      z-index: 2;\n      width: 110px;\n      height: 110px;\n      border-radius: 28px;\n      background: #0d0d0d;\n      border: 1px solid rgba(255,255,255,.12);\n      box-shadow:\n        0 0 45px rgba(156,124,255,.15),\n        inset 0 0 25px rgba(255,255,255,.035);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      text-align: center;\n      font-size: 11px;\n      font-weight: 900;\n      letter-spacing: 2px;\n      color: #fff;\n      text-transform: uppercase;\n    }\n\n    .lx-pb-rgb-core::before {\n      content: \"\";\n      position: absolute;\n      inset: 8px;\n      border-radius: 21px;\n      border: 1px solid rgba(255,255,255,.05);\n    }\n\n    @keyframes lxRGBSpin {\n      to {\n        transform: rotate(360deg);\n      }\n    }\n\n    \/* =========================================================\n       WHY YOU'LL LOVE IT\n    ========================================================= *\/\n\n    .lx-pb-benefits {\n      display: grid;\n      grid-template-columns: repeat(2,1fr);\n      gap: 12px;\n    }\n\n    .lx-pb-benefit {\n      display: flex;\n      align-items: center;\n      gap: 13px;\n      padding: 15px 17px;\n      border-radius: 13px;\n      border: 1px solid rgba(255,255,255,.07);\n      background: rgba(255,255,255,.025);\n      transition: .35s ease;\n    }\n\n    .lx-pb-benefit:hover {\n      transform: translateX(5px);\n      border-color: rgba(214,175,58,.3);\n      background: rgba(214,175,58,.04);\n    }\n\n    .lx-pb-check {\n      flex: 0 0 28px;\n      width: 28px;\n      height: 28px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      border-radius: 50%;\n      background:\n        linear-gradient(\n          135deg,\n          var(--lx-gold-light),\n          var(--lx-gold-dark)\n        );\n      color: #050505;\n      font-size: 13px;\n      font-weight: 900;\n      box-shadow: 0 0 17px rgba(214,175,58,.18);\n    }\n\n    .lx-pb-benefit span:last-child {\n      color: #d8d5cd;\n      font-size: 13px;\n      line-height: 1.45;\n    }\n\n    \/* =========================================================\n       VAULTSHELL CROSS SELL\n    ========================================================= *\/\n\n    .lx-pb-vault {\n      position: relative;\n      padding: 30px;\n      overflow: hidden;\n      border-radius: 22px;\n      border: 1px solid rgba(214,175,58,.2);\n      background:\n        linear-gradient(\n          135deg,\n          rgba(214,175,58,.07),\n          rgba(255,255,255,.025)\n        );\n    }\n\n    .lx-pb-vault::before {\n      content: \"LOADOUTX\";\n      position: absolute;\n      right: -25px;\n      bottom: -22px;\n      font-size: 80px;\n      line-height: 1;\n      font-weight: 950;\n      color: rgba(255,255,255,.018);\n      letter-spacing: -5px;\n    }\n\n    .lx-pb-vault-content {\n      position: relative;\n      z-index: 2;\n      max-width: 720px;\n    }\n\n    .lx-pb-vault h3 {\n      margin: 0 0 10px;\n      color: var(--lx-white);\n      font-size: clamp(24px,4vw,35px);\n      font-weight: 900;\n    }\n\n    .lx-pb-vault h3 span {\n      color: var(--lx-gold-light);\n    }\n\n    .lx-pb-vault p {\n      margin: 0;\n      color: var(--lx-muted);\n      line-height: 1.75;\n      font-size: 14px;\n    }\n\n    .lx-pb-vault-tag {\n      display: inline-block;\n      margin-top: 18px;\n      padding: 9px 14px;\n      border-radius: 999px;\n      color: var(--lx-gold-light);\n      border: 1px solid rgba(214,175,58,.22);\n      background: rgba(214,175,58,.05);\n      font-size: 10px;\n      font-weight: 900;\n      letter-spacing: 1.5px;\n    }\n\n    \/* =========================================================\n       FINAL CTA\n    ========================================================= *\/\n\n    .lx-pb-final {\n      position: relative;\n      margin: 10px 20px 0;\n      padding: 65px 25px;\n      text-align: center;\n      overflow: hidden;\n      border-radius: 24px;\n      border: 1px solid rgba(214,175,58,.22);\n      background:\n        radial-gradient(\n          circle at 50% 100%,\n          rgba(214,175,58,.17),\n          transparent 55%\n        ),\n        linear-gradient(180deg,#101010,#070707);\n    }\n\n    .lx-pb-final::before {\n      content: \"\";\n      position: absolute;\n      width: 300px;\n      height: 300px;\n      left: 50%;\n      top: -160px;\n      transform: translateX(-50%);\n      border-radius: 50%;\n      border: 1px solid rgba(214,175,58,.15);\n      box-shadow:\n        0 0 0 35px rgba(214,175,58,.025),\n        0 0 0 70px rgba(214,175,58,.015);\n      animation: lxPBFinalOrbit 9s linear infinite;\n    }\n\n    @keyframes lxPBFinalOrbit {\n      to {\n        transform:\n          translateX(-50%)\n          rotate(360deg);\n      }\n    }\n\n    .lx-pb-final h2 {\n      position: relative;\n      z-index: 2;\n      margin: 0;\n      font-size: clamp(30px,6vw,55px);\n      line-height: 1;\n      font-weight: 950;\n      letter-spacing: -1.5px;\n    }\n\n    .lx-pb-final h2 span {\n      color: var(--lx-gold-light);\n    }\n\n    .lx-pb-final p {\n      position: relative;\n      z-index: 2;\n      max-width: 620px;\n      margin: 15px auto 0;\n      color: var(--lx-muted);\n      font-size: 14px;\n      line-height: 1.7;\n    }\n\n    .lx-pb-final-tag {\n      position: relative;\n      z-index: 2;\n      display: inline-block;\n      margin-top: 27px;\n      padding: 13px 20px;\n      border-radius: 999px;\n      background:\n        linear-gradient(\n          135deg,\n          var(--lx-gold-light),\n          var(--lx-gold-dark)\n        );\n      color: #070707;\n      font-size: 11px;\n      font-weight: 950;\n      letter-spacing: 1.4px;\n      text-transform: uppercase;\n      box-shadow: 0 12px 40px rgba(214,175,58,.2);\n      animation: lxPBCTA 2.7s ease-in-out infinite;\n    }\n\n    @keyframes lxPBCTA {\n      0%,100% {\n        transform: translateY(0);\n        box-shadow: 0 12px 40px rgba(214,175,58,.18);\n      }\n      50% {\n        transform: translateY(-3px);\n        box-shadow: 0 17px 50px rgba(214,175,58,.3);\n      }\n    }\n\n    .lx-pb-disclaimer {\n      padding: 30px 24px 40px;\n      text-align: center;\n      color: #70706b;\n      font-size: 10px;\n      line-height: 1.7;\n    }\n\n    \/* =========================================================\n       TABLET\n    ========================================================= *\/\n\n    @media (max-width:750px) {\n\n      .lx-pb-hero {\n        padding: 55px 18px 40px;\n      }\n\n      .lx-pb-title {\n        letter-spacing: -2.5px;\n      }\n\n      .lx-pb-cards,\n      .lx-pb-benefits {\n        grid-template-columns: 1fr;\n      }\n    }\n\n    \/* =========================================================\n       MOBILE\n    ========================================================= *\/\n\n    @media (max-width:520px) {\n\n      .lx-portalbase {\n        border-radius: 12px;\n      }\n\n      .lx-pb-hero {\n        padding: 48px 14px 32px;\n      }\n\n      .lx-pb-badge {\n        padding: 8px 12px;\n        font-size: 8px;\n        letter-spacing: 1.6px;\n      }\n\n      .lx-pb-title {\n        font-size: 48px;\n        letter-spacing: -2.5px;\n      }\n\n      .lx-pb-tagline {\n        font-size: 17px;\n      }\n\n      .lx-pb-device-stage {\n        height: 275px;\n        transform: scale(.88);\n        margin-top: -5px;\n      }\n\n      .lx-pb-intro {\n        margin: 0 13px;\n        padding: 22px;\n      }\n\n      .lx-pb-intro p {\n        font-size: 14px;\n      }\n\n      .lx-pb-section {\n        padding: 52px 15px;\n      }\n\n      .lx-pb-heading {\n        font-size: 31px;\n      }\n\n      .lx-pb-card {\n        min-height: auto;\n        padding: 22px;\n      }\n\n      .lx-pb-status {\n        padding: 24px 18px;\n      }\n\n      .lx-pb-status-top {\n        align-items: flex-start;\n        flex-direction: column;\n      }\n\n      .lx-pb-rgb {\n        min-height: 230px;\n      }\n\n      .lx-pb-rgb-ring {\n        width: 230px;\n        height: 230px;\n      }\n\n      .lx-pb-vault {\n        padding: 24px 20px;\n      }\n\n      .lx-pb-final {\n        margin: 0 13px;\n        padding: 53px 19px;\n      }\n\n      .lx-pb-final h2 {\n        font-size: 32px;\n      }\n    }\n\n    \/* =========================================================\n       REDUCED MOTION\n    ========================================================= *\/\n\n    @media (prefers-reduced-motion:reduce) {\n      .lx-portalbase *,\n      .lx-portalbase *::before,\n      .lx-portalbase *::after {\n        animation-duration:.01ms !important;\n        animation-iteration-count:1 !important;\n        transition-duration:.01ms !important;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003c!-- =========================================================\n       HERO\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-hero\"\u003e\n\n    \u003cdiv class=\"lx-pb-grid\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"lx-pb-badge\"\u003e\n      \u003cspan class=\"lx-pb-dot\"\u003e\u003c\/span\u003e\n      LOADOUTX™ PORTAL SERIES\n    \u003c\/div\u003e\n\n    \u003ch1 class=\"lx-pb-title\"\u003ePortalBase\u003c\/h1\u003e\n\n    \u003cdiv class=\"lx-pb-tagline\"\u003e\n      Your Portal deserves a \u003cspan\u003eproper home.\u003c\/span\u003e\n    \u003c\/div\u003e\n\n\n    \u003c!-- CSS-BUILT PORTAL + DOCK --\u003e\n    \u003cdiv class=\"lx-pb-device-stage\"\u003e\n\n      \u003cdiv class=\"lx-pb-desk-glow\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-orbit\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-energy\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-dock\"\u003e\n\n        \u003cdiv class=\"lx-pb-contact\"\u003e\u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-portal\"\u003e\n\n        \u003cdiv class=\"lx-pb-grip left\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"lx-pb-screen\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"lx-pb-grip right\"\u003e\u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-particles\"\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n        \u003cspan\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       INTRO\n  ========================================================= --\u003e\n\n  \u003cdiv class=\"lx-pb-intro\"\u003e\n\n    \u003cp\u003e\n      Stop leaving your Portal lying on the couch, balanced on the bedside table or tangled up in a charging cable. The \u003cstrong\u003eLoadoutX™ PortalBase\u003c\/strong\u003e gives your handheld a sleek place to charge, display and grab whenever it's game time. Keep your Portal charged, easy to reach and looking its best.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\n  \u003c!-- =========================================================\n       FEATURES\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-section\"\u003e\n\n    \u003cdiv class=\"lx-pb-heading-wrap\"\u003e\n\n      \u003cdiv class=\"lx-pb-eyebrow\"\u003e\n        BUILT FOR YOUR PORTAL\n      \u003c\/div\u003e\n\n      \u003ch2 class=\"lx-pb-heading\"\u003e\n        More than a dock.\u003cbr\u003e\n        \u003cspan\u003eIt's part of the setup.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"lx-pb-description\"\u003e\n        Give your PlayStation Portal a dedicated home that combines charging, display and organisation in one premium-looking station.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"lx-pb-cards\"\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e⚡\u003c\/div\u003e\n\n        \u003ch3\u003e\n          Charged \u0026amp; Ready\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          5V USB fast-charging support powers your Portal back up, helping you get from low battery to back in the game without the wait.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e💡\u003c\/div\u003e\n\n        \u003ch3\u003e\n          Know When It's Ready\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          The built-in charging indicator lets you see the charging status at a glance, so you don't have to guess whether your Portal is ready for another session.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e🌈\u003c\/div\u003e\n\n        \u003ch3\u003e\n          RGB Setup Glow\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Ambient RGB lighting turns your Portal into a centrepiece for your desk, bedside table or gaming corner.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e📱\u003c\/div\u003e\n\n        \u003ch3\u003e\n          Stand. Display. Play.\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Keep your handheld upright and on show. Pick it up, play, then put it back when you're finished. Simple.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e🧹\u003c\/div\u003e\n\n        \u003ch3\u003e\n          A Cleaner Setup\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Give your Portal one dedicated spot and reduce loose cables, clutter and random accessories around your gaming space.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n      \u003carticle class=\"lx-pb-card\"\u003e\n\n        \u003cdiv class=\"lx-pb-icon\"\u003e🎁\u003c\/div\u003e\n\n        \u003ch3\u003e\n          The Portal Upgrade\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          A practical upgrade that any PS Portal owner can use every day — and a gift they'll actually want to keep on their desk.\n        \u003c\/p\u003e\n\n      \u003c\/article\u003e\n\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       CHARGING STATUS\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-section\"\u003e\n\n    \u003cdiv class=\"lx-pb-heading-wrap\"\u003e\n\n      \u003cdiv class=\"lx-pb-eyebrow\"\u003e\n        READY WHEN YOU ARE\n      \u003c\/div\u003e\n\n      \u003ch2 class=\"lx-pb-heading\"\u003e\n        No more \u003cspan\u003ebattery anxiety.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"lx-pb-description\"\u003e\n        Drop your Portal into its dedicated home after a session and keep it ready for the next one.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"lx-pb-status\"\u003e\n\n      \u003cdiv class=\"lx-pb-status-top\"\u003e\n\n        \u003cdiv class=\"lx-pb-status-title\"\u003e\n          PORTAL CHARGING STATUS\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"lx-pb-ready\"\u003e\n          \u003ci\u003e\u003c\/i\u003e\n          READY\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"lx-pb-battery\"\u003e\n\n        \u003cdiv class=\"lx-pb-battery-fill\"\u003e\u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"lx-pb-status-bottom\"\u003e\n\n        \u003cspan\u003e\n          USB POWER • 5V SUPPORT\n        \u003c\/span\u003e\n\n        \u003cstrong\u003e\n          CHARGING \/ READY\n        \u003c\/strong\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       RGB SECTION\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-section\"\u003e\n\n    \u003cdiv class=\"lx-pb-heading-wrap\"\u003e\n\n      \u003cdiv class=\"lx-pb-eyebrow\"\u003e\n        SETUP MODE: ON\n      \u003c\/div\u003e\n\n      \u003ch2 class=\"lx-pb-heading\"\u003e\n        Let your Portal \u003cspan\u003esteal the spotlight.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cp class=\"lx-pb-description\"\u003e\n        Ambient RGB lighting adds another layer to your setup, giving your Portal a premium display-piece feel whether you're gaming or charging.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"lx-pb-rgb\"\u003e\n\n      \u003cdiv class=\"lx-pb-rgb-ring\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-rgb-core\"\u003e\n        PORTAL\u003cbr\u003e\n        BASE\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       WHY YOU'LL LOVE IT\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-section\"\u003e\n\n    \u003cdiv class=\"lx-pb-heading-wrap\"\u003e\n\n      \u003cdiv class=\"lx-pb-eyebrow\"\u003e\n        THE PORTAL UPGRADE\n      \u003c\/div\u003e\n\n      \u003ch2 class=\"lx-pb-heading\"\u003e\n        Why you'll \u003cspan\u003elove it.\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"lx-pb-benefits\"\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003e5V USB fast-charging support\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003eCharging indicator for at-a-glance status\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003eRGB lighting that upgrades your setup\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003eDedicated stand for displaying your Portal\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003eKeeps your space tidy and clutter-free\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lx-pb-benefit\"\u003e\n        \u003cdiv class=\"lx-pb-check\"\u003e✓\u003c\/div\u003e\n        \u003cspan\u003ePremium everyday upgrade for PS Portal owners\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       VAULTSHELL CROSS-SELL\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-section\"\u003e\n\n    \u003cdiv class=\"lx-pb-vault\"\u003e\n\n      \u003cdiv class=\"lx-pb-vault-content\"\u003e\n\n        \u003cdiv class=\"lx-pb-eyebrow\"\u003e\n          COMPLETE THE SETUP\n        \u003c\/div\u003e\n\n        \u003ch3\u003e\n          Protect it on the go.\u003cbr\u003e\n          \u003cspan\u003eCharge it at home.\u003c\/span\u003e\n        \u003c\/h3\u003e\n\n        \u003cp\u003e\n          Pair your PortalBase with the \u003cstrong\u003eLoadoutX™ VaultShell\u003c\/strong\u003e carry case to create a complete Portal setup. Keep your Portal protected when you're travelling, then dock it at home when it's time to recharge and display it.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"lx-pb-vault-tag\"\u003e\n          PORTALBASE + VAULTSHELL\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003c!-- =========================================================\n       FINAL CTA\n  ========================================================= --\u003e\n\n  \u003csection class=\"lx-pb-final\"\u003e\n\n    \u003ch2\u003e\n      Dock it.\u003cbr\u003e\n      \u003cspan\u003eCharge it. Show it off.\u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n      Give your Portal the home it deserves. One clean station for charging, displaying and keeping your setup looking premium.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"lx-pb-final-tag\"\u003e\n      LOADOUTX™ PORTALBASE\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n  \u003cdiv class=\"lx-pb-disclaimer\"\u003e\n    PlayStation Portal and other gaming accessories shown for illustrative purposes only and are not included unless specifically stated in the product listing. Charging performance may depend on the USB power source and connected device.\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"LoadoutX","offers":[{"title":"Black","offer_id":50559449759883,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"White","offer_id":50559449792651,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0743\/4708\/5963\/files\/portalbase-low-side-angle-with-loadoutx-box.png?v=1790545293","url":"https:\/\/loadoutx.co.za\/products\/loadoutx%e2%84%a2-portalbase-ps-portal-fast-charge-dock-stand","provider":"LoadoutX","version":"1.0","type":"link"}