{"product_id":"veldlight-pro-solar-lantern","title":"VeldLight Pro Solar Lantern","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003cmeta name=\"description\" content=\"VeldLight Pro foldable solar lantern with six lighting modes, quad-panel 360-degree illumination and rugged military green construction for camping, emergencies and load-shedding backup.\"\u003e\n  \u003ctitle\u003eVeldLight Pro Foldable Solar Lantern\u003c\/title\u003e\n\n  \u003cstyle\u003e\n    .bosveld-rod-section {\n      --olive-dark: #26351f;\n      --olive: #556b2f;\n      --olive-medium: #718447;\n      --olive-light: #a8b486;\n      --cream: #f6f2e7;\n      --white: #ffffff;\n      --gold: #d4af37;\n      --text: #252a22;\n      --muted: #535c4d;\n      --border: rgba(85, 107, 47, 0.18);\n\n      position: relative;\n      width: 100%;\n      overflow: hidden;\n      padding: 72px 20px;\n      color: var(--text);\n      font-family: Arial, Helvetica, sans-serif;\n      background:\n        radial-gradient(\n          circle at 10% 10%,\n          rgba(113, 132, 71, 0.18),\n          transparent 32%\n        ),\n        radial-gradient(\n          circle at 90% 80%,\n          rgba(85, 107, 47, 0.14),\n          transparent 30%\n        ),\n        var(--cream);\n    }\n\n    .bosveld-rod-section,\n    .bosveld-rod-section * {\n      box-sizing: border-box;\n    }\n\n    .bosveld-rod-container {\n      position: relative;\n      z-index: 2;\n      width: min(100%, 860px);\n      margin: 0 auto;\n    }\n\n    .bosveld-decoration {\n      position: absolute;\n      border-radius: 50%;\n      pointer-events: none;\n      animation: bosveld-float 7s ease-in-out infinite;\n    }\n\n    .bosveld-decoration--one {\n      top: 40px;\n      right: 4%;\n      width: 130px;\n      height: 130px;\n      border: 2px solid rgba(85, 107, 47, 0.18);\n    }\n\n    .bosveld-decoration--two {\n      bottom: 100px;\n      left: 3%;\n      width: 84px;\n      height: 84px;\n      background: rgba(113, 132, 71, 0.1);\n      animation-delay: -3s;\n    }\n\n    .bosveld-eyebrow {\n      margin: 0 0 14px;\n      color: var(--olive);\n      font-size: 0.8rem;\n      font-weight: 900;\n      letter-spacing: 2.2px;\n      text-transform: uppercase;\n      animation: bosveld-fade-up 0.7s ease both;\n    }\n\n    .bosveld-title {\n      max-width: 100%;\n      margin: 0;\n      color: var(--olive-dark);\n      font-size: clamp(2.7rem, 8vw, 5.4rem);\n      line-height: 0.95;\n      letter-spacing: -0.055em;\n      overflow-wrap: normal;\n      word-break: normal;\n      animation: bosveld-fade-up 0.8s 0.1s ease both;\n    }\n\n    .bosveld-title span {\n      display: block;\n      color: var(--olive-medium);\n    }\n\n    .bosveld-tagline {\n      margin: 22px 0 0;\n      color: #9a7637;\n      font-size: clamp(1.05rem, 2vw, 1.35rem);\n      font-weight: 900;\n      line-height: 1.4;\n      animation: bosveld-fade-up 0.8s 0.15s ease both;\n    }\n\n    .bosveld-intro {\n      max-width: 760px;\n      margin: 18px 0 36px;\n      color: #3f4939;\n      font-size: 1.05rem;\n      line-height: 1.75;\n      animation: bosveld-fade-up 0.8s 0.2s ease both;\n    }\n\n    .bosveld-product-visual {\n      position: relative;\n      display: grid;\n      width: 100%;\n      min-height: 480px;\n      margin-bottom: 38px;\n      overflow: hidden;\n      place-items: center;\n      border: 1px solid var(--border);\n      border-radius: 26px;\n      background:\n        radial-gradient(\n          circle at center,\n          rgba(168, 180, 134, 0.25),\n          transparent 46%\n        ),\n        linear-gradient(150deg, #ffffff, #e8eddc);\n      box-shadow: 0 22px 48px rgba(38, 53, 31, 0.14);\n    }\n\n    .bosveld-product-visual::before {\n      position: absolute;\n      width: 430px;\n      height: 430px;\n      border-radius: 50%;\n      background: rgba(113, 132, 71, 0.1);\n      content: \"\";\n      animation: bosveld-halo 5s ease-in-out infinite;\n    }\n\n    .bosveld-product-badge {\n      position: absolute;\n      top: 22px;\n      right: 22px;\n      z-index: 4;\n      display: grid;\n      width: 96px;\n      height: 96px;\n      place-items: center;\n      border-radius: 50%;\n      color: #dce7be;\n      text-align: center;\n      background: var(--olive-dark);\n      box-shadow: 0 14px 30px rgba(38, 53, 31, 0.25);\n    }\n\n    .bosveld-product-badge strong {\n      display: block;\n      font-size: 0.95rem;\n      line-height: 1.1;\n    }\n\n    .bosveld-product-badge span {\n      display: block;\n      margin-top: 5px;\n      color: rgba(255, 255, 255, 0.68);\n      font-size: 0.5rem;\n      font-weight: 900;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n    }\n\n    .bosveld-rod-bag {\n      position: relative;\n      z-index: 3;\n      width: min(650px, 86%);\n      height: 290px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n    }\n\n    .bosveld-bag-body {\n      position: absolute;\n      inset: 28px 48px 28px 32px;\n      overflow: hidden;\n      border: 8px solid #151915;\n      border-radius: 32px 18px 18px 32px;\n      background:\n        repeating-linear-gradient(\n          90deg,\n          rgba(255, 255, 255, 0.025) 0 5px,\n          rgba(0, 0, 0, 0.035) 5px 10px\n        ),\n        linear-gradient(145deg, #333a33, #181c18 70%);\n      box-shadow:\n        inset 10px 10px 18px rgba(255, 255, 255, 0.035),\n        inset -14px -14px 24px rgba(0, 0, 0, 0.3),\n        0 26px 38px rgba(34, 40, 31, 0.22);\n    }\n\n    .bosveld-bag-tip {\n      position: absolute;\n      top: 88px;\n      right: 0;\n      width: 88px;\n      height: 118px;\n      border: 8px solid #151915;\n      border-left: 0;\n      border-radius: 0 64px 64px 0;\n      background: linear-gradient(145deg, #2d332d, #151915);\n    }\n\n    .bosveld-strap {\n      position: absolute;\n      top: 0;\n      left: 125px;\n      width: 350px;\n      height: 92px;\n      border: 18px solid #2b312b;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      box-shadow: inset 0 0 0 4px #454d44;\n      transform: rotate(-4deg);\n    }\n\n    .bosveld-zip-line {\n      position: absolute;\n      z-index: 2;\n      top: 66px;\n      left: 60px;\n      right: 62px;\n      height: 4px;\n      border-radius: 999px;\n      background: #737c6c;\n      box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.18);\n    }\n\n    .bosveld-pocket {\n      position: absolute;\n      z-index: 2;\n      bottom: 52px;\n      height: 72px;\n      border: 4px solid #121612;\n      border-radius: 14px;\n      background: linear-gradient(145deg, #3b4339, #232923);\n    }\n\n    .bosveld-pocket::before {\n      position: absolute;\n      top: 11px;\n      left: 14px;\n      right: 14px;\n      height: 3px;\n      border-radius: 999px;\n      background: #717a69;\n      content: \"\";\n    }\n\n    .bosveld-pocket--one {\n      left: 90px;\n      width: 180px;\n    }\n\n    .bosveld-pocket--two {\n      left: 292px;\n      width: 150px;\n    }\n\n    .bosveld-brand-mark {\n      position: absolute;\n      z-index: 4;\n      top: 111px;\n      left: 50%;\n      width: 160px;\n      padding: 12px 14px;\n      border: 2px solid rgba(228, 236, 205, 0.55);\n      color: #f0f3e7;\n      font-size: 0.78rem;\n      font-weight: 900;\n      letter-spacing: 0.14em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #3a462c;\n      transform: translateX(-50%) rotate(-2deg);\n      box-shadow: 0 14px 28px rgba(32, 39, 28, 0.2);\n    }\n\n    .bosveld-section {\n      width: 100%;\n      margin-bottom: 36px;\n      padding: clamp(24px, 5vw, 40px);\n      border: 1px solid var(--border);\n      border-radius: 22px;\n      background: rgba(255, 255, 255, 0.94);\n      box-shadow: 0 14px 35px rgba(38, 53, 31, 0.08);\n    }\n\n    .bosveld-section--dark {\n      color: var(--white);\n      background: var(--olive-dark);\n      box-shadow: 0 20px 45px rgba(38, 53, 31, 0.18);\n    }\n\n    .bosveld-section-heading {\n      max-width: 100%;\n      margin: 0 0 10px;\n      color: var(--olive-dark);\n      font-size: clamp(1.65rem, 4vw, 2.45rem);\n      line-height: 1.15;\n      letter-spacing: -0.03em;\n    }\n\n    .bosveld-section--dark .bosveld-section-heading {\n      color: var(--white);\n    }\n\n    .bosveld-section-intro {\n      max-width: 680px;\n      margin: 0 0 24px;\n      color: var(--muted);\n      line-height: 1.65;\n    }\n\n    .bosveld-section--dark .bosveld-section-intro {\n      color: rgba(255, 255, 255, 0.72);\n    }\n\n    .bosveld-benefit-grid,\n    .bosveld-feature-grid,\n    .bosveld-spec-grid,\n    .bosveld-review-grid {\n      display: grid;\n      width: 100%;\n      gap: 16px;\n    }\n\n    .bosveld-benefit-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-feature-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .bosveld-spec-grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n\n    .bosveld-review-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card {\n      position: relative;\n      overflow: hidden;\n      min-width: 0;\n      border-radius: 17px;\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease,\n        background 0.35s ease;\n    }\n\n    .bosveld-benefit-card {\n      padding: 22px;\n      border: 1px solid rgba(255, 255, 255, 0.13);\n      background: rgba(255, 255, 255, 0.07);\n    }\n\n    .bosveld-benefit-card:hover {\n      border-color: rgba(255, 255, 255, 0.32);\n      background: rgba(255, 255, 255, 0.12);\n      transform: translateY(-6px);\n    }\n\n    .bosveld-benefit-icon {\n      display: grid;\n      width: 48px;\n      height: 48px;\n      margin-bottom: 14px;\n      place-items: center;\n      border-radius: 15px;\n      color: var(--olive-dark);\n      font-size: 1.3rem;\n      background: #dce7be;\n      animation: bosveld-icon-bob 3.3s ease-in-out infinite;\n    }\n\n    .bosveld-benefit-card:nth-child(2) .bosveld-benefit-icon {\n      animation-delay: 0.3s;\n    }\n\n    .bosveld-benefit-card:nth-child(3) .bosveld-benefit-icon {\n      animation-delay: 0.6s;\n    }\n\n    .bosveld-benefit-card strong,\n    .bosveld-feature-card strong,\n    .bosveld-spec-card strong {\n      display: block;\n      margin-bottom: 8px;\n      font-size: 0.96rem;\n    }\n\n    .bosveld-benefit-card p {\n      margin: 0;\n      color: rgba(255, 255, 255, 0.72);\n      font-size: 0.86rem;\n      line-height: 1.6;\n    }\n\n    .bosveld-feature-card,\n    .bosveld-spec-card {\n      padding: 20px;\n      border: 1px solid var(--border);\n      background: #f8faf3;\n    }\n\n    .bosveld-feature-card:hover,\n    .bosveld-spec-card:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 18px 36px rgba(38, 53, 31, 0.12);\n      transform: translateY(-6px);\n    }\n\n    .bosveld-feature-card p,\n    .bosveld-spec-card p {\n      margin: 0;\n      color: var(--muted);\n      font-size: 0.86rem;\n      line-height: 1.6;\n    }\n\n    .bosveld-review-card {\n      padding: 24px;\n      border: 1px solid var(--border);\n      background: var(--white);\n      box-shadow: 0 12px 30px rgba(38, 53, 31, 0.07);\n      cursor: pointer;\n    }\n\n    .bosveld-review-card::before {\n      position: absolute;\n      top: 0;\n      left: -120%;\n      width: 70%;\n      height: 100%;\n      background: linear-gradient(\n        120deg,\n        transparent,\n        rgba(255, 255, 255, 0.8),\n        transparent\n      );\n      content: \"\";\n      transition: left 0.7s ease;\n    }\n\n    .bosveld-review-card:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 24px 50px rgba(38, 53, 31, 0.16);\n      transform: translateY(-8px);\n    }\n\n    .bosveld-review-card:hover::before {\n      left: 150%;\n    }\n\n    .bosveld-review-stars {\n      position: relative;\n      z-index: 2;\n      margin-bottom: 14px;\n      color: var(--gold);\n      font-size: 1.2rem;\n      letter-spacing: 3px;\n      animation: bosveld-star-glow 2.2s ease-in-out infinite;\n    }\n\n    .bosveld-review-quote {\n      position: relative;\n      z-index: 2;\n      margin: 0 0 18px;\n      color: #3f473a;\n      font-size: 0.92rem;\n      font-style: italic;\n      line-height: 1.7;\n    }\n\n    .bosveld-reviewer-name {\n      position: relative;\n      z-index: 2;\n      display: block;\n      color: var(--olive-dark);\n      font-size: 0.92rem;\n      font-weight: 900;\n    }\n\n    .bosveld-reviewer-location {\n      position: relative;\n      z-index: 2;\n      display: block;\n      margin-top: 3px;\n      color: #70786a;\n      font-size: 0.78rem;\n    }\n\n    .bosveld-cta {\n      display: grid;\n      grid-template-columns: minmax(0, 1fr);\n      gap: 18px;\n      padding: clamp(24px, 5vw, 38px);\n      border-radius: 22px;\n      color: var(--white);\n      background: linear-gradient(135deg, var(--olive), var(--olive-dark));\n      box-shadow: 0 20px 45px rgba(38, 53, 31, 0.2);\n    }\n\n    .bosveld-cta h2 {\n      margin: 0 0 8px;\n      font-size: clamp(1.55rem, 4vw, 2.2rem);\n    }\n\n    .bosveld-cta p {\n      margin: 0;\n      color: rgba(255, 255, 255, 0.76);\n      line-height: 1.65;\n    }\n\n    .bosveld-button-group {\n      display: grid;\n      grid-template-columns: 1fr;\n      gap: 12px;\n    }\n\n    .bosveld-button {\n      position: relative;\n      display: inline-flex;\n      justify-content: center;\n      align-items: center;\n      min-height: 52px;\n      overflow: hidden;\n      padding: 0 22px;\n      border: 2px solid var(--white);\n      border-radius: 10px;\n      font-weight: 900;\n      text-align: center;\n      text-decoration: none;\n      transition:\n        transform 0.3s ease,\n        background 0.3s ease,\n        color 0.3s ease,\n        box-shadow 0.3s ease;\n    }\n\n    .bosveld-button:hover {\n      transform: translateY(-4px);\n      box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);\n    }\n\n    .bosveld-button--primary {\n      color: var(--olive-dark);\n      background: var(--white);\n    }\n\n    .bosveld-button--secondary {\n      color: var(--white);\n      background: transparent;\n    }\n\n    .bosveld-footer-tagline {\n      margin: 30px 0 0;\n      color: var(--olive-dark);\n      font-size: 0.86rem;\n      font-weight: 900;\n      letter-spacing: 2.3px;\n      text-align: center;\n      text-transform: uppercase;\n    }\n\n    .bosveld-reveal {\n      opacity: 0;\n      transform: translateY(28px);\n      transition:\n        opacity 0.75s ease,\n        transform 0.75s ease;\n    }\n\n    .bosveld-reveal.is-visible {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    @keyframes bosveld-fade-up {\n      from {\n        opacity: 0;\n        transform: translateY(24px);\n      }\n\n      to {\n        opacity: 1;\n        transform: translateY(0);\n      }\n    }\n\n    @keyframes bosveld-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(0deg);\n      }\n\n      50% {\n        transform: translateY(-18px) rotate(8deg);\n      }\n    }\n\n    @keyframes bosveld-product-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-1deg);\n      }\n\n      50% {\n        transform: translateY(-12px) rotate(1deg);\n      }\n    }\n\n    @keyframes bosveld-halo {\n      0%,\n      100% {\n        opacity: 0.75;\n        transform: scale(0.92);\n      }\n\n      50% {\n        opacity: 1;\n        transform: scale(1.06);\n      }\n    }\n\n    @keyframes bosveld-icon-bob {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-2deg);\n      }\n\n      50% {\n        transform: translateY(-7px) rotate(2deg);\n      }\n    }\n\n    @keyframes bosveld-star-glow {\n      0%,\n      100% {\n        transform: scale(1);\n        text-shadow:\n          0 0 6px rgba(212, 175, 55, 0.45),\n          0 0 14px rgba(212, 175, 55, 0.22);\n      }\n\n      50% {\n        transform: scale(1.05);\n        text-shadow:\n          0 0 10px rgba(212, 175, 55, 0.85),\n          0 0 22px rgba(212, 175, 55, 0.46);\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-rod-section {\n        padding: 48px 16px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.45rem, 13vw, 4rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 390px;\n      }\n\n      .bosveld-rod-bag {\n        width: min(500px, 90%);\n        height: 225px;\n      }\n\n      .bosveld-bag-body {\n        inset: 22px 38px 24px 24px;\n      }\n\n      .bosveld-bag-tip {\n        top: 68px;\n        width: 66px;\n        height: 92px;\n      }\n\n      .bosveld-strap {\n        left: 92px;\n        width: 270px;\n        height: 68px;\n        border-width: 14px;\n      }\n\n      .bosveld-zip-line {\n        top: 51px;\n        left: 45px;\n        right: 50px;\n      }\n\n      .bosveld-pocket {\n        bottom: 42px;\n        height: 56px;\n      }\n\n      .bosveld-pocket--one {\n        left: 66px;\n        width: 130px;\n      }\n\n      .bosveld-pocket--two {\n        left: 214px;\n        width: 105px;\n      }\n\n      .bosveld-brand-mark {\n        top: 84px;\n        width: 130px;\n        padding: 9px 11px;\n      }\n\n      .bosveld-benefit-grid,\n      .bosveld-feature-grid,\n      .bosveld-spec-grid,\n      .bosveld-review-grid {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-product-badge {\n        top: 14px;\n        right: 14px;\n        width: 76px;\n        height: 76px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-rod-section {\n        padding-inline: 10px;\n      }\n\n      .bosveld-rod-container {\n        width: 100%;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.2rem, 14vw, 3.35rem);\n      }\n\n      .bosveld-intro {\n        font-size: 0.96rem;\n      }\n\n      .bosveld-product-visual {\n        min-height: 330px;\n        border-radius: 20px;\n      }\n\n      .bosveld-rod-bag {\n        width: 94%;\n        height: 190px;\n      }\n\n      .bosveld-bag-body {\n        inset: 20px 34px 20px 20px;\n        border-width: 6px;\n      }\n\n      .bosveld-bag-tip {\n        top: 60px;\n        width: 54px;\n        height: 74px;\n        border-width: 6px;\n      }\n\n      .bosveld-strap {\n        left: 70px;\n        width: 220px;\n        height: 58px;\n        border-width: 12px;\n      }\n\n      .bosveld-pocket {\n        display: none;\n      }\n\n      .bosveld-brand-mark {\n        top: 72px;\n        width: 110px;\n        font-size: 0.67rem;\n      }\n\n      .bosveld-product-badge {\n        width: 66px;\n        height: 66px;\n      }\n\n      .bosveld-section {\n        padding: 22px 17px;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .bosveld-rod-section *,\n      .bosveld-rod-section *::before,\n      .bosveld-rod-section *::after {\n        animation-duration: 0.01ms !important;\n        animation-iteration-count: 1 !important;\n        transition-duration: 0.01ms !important;\n      }\n\n      .bosveld-reveal {\n        opacity: 1;\n        transform: none;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cstyle\u003e\n    \/* Creative animation upgrade *\/\n    .bosveld-product-visual {\n      perspective: 1200px;\n    }\n\n    .bosveld-product-visual::after {\n      position: absolute;\n      left: 50%;\n      bottom: 30px;\n      width: 72%;\n      height: 34px;\n      border-radius: 50%;\n      background: rgba(34, 48, 29, 0.18);\n      filter: blur(18px);\n      content: \"\";\n      transform: translateX(-50%);\n      animation: bosveld-shadow-breathe 4s ease-in-out infinite;\n    }\n\n    .bosveld-water-ripple,\n    .bosveld-water-ripple::before,\n    .bosveld-water-ripple::after {\n      position: absolute;\n      left: 50%;\n      bottom: 42px;\n      border: 2px solid rgba(85, 107, 47, 0.16);\n      border-radius: 50%;\n      content: \"\";\n      pointer-events: none;\n      transform: translateX(-50%) scale(0.35);\n      animation: bosveld-ripple 4.8s ease-out infinite;\n    }\n\n    .bosveld-water-ripple {\n      z-index: 1;\n      width: 360px;\n      height: 74px;\n    }\n\n    .bosveld-water-ripple::before {\n      bottom: -2px;\n      width: 280px;\n      height: 58px;\n      animation-delay: 1.2s;\n    }\n\n    .bosveld-water-ripple::after {\n      bottom: -2px;\n      width: 210px;\n      height: 44px;\n      animation-delay: 2.4s;\n    }\n\n    .bosveld-floating-lure {\n      position: absolute;\n      top: 72px;\n      left: 8%;\n      z-index: 5;\n      display: grid;\n      width: 48px;\n      height: 48px;\n      place-items: center;\n      border-radius: 50% 50% 48% 52%;\n      color: var(--olive-dark);\n      font-size: 1.35rem;\n      background: rgba(255, 255, 255, 0.86);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.14);\n      animation: bosveld-lure-swing 4.6s ease-in-out infinite;\n    }\n\n    .bosveld-floating-lure::before {\n      position: absolute;\n      left: 50%;\n      bottom: 100%;\n      width: 1px;\n      height: 90px;\n      background: linear-gradient(\n        to top,\n        rgba(38, 53, 31, 0.34),\n        transparent\n      );\n      content: \"\";\n    }\n\n    .bosveld-rod-bag {\n      transform-style: preserve-3d;\n      will-change: transform;\n      transition: transform 0.28s ease;\n    }\n\n    .bosveld-brand-mark {\n      animation: bosveld-brand-pulse 3.4s ease-in-out infinite;\n    }\n\n    .bosveld-zip-line {\n      overflow: hidden;\n    }\n\n    .bosveld-zip-line::after {\n      position: absolute;\n      top: 0;\n      left: -40%;\n      width: 40%;\n      height: 100%;\n      border-radius: inherit;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255, 255, 255, 0.75),\n        transparent\n      );\n      content: \"\";\n      animation: bosveld-zip-shine 3.8s ease-in-out infinite;\n    }\n\n    .bosveld-product-badge {\n      animation:\n        bosveld-badge-float 3.5s ease-in-out infinite,\n        bosveld-badge-glow 2.8s ease-in-out infinite;\n    }\n\n    .bosveld-section {\n      isolation: isolate;\n    }\n\n    .bosveld-section::before {\n      position: absolute;\n      inset: 0;\n      z-index: -1;\n      border-radius: inherit;\n      background:\n        radial-gradient(\n          circle at 100% 0%,\n          rgba(168, 180, 134, 0.15),\n          transparent 30%\n        );\n      content: \"\";\n      opacity: 0;\n      transition: opacity 0.4s ease;\n    }\n\n    .bosveld-section:hover::before {\n      opacity: 1;\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card {\n      transform-style: preserve-3d;\n      will-change: transform;\n    }\n\n    .bosveld-benefit-card::after,\n    .bosveld-feature-card::after,\n    .bosveld-spec-card::after,\n    .bosveld-review-card::after {\n      position: absolute;\n      inset: 0;\n      border-radius: inherit;\n      background: linear-gradient(\n        135deg,\n        rgba(255, 255, 255, 0.16),\n        transparent 42%\n      );\n      content: \"\";\n      opacity: 0;\n      pointer-events: none;\n      transition: opacity 0.35s ease;\n    }\n\n    .bosveld-benefit-card:hover::after,\n    .bosveld-feature-card:hover::after,\n    .bosveld-spec-card:hover::after,\n    .bosveld-review-card:hover::after {\n      opacity: 1;\n    }\n\n    .bosveld-benefit-icon {\n      box-shadow:\n        0 10px 24px rgba(38, 53, 31, 0.18),\n        inset 0 0 0 1px rgba(255, 255, 255, 0.3);\n    }\n\n    .bosveld-review-card:nth-child(2) {\n      transition-delay: 0.04s;\n    }\n\n    .bosveld-review-card:nth-child(3) {\n      transition-delay: 0.08s;\n    }\n\n    .bosveld-button {\n      isolation: isolate;\n    }\n\n    .bosveld-button::before {\n      position: absolute;\n      top: 50%;\n      left: 50%;\n      z-index: -1;\n      width: 0;\n      height: 0;\n      border-radius: 50%;\n      background: rgba(168, 180, 134, 0.34);\n      content: \"\";\n      transform: translate(-50%, -50%);\n      transition:\n        width 0.45s ease,\n        height 0.45s ease;\n    }\n\n    .bosveld-button:hover::before {\n      width: 360px;\n      height: 360px;\n    }\n\n    .bosveld-button--primary:hover {\n      color: var(--olive-dark);\n      background: #edf1e1;\n    }\n\n    .bosveld-footer-tagline {\n      animation: bosveld-letter-breathe 4s ease-in-out infinite;\n    }\n\n    .bosveld-reveal {\n      filter: blur(7px);\n    }\n\n    .bosveld-reveal.is-visible {\n      filter: blur(0);\n    }\n\n    .bosveld-stagger \u003e * {\n      opacity: 0;\n      transform: translateY(18px);\n      transition:\n        opacity 0.6s ease,\n        transform 0.6s ease;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e * {\n      opacity: 1;\n      transform: translateY(0);\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(1) {\n      transition-delay: 0.08s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(2) {\n      transition-delay: 0.16s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(3) {\n      transition-delay: 0.24s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(4) {\n      transition-delay: 0.32s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(5) {\n      transition-delay: 0.40s;\n    }\n\n    .bosveld-reveal.is-visible .bosveld-stagger \u003e *:nth-child(6) {\n      transition-delay: 0.48s;\n    }\n\n    @keyframes bosveld-ripple {\n      0% {\n        opacity: 0;\n        transform: translateX(-50%) scale(0.35);\n      }\n\n      20% {\n        opacity: 0.75;\n      }\n\n      100% {\n        opacity: 0;\n        transform: translateX(-50%) scale(1.35);\n      }\n    }\n\n    @keyframes bosveld-shadow-breathe {\n      0%,\n      100% {\n        opacity: 0.34;\n        transform: translateX(-50%) scaleX(0.85);\n      }\n\n      50% {\n        opacity: 0.18;\n        transform: translateX(-50%) scaleX(0.7);\n      }\n    }\n\n    @keyframes bosveld-lure-swing {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-10deg);\n      }\n\n      50% {\n        transform: translateY(14px) rotate(10deg);\n      }\n    }\n\n    @keyframes bosveld-brand-pulse {\n      0%,\n      100% {\n        box-shadow: 0 14px 28px rgba(32, 39, 28, 0.2);\n      }\n\n      50% {\n        box-shadow:\n          0 16px 34px rgba(32, 39, 28, 0.28),\n          0 0 24px rgba(168, 180, 134, 0.22);\n      }\n    }\n\n    @keyframes bosveld-zip-shine {\n      0%,\n      45% {\n        left: -40%;\n      }\n\n      75%,\n      100% {\n        left: 120%;\n      }\n    }\n\n    @keyframes bosveld-badge-float {\n      0%,\n      100% {\n        transform: translateY(0) rotate(-2deg);\n      }\n\n      50% {\n        transform: translateY(-7px) rotate(2deg);\n      }\n    }\n\n    @keyframes bosveld-badge-glow {\n      0%,\n      100% {\n        box-shadow: 0 14px 30px rgba(38, 53, 31, 0.25);\n      }\n\n      50% {\n        box-shadow:\n          0 18px 38px rgba(38, 53, 31, 0.32),\n          0 0 25px rgba(168, 180, 134, 0.2);\n      }\n    }\n\n    @keyframes bosveld-letter-breathe {\n      0%,\n      100% {\n        letter-spacing: 2.3px;\n      }\n\n      50% {\n        letter-spacing: 3.2px;\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-floating-lure {\n        top: 58px;\n        left: 6%;\n        width: 42px;\n        height: 42px;\n        font-size: 1.1rem;\n      }\n\n      .bosveld-water-ripple {\n        width: 270px;\n        height: 56px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-floating-lure {\n        display: none;\n      }\n\n      .bosveld-water-ripple {\n        width: 210px;\n        height: 44px;\n      }\n\n      .bosveld-button:hover::before {\n        width: 260px;\n        height: 260px;\n      }\n    }\n\n    @media (hover: none) {\n      .bosveld-benefit-card,\n      .bosveld-feature-card,\n      .bosveld-spec-card,\n      .bosveld-review-card {\n        transform: none !important;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      .bosveld-reveal {\n        filter: none;\n      }\n\n      .bosveld-stagger \u003e * {\n        opacity: 1;\n        transform: none;\n      }\n\n      .bosveld-water-ripple,\n      .bosveld-floating-lure {\n        display: none;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Alternate layouts while preserving the same section formatting *\/\n\n    .bosveld-feature-timeline {\n      position: relative;\n      display: grid;\n      gap: 16px;\n      margin-top: 24px;\n      padding-left: 26px;\n    }\n\n    .bosveld-feature-timeline::before {\n      position: absolute;\n      top: 10px;\n      bottom: 10px;\n      left: 9px;\n      width: 2px;\n      border-radius: 999px;\n      background: linear-gradient(\n        to bottom,\n        var(--olive-light),\n        var(--olive),\n        var(--olive-light)\n      );\n      content: \"\";\n      opacity: 0.65;\n    }\n\n    .bosveld-feature-step {\n      position: relative;\n      display: grid;\n      grid-template-columns: 42px minmax(0, 1fr);\n      gap: 14px;\n      align-items: start;\n      padding: 18px;\n      border: 1px solid var(--border);\n      border-radius: 17px;\n      background: #f8faf3;\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease;\n    }\n\n    .bosveld-feature-step::before {\n      position: absolute;\n      top: 28px;\n      left: -23px;\n      width: 14px;\n      height: 14px;\n      border: 4px solid var(--cream);\n      border-radius: 50%;\n      background: var(--olive);\n      box-shadow: 0 0 0 3px rgba(85, 107, 47, 0.14);\n      content: \"\";\n      transition: transform 0.35s ease;\n    }\n\n    .bosveld-feature-step:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 18px 36px rgba(38, 53, 31, 0.12);\n      transform: translateX(8px);\n    }\n\n    .bosveld-feature-step:hover::before {\n      transform: scale(1.25);\n    }\n\n    .bosveld-feature-step-number {\n      display: grid;\n      width: 42px;\n      height: 42px;\n      place-items: center;\n      border-radius: 13px;\n      color: var(--olive-dark);\n      font-size: 0.76rem;\n      font-weight: 900;\n      background: #dce7be;\n      box-shadow: 0 8px 18px rgba(38, 53, 31, 0.12);\n    }\n\n    .bosveld-feature-step strong {\n      display: block;\n      margin: 2px 0 6px;\n      color: var(--olive-dark);\n      font-size: 0.98rem;\n    }\n\n    .bosveld-feature-step p {\n      margin: 0;\n      color: var(--muted);\n      font-size: 0.86rem;\n      line-height: 1.62;\n    }\n\n    .bosveld-spec-table-wrap {\n      width: 100%;\n      margin-top: 24px;\n      overflow: hidden;\n      border: 1px solid var(--border);\n      border-radius: 18px;\n      background: var(--white);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.06);\n    }\n\n    .bosveld-spec-table {\n      width: 100%;\n      border-collapse: collapse;\n    }\n\n    .bosveld-spec-table tr {\n      transition: background 0.3s ease;\n    }\n\n    .bosveld-spec-table tr:hover {\n      background: #f1f5e5;\n    }\n\n    .bosveld-spec-table th,\n    .bosveld-spec-table td {\n      padding: 18px 20px;\n      border-bottom: 1px solid var(--border);\n      text-align: left;\n      vertical-align: top;\n    }\n\n    .bosveld-spec-table tr:last-child th,\n    .bosveld-spec-table tr:last-child td {\n      border-bottom: 0;\n    }\n\n    .bosveld-spec-table th {\n      width: 34%;\n      color: var(--olive-dark);\n      font-size: 0.86rem;\n      font-weight: 900;\n      letter-spacing: 0.02em;\n      background: rgba(168, 180, 134, 0.12);\n    }\n\n    .bosveld-spec-table td {\n      color: var(--muted);\n      font-size: 0.88rem;\n      line-height: 1.55;\n    }\n\n    .bosveld-review-showcase {\n      display: grid;\n      grid-template-columns: minmax(0, 1.15fr) minmax(250px, 0.85fr);\n      gap: 18px;\n      margin-top: 24px;\n    }\n\n    .bosveld-review-featured {\n      position: relative;\n      overflow: hidden;\n      padding: 30px;\n      border-radius: 20px;\n      color: var(--white);\n      background:\n        radial-gradient(\n          circle at 100% 0%,\n          rgba(168, 180, 134, 0.18),\n          transparent 36%\n        ),\n        linear-gradient(145deg, var(--olive), var(--olive-dark));\n      box-shadow: 0 20px 42px rgba(38, 53, 31, 0.16);\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease;\n    }\n\n    .bosveld-review-featured:hover {\n      transform: translateY(-7px);\n      box-shadow: 0 28px 54px rgba(38, 53, 31, 0.24);\n    }\n\n    .bosveld-review-featured::before {\n      position: absolute;\n      top: 18px;\n      right: 22px;\n      color: rgba(255, 255, 255, 0.09);\n      font-family: Georgia, serif;\n      font-size: 7rem;\n      line-height: 1;\n      content: \"“\";\n    }\n\n    .bosveld-review-featured .bosveld-review-stars {\n      color: #f3d86b;\n    }\n\n    .bosveld-review-featured .bosveld-review-quote {\n      max-width: 92%;\n      color: rgba(255, 255, 255, 0.88);\n      font-size: 1rem;\n      line-height: 1.8;\n    }\n\n    .bosveld-review-featured .bosveld-reviewer-name {\n      color: var(--white);\n    }\n\n    .bosveld-review-featured .bosveld-reviewer-location {\n      color: rgba(255, 255, 255, 0.7);\n    }\n\n    .bosveld-review-mini-list {\n      display: grid;\n      gap: 14px;\n    }\n\n    .bosveld-review-mini {\n      position: relative;\n      overflow: hidden;\n      padding: 20px;\n      border: 1px solid var(--border);\n      border-radius: 17px;\n      background: var(--white);\n      box-shadow: 0 12px 28px rgba(38, 53, 31, 0.07);\n      transition:\n        transform 0.35s ease,\n        box-shadow 0.35s ease,\n        border-color 0.35s ease;\n    }\n\n    .bosveld-review-mini:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 20px 40px rgba(38, 53, 31, 0.13);\n      transform: translateX(7px);\n    }\n\n    .bosveld-review-mini .bosveld-review-stars {\n      margin-bottom: 10px;\n      font-size: 1rem;\n    }\n\n    .bosveld-review-mini .bosveld-review-quote {\n      margin-bottom: 14px;\n      font-size: 0.86rem;\n      line-height: 1.62;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-feature-timeline {\n        padding-left: 20px;\n      }\n\n      .bosveld-feature-step {\n        grid-template-columns: 36px minmax(0, 1fr);\n      }\n\n      .bosveld-feature-step-number {\n        width: 36px;\n        height: 36px;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        padding: 15px 14px;\n      }\n    }\n\n    @media screen and (max-width: 500px) {\n      .bosveld-spec-table,\n      .bosveld-spec-table tbody,\n      .bosveld-spec-table tr,\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        display: block;\n        width: 100%;\n      }\n\n      .bosveld-spec-table tr {\n        padding: 14px 0;\n        border-bottom: 1px solid var(--border);\n      }\n\n      .bosveld-spec-table tr:last-child {\n        border-bottom: 0;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        border: 0;\n      }\n\n      .bosveld-spec-table th {\n        padding-bottom: 6px;\n      }\n\n      .bosveld-spec-table td {\n        padding-top: 0;\n      }\n\n      .bosveld-review-featured {\n        padding: 24px 20px;\n      }\n\n      .bosveld-review-featured .bosveld-review-quote {\n        max-width: 100%;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Website-first desktop layout *\/\n    html,\n    body {\n      width: 100%;\n      max-width: 100%;\n      margin: 0;\n      overflow-x: hidden;\n    }\n\n    .bosveld-rod-section {\n      width: 100%;\n      padding: 64px 28px 80px;\n    }\n\n    .bosveld-rod-container {\n      width: min(1180px, 100%);\n      max-width: 1180px;\n      margin: 0 auto;\n    }\n\n    .bosveld-title,\n    .bosveld-tagline,\n    .bosveld-intro {\n      text-align: left;\n    }\n\n    .bosveld-title {\n      max-width: 1000px;\n      font-size: clamp(3.8rem, 6vw, 6.8rem);\n    }\n\n    .bosveld-intro {\n      max-width: 900px;\n    }\n\n    .bosveld-product-visual {\n      width: 100%;\n      min-height: 600px;\n    }\n\n    .bosveld-rod-bag {\n      width: min(760px, 82%);\n      height: 330px;\n    }\n\n    .bosveld-section {\n      width: 100%;\n      padding: 38px;\n    }\n\n    .bosveld-benefit-grid {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n\n    .bosveld-feature-timeline {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      padding-left: 0;\n    }\n\n    .bosveld-feature-timeline::before {\n      display: none;\n    }\n\n    .bosveld-feature-step::before {\n      display: none;\n    }\n\n    .bosveld-feature-step {\n      min-height: 150px;\n    }\n\n    .bosveld-spec-table th {\n      width: 28%;\n    }\n\n    .bosveld-review-showcase {\n      grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);\n    }\n\n    .bosveld-cta {\n      grid-template-columns: minmax(0, 1fr) minmax(300px, 0.55fr);\n      align-items: center;\n    }\n\n    .bosveld-button-group {\n      grid-template-columns: 1fr;\n    }\n\n    @media screen and (max-width: 980px) {\n      .bosveld-rod-container {\n        width: min(860px, 100%);\n      }\n\n      .bosveld-title {\n        font-size: clamp(3.2rem, 8vw, 5.4rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 520px;\n      }\n\n      .bosveld-feature-timeline {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-cta {\n        grid-template-columns: 1fr;\n      }\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-rod-section {\n        padding: 42px 16px 56px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.65rem, 12vw, 4.2rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 400px;\n      }\n\n      .bosveld-benefit-grid,\n      .bosveld-feature-timeline,\n      .bosveld-review-showcase {\n        grid-template-columns: 1fr;\n      }\n\n      .bosveld-section {\n        padding: 26px 20px;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-rod-section {\n        padding-inline: 10px;\n      }\n\n      .bosveld-title {\n        font-size: clamp(2.25rem, 13vw, 3.35rem);\n      }\n\n      .bosveld-product-visual {\n        min-height: 330px;\n      }\n\n      .bosveld-section {\n        padding: 22px 16px;\n      }\n    }\n  \u003c\/style\u003e\n\n\n  \u003cstyle\u003e\n    \/* Final single-column fix for every section *\/\n    .bosveld-benefit-grid,\n    .bosveld-feature-timeline,\n    .bosveld-feature-grid,\n    .bosveld-spec-grid,\n    .bosveld-review-grid,\n    .bosveld-review-showcase,\n    .bosveld-review-mini-list,\n    .bosveld-cta {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      width: 100% !important;\n      gap: 16px !important;\n    }\n\n    .bosveld-benefit-card,\n    .bosveld-feature-step,\n    .bosveld-feature-card,\n    .bosveld-spec-card,\n    .bosveld-review-card,\n    .bosveld-review-featured,\n    .bosveld-review-mini {\n      width: 100% !important;\n      max-width: 100% !important;\n      min-width: 0 !important;\n    }\n\n    .bosveld-feature-timeline {\n      padding-left: 22px !important;\n    }\n\n    .bosveld-feature-timeline::before {\n      display: block !important;\n    }\n\n    .bosveld-feature-step::before {\n      display: block !important;\n    }\n\n    .bosveld-spec-table-wrap {\n      width: 100% !important;\n      overflow: hidden;\n    }\n\n    .bosveld-spec-table {\n      width: 100% !important;\n      table-layout: fixed;\n    }\n\n    .bosveld-spec-table th,\n    .bosveld-spec-table td {\n      width: auto !important;\n      overflow-wrap: anywhere;\n      word-break: normal;\n    }\n\n    .bosveld-review-showcase {\n      align-items: stretch;\n    }\n\n    .bosveld-review-featured,\n    .bosveld-review-mini {\n      display: block;\n    }\n\n    .bosveld-review-featured .bosveld-review-quote,\n    .bosveld-review-mini .bosveld-review-quote {\n      max-width: 100% !important;\n    }\n\n    .bosveld-section {\n      overflow: hidden;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-feature-timeline {\n        padding-left: 20px !important;\n      }\n    }\n\n    @media screen and (max-width: 500px) {\n      .bosveld-spec-table,\n      .bosveld-spec-table tbody,\n      .bosveld-spec-table tr,\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        display: block;\n        width: 100% !important;\n      }\n\n      .bosveld-spec-table tr {\n        padding: 14px 0;\n        border-bottom: 1px solid var(--border);\n      }\n\n      .bosveld-spec-table tr:last-child {\n        border-bottom: 0;\n      }\n\n      .bosveld-spec-table th,\n      .bosveld-spec-table td {\n        border: 0;\n      }\n\n      .bosveld-spec-table th {\n        padding-bottom: 6px;\n      }\n\n      .bosveld-spec-table td {\n        padding-top: 0;\n      }\n    }\n  \u003c\/style\u003e\n\n\n\n\n  \n  \u003cstyle\u003e\n    \/* Earmuff case illustration overrides *\/\n    .bosveld-earmuff-case {\n      width: min(650px, 86%);\n      height: 330px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-shell {\n      inset: 42px 54px 34px;\n      border-radius: 72px 66px 60px 72px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-handle {\n      top: 5px;\n      left: 50%;\n      width: 235px;\n      height: 78px;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earmuff-case .bosveld-case-zip {\n      top: 65px;\n      left: 80px;\n      right: 80px;\n      height: 4px;\n    }\n\n    .bosveld-headband {\n      position: absolute;\n      z-index: 3;\n      top: 74px;\n      left: 50%;\n      width: 330px;\n      height: 155px;\n      border: 18px solid #242a24;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earcup {\n      position: absolute;\n      z-index: 4;\n      top: 98px;\n      width: 96px;\n      height: 132px;\n      border: 10px solid #171b17;\n      border-radius: 46px;\n      background: linear-gradient(145deg, #454d44, #222722);\n      box-shadow: inset 0 0 0 6px rgba(255,255,255,.04);\n    }\n\n    .bosveld-earcup--left {\n      left: 126px;\n      transform: rotate(-7deg);\n    }\n\n    .bosveld-earcup--right {\n      right: 126px;\n      transform: rotate(7deg);\n    }\n\n    .bosveld-earmuff-case .bosveld-brand-mark {\n      top: 150px;\n      width: 190px;\n    }\n\n    .bosveld-earmuff-case .bosveld-case-pocket {\n      left: 50%;\n      bottom: 58px;\n      width: 280px;\n      height: 48px;\n      transform: translateX(-50%);\n    }\n\n    .bosveld-earmuff-case .bosveld-pocket--two,\n    .bosveld-earmuff-case .bosveld-bag-tip {\n      display: none;\n    }\n\n    @media screen and (max-width: 760px) {\n      .bosveld-earmuff-case {\n        width: min(500px, 92%);\n        height: 250px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-shell {\n        inset: 34px 34px 28px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-handle {\n        width: 175px;\n        height: 60px;\n        border-width: 14px;\n      }\n\n      .bosveld-headband {\n        top: 61px;\n        width: 245px;\n        height: 115px;\n        border-width: 14px;\n      }\n\n      .bosveld-earcup {\n        top: 77px;\n        width: 72px;\n        height: 100px;\n        border-width: 8px;\n      }\n\n      .bosveld-earcup--left { left: 78px; }\n      .bosveld-earcup--right { right: 78px; }\n\n      .bosveld-earmuff-case .bosveld-brand-mark {\n        top: 112px;\n        width: 145px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-pocket {\n        bottom: 42px;\n        width: 210px;\n        height: 36px;\n        display: block;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .bosveld-earmuff-case {\n        width: 96%;\n        height: 205px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-shell {\n        inset: 30px 18px 24px;\n        border-width: 6px;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-handle {\n        width: 138px;\n        height: 50px;\n        border-width: 11px;\n      }\n\n      .bosveld-headband {\n        top: 54px;\n        width: 188px;\n        height: 91px;\n        border-width: 11px;\n      }\n\n      .bosveld-earcup {\n        top: 65px;\n        width: 58px;\n        height: 80px;\n        border-width: 7px;\n      }\n\n      .bosveld-earcup--left { left: 47px; }\n      .bosveld-earcup--right { right: 47px; }\n\n      .bosveld-earmuff-case .bosveld-brand-mark {\n        top: 92px;\n        width: 118px;\n        font-size: .65rem;\n      }\n\n      .bosveld-earmuff-case .bosveld-case-pocket {\n        bottom: 35px;\n        width: 165px;\n        height: 28px;\n        display: block;\n      }\n    }\n  \u003c\/style\u003e\n\n\n\n  \u003cstyle\u003e\n    \/* Bosveld tactical soft gun case illustration *\/\n    .bosveld-tactical-case {\n      position: relative;\n      z-index: 3;\n      width: min(820px, 92%);\n      height: 350px;\n      transform-style: preserve-3d;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n    }\n\n    .tactical-case-body {\n      position: absolute;\n      inset: 58px 46px 42px 38px;\n      overflow: hidden;\n      border: 8px solid #3a2c1c;\n      border-radius: 26px 54px 54px 26px;\n      background:\n        repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 3px, rgba(0,0,0,.025) 3px 7px),\n        linear-gradient(145deg, #b38a56, #8a6238 72%);\n      box-shadow: inset 0 0 0 4px rgba(255,255,255,.05), 0 28px 38px rgba(62,44,25,.28);\n    }\n\n    .tactical-case-body::after {\n      position: absolute;\n      inset: 17px;\n      border: 2px dashed rgba(63,43,24,.42);\n      border-radius: 18px 42px 42px 18px;\n      content: \"\";\n    }\n\n    .tactical-case-zip {\n      position: absolute;\n      z-index: 4;\n      top: 79px;\n      left: 70px;\n      right: 82px;\n      height: 5px;\n      border-radius: 999px;\n      background: #4b3924;\n      box-shadow: 0 0 0 2px rgba(255,255,255,.1);\n      overflow: hidden;\n    }\n\n    .tactical-case-zip::after {\n      position: absolute;\n      top: 0;\n      left: -35%;\n      width: 34%;\n      height: 100%;\n      background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);\n      content: \"\";\n      animation: bosveld-zip-shine 3.8s ease-in-out infinite;\n    }\n\n    .tactical-handle {\n      position: absolute;\n      z-index: 2;\n      top: 19px;\n      left: 50%;\n      width: 250px;\n      height: 82px;\n      border: 20px solid #60462b;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      transform: translateX(-50%);\n      box-shadow: inset 0 0 0 4px rgba(255,255,255,.08);\n    }\n\n    .tactical-pocket {\n      position: absolute;\n      z-index: 5;\n      bottom: 67px;\n      height: 92px;\n      border: 6px solid #4a351f;\n      border-radius: 16px;\n      background: linear-gradient(145deg, #a47747, #75502d);\n      box-shadow: inset 0 0 0 3px rgba(255,255,255,.04), 0 10px 18px rgba(54,36,19,.18);\n    }\n\n    .tactical-pocket::before {\n      position: absolute;\n      top: 15px;\n      left: 15px;\n      right: 15px;\n      height: 4px;\n      border-radius: 999px;\n      background: #4b3621;\n      content: \"\";\n    }\n\n    .tactical-pocket--one { left: 86px; width: 210px; }\n    .tactical-pocket--two { left: 316px; width: 170px; }\n    .tactical-pocket--three { right: 92px; width: 155px; }\n\n    .tactical-webbing {\n      position: absolute;\n      z-index: 6;\n      left: 112px;\n      right: 115px;\n      bottom: 89px;\n      height: 18px;\n      border-top: 7px solid #49351f;\n      border-bottom: 7px solid #49351f;\n      opacity: .62;\n    }\n\n    .tactical-sling {\n      position: absolute;\n      z-index: 1;\n      top: 83px;\n      left: 160px;\n      width: 470px;\n      height: 210px;\n      border: 18px solid #52402b;\n      border-top: 0;\n      border-radius: 0 0 50% 50%;\n      transform: rotate(-4deg);\n      opacity: .92;\n    }\n\n    .tactical-brand {\n      position: absolute;\n      z-index: 7;\n      top: 132px;\n      left: 50%;\n      width: 170px;\n      padding: 12px 14px;\n      border: 2px solid rgba(255,244,221,.5);\n      color: #fff4dd;\n      font-size: .78rem;\n      font-weight: 900;\n      letter-spacing: .14em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #594326;\n      transform: translateX(-50%) rotate(-1deg);\n      animation: bosveld-brand-pulse 3.4s ease-in-out infinite;\n    }\n\n    .tactical-colour-row {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 12px;\n      margin-top: 18px;\n    }\n\n    .tactical-colour {\n      display: inline-flex;\n      align-items: center;\n      gap: 9px;\n      padding: 10px 14px;\n      border: 1px solid var(--border);\n      border-radius: 999px;\n      color: var(--olive-dark);\n      font-size: .86rem;\n      font-weight: 900;\n      background: #fff;\n    }\n\n    .tactical-swatch {\n      width: 18px;\n      height: 18px;\n      border: 2px solid rgba(38,53,31,.18);\n      border-radius: 50%;\n      background: #a87943;\n    }\n\n    @media screen and (max-width:760px) {\n      .bosveld-tactical-case { width:min(600px,96%); height:280px; }\n      .tactical-case-body { inset:48px 25px 32px 22px; border-width:7px; }\n      .tactical-handle { width:190px; height:65px; border-width:16px; }\n      .tactical-case-zip { top:65px; left:50px; right:55px; }\n      .tactical-pocket { bottom:49px; height:73px; }\n      .tactical-pocket--one { left:52px; width:155px; }\n      .tactical-pocket--two { left:220px; width:130px; }\n      .tactical-pocket--three { right:58px; width:115px; }\n      .tactical-sling { left:110px; width:350px; height:160px; border-width:14px; }\n      .tactical-brand { top:106px; width:140px; }\n      .tactical-webbing { left:75px; right:78px; bottom:66px; }\n    }\n\n    @media screen and (max-width:430px) {\n      .bosveld-tactical-case { height:220px; }\n      .tactical-case-body { inset:42px 10px 25px 10px; border-width:6px; }\n      .tactical-handle { top:17px; width:140px; height:52px; border-width:12px; }\n      .tactical-case-zip { top:57px; left:30px; right:34px; }\n      .tactical-pocket { bottom:38px; height:56px; border-width:4px; }\n      .tactical-pocket--one { left:28px; width:112px; }\n      .tactical-pocket--two { left:149px; width:90px; }\n      .tactical-pocket--three { right:29px; width:82px; }\n      .tactical-pocket::before { top:10px; left:10px; right:10px; }\n      .tactical-brand { top:88px; width:112px; padding:9px; font-size:.65rem; }\n      .tactical-sling { display:none; }\n      .tactical-webbing { left:45px; right:45px; bottom:51px; height:12px; border-width:5px; }\n    }\n  \u003c\/style\u003e\n\n\n\n\n\u003csection class=\"bosveld-rod-section\"\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--one\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"bosveld-decoration bosveld-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n  \u003cstyle\u003e\n    .veldlight-product {\n      position: relative;\n      z-index: 3;\n      width: min(720px, 92%);\n      height: 420px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .veldlight-glow {\n      position: absolute;\n      left: 50%;\n      bottom: 38px;\n      width: 460px;\n      height: 220px;\n      border-radius: 50%;\n      background: radial-gradient(circle, rgba(255,230,132,.48), rgba(255,214,92,.16) 48%, transparent 72%);\n      filter: blur(6px);\n      transform: translateX(-50%);\n      animation: veldlight-glow-pulse 3.2s ease-in-out infinite;\n    }\n\n    .veldlight-core {\n      position: absolute;\n      z-index: 6;\n      top: 108px;\n      left: 50%;\n      width: 160px;\n      height: 170px;\n      border: 9px solid #182018;\n      border-radius: 34px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.08), transparent 35%),\n        linear-gradient(145deg, #4f6246, #273322 72%);\n      box-shadow:\n        inset 0 0 0 4px rgba(255,255,255,.035),\n        0 24px 38px rgba(28,39,24,.26);\n      transform: translateX(-50%);\n    }\n\n    .veldlight-core::before {\n      position: absolute;\n      left: 50%;\n      top: 42px;\n      width: 76px;\n      height: 76px;\n      border: 7px solid #172017;\n      border-radius: 50%;\n      background:\n        radial-gradient(circle, #fff7ce 0 34%, #f3d56a 35% 62%, #4a5742 63% 100%);\n      box-shadow:\n        0 0 22px rgba(255,228,119,.48),\n        inset 0 0 0 4px rgba(255,255,255,.08);\n      content: \"\";\n      transform: translateX(-50%);\n      animation: veldlight-lamp-pulse 2.7s ease-in-out infinite;\n    }\n\n    .veldlight-solar {\n      position: absolute;\n      z-index: 7;\n      left: 50%;\n      top: 14px;\n      width: 110px;\n      height: 46px;\n      border: 6px solid #141a14;\n      border-radius: 12px;\n      background:\n        repeating-linear-gradient(90deg, #263b3e 0 16px, #14282b 16px 19px),\n        repeating-linear-gradient(0deg, transparent 0 12px, rgba(255,255,255,.08) 12px 14px);\n      transform: translateX(-50%);\n      box-shadow: 0 10px 18px rgba(18,26,17,.18);\n    }\n\n    .veldlight-hook {\n      position: absolute;\n      z-index: 8;\n      left: 50%;\n      top: -42px;\n      width: 94px;\n      height: 92px;\n      border: 14px solid #253025;\n      border-bottom: 0;\n      border-radius: 50% 50% 0 0;\n      transform: translateX(-50%);\n    }\n\n    .veldlight-panel {\n      position: absolute;\n      z-index: 5;\n      top: 122px;\n      width: 150px;\n      height: 168px;\n      border: 8px solid #172017;\n      border-radius: 26px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.18), transparent 30%),\n        radial-gradient(circle at center, #fff8d5 0 23%, #f0d66f 24% 62%, #536348 63% 100%);\n      box-shadow:\n        0 0 28px rgba(255,228,120,.26),\n        0 20px 34px rgba(34,45,30,.2);\n    }\n\n    .veldlight-panel::after {\n      position: absolute;\n      inset: 18px;\n      border: 3px solid rgba(24,32,23,.45);\n      border-radius: 18px;\n      content: \"\";\n    }\n\n    .veldlight-panel--left {\n      left: 8%;\n      transform: rotate(-18deg);\n      transform-origin: 100% 50%;\n    }\n\n    .veldlight-panel--right {\n      right: 8%;\n      transform: rotate(18deg);\n      transform-origin: 0 50%;\n    }\n\n    .veldlight-panel--top {\n      left: 50%;\n      top: 20px;\n      width: 138px;\n      height: 130px;\n      transform: translateX(-50%) rotate(0deg);\n    }\n\n    .veldlight-panel--bottom {\n      left: 50%;\n      top: 268px;\n      width: 138px;\n      height: 118px;\n      transform: translateX(-50%);\n    }\n\n    .veldlight-brand {\n      position: absolute;\n      z-index: 9;\n      left: 50%;\n      bottom: 16px;\n      width: 210px;\n      padding: 11px 15px;\n      border: 2px solid rgba(236,242,225,.52);\n      border-radius: 999px;\n      color: #eff4e8;\n      font-size: .7rem;\n      font-weight: 900;\n      letter-spacing: .11em;\n      text-align: center;\n      text-transform: uppercase;\n      background: #35402f;\n      transform: translateX(-50%);\n      box-shadow: 0 14px 26px rgba(22,27,21,.22);\n    }\n\n    .veldlight-sun {\n      position: absolute;\n      top: 62px;\n      left: 8%;\n      z-index: 7;\n      display: grid;\n      width: 52px;\n      height: 52px;\n      place-items: center;\n      border-radius: 50%;\n      color: var(--olive-dark);\n      font-size: 1.4rem;\n      background: rgba(255,255,255,.88);\n      box-shadow: 0 12px 28px rgba(38,53,31,.14);\n      animation: bosveld-lure-swing 4.6s ease-in-out infinite;\n    }\n\n    .veldlight-use-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .veldlight-use-item {\n      display: grid;\n      grid-template-columns: 52px minmax(0,1fr);\n      gap: 15px;\n      align-items: center;\n      padding: 18px;\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      background: #f8faf3;\n    }\n\n    .veldlight-use-icon {\n      display: grid;\n      width: 52px;\n      height: 52px;\n      place-items: center;\n      border-radius: 15px;\n      font-size: 1.35rem;\n      background: #dce7be;\n    }\n\n    .veldlight-mode-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .veldlight-mode {\n      display: grid;\n      grid-template-columns: 44px minmax(0,1fr);\n      gap: 14px;\n      align-items: center;\n      padding: 18px;\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      background: #f8faf3;\n    }\n\n    .veldlight-mode-number {\n      display: grid;\n      width: 44px;\n      height: 44px;\n      place-items: center;\n      border-radius: 13px;\n      color: var(--olive-dark);\n      font-size: .78rem;\n      font-weight: 900;\n      background: #dce7be;\n    }\n\n    @keyframes veldlight-glow-pulse {\n      0%,100% { opacity:.7; transform:translateX(-50%) scale(.94); }\n      50% { opacity:1; transform:translateX(-50%) scale(1.06); }\n    }\n\n    @keyframes veldlight-lamp-pulse {\n      0%,100% { box-shadow:0 0 22px rgba(255,228,119,.48),inset 0 0 0 4px rgba(255,255,255,.08); }\n      50% { box-shadow:0 0 38px rgba(255,228,119,.78),inset 0 0 0 4px rgba(255,255,255,.12); }\n    }\n\n    @media screen and (max-width:760px) {\n      .veldlight-product { height:330px; }\n      .veldlight-glow { width:350px;height:170px; }\n      .veldlight-core { top:92px;width:128px;height:142px;border-width:7px; }\n      .veldlight-core::before { top:36px;width:62px;height:62px;border-width:6px; }\n      .veldlight-solar { width:88px;height:38px; }\n      .veldlight-hook { width:76px;height:74px;border-width:12px; }\n      .veldlight-panel { top:104px;width:118px;height:138px;border-width:7px; }\n      .veldlight-panel--top { top:18px;width:108px;height:105px; }\n      .veldlight-panel--bottom { top:232px;width:108px;height:92px; }\n      .veldlight-brand { width:170px;font-size:.58rem;bottom:8px; }\n    }\n\n    @media screen and (max-width:430px) {\n      .veldlight-product { width:96%;height:260px; }\n      .veldlight-glow { width:260px;height:130px; }\n      .veldlight-core { top:74px;width:102px;height:116px;border-width:6px; }\n      .veldlight-core::before { top:30px;width:48px;height:48px;border-width:5px; }\n      .veldlight-solar { top:11px;width:70px;height:31px;border-width:5px; }\n      .veldlight-hook { top:-32px;width:60px;height:58px;border-width:10px; }\n      .veldlight-panel { top:86px;width:88px;height:108px;border-width:6px; }\n      .veldlight-panel--left { left:4%; }\n      .veldlight-panel--right { right:4%; }\n      .veldlight-panel--top { top:14px;width:82px;height:78px; }\n      .veldlight-panel--bottom { top:190px;width:82px;height:66px; }\n      .veldlight-brand { width:140px;padding:9px;font-size:.5rem;bottom:2px; }\n      .veldlight-sun { display:none; }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eSolar-powered light for off-grid living\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      VeldLight Pro\n      \u003cspan\u003eFoldable Solar Lantern\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eLight Up the Wild — Anywhere, Anytime.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      Whether you're deep in the bush, setting up camp after dark or caught in an\n      unexpected power outage, VeldLight Pro keeps reliable illumination close at\n      hand. Its rugged military-green quad-panel design delivers wide campsite\n      coverage while folding flat for travel and storage.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bosveld-product-visual\" data-parallax\u003e\n      \u003cdiv class=\"bosveld-water-ripple\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"veldlight-sun\" aria-hidden=\"true\"\u003e☀️\u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e6 Modes\u003c\/strong\u003e\n          \u003cspan\u003eAdjustable lighting\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"veldlight-product\" role=\"img\" aria-label=\"Military green VeldLight Pro foldable solar lantern with four illuminated panels\"\u003e\n        \u003cdiv class=\"veldlight-glow\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-panel veldlight-panel--left\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-panel veldlight-panel--right\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-panel veldlight-panel--top\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-panel veldlight-panel--bottom\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-core\"\u003e\n          \u003cdiv class=\"veldlight-solar\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"veldlight-hook\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"veldlight-brand\"\u003eVeldLight Pro\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"bosveld-section bosveld-section--dark bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eDependable light beyond the grid\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Built to keep campsites, tents and homes illuminated without relying on\n        disposable batteries or wall power.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e☀️\u003c\/div\u003e\n          \u003cstrong\u003eStay Powered Off-Grid\u003c\/strong\u003e\n          \u003cp\u003eSolar charging helps keep the lantern ready during multi-day trips, emergencies and load shedding.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🔆\u003c\/div\u003e\n          \u003cstrong\u003eWide 360° Coverage\u003c\/strong\u003e\n          \u003cp\u003eFour fold-out panels distribute light around tents, campsites, patios and work areas.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🎒\u003c\/div\u003e\n          \u003cstrong\u003ePacks Flat for Travel\u003c\/strong\u003e\n          \u003cp\u003eThe foldable construction saves space in backpacks, camping boxes and emergency kits.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\" id=\"features\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eKey features\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Flexible illumination designed for outdoor adventure and reliable backup use.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eSolar Charging\u003c\/strong\u003e\u003cp\u003eHarness sunlight to keep the lantern powered without disposable batteries.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eSix Lighting Modes\u003c\/strong\u003e\u003cp\u003eAdapt brightness and ambience for task lighting, general camp use or softer evening illumination.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eQuad-Panel Design\u003c\/strong\u003e\u003cp\u003eFour adjustable panels provide broad, multidirectional light distribution.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eFoldable Construction\u003c\/strong\u003e\u003cp\u003eCollapses into a compact shape for easier packing and storage.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e05\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eBuilt-In Hanging Hook\u003c\/strong\u003e\u003cp\u003eMount overhead in tents, gazebos, awnings or suitable branches.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e06\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eMilitary Green Finish\u003c\/strong\u003e\u003cp\u003eA rugged outdoor look that blends naturally into camping and overlanding gear.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eSix modes for every situation\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Select the output that suits your surroundings and available runtime needs.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"veldlight-mode-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e01\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eHigh Output\u003c\/strong\u003e\u003cp\u003eMaximum brightness for setup, cooking and task work.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e02\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMedium Output\u003c\/strong\u003e\u003cp\u003eBalanced illumination for general campsite use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e03\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLow Output\u003c\/strong\u003e\u003cp\u003eLower brightness for extended evening use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e04\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAmbient Glow\u003c\/strong\u003e\u003cp\u003eSofter light for relaxing around camp or indoors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e05\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFocused Panel Mode\u003c\/strong\u003e\u003cp\u003eUse selected panels for more directional lighting.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-mode\"\u003e\n\u003cdiv class=\"veldlight-mode-number\"\u003e06\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEmergency Signal Mode\u003c\/strong\u003e\u003cp\u003eA visible flashing mode for backup and attention-getting use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWhere to use it\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        One portable lantern for the bush, the campsite and the home.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"veldlight-use-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"veldlight-use-item\"\u003e\n\u003cdiv class=\"veldlight-use-icon\"\u003e🏕️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCamping \u0026amp; Overlanding\u003c\/strong\u003e\u003cp\u003eIlluminate tents, awnings, cooking areas and camp tables.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-use-item\"\u003e\n\u003cdiv class=\"veldlight-use-icon\"\u003e🥾\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eHiking \u0026amp; Trail Use\u003c\/strong\u003e\u003cp\u003eCarry compact backup lighting without disposable battery packs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-use-item\"\u003e\n\u003cdiv class=\"veldlight-use-icon\"\u003e⚡\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eLoad-Shedding Backup\u003c\/strong\u003e\u003cp\u003eKeep rooms, passages and work areas visible when the grid goes down.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"veldlight-use-item\"\u003e\n\u003cdiv class=\"veldlight-use-icon\"\u003e🔥\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBraais \u0026amp; Outdoor Events\u003c\/strong\u003e\u003cp\u003eCreate broad overhead or table-level lighting after sunset.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWhy solar?\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        In the field, disposable batteries eventually run out. Daylight offers a\n        renewable way to prepare for the night ahead.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eLower Running Costs\u003c\/strong\u003e\n          \u003cp\u003eReduce repeated spending on disposable batteries for routine lighting.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eUseful on Multi-Day Trips\u003c\/strong\u003e\n          \u003cp\u003eRecharge during daylight when plugs and shops are far away.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eEmergency Ready\u003c\/strong\u003e\n          \u003cp\u003eKeep renewable backup lighting available for outages and unexpected situations.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eProduct specifications\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003ePractical details at a glance.\u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-spec-table-wrap\"\u003e\n        \u003ctable class=\"bosveld-spec-table\"\u003e\n          \u003ctbody\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eProduct Name\u003c\/th\u003e\n\u003ctd\u003eVeldLight Pro Foldable Solar Lantern\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCharging\u003c\/th\u003e\n\u003ctd\u003eSolar charging\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLighting Modes\u003c\/th\u003e\n\u003ctd\u003e6 modes\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLight Distribution\u003c\/th\u003e\n\u003ctd\u003eQuad-panel, 360° coverage\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMounting\u003c\/th\u003e\n\u003ctd\u003eBuilt-in hanging hook\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eConstruction\u003c\/th\u003e\n\u003ctd\u003eFoldable and portable\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eColour\u003c\/th\u003e\n\u003ctd\u003eMilitary green\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBest For\u003c\/th\u003e\n\u003ctd\u003eCamping, hiking, outdoor events, emergencies and load shedding\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\" id=\"reviews\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eWhat South Africans are saying\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Reliable solar-powered light for home backup and outdoor use.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-review-showcase\"\u003e\n        \u003carticle class=\"bosveld-review-featured\"\u003e\n          \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cblockquote class=\"bosveld-review-quote\"\u003e\n            “We’ve already used it through several power cuts and it lights up our whole dining area. The solar charging is a massive bonus.”\n          \u003c\/blockquote\u003e\n          \u003cstrong class=\"bosveld-reviewer-name\"\u003eSipho M.\u003c\/strong\u003e\n          \u003cspan class=\"bosveld-reviewer-location\"\u003eJohannesburg, Gauteng\u003c\/span\u003e\n        \u003c\/article\u003e\n\n        \u003cdiv class=\"bosveld-review-mini-list\"\u003e\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003e\n              “Took two to Kruger and they were brilliant inside the tents. Bright enough for cooking and they pack away easily.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eChantel B.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003ePretoria, Gauteng\u003c\/span\u003e\n          \u003c\/article\u003e\n\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003e\n              “I bought one for overlanding and ended up getting another for the house. It feels solid and the different modes are genuinely useful.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003ePieter V.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eCape Town, Western Cape\u003c\/span\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"bosveld-section bosveld-reveal\" style=\"padding:22px 24px;border-left:6px solid var(--olive);background:#edf1e1;\"\u003e\n      \u003cstrong\u003eCharging note:\u003c\/strong\u003e Place the solar panel in direct sunlight for best\n      charging performance. Actual runtime and charging speed may vary with selected\n      lighting mode, weather conditions, panel angle and available sunlight.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady to light up your next adventure?\u003c\/h2\u003e\n        \u003cp\u003e\n          Keep portable, solar-powered illumination ready for the bush, the\n          campsite and the next unexpected outage.\n        \u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-button-group\"\u003e\n        \u003ca class=\"bosveld-button bosveld-button--primary\" href=\"#features\"\u003eView Product Features\u003c\/a\u003e\n        \u003cbutton type=\"button\" class=\"bosveld-button bosveld-button--secondary\" id=\"bosveld-add-to-cart\" data-bosveld-add-to-cart\u003e\n          🛒 Add to Cart\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bosveld-footer-tagline\"\u003eSolar. Foldable. Field Ready.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const revealItems = document.querySelectorAll(\".bosveld-reveal\");\n  if (\"IntersectionObserver\" in window) {\n    const observer = new IntersectionObserver(function(entries, revealObserver) {\n      entries.forEach(function(entry) {\n        if (!entry.isIntersecting) return;\n        entry.target.classList.add(\"is-visible\");\n        revealObserver.unobserve(entry.target);\n      });\n    }, { threshold: 0.14 });\n    revealItems.forEach(function(item) { observer.observe(item); });\n  } else {\n    revealItems.forEach(function(item) { item.classList.add(\"is-visible\"); });\n  }\n\n  document.querySelectorAll('.bosveld-rod-section a[href^=\"#\"]').forEach(function(link) {\n    link.addEventListener(\"click\", function(event) {\n      const target = document.querySelector(link.getAttribute(\"href\"));\n      if (!target) return;\n      event.preventDefault();\n      target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n    });\n  });\n\n  const canHover = window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n  if (canHover) {\n    const visual = document.querySelector(\"[data-parallax]\");\n    const product = document.querySelector(\".bosveld-tactical-case\");\n    if (visual \u0026\u0026 product) {\n      visual.addEventListener(\"mousemove\", function(event) {\n        const rect = visual.getBoundingClientRect();\n        const x = (event.clientX - rect.left) \/ rect.width - 0.5;\n        const y = (event.clientY - rect.top) \/ rect.height - 0.5;\n        product.style.animation = \"none\";\n        product.style.transform = \"rotateY(\" + x * 8 + \"deg) rotateX(\" + y * -6 + \"deg) translate3d(\" + x * 14 + \"px,\" + y * 10 + \"px,20px)\";\n      });\n      visual.addEventListener(\"mouseleave\", function() {\n        product.style.transform = \"\";\n        product.style.animation = \"bosveld-product-float 4s ease-in-out infinite\";\n      });\n    }\n  }\n\n  document.querySelectorAll(\".bosveld-section, .bosveld-cta\").forEach(function(section, index) {\n    section.style.transitionDelay = index * 0.04 + \"s\";\n  });\n});\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const buttons = document.querySelectorAll(\n    \"#bosveld-add-to-cart, [data-bosveld-add-to-cart]\"\n  );\n\n  if (!buttons.length) return;\n\n  function getSelectedVariantId() {\n    const productForms = document.querySelectorAll(\n      'form[action*=\"\/cart\/add\"], product-form form'\n    );\n\n    for (const form of productForms) {\n      const selectedVariant = form.querySelector(\n        'input[name=\"id\"]:checked, select[name=\"id\"], input[name=\"id\"]'\n      );\n\n      if (selectedVariant \u0026\u0026 selectedVariant.value) {\n        const variantId = Number(selectedVariant.value);\n        if (Number.isInteger(variantId) \u0026\u0026 variantId \u003e 0) return variantId;\n      }\n    }\n\n    const variantField = document.querySelector(\n      '[name=\"id\"][value], [data-variant-id]'\n    );\n\n    if (variantField) {\n      const rawValue =\n        variantField.value ||\n        variantField.getAttribute(\"data-variant-id\");\n\n      const variantId = Number(rawValue);\n      if (Number.isInteger(variantId) \u0026\u0026 variantId \u003e 0) return variantId;\n    }\n\n    for (const button of buttons) {\n      const manualId = Number(button.dataset.variantId);\n      if (Number.isInteger(manualId) \u0026\u0026 manualId \u003e 0) return manualId;\n    }\n\n    return null;\n  }\n\n  async function addToCart(button) {\n    const variantId = getSelectedVariantId();\n\n    if (!variantId) {\n      alert(\n        \"No Shopify variant could be detected. Place this section on the Shopify product page or add data-variant-id to the Add to Cart button.\"\n      );\n      return;\n    }\n\n    const originalText = button.innerHTML;\n\n    buttons.forEach(function (item) {\n      item.disabled = true;\n      item.setAttribute(\"aria-busy\", \"true\");\n      item.innerHTML = \"Adding…\";\n    });\n\n    try {\n      const root =\n        window.Shopify \u0026\u0026 window.Shopify.routes\n          ? window.Shopify.routes.root\n          : \"\/\";\n\n      const response = await fetch(root + \"cart\/add.js\", {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application\/json\",\n          \"Accept\": \"application\/json\"\n        },\n        body: JSON.stringify({\n          items: [{ id: variantId, quantity: 1 }]\n        })\n      });\n\n      const result = await response.json();\n\n      if (!response.ok) {\n        throw new Error(\n          result.description ||\n          result.message ||\n          \"The product could not be added.\"\n        );\n      }\n\n      buttons.forEach(function (item) {\n        item.innerHTML = \"Added ✓\";\n        item.removeAttribute(\"aria-busy\");\n      });\n\n      document.documentElement.dispatchEvent(\n        new CustomEvent(\"cart:refresh\", { bubbles: true })\n      );\n\n      document.dispatchEvent(\n        new CustomEvent(\"cart:updated\", {\n          bubbles: true,\n          detail: result\n        })\n      );\n\n      setTimeout(function () {\n        window.location.href = root + \"cart\";\n      }, 450);\n    } catch (error) {\n      console.error(\"Bosveld Add to Cart:\", error);\n\n      buttons.forEach(function (item) {\n        item.disabled = false;\n        item.removeAttribute(\"aria-busy\");\n        item.innerHTML = originalText;\n      });\n\n      alert(error.message || \"Unable to add this product to the cart.\");\n    }\n  }\n\n  buttons.forEach(function (button) {\n    button.addEventListener(\"click\", function () {\n      addToCart(button);\n    });\n  });\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical ","offers":[{"title":"Default Title","offer_id":48353542799513,"sku":null,"price":449.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPT_Image_Jul_23_2026_01_11_11_PM.png?v=1784805096","url":"https:\/\/bosveldtactical.co.za\/products\/veldlight-pro-solar-lantern","provider":"Bosveld Tactical ","version":"1.0","type":"link"}