{"title":"Camping \u0026 Hiking","description":"\u003cp\u003eEverything you need for your next camping or hiking adventure — tents, sleeping bags, backpacks, and more.\u003c\/p\u003e","products":[{"product_id":"bush-hauler-pro","title":"Bush Hauler Pro","description":"\u003cstyle\u003e\n  .bushhauler-section {\n    --olive-dark: #22331f;\n    --olive: #4f672f;\n    --olive-medium: #718447;\n    --olive-light: #aebc8d;\n    --cream: #f5f2e7;\n    --white: #ffffff;\n    --gold: #d4af37;\n    --text: #252a22;\n    --muted: #626b5d;\n\n    position: relative;\n    overflow: hidden;\n    padding: 80px 20px;\n    background:\n      radial-gradient(\n        circle at 10% 10%,\n        rgba(113, 132, 71, 0.2),\n        transparent 32%\n      ),\n      radial-gradient(\n        circle at 90% 85%,\n        rgba(79, 103, 47, 0.16),\n        transparent 30%\n      ),\n      var(--cream);\n    color: var(--text);\n  }\n\n  .bushhauler-section,\n  .bushhauler-section * {\n    box-sizing: border-box;\n  }\n\n  .bushhauler-container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 850px;\n    margin: 0 auto;\n  }\n\n  .bushhauler-decoration {\n    position: absolute;\n    border-radius: 50%;\n    pointer-events: none;\n    animation: bushhauler-float 7s ease-in-out infinite;\n  }\n\n  .bushhauler-decoration--one {\n    top: 35px;\n    right: 4%;\n    width: 140px;\n    height: 140px;\n    border: 2px solid rgba(79, 103, 47, 0.18);\n  }\n\n  .bushhauler-decoration--two {\n    bottom: 90px;\n    left: 3%;\n    width: 90px;\n    height: 90px;\n    background: rgba(113, 132, 71, 0.11);\n    animation-delay: -3s;\n  }\n\n  .bushhauler-eyebrow {\n    margin: 0 0 14px;\n    color: var(--olive);\n    font-size: 0.82rem;\n    font-weight: 900;\n    letter-spacing: 2.4px;\n    text-transform: uppercase;\n    animation: bushhauler-fade-up 0.7s ease both;\n  }\n\n  .bushhauler-title {\n    max-width: 100%;\n    margin: 0 0 18px;\n    color: var(--olive-dark);\n    font-size: clamp(2.4rem, 7vw, 5rem);\n    line-height: 1.03;\n    letter-spacing: -0.045em;\n    overflow-wrap: anywhere;\n    animation: bushhauler-fade-up 0.8s 0.1s ease both;\n  }\n\n  .bushhauler-tagline {\n    margin: 0 0 24px;\n    color: var(--olive);\n    font-size: clamp(1.2rem, 3vw, 1.65rem);\n    font-weight: 900;\n    line-height: 1.35;\n    animation: bushhauler-fade-up 0.8s 0.15s ease both;\n  }\n\n  .bushhauler-intro {\n    max-width: 780px;\n    margin: 0 0 30px;\n    color: #434c3e;\n    font-size: 1.08rem;\n    line-height: 1.75;\n    animation: bushhauler-fade-up 0.8s 0.2s ease both;\n  }\n\n  .bushhauler-purchase-bar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 20px;\n    width: 100%;\n    margin-bottom: 42px;\n    padding: 24px;\n    border: 1px solid rgba(79, 103, 47, 0.18);\n    border-radius: 20px;\n    background: rgba(255, 255, 255, 0.95);\n    box-shadow: 0 16px 38px rgba(34, 51, 31, 0.1);\n    animation: bushhauler-fade-up 0.8s 0.3s ease both;\n    transition:\n      transform 0.35s ease,\n      box-shadow 0.35s ease;\n  }\n\n  .bushhauler-purchase-bar:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 24px 50px rgba(34, 51, 31, 0.16);\n  }\n\n  .bushhauler-price {\n    display: block;\n    margin-bottom: 4px;\n    color: var(--olive-dark);\n    font-size: clamp(1.8rem, 5vw, 2.6rem);\n    font-weight: 950;\n  }\n\n  .bushhauler-stock {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    color: var(--olive);\n    font-size: 0.9rem;\n    font-weight: 800;\n  }\n\n  .bushhauler-stock::before {\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    background: #4e8b3a;\n    box-shadow: 0 0 0 5px rgba(78, 139, 58, 0.12);\n    content: \"\";\n    animation: bushhauler-pulse 1.8s ease-in-out infinite;\n  }\n\n  .bushhauler-main-button,\n  .bushhauler-cta-button {\n    position: relative;\n    display: inline-block;\n    overflow: hidden;\n    padding: 15px 24px;\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      box-shadow 0.3s ease;\n  }\n\n  .bushhauler-main-button {\n    min-width: 190px;\n    border: 2px solid var(--olive-medium);\n    background: #dfe7cc;\n    color: var(--olive-dark);\n  }\n\n  .bushhauler-main-button::after,\n  .bushhauler-cta-button::after {\n    position: absolute;\n    top: 0;\n    left: -120%;\n    width: 60%;\n    height: 100%;\n    background: linear-gradient(\n      120deg,\n      transparent,\n      rgba(255, 255, 255, 0.7),\n      transparent\n    );\n    content: \"\";\n    transition: left 0.7s ease;\n  }\n\n  .bushhauler-main-button:hover {\n    transform: translateY(-4px);\n    background: #cdd9b2;\n    border-color: var(--olive);\n    box-shadow: 0 14px 28px rgba(34, 51, 31, 0.16);\n  }\n\n  .bushhauler-main-button:hover::after,\n  .bushhauler-cta-button:hover::after {\n    left: 150%;\n  }\n\n  .bushhauler-heading {\n    max-width: 100%;\n    margin: 0 0 20px;\n    color: var(--olive-dark);\n    font-size: clamp(1.6rem, 4vw, 2.2rem);\n    line-height: 1.2;\n    overflow-wrap: anywhere;\n  }\n\n  .bushhauler-feature-grid,\n  .bushhauler-benefit-grid,\n  .bushhauler-review-grid {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 18px;\n    width: 100%;\n  }\n\n  .bushhauler-feature-grid {\n    margin-bottom: 42px;\n  }\n\n  .bushhauler-feature {\n    position: relative;\n    display: grid;\n    grid-template-columns: 64px minmax(0, 1fr);\n    gap: 18px;\n    width: 100%;\n    min-width: 0;\n    overflow: hidden;\n    padding: 24px;\n    border: 1px solid rgba(79, 103, 47, 0.17);\n    border-radius: 18px;\n    background: rgba(255, 255, 255, 0.95);\n    box-shadow: 0 12px 30px rgba(34, 51, 31, 0.08);\n    transition:\n      transform 0.35s ease,\n      border-color 0.35s ease,\n      box-shadow 0.35s ease;\n  }\n\n  .bushhauler-feature::after {\n    position: absolute;\n    top: 0;\n    left: -120%;\n    width: 65%;\n    height: 100%;\n    background: linear-gradient(\n      120deg,\n      transparent,\n      rgba(255, 255, 255, 0.7),\n      transparent\n    );\n    content: \"\";\n    transition: left 0.7s ease;\n  }\n\n  .bushhauler-feature:hover {\n    transform: translateY(-7px);\n    border-color: var(--olive-medium);\n    box-shadow: 0 22px 45px rgba(34, 51, 31, 0.15);\n  }\n\n  .bushhauler-feature:hover::after {\n    left: 150%;\n  }\n\n  .bushhauler-feature-icon {\n    position: relative;\n    z-index: 2;\n    display: grid;\n    width: 60px;\n    height: 60px;\n    place-items: center;\n    border-radius: 17px;\n    background: var(--olive);\n    box-shadow: 0 9px 20px rgba(79, 103, 47, 0.24);\n    font-size: 1.65rem;\n    transition:\n      transform 0.35s ease,\n      background 0.35s ease;\n  }\n\n  .bushhauler-feature:hover .bushhauler-feature-icon {\n    transform: rotate(-8deg) scale(1.1);\n    background: var(--olive-medium);\n  }\n\n  .bushhauler-feature-content {\n    position: relative;\n    z-index: 2;\n    min-width: 0;\n  }\n\n  .bushhauler-feature-title {\n    display: block;\n    margin-bottom: 7px;\n    color: var(--olive-dark);\n    font-size: 1.08rem;\n    line-height: 1.35;\n    overflow-wrap: anywhere;\n  }\n\n  .bushhauler-feature-text {\n    width: 100%;\n    margin: 0;\n    color: var(--muted);\n    line-height: 1.65;\n    overflow-wrap: anywhere;\n  }\n\n  .bushhauler-adventure-panel {\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    margin-bottom: 42px;\n    padding: clamp(26px, 6vw, 44px);\n    border-radius: 24px;\n    background: var(--olive-dark);\n    box-shadow: 0 22px 50px rgba(34, 51, 31, 0.2);\n    color: var(--white);\n  }\n\n  .bushhauler-adventure-panel::before {\n    position: absolute;\n    top: -70px;\n    right: -70px;\n    width: 190px;\n    height: 190px;\n    border: 30px solid rgba(255, 255, 255, 0.04);\n    border-radius: 50%;\n    content: \"\";\n  }\n\n  .bushhauler-adventure-panel .bushhauler-heading {\n    position: relative;\n    color: var(--white);\n  }\n\n  .bushhauler-adventure-text {\n    position: relative;\n    max-width: 700px;\n    margin: 0 0 24px;\n    color: rgba(255, 255, 255, 0.78);\n    line-height: 1.7;\n  }\n\n  .bushhauler-benefit {\n    position: relative;\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    width: 100%;\n    padding: 17px;\n    border: 1px solid rgba(255, 255, 255, 0.13);\n    border-radius: 14px;\n    background: rgba(255, 255, 255, 0.07);\n    transition:\n      transform 0.3s ease,\n      background 0.3s ease;\n  }\n\n  .bushhauler-benefit:hover {\n    transform: translateX(7px);\n    background: rgba(255, 255, 255, 0.13);\n  }\n\n  .bushhauler-benefit-check {\n    display: grid;\n    width: 34px;\n    height: 34px;\n    flex-shrink: 0;\n    place-items: center;\n    border-radius: 50%;\n    background: var(--gold);\n    color: var(--olive-dark);\n    font-size: 0.9rem;\n    font-weight: 950;\n    box-shadow: 0 7px 16px rgba(212, 175, 55, 0.24);\n  }\n\n  .bushhauler-benefit-text {\n    color: var(--white);\n    font-weight: 750;\n    line-height: 1.45;\n  }\n\n  .bushhauler-spec-panel {\n    width: 100%;\n    margin-bottom: 42px;\n    padding: clamp(24px, 5vw, 38px);\n    border: 1px solid rgba(79, 103, 47, 0.18);\n    border-radius: 22px;\n    background: rgba(255, 255, 255, 0.92);\n    box-shadow: 0 16px 38px rgba(34, 51, 31, 0.09);\n  }\n\n  .bushhauler-spec-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    width: 100%;\n  }\n\n  .bushhauler-spec-row {\n    display: grid;\n    grid-template-columns: minmax(140px, 0.8fr) minmax(0, 1.2fr);\n    gap: 20px;\n    padding: 17px 0;\n    border-bottom: 1px solid rgba(79, 103, 47, 0.13);\n  }\n\n  .bushhauler-spec-row:last-child {\n    border-bottom: 0;\n  }\n\n  .bushhauler-spec-label {\n    color: var(--olive-dark);\n    font-weight: 900;\n  }\n\n  .bushhauler-spec-value {\n    color: var(--muted);\n    overflow-wrap: anywhere;\n  }\n\n  .bushhauler-use-section {\n    width: 100%;\n    margin-bottom: 42px;\n  }\n\n  .bushhauler-use-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n  }\n\n  .bushhauler-use-card {\n    display: flex;\n    align-items: center;\n    gap: 13px;\n    padding: 18px;\n    border: 1px solid rgba(79, 103, 47, 0.16);\n    border-radius: 16px;\n    background: var(--white);\n    color: var(--olive-dark);\n    font-weight: 850;\n    box-shadow: 0 9px 24px rgba(34, 51, 31, 0.07);\n    transition:\n      transform 0.3s ease,\n      box-shadow 0.3s ease;\n  }\n\n  .bushhauler-use-card:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 16px 32px rgba(34, 51, 31, 0.13);\n  }\n\n  .bushhauler-use-icon {\n    font-size: 1.45rem;\n  }\n\n  .bushhauler-review-section {\n    width: 100%;\n    margin: 0 0 42px;\n  }\n\n  .bushhauler-review-intro {\n    max-width: 680px;\n    margin: -8px 0 24px;\n    color: var(--muted);\n    line-height: 1.65;\n  }\n\n  .bushhauler-review-card {\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    padding: 28px;\n    border: 1px solid rgba(79, 103, 47, 0.17);\n    border-radius: 20px;\n    background: var(--white);\n    box-shadow: 0 12px 30px rgba(34, 51, 31, 0.08);\n    transition:\n      transform 0.4s ease,\n      border-color 0.4s ease,\n      box-shadow 0.4s ease;\n  }\n\n  .bushhauler-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.75),\n      transparent\n    );\n    content: \"\";\n    transition: left 0.7s ease;\n  }\n\n  .bushhauler-review-card:hover {\n    transform: translateY(-9px);\n    border-color: var(--olive-medium);\n    box-shadow: 0 24px 52px rgba(34, 51, 31, 0.17);\n  }\n\n  .bushhauler-review-card:hover::before {\n    left: 150%;\n  }\n\n  .bushhauler-review-stars {\n    position: relative;\n    z-index: 2;\n    display: inline-block;\n    margin-bottom: 16px;\n    color: var(--gold);\n    font-size: 1.35rem;\n    letter-spacing: 4px;\n    text-shadow:\n      0 0 7px rgba(212, 175, 55, 0.5),\n      0 0 16px rgba(212, 175, 55, 0.25);\n    animation: bushhauler-star-glow 2.2s ease-in-out infinite;\n  }\n\n  .bushhauler-review-card:nth-child(2) .bushhauler-review-stars {\n    animation-delay: 0.35s;\n  }\n\n  .bushhauler-review-card:nth-child(3) .bushhauler-review-stars {\n    animation-delay: 0.7s;\n  }\n\n  .bushhauler-review-quote {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    margin: 0 0 22px;\n    padding: 0;\n    border: 0;\n    color: #3f473a;\n    font-size: 0.98rem;\n    font-style: italic;\n    line-height: 1.75;\n    overflow-wrap: anywhere;\n  }\n\n  .bushhauler-reviewer {\n    position: relative;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    gap: 13px;\n    width: 100%;\n  }\n\n  .bushhauler-review-avatar {\n    display: grid;\n    width: 56px;\n    height: 56px;\n    flex-shrink: 0;\n    place-items: center;\n    border: 2px solid rgba(79, 103, 47, 0.12);\n    border-radius: 50%;\n    background: #eef0e7;\n    font-size: 1.85rem;\n    transition:\n      transform 0.35s ease,\n      background 0.35s ease;\n  }\n\n  .bushhauler-review-card:hover .bushhauler-review-avatar {\n    transform: rotate(-9deg) scale(1.12);\n    background: #dfe7cc;\n  }\n\n  .bushhauler-review-name {\n    display: block;\n    color: var(--olive-dark);\n    font-size: 0.96rem;\n    font-weight: 900;\n  }\n\n  .bushhauler-review-location {\n    display: block;\n    margin-top: 3px;\n    color: #70786a;\n    font-size: 0.82rem;\n  }\n\n  .bushhauler-cta {\n    position: relative;\n    overflow: hidden;\n    width: 100%;\n    padding: clamp(28px, 6vw, 45px);\n    border-radius: 24px;\n    background: linear-gradient(135deg, var(--olive), var(--olive-dark));\n    box-shadow: 0 22px 50px rgba(34, 51, 31, 0.22);\n    color: var(--white);\n    text-align: center;\n  }\n\n  .bushhauler-cta::before {\n    position: absolute;\n    top: -90px;\n    left: -50px;\n    width: 200px;\n    height: 200px;\n    border: 35px solid rgba(255, 255, 255, 0.04);\n    border-radius: 50%;\n    content: \"\";\n  }\n\n  .bushhauler-cta-title {\n    position: relative;\n    margin: 0 0 10px;\n    color: var(--white);\n    font-size: clamp(1.8rem, 5vw, 2.7rem);\n    line-height: 1.15;\n  }\n\n  .bushhauler-cta-text {\n    position: relative;\n    max-width: 620px;\n    margin: 0 auto 23px;\n    color: rgba(255, 255, 255, 0.78);\n    line-height: 1.65;\n  }\n\n  .bushhauler-cta-button {\n    min-width: 220px;\n    border: 2px solid var(--white);\n    background: var(--white);\n    color: var(--olive-dark);\n  }\n\n  .bushhauler-cta-button:hover {\n    transform: translateY(-4px) scale(1.02);\n    background: #e8eddc;\n    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.2);\n  }\n\n  .bushhauler-final-tagline {\n    margin: 34px 0 0;\n    color: var(--olive-dark);\n    font-size: 0.9rem;\n    font-weight: 950;\n    letter-spacing: 2.3px;\n    text-align: center;\n    text-transform: uppercase;\n  }\n\n  @keyframes bushhauler-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 bushhauler-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 bushhauler-pulse {\n    0%,\n    100% {\n      transform: scale(1);\n      opacity: 1;\n    }\n\n    50% {\n      transform: scale(1.25);\n      opacity: 0.7;\n    }\n  }\n\n  @keyframes bushhauler-star-glow {\n    0%,\n    100% {\n      transform: scale(1);\n      text-shadow:\n        0 0 7px rgba(212, 175, 55, 0.5),\n        0 0 16px rgba(212, 175, 55, 0.25);\n    }\n\n    50% {\n      transform: scale(1.06);\n      text-shadow:\n        0 0 11px rgba(212, 175, 55, 0.9),\n        0 0 25px rgba(212, 175, 55, 0.55);\n    }\n  }\n\n  @media screen and (max-width: 749px) {\n    .bushhauler-section {\n      padding: 55px 16px;\n    }\n\n    .bushhauler-purchase-bar {\n      align-items: stretch;\n      flex-direction: column;\n    }\n\n    .bushhauler-main-button,\n    .bushhauler-cta-button {\n      width: 100%;\n    }\n\n    .bushhauler-feature {\n      grid-template-columns: 1fr;\n    }\n\n    .bushhauler-spec-row {\n      grid-template-columns: 1fr;\n      gap: 6px;\n    }\n\n    .bushhauler-use-grid {\n      grid-template-columns: 1fr;\n    }\n\n    .bushhauler-review-card {\n      padding: 22px;\n    }\n\n    .bushhauler-review-stars {\n      font-size: 1.18rem;\n      letter-spacing: 3px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .bushhauler-section *,\n    .bushhauler-section *::before,\n    .bushhauler-section *::after {\n      animation-duration: 0.01ms !important;\n      animation-iteration-count: 1 !important;\n      transition-duration: 0.01ms !important;\n    }\n  }\n\u003c\/style\u003e\n\n\u003csection class=\"bushhauler-section\"\u003e\n  \u003cspan class=\"bushhauler-decoration bushhauler-decoration--one\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n  \u003cspan class=\"bushhauler-decoration bushhauler-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n  \u003cdiv class=\"bushhauler-container\"\u003e\n    \u003cp class=\"bushhauler-eyebrow\"\u003e\n      Heavy-duty all-terrain trolley\n    \u003c\/p\u003e\n\n    \u003ch1 class=\"bushhauler-title\"\u003e\n      BushHauler Pro\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bushhauler-tagline\"\u003e\n      Haul more. Go further. Leave nothing behind.\n    \u003c\/p\u003e\n\n    \u003cp class=\"bushhauler-intro\"\u003e\n      The BushHauler Pro is a heavy-duty folding all-terrain trolley built for\n      the outdoors. Whether you are loading up for a camping trip, hauling gear\n      across a beach, setting up at a market or moving equipment on the farm,\n      the BushHauler Pro handles demanding loads with ease.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bushhauler-purchase-bar\"\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"bushhauler-price\"\u003eR999\u003c\/span\u003e\n\n        \u003cspan class=\"bushhauler-stock\"\u003e\n          In stock and ready to ship\n        \u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003ca class=\"bushhauler-main-button\" href=\"#MainContent\"\u003e\n        Shop BushHauler Pro\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003ch2 class=\"bushhauler-heading\"\u003e\n      Key features\n    \u003c\/h2\u003e\n\n    \u003cdiv class=\"bushhauler-feature-grid\"\u003e\n      \u003carticle class=\"bushhauler-feature\"\u003e\n        \u003cdiv class=\"bushhauler-feature-icon\" aria-hidden=\"true\"\u003e\n          🦾\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-feature-content\"\u003e\n          \u003cstrong class=\"bushhauler-feature-title\"\u003e\n            Heavy-Duty Carbon Steel Frame\n          \u003c\/strong\u003e\n\n          \u003cp class=\"bushhauler-feature-text\"\u003e\n            Built to carry serious loads without bending or buckling under\n            pressure, making it suitable for demanding outdoor and working\n            environments.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"bushhauler-feature\"\u003e\n        \u003cdiv class=\"bushhauler-feature-icon\" aria-hidden=\"true\"\u003e\n          🌧️\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-feature-content\"\u003e\n          \u003cstrong class=\"bushhauler-feature-title\"\u003e\n            Waterproof Oxford Fabric\n          \u003c\/strong\u003e\n\n          \u003cp class=\"bushhauler-feature-text\"\u003e\n            Durable waterproof fabric helps protect your equipment from rain,\n            mud, moisture and morning dew.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"bushhauler-feature\"\u003e\n        \u003cdiv class=\"bushhauler-feature-icon\" aria-hidden=\"true\"\u003e\n          🛞\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-feature-content\"\u003e\n          \u003cstrong class=\"bushhauler-feature-title\"\u003e\n            All-Terrain Wheels\n          \u003c\/strong\u003e\n\n          \u003cp class=\"bushhauler-feature-text\"\u003e\n            Designed to roll smoothly over grass, gravel, sand and uneven\n            ground, helping you move equipment where standard trolleys struggle.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"bushhauler-feature\"\u003e\n        \u003cdiv class=\"bushhauler-feature-icon\" aria-hidden=\"true\"\u003e\n          📦\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-feature-content\"\u003e\n          \u003cstrong class=\"bushhauler-feature-title\"\u003e\n            Foldable Compact Design\n          \u003c\/strong\u003e\n\n          \u003cp class=\"bushhauler-feature-text\"\u003e\n            Collapses flat in seconds for convenient storage in your vehicle\n            boot, caravan, garage or storage room.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n\n      \u003carticle class=\"bushhauler-feature\"\u003e\n        \u003cdiv class=\"bushhauler-feature-icon\" aria-hidden=\"true\"\u003e\n          🏕️\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-feature-content\"\u003e\n          \u003cstrong class=\"bushhauler-feature-title\"\u003e\n            Versatile Outdoor Use\n          \u003c\/strong\u003e\n\n          \u003cp class=\"bushhauler-feature-text\"\u003e\n            Ideal for camping, hiking, beach days, markets, tailgating,\n            gardening and general farm use.\n          \u003c\/p\u003e\n        \u003c\/div\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n\n    \u003csection class=\"bushhauler-adventure-panel\"\u003e\n      \u003ch2 class=\"bushhauler-heading\"\u003e\n        Built to carry more\n      \u003c\/h2\u003e\n\n      \u003cp class=\"bushhauler-adventure-text\"\u003e\n        Move heavy, awkward or bulky equipment with less effort while keeping\n        everything together in one practical cargo trolley.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bushhauler-benefit-grid\"\u003e\n        \u003cdiv class=\"bushhauler-benefit\"\u003e\n          \u003cspan class=\"bushhauler-benefit-check\"\u003e✓\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-benefit-text\"\u003e\n            Strong carbon steel construction\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-benefit\"\u003e\n          \u003cspan class=\"bushhauler-benefit-check\"\u003e✓\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-benefit-text\"\u003e\n            Waterproof cargo compartment\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-benefit\"\u003e\n          \u003cspan class=\"bushhauler-benefit-check\"\u003e✓\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-benefit-text\"\u003e\n            Smooth movement across difficult terrain\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-benefit\"\u003e\n          \u003cspan class=\"bushhauler-benefit-check\"\u003e✓\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-benefit-text\"\u003e\n            Fast folding for simple transport and storage\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-benefit\"\u003e\n          \u003cspan class=\"bushhauler-benefit-check\"\u003e✓\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-benefit-text\"\u003e\n            Suitable for work, travel and outdoor adventures\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bushhauler-spec-panel\"\u003e\n      \u003ch2 class=\"bushhauler-heading\"\u003e\n        Specifications\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"bushhauler-spec-list\"\u003e\n        \u003cdiv class=\"bushhauler-spec-row\"\u003e\n          \u003cspan class=\"bushhauler-spec-label\"\u003eFrame\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-spec-value\"\u003e\n            Heavy-duty carbon steel\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-spec-row\"\u003e\n          \u003cspan class=\"bushhauler-spec-label\"\u003eFabric\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-spec-value\"\u003e\n            Waterproof Oxford fabric\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-spec-row\"\u003e\n          \u003cspan class=\"bushhauler-spec-label\"\u003eWheels\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-spec-value\"\u003e\n            All-terrain wheels\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-spec-row\"\u003e\n          \u003cspan class=\"bushhauler-spec-label\"\u003eDesign\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-spec-value\"\u003e\n            Foldable and collapsible\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-spec-row\"\u003e\n          \u003cspan class=\"bushhauler-spec-label\"\u003eProduct type\u003c\/span\u003e\n\n          \u003cspan class=\"bushhauler-spec-value\"\u003e\n            Folding trolley and cargo cart\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bushhauler-use-section\"\u003e\n      \u003ch2 class=\"bushhauler-heading\"\u003e\n        Ready for every adventure\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"bushhauler-use-grid\"\u003e\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🏕️\u003c\/span\u003e\n          Camping trips\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🏖️\u003c\/span\u003e\n          Beach days\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🛍️\u003c\/span\u003e\n          Markets and events\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🌾\u003c\/span\u003e\n          Farm and garden use\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🥾\u003c\/span\u003e\n          Hiking equipment\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bushhauler-use-card\"\u003e\n          \u003cspan class=\"bushhauler-use-icon\" aria-hidden=\"true\"\u003e🚐\u003c\/span\u003e\n          Caravan and travel\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bushhauler-review-section\"\u003e\n      \u003ch2 class=\"bushhauler-heading\"\u003e\n        South African customer feedback\n      \u003c\/h2\u003e\n\n      \u003cp class=\"bushhauler-review-intro\"\u003e\n        Trusted by campers, outdoor enthusiasts, market traders and farmers\n        across South Africa.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bushhauler-review-grid\"\u003e\n        \u003c!-- Replace sample review with genuine customer feedback --\u003e\n        \u003carticle class=\"bushhauler-review-card\"\u003e\n          \u003cdiv class=\"bushhauler-review-stars\" aria-label=\"Five out of five stars\"\u003e\n            ★★★★★\n          \u003c\/div\u003e\n\n          \u003cblockquote class=\"bushhauler-review-quote\"\u003e\n            “This trolley has become part of every camping trip. It easily\n            carries our gazebo, cooler boxes and chairs over gravel and grass.\n            Folding it away afterwards takes less than a minute.”\n          \u003c\/blockquote\u003e\n\n          \u003cdiv class=\"bushhauler-reviewer\"\u003e\n            \u003cspan class=\"bushhauler-review-avatar\" role=\"img\" aria-label=\"Customer avatar\"\u003e\n              👨🏿\n            \u003c\/span\u003e\n\n            \u003cdiv\u003e\n              \u003cstrong class=\"bushhauler-review-name\"\u003e\n                Thabo N.\n              \u003c\/strong\u003e\n\n              \u003cspan class=\"bushhauler-review-location\"\u003e\n                Rustenburg, North West\n              \u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- Replace sample review with genuine customer feedback --\u003e\n        \u003carticle class=\"bushhauler-review-card\"\u003e\n          \u003cdiv class=\"bushhauler-review-stars\" aria-label=\"Five out of five stars\"\u003e\n            ★★★★★\n          \u003c\/div\u003e\n\n          \u003cblockquote class=\"bushhauler-review-quote\"\u003e\n            “I use it every Saturday for my craft market. It is incredibly\n            sturdy, carries heavy stock without struggling and fits perfectly\n            in the boot of my SUV.”\n          \u003c\/blockquote\u003e\n\n          \u003cdiv class=\"bushhauler-reviewer\"\u003e\n            \u003cspan class=\"bushhauler-review-avatar\" role=\"img\" aria-label=\"Customer avatar\"\u003e\n              👩🏿\n            \u003c\/span\u003e\n\n            \u003cdiv\u003e\n              \u003cstrong class=\"bushhauler-review-name\"\u003e\n                Lerato S.\n              \u003c\/strong\u003e\n\n              \u003cspan class=\"bushhauler-review-location\"\u003e\n                Mbombela, Mpumalanga\n              \u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n\n        \u003c!-- Replace sample review with genuine customer feedback --\u003e\n        \u003carticle class=\"bushhauler-review-card\"\u003e\n          \u003cdiv class=\"bushhauler-review-stars\" aria-label=\"Five out of five stars\"\u003e\n            ★★★★★\n          \u003c\/div\u003e\n\n          \u003cblockquote class=\"bushhauler-review-quote\"\u003e\n            “Excellent quality. We have used it on the beach, around the\n            campsite and on the farm. The large wheels make a huge difference\n            on soft sand and rough ground.”\n          \u003c\/blockquote\u003e\n\n          \u003cdiv class=\"bushhauler-reviewer\"\u003e\n            \u003cspan class=\"bushhauler-review-avatar\" role=\"img\" aria-label=\"Customer avatar\"\u003e\n              👨🏻\n            \u003c\/span\u003e\n\n            \u003cdiv\u003e\n              \u003cstrong class=\"bushhauler-review-name\"\u003e\n                Andre W.\n              \u003c\/strong\u003e\n\n              \u003cspan class=\"bushhauler-review-location\"\u003e\n                George, Western Cape\n              \u003c\/span\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"bushhauler-cta\"\u003e\n      \u003ch2 class=\"bushhauler-cta-title\"\u003e\n        Haul more for R999\n      \u003c\/h2\u003e\n\n      \u003cp class=\"bushhauler-cta-text\"\u003e\n        Move camping equipment, beach gear, market stock and work supplies with\n        a strong, foldable trolley designed for South African adventures.\n      \u003c\/p\u003e\n\n      \u003ca class=\"bushhauler-cta-button\" href=\"#MainContent\"\u003e\n        Order BushHauler Pro\n      \u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bushhauler-final-tagline\"\u003e\n      Load. Haul. Explore.\n    \u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e","brand":"Bosveld Tactical","offers":[{"title":"M- 165kg","offer_id":48854584098969,"sku":null,"price":999.0,"currency_code":"ZAR","in_stock":true},{"title":"L- 220kg","offer_id":48854584131737,"sku":null,"price":1499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/black-folding-outdoor-utility-wagon.png?v=1784531048"},{"product_id":"bushbum-folding-stool-copy","title":"BushBum Folding Stool","description":"\u003cstyle\u003e.bosveld-stool-section{--olive-dark:#26351f;--olive:#556b2f;--olive-medium:#718447;--olive-light:#a8b486;--cream:#f6f2e7;--white:#ffffff;--gold:#d4af37;--text:#252a22;--muted:#535c4d;--border:rgba(85,107,47,0.18);position:relative;width:100%;overflow:hidden;padding:64px 28px 80px;color:var(--text);font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 10% 10%,rgba(113,132,71,0.18),transparent 32%),radial-gradient(circle at 90% 80%,rgba(85,107,47,0.14),transparent 30%),var(--cream)}.bosveld-stool-section,.bosveld-stool-section *,.bosveld-stool-section *::before,.bosveld-stool-section *::after{box-sizing:border-box}.bosveld-stool-container{position:relative;z-index:2;width:min(1180px,100%);margin:0 auto}.bosveld-stool-decoration{position:absolute;border-radius:50%;pointer-events:none;animation:bosveld-stool-float 7s ease-in-out infinite}.bosveld-stool-decoration--one{top:40px;right:5%;width:130px;height:130px;border:2px solid rgba(85,107,47,0.18)}.bosveld-stool-decoration--two{bottom:80px;left:3%;width:80px;height:80px;background:rgba(113,132,71,0.1);animation-delay:-3s}.bosveld-stool-eyebrow{margin:0 0 14px;color:var(--olive);font-size:0.82rem;font-weight:900;letter-spacing:2.4px;text-transform:uppercase;animation:bosveld-stool-fade-up 0.7s ease both}.bosveld-stool-title{max-width:980px;margin:0 0 18px;color:var(--olive-dark);font-size:clamp(3.2rem,6vw,6.2rem);line-height:0.98;letter-spacing:-0.05em;animation:bosveld-stool-fade-up 0.8s 0.1s ease both}.bosveld-stool-title span{display:block;color:var(--olive-medium)}.bosveld-stool-tagline{margin:0 0 18px;color:#9a7637;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900;line-height:1.4;animation:bosveld-stool-fade-up 0.8s 0.15s ease both}.bosveld-stool-intro{max-width:900px;margin:0 0 42px;color:#3f4939;font-size:1.08rem;line-height:1.75;animation:bosveld-stool-fade-up 0.8s 0.2s ease both}.bosveld-stool-heading{max-width:100%;margin:0 0 18px;color:var(--olive-dark);font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.2;letter-spacing:-0.025em}.bosveld-stool-product-grid,.bosveld-stool-benefits-grid,.bosveld-stool-review-grid{display:grid;width:100%;gap:20px}.bosveld-stool-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:42px}.bosveld-stool-product-card{position:relative;overflow:hidden;min-width:0;padding:28px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,0.95);box-shadow:0 14px 35px rgba(38,53,31,0.09);transition:transform 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease;animation:bosveld-stool-fade-up 0.7s ease both}.bosveld-stool-product-card:nth-child(2){animation-delay:0.1s}.bosveld-stool-product-card:nth-child(3){animation-delay:0.2s}.bosveld-stool-product-card::before{position:absolute;inset:0;background:linear-gradient(135deg,rgba(113,132,71,0.15),transparent 55%);content:\"\";opacity:0;pointer-events:none;transition:opacity 0.35s ease}.bosveld-stool-product-card::after{position:absolute;top:0;left:-120%;width:65%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.7),transparent);content:\"\";pointer-events:none;transition:left 0.7s ease}.bosveld-stool-product-card:hover{border-color:var(--olive-medium);box-shadow:0 26px 52px rgba(38,53,31,0.18);transform:translateY(-10px)}.bosveld-stool-product-card:hover::before{opacity:1}.bosveld-stool-product-card:hover::after{left:150%}.bosveld-stool-product-icon{position:relative;z-index:2;display:grid;width:58px;height:58px;margin-bottom:18px;place-items:center;border-radius:16px;background:var(--olive);box-shadow:0 8px 18px rgba(85,107,47,0.24);font-size:1.65rem;transition:transform 0.4s ease,background 0.4s ease}.bosveld-stool-product-card:hover .bosveld-stool-product-icon{background:var(--olive-medium);transform:rotate(-12deg) scale(1.13)}.bosveld-stool-product-name{position:relative;z-index:2;display:block;margin-bottom:8px;color:var(--olive-dark);font-size:1.15rem;line-height:1.35}.bosveld-stool-product-description{position:relative;z-index:2;margin:0;color:var(--muted);line-height:1.65}.bosveld-stool-benefits-panel{width:100%;margin-bottom:42px;padding:clamp(25px,4vw,42px);border-radius:22px;color:var(--white);background:var(--olive-dark);box-shadow:0 20px 45px rgba(38,53,31,0.18)}.bosveld-stool-benefits-panel .bosveld-stool-heading{color:var(--white)}.bosveld-stool-benefits-intro{max-width:720px;margin:-5px 0 25px;color:rgba(255,255,255,0.76);line-height:1.65}.bosveld-stool-benefits-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.bosveld-stool-benefit{min-width:0;padding:22px;border:1px solid rgba(255,255,255,0.13);border-radius:14px;background:rgba(255,255,255,0.07);transition:transform 0.35s ease,background 0.35s ease,border-color 0.35s ease}.bosveld-stool-benefit:hover{border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.13);transform:translateY(-6px)}.bosveld-stool-benefit-number{display:inline-grid;width:46px;height:46px;margin-bottom:12px;place-items:center;border-radius:50%;color:#dbe5bf;font-size:1.05rem;font-weight:900;background:rgba(255,255,255,0.1);transition:transform 0.35s ease}.bosveld-stool-benefit:hover .bosveld-stool-benefit-number{transform:rotate(8deg) scale(1.08)}.bosveld-stool-benefit-title{display:block;margin-bottom:8px;font-size:1rem;line-height:1.4}.bosveld-stool-benefit-text{margin:0;color:rgba(255,255,255,0.72);font-size:0.9rem;line-height:1.55}.bosveld-stool-note{width:100%;margin:0 0 42px;padding:18px 20px;border:1px solid var(--olive-light);border-radius:14px;color:var(--olive-dark);background:rgba(168,180,134,0.2);transition:transform 0.3s ease,background 0.3s ease}.bosveld-stool-note:hover{background:rgba(168,180,134,0.3);transform:translateY(-4px)}.bosveld-stool-review-section{width:100%;margin-bottom:42px}.bosveld-stool-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bosveld-stool-review-card{position:relative;overflow:hidden;min-width:0;padding:28px;border:1px solid rgba(85,107,47,0.15);border-radius:20px;background:var(--white);box-shadow:0 12px 30px rgba(38,53,31,0.08);transition:transform 0.4s ease,box-shadow 0.4s ease,border-color 0.4s ease}.bosveld-stool-review-card::before{position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.75),transparent);content:\"\";pointer-events:none;transition:left 0.7s ease}.bosveld-stool-review-card:hover{border-color:var(--olive-medium);box-shadow:0 25px 55px rgba(38,53,31,0.18);transform:translateY(-10px)}.bosveld-stool-review-card:hover::before{left:150%}.bosveld-stool-review-stars{position:relative;z-index:2;display:inline-block;margin-bottom:18px;color:var(--gold);font-size:1.35rem;letter-spacing:4px;animation:bosveld-stool-star-glow 2.2s ease-in-out infinite}.bosveld-stool-review-quote{position:relative;z-index:2;margin:0 0 22px;padding:0;border:0;color:#3f473a;font-size:0.98rem;font-style:italic;line-height:1.75}.bosveld-stool-reviewer{position:relative;z-index:2;display:flex;align-items:center;gap:12px}.bosveld-stool-reviewer-avatar{display:grid;width:54px;height:54px;flex:0 0 auto;place-items:center;border-radius:50%;background:#eef0e7;font-size:1.8rem;transition:transform 0.35s ease,background 0.35s ease}.bosveld-stool-review-card:hover .bosveld-stool-reviewer-avatar{background:#dfe7cc;transform:rotate(-10deg) scale(1.12)}.bosveld-stool-reviewer-name{display:block;color:var(--olive-dark);font-size:0.95rem}.bosveld-stool-reviewer-location{display:block;margin-top:2px;color:#70786a;font-size:0.8rem;line-height:1.4}.bosveld-stool-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,0.55fr);width:100%;gap:24px;align-items:center;padding:clamp(25px,4vw,38px);border-radius:22px;color:var(--white);background:linear-gradient(135deg,var(--olive),var(--olive-dark));box-shadow:0 20px 45px rgba(38,53,31,0.2)}.bosveld-stool-cta-heading{margin:0 0 8px;color:var(--white);font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.25}.bosveld-stool-cta-text{margin:0;color:rgba(255,255,255,0.76);line-height:1.6}.bosveld-stool-button-group{display:grid;grid-template-columns:1fr;gap:12px;width:100%}.bosveld-stool-button{position:relative;display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:52px;overflow:hidden;padding:12px 23px;border:2px solid var(--white);border-radius:9px;font-weight:900;text-align:center;text-decoration:none;transition:transform 0.3s ease,background 0.3s ease,color 0.3s ease,box-shadow 0.3s ease}.bosveld-stool-button::after{position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.7),transparent);content:\"\";pointer-events:none;transition:left 0.7s ease}.bosveld-stool-button:hover{box-shadow:0 12px 25px rgba(0,0,0,0.18);transform:translateY(-4px)}.bosveld-stool-button:hover::after{left:150%}.bosveld-stool-button--primary{color:var(--olive-dark);background:var(--white)}.bosveld-stool-button--primary:hover{background:#e8eddc}.bosveld-stool-button--secondary{color:var(--white);background:transparent}.bosveld-stool-button--secondary:hover{background:rgba(255,255,255,0.12)}.bosveld-stool-footer{margin:35px 0 0;color:var(--olive-dark);font-size:0.92rem;font-weight:900;letter-spacing:2.4px;text-align:center;text-transform:uppercase}@keyframes bosveld-stool-fade-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes bosveld-stool-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-18px) rotate(8deg)}}@keyframes bosveld-stool-star-glow{0%,100%{transform:scale(1);text-shadow:0 0 6px rgba(212,175,55,0.45),0 0 14px rgba(212,175,55,0.22)}50%{transform:scale(1.06);text-shadow:0 0 10px rgba(212,175,55,0.85),0 0 24px rgba(212,175,55,0.5)}}@media screen and (max-width:1024px){.bosveld-stool-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bosveld-stool-cta{grid-template-columns:1fr}}@media screen and (max-width:820px){.bosveld-stool-product-grid,.bosveld-stool-review-grid{grid-template-columns:1fr}.bosveld-stool-container{width:min(760px,100%)}}@media screen and (max-width:749px){.bosveld-stool-section{padding:48px 16px 56px}.bosveld-stool-title{font-size:clamp(2.4rem,12vw,4rem)}.bosveld-stool-intro{font-size:1rem}.bosveld-stool-product-card,.bosveld-stool-review-card{padding:22px}.bosveld-stool-benefits-panel{padding:24px 18px}.bosveld-stool-benefits-grid{grid-template-columns:1fr}.bosveld-stool-review-stars{font-size:1.2rem;letter-spacing:3px}.bosveld-stool-cta{padding:25px 20px}}@media screen and (max-width:430px){.bosveld-stool-section{padding-inline:10px}.bosveld-stool-title{font-size:clamp(2.15rem,13vw,3.25rem)}.bosveld-stool-product-card,.bosveld-stool-review-card,.bosveld-stool-benefit{padding:20px 17px}.bosveld-stool-reviewer{align-items:flex-start}.bosveld-stool-reviewer-avatar{width:48px;height:48px;font-size:1.55rem}}@media (hover:none){.bosveld-stool-product-card:hover,.bosveld-stool-benefit:hover,.bosveld-stool-review-card:hover,.bosveld-stool-button:hover{transform:none}}@media (prefers-reduced-motion:reduce){.bosveld-stool-section *,.bosveld-stool-section *::before,.bosveld-stool-section *::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}.bosveld-stool-container{width:min(860px,100%) !important;max-width:860px !important;margin-inline:auto !important}.bosveld-stool-product-grid,.bosveld-stool-benefits-grid,.bosveld-stool-review-grid,.bosveld-stool-cta,.bosveld-stool-button-group{display:grid !important;grid-template-columns:minmax(0,1fr) !important;width:100% !important;max-width:100% !important;gap:18px !important}.bosveld-stool-product-card,.bosveld-stool-benefit,.bosveld-stool-review-card,.bosveld-stool-cta \u003e *,.bosveld-stool-reviewer,.bosveld-stool-reviewer \u003e div{width:100% !important;max-width:100% !important;min-width:0 !important}.bosveld-stool-title,.bosveld-stool-tagline,.bosveld-stool-intro,.bosveld-stool-heading,.bosveld-stool-product-name,.bosveld-stool-product-description,.bosveld-stool-benefit-title,.bosveld-stool-benefit-text,.bosveld-stool-review-quote,.bosveld-stool-reviewer-name,.bosveld-stool-reviewer-location,.bosveld-stool-cta-heading,.bosveld-stool-cta-text,.bosveld-stool-button,.bosveld-stool-note{max-width:100% !important;white-space:normal !important;word-break:normal !important;overflow-wrap:break-word !important;hyphens:none !important}.bosveld-stool-product-card,.bosveld-stool-benefit,.bosveld-stool-review-card{overflow:hidden !important}.bosveld-stool-product-card:hover,.bosveld-stool-benefit:hover,.bosveld-stool-review-card:hover{transform:translateY(-5px)}.bosveld-stool-benefits-panel{padding:clamp(24px,5vw,40px) !important}.bosveld-stool-benefit{padding:22px !important}.bosveld-stool-reviewer{display:flex !important;align-items:center !important;flex-direction:row !important;gap:12px !important}.bosveld-stool-reviewer-avatar{flex:0 0 54px !important}.bosveld-stool-cta{align-items:stretch !important}.bosveld-stool-button{display:inline-flex !important;justify-content:center !important;align-items:center !important;width:100% !important;min-height:52px !important}@media screen and (max-width:749px){.bosveld-stool-section{padding:46px 14px 56px !important}.bosveld-stool-container{width:100% !important}.bosveld-stool-title{font-size:clamp(2.2rem,12vw,3.8rem) !important;line-height:1.02 !important}.bosveld-stool-product-card,.bosveld-stool-review-card{padding:22px 18px !important}.bosveld-stool-benefits-panel,.bosveld-stool-cta{padding:24px 18px !important}.bosveld-stool-reviewer{align-items:flex-start !important}}@media screen and (max-width:430px){.bosveld-stool-section{padding-inline:10px !important}.bosveld-stool-title{font-size:clamp(2rem,13vw,3.1rem) !important}.bosveld-stool-heading{font-size:clamp(1.55rem,8vw,2.15rem) !important}.bosveld-stool-product-card,.bosveld-stool-benefit,.bosveld-stool-review-card{padding:20px 16px !important}.bosveld-stool-reviewer-avatar{width:48px !important;height:48px !important;flex-basis:48px !important}}\u003c\/style\u003e\n\u003csection class=\"bosveld-stool-section\"\u003e\u003cspan class=\"bosveld-stool-decoration bosveld-stool-decoration--one\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cspan class=\"bosveld-stool-decoration bosveld-stool-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003cdiv class=\"bosveld-stool-container\"\u003e\n\u003cp class=\"bosveld-stool-eyebrow\"\u003eBuilt for South African adventures\u003c\/p\u003e\n\u003ch1 class=\"bosveld-stool-title\"\u003e        BushBum        \u003cspan\u003eFolding Stool\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"bosveld-stool-tagline\"\u003eGo anywhere. Sit anywhere.\u003c\/p\u003e\n\u003cp class=\"bosveld-stool-intro\"\u003e        Whether you're waiting in a hide, fishing at the dam or setting up at a        bush camp, this ultra-light folding stool gives you a reliable,        comfortable seat wherever the adventure takes you.      \u003c\/p\u003e\n\u003ch2 class=\"bosveld-stool-heading\"\u003eDesigned for outdoor comfort\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-stool-product-grid\"\u003e\n\u003carticle class=\"bosveld-stool-product-card\"\u003e\u003cdiv class=\"bosveld-stool-product-icon\" aria-hidden=\"true\"\u003e🪶\u003c\/div\u003e\n\u003cstrong class=\"bosveld-stool-product-name\"\u003eUltra-Light Design\u003c\/strong\u003e\u003cp class=\"bosveld-stool-product-description\"\u003e            Easy to carry on long walks, hikes, fishing trips or hunting outings            without adding unnecessary weight to your gear.          \u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"bosveld-stool-product-card\"\u003e\u003cdiv class=\"bosveld-stool-product-icon\" aria-hidden=\"true\"\u003e⛰️\u003c\/div\u003e\n\u003cstrong class=\"bosveld-stool-product-name\"\u003eAdjustable Height\u003c\/strong\u003e\u003cp class=\"bosveld-stool-product-description\"\u003e            Adapt the stool to uneven terrain and your preferred seating height            for greater comfort outdoors.          \u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"bosveld-stool-product-card\"\u003e\u003cdiv class=\"bosveld-stool-product-icon\" aria-hidden=\"true\"\u003e🎒\u003c\/div\u003e\n\u003cstrong class=\"bosveld-stool-product-name\"\u003eCompact Folding Design\u003c\/strong\u003e\u003cp class=\"bosveld-stool-product-description\"\u003e            Folds flat in seconds and stores easily in a backpack, vehicle,            cupboard or outdoor kit box.          \u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003csection class=\"bosveld-stool-benefits-panel\"\u003e\u003ch2 class=\"bosveld-stool-heading\"\u003eFive reasons to take it outdoors\u003c\/h2\u003e\n\u003cp class=\"bosveld-stool-benefits-intro\"\u003e          Designed to make every stop more comfortable without slowing you down.        \u003c\/p\u003e\n\u003cdiv class=\"bosveld-stool-benefits-grid\"\u003e\n\u003cdiv class=\"bosveld-stool-benefit\"\u003e\n\u003cspan class=\"bosveld-stool-benefit-number\"\u003e01\u003c\/span\u003e\u003cstrong class=\"bosveld-stool-benefit-title\"\u003eEasy to carry\u003c\/strong\u003e\u003cp class=\"bosveld-stool-benefit-text\"\u003e              The ultra-light build makes it practical for longer walks and trips.            \u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-stool-benefit\"\u003e\n\u003cspan class=\"bosveld-stool-benefit-number\"\u003e02\u003c\/span\u003e\u003cstrong class=\"bosveld-stool-benefit-title\"\u003eAdjustable seating\u003c\/strong\u003e\u003cp class=\"bosveld-stool-benefit-text\"\u003e              Change the height to suit the terrain and your personal preference.            \u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-stool-benefit\"\u003e\n\u003cspan class=\"bosveld-stool-benefit-number\"\u003e03\u003c\/span\u003e\u003cstrong class=\"bosveld-stool-benefit-title\"\u003eStrong support\u003c\/strong\u003e\u003cp class=\"bosveld-stool-benefit-text\"\u003e              Built with dependable load-bearing strength for rugged outdoor use.            \u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-stool-benefit\"\u003e\n\u003cspan class=\"bosveld-stool-benefit-number\"\u003e04\u003c\/span\u003e\u003cstrong class=\"bosveld-stool-benefit-title\"\u003eQuick setup\u003c\/strong\u003e\u003cp class=\"bosveld-stool-benefit-text\"\u003e              Unfold, adjust and sit without complicated assembly or loose parts.            \u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-stool-benefit\"\u003e\n\u003cspan class=\"bosveld-stool-benefit-number\"\u003e05\u003c\/span\u003e\u003cstrong class=\"bosveld-stool-benefit-title\"\u003eVersatile use\u003c\/strong\u003e\u003cp class=\"bosveld-stool-benefit-text\"\u003e              Ideal for camping, fishing, hunting, birdwatching and patio use.            \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cp class=\"bosveld-stool-note\"\u003e\u003cstrong\u003eTough enough for the bush. Light enough to forget you're carrying it.\u003c\/strong\u003e\u003c\/p\u003e\n\u003csection class=\"bosveld-stool-review-section\"\u003e\u003ch2 class=\"bosveld-stool-heading\"\u003eLoved by South African adventurers\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-stool-review-grid\"\u003e\n\u003carticle class=\"bosveld-stool-review-card\"\u003e\u003cdiv class=\"bosveld-stool-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-stool-review-quote\"\u003e              “Surprisingly light but still feels solid. I take it along for              birdwatching and it is comfortable enough for long waits.”            \u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-stool-reviewer\"\u003e\n\u003cspan class=\"bosveld-stool-reviewer-avatar\" role=\"img\" aria-label=\"Customer profile\"\u003e🧔🏻\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong class=\"bosveld-stool-reviewer-name\"\u003eDeon R.\u003c\/strong\u003e\u003cspan class=\"bosveld-stool-reviewer-location\"\u003eNelspruit, Mpumalanga\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"bosveld-stool-review-card\"\u003e\u003cdiv class=\"bosveld-stool-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-stool-review-quote\"\u003e              “Perfect for fishing at the dam. It folds quickly, fits behind the              seat and is easy to carry down to the water.”            \u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-stool-reviewer\"\u003e\n\u003cspan class=\"bosveld-stool-reviewer-avatar\" role=\"img\" aria-label=\"Customer profile\"\u003e👨🏿\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong class=\"bosveld-stool-reviewer-name\"\u003eLwazi P.\u003c\/strong\u003e\u003cspan class=\"bosveld-stool-reviewer-location\"\u003ePietermaritzburg, KwaZulu-Natal\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"bosveld-stool-review-card\"\u003e\u003cdiv class=\"bosveld-stool-review-stars\" aria-label=\"Five out of five stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-stool-review-quote\"\u003e              “The adjustable height is useful on rough ground around camp.              Compact, practical and much stronger than expected.”            \u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-stool-reviewer\"\u003e\n\u003cspan class=\"bosveld-stool-reviewer-avatar\" role=\"img\" aria-label=\"Customer profile\"\u003e👩🏼\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong class=\"bosveld-stool-reviewer-name\"\u003eMarna J.\u003c\/strong\u003e\u003cspan class=\"bosveld-stool-reviewer-location\"\u003eUpington, Northern Cape\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cp class=\"bosveld-stool-footer\"\u003eSit. Rest. Explore.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n      var customButton = document.querySelector(\"[data-bushbum-cart-button]\");\n      if (!customButton) {\n        return;\n      }\n      customButton.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        var forms = Array.prototype.slice.call(\n          document.querySelectorAll('form[action*=\"\/cart\/add\"], product-form form')\n        );\n        var productForm = forms.find(function (form) {\n          var variantField = form.querySelector(\n            'input[name=\"id\"], select[name=\"id\"]'\n          );\n          return (\n            variantField \u0026\u0026\n            \/^\\d+$\/.test(String(variantField.value || \"\").trim())\n          );\n        });\n        if (!productForm) {\n          productForm = forms[0] || null;\n        }\n        if (productForm) {\n          var nativeButton =\n            productForm.querySelector('button[name=\"add\"]:not([disabled])') ||\n            productForm.querySelector('.product-form__submit:not([disabled])') ||\n            productForm.querySelector('button[type=\"submit\"]:not([disabled])') ||\n            productForm.querySelector('input[type=\"submit\"]:not([disabled])');\n          if (nativeButton) {\n            nativeButton.click();\n            return;\n          }\n          var variantField = productForm.querySelector(\n            'input[name=\"id\"], select[name=\"id\"]'\n          );\n          var variantId = variantField\n            ? String(variantField.value || \"\").trim()\n            : \"\";\n          if (\/^\\d+$\/.test(variantId)) {\n            var quantityField = productForm.querySelector('[name=\"quantity\"]');\n            var quantity = quantityField\n              ? parseInt(quantityField.value, 10) || 1\n              : 1;\n            var root =\n              window.Shopify \u0026\u0026\n              Shopify.routes \u0026\u0026\n              Shopify.routes.root\n                ? Shopify.routes.root\n                : \"\/\";\n            fetch(root + \"cart\/add.js\", {\n              method: \"POST\",\n              headers: {\n                \"Accept\": \"application\/json\",\n                \"Content-Type\": \"application\/json\",\n                \"X-Requested-With\": \"XMLHttpRequest\"\n              },\n              body: JSON.stringify({\n                items: [\n                  {\n                    id: Number(variantId),\n                    quantity: quantity\n                  }\n                ]\n              })\n            })\n              .then(function (response) {\n                if (!response.ok) {\n                  return response.json().then(function (error) {\n                    throw error;\n                  });\n                }\n                return response.json();\n              })\n              .then(function () {\n                window.location.href = root + \"cart\";\n              })\n              .catch(function (error) {\n                alert(\n                  (error \u0026\u0026 (error.description || error.message)) ||\n                  \"The selected option could not be added to the cart.\"\n                );\n              });\n            return;\n          }\n        }\n        var fallbackButton =\n          document.querySelector(\n            'product-form button[name=\"add\"]:not([disabled])'\n          ) ||\n          document.querySelector(\n            'form[action*=\"\/cart\/add\"] .product-form__submit:not([disabled])'\n          ) ||\n          document.querySelector(\n            'form[action*=\"\/cart\/add\"] button[type=\"submit\"]:not([disabled])'\n          );\n        if (fallbackButton) {\n          fallbackButton.click();\n          return;\n        }\n        alert(\n          \"Please select Black or Rainbow using the product options above, then use the main product Add to Cart button.\"\n        );\n      });\n    });\n\u003c\/script\u003e","brand":"Bosveld Tactical","offers":[{"title":"Black","offer_id":48344239243417,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true},{"title":"Rainbow","offer_id":48344239276185,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul21_2026_09_32_29PM.png?v=1784662938"},{"product_id":"ignitex-eco-balls-firelighters-24-pack","title":"IgniteX Eco-Balls Firelighters | 24 Pack","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=\"IgniteX Eco-Balls Firelighters made from natural coconut shell, wood shavings and natural fibre wicks for clean, reliable fire starting.\"\u003e\n  \u003ctitle\u003eIgniteX Eco-Balls Firelighters\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\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    .ignitex-fire-visual {\n      position: relative;\n      z-index: 3;\n      width: min(680px, 88%);\n      height: 390px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .ignitex-pack {\n      position: absolute;\n      left: 50%;\n      bottom: 48px;\n      width: 430px;\n      height: 230px;\n      border: 8px solid #2a2118;\n      border-radius: 28px;\n      background:\n        linear-gradient(150deg, rgba(255,255,255,.08), transparent 38%),\n        linear-gradient(145deg, #8b5a2b, #4b2f19 72%);\n      box-shadow:\n        inset 0 0 0 4px rgba(255,255,255,.035),\n        0 28px 45px rgba(54,35,21,.24);\n      transform: translateX(-50%) rotate(-2deg);\n      overflow: hidden;\n    }\n\n    .ignitex-pack::before {\n      position: absolute;\n      inset: 18px;\n      border: 2px solid rgba(244,224,180,.45);\n      border-radius: 18px;\n      content: \"\";\n    }\n\n    .ignitex-pack-label {\n      position: absolute;\n      top: 44px;\n      left: 50%;\n      width: 260px;\n      padding: 18px 20px;\n      border: 2px solid rgba(255,245,219,.72);\n      border-radius: 16px;\n      color: #fff8e7;\n      text-align: center;\n      background: linear-gradient(135deg, #6a3f1f, #302014);\n      transform: translateX(-50%);\n      box-shadow: 0 16px 30px rgba(40,25,15,.24);\n    }\n\n    .ignitex-pack-label strong {\n      display: block;\n      font-size: 1.35rem;\n      letter-spacing: .05em;\n      text-transform: uppercase;\n    }\n\n    .ignitex-pack-label span {\n      display: block;\n      margin-top: 7px;\n      color: #f0c777;\n      font-size: .72rem;\n      font-weight: 900;\n      letter-spacing: .14em;\n      text-transform: uppercase;\n    }\n\n    .ignitex-count {\n      position: absolute;\n      right: 26px;\n      bottom: 24px;\n      display: grid;\n      width: 84px;\n      height: 84px;\n      place-items: center;\n      border-radius: 50%;\n      color: #3d2818;\n      text-align: center;\n      background: #f1d49a;\n      box-shadow: 0 14px 26px rgba(32,20,12,.2);\n      transform: rotate(5deg);\n    }\n\n    .ignitex-count strong {\n      display: block;\n      font-size: 1.45rem;\n      line-height: 1;\n    }\n\n    .ignitex-count span {\n      display: block;\n      margin-top: 2px;\n      font-size: .56rem;\n      font-weight: 900;\n      letter-spacing: .08em;\n      text-transform: uppercase;\n    }\n\n    .ignitex-ball {\n      position: absolute;\n      z-index: 5;\n      width: 84px;\n      height: 84px;\n      border: 7px solid #3b281a;\n      border-radius: 50%;\n      background:\n        radial-gradient(circle at 35% 28%, #c89653 0 12%, transparent 13%),\n        repeating-radial-gradient(circle at 48% 50%, #8d5c2f 0 6px, #6d4323 7px 11px);\n      box-shadow: inset -10px -12px 18px rgba(45,25,12,.22), 0 18px 28px rgba(53,32,18,.2);\n    }\n\n    .ignitex-ball::after {\n      position: absolute;\n      top: -42px;\n      left: 50%;\n      width: 5px;\n      height: 50px;\n      border-radius: 999px;\n      background: #c8aa74;\n      content: \"\";\n      transform: translateX(-50%) rotate(-8deg);\n    }\n\n    .ignitex-ball--one { left: 7%; bottom: 44px; transform: rotate(-9deg); }\n    .ignitex-ball--two { right: 8%; bottom: 68px; transform: rotate(10deg) scale(.88); }\n\n    .ignitex-flame {\n      position: absolute;\n      z-index: 6;\n      top: 56px;\n      left: 50%;\n      width: 74px;\n      height: 116px;\n      border-radius: 52% 48% 56% 44% \/ 65% 62% 38% 35%;\n      background: linear-gradient(to top, #ff7a18 5%, #ffbd2e 55%, #fff1a8 100%);\n      filter: drop-shadow(0 0 18px rgba(255,143,30,.52));\n      transform: translateX(-50%) rotate(5deg);\n      animation: ignitex-flame-dance 1.55s ease-in-out infinite;\n    }\n\n    .ignitex-flame::before {\n      position: absolute;\n      left: 50%;\n      bottom: 8px;\n      width: 34px;\n      height: 67px;\n      border-radius: inherit;\n      background: linear-gradient(to top, #fff1a8, #fffdf2);\n      content: \"\";\n      transform: translateX(-50%);\n      opacity: .72;\n    }\n\n    .ignitex-sparks {\n      position: absolute;\n      inset: 0;\n      z-index: 7;\n      pointer-events: none;\n    }\n\n    .ignitex-sparks span {\n      position: absolute;\n      width: 7px;\n      height: 7px;\n      border-radius: 50%;\n      background: #f0a12c;\n      box-shadow: 0 0 10px rgba(240,161,44,.65);\n      animation: ignitex-spark-rise 2.8s ease-in-out infinite;\n    }\n\n    .ignitex-sparks span:nth-child(1) { left: 43%; top: 28%; }\n    .ignitex-sparks span:nth-child(2) { left: 55%; top: 20%; animation-delay: .6s; }\n    .ignitex-sparks span:nth-child(3) { left: 62%; top: 32%; animation-delay: 1.1s; }\n    .ignitex-sparks span:nth-child(4) { left: 35%; top: 35%; animation-delay: 1.7s; }\n\n    @keyframes ignitex-flame-dance {\n      0%, 100% { transform: translateX(-50%) rotate(3deg) scale(1); }\n      50% { transform: translateX(-50%) rotate(-4deg) scale(.93, 1.06); }\n    }\n\n    @keyframes ignitex-spark-rise {\n      0% { opacity: 0; transform: translateY(12px) scale(.5); }\n      25% { opacity: 1; }\n      100% { opacity: 0; transform: translateY(-90px) translateX(18px) scale(1.15); }\n    }\n\n    .ignitex-use-grid {\n      display: grid;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .ignitex-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    .ignitex-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: #f3dfb3;\n    }\n\n    @media screen and (max-width: 760px) {\n      .ignitex-fire-visual { height: 305px; }\n      .ignitex-pack { width: 330px; height: 185px; bottom: 38px; }\n      .ignitex-pack-label { top: 34px; width: 210px; padding: 14px; }\n      .ignitex-ball { width: 65px; height: 65px; }\n      .ignitex-flame { top: 40px; width: 58px; height: 90px; }\n      .ignitex-count { width: 66px; height: 66px; }\n    }\n\n    @media screen and (max-width: 430px) {\n      .ignitex-fire-visual { width: 96%; height: 245px; }\n      .ignitex-pack { width: 260px; height: 150px; border-width: 6px; }\n      .ignitex-pack-label { top: 25px; width: 170px; padding: 11px; }\n      .ignitex-pack-label strong { font-size: 1rem; }\n      .ignitex-ball--one { left: 0; }\n      .ignitex-ball--two { right: 0; }\n      .ignitex-ball { width: 52px; height: 52px; border-width: 5px; }\n      .ignitex-flame { top: 28px; width: 46px; height: 72px; }\n      .ignitex-count { right: 17px; bottom: 17px; width: 54px; height: 54px; }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eNatural fire starting, made simple\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      IgniteX Eco-Balls\n      \u003cspan\u003eFirelighters\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eLight Your Fire. Leave No Trace.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      There’s something deeply satisfying about a fire that catches first time — no fuss,\n      no chemicals and no mess. IgniteX Eco-Balls are crafted from natural coconut shell,\n      wood shavings and a simple natural fibre wick to deliver a clean, reliable flame\n      whenever you need it.\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=\"bosveld-floating-lure\" aria-hidden=\"true\"\u003e🔥\u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e100% Natural\u003c\/strong\u003e\n          \u003cspan\u003eNo paraffin or chemicals\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ignitex-fire-visual\" role=\"img\" aria-label=\"Pack of IgniteX Eco-Balls Firelighters with natural firelighter balls and flame\"\u003e\n        \u003cdiv class=\"ignitex-flame\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"ignitex-sparks\" aria-hidden=\"true\"\u003e\n          \u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ignitex-pack\"\u003e\n          \u003cdiv class=\"ignitex-pack-label\"\u003e\n            \u003cstrong\u003eIgniteX Eco-Balls\u003c\/strong\u003e\n            \u003cspan\u003eNatural Firelighters\u003c\/span\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"ignitex-count\"\u003e\n            \u003cdiv\u003e\n\u003cstrong\u003e24\u003c\/strong\u003e\u003cspan\u003epieces\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ignitex-ball ignitex-ball--one\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"ignitex-ball ignitex-ball--two\"\u003e\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\"\u003eWhy choose IgniteX Eco-Balls?\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Clean, compact and dependable fire starting for braais, camping,\n        fireplaces and emergency use.\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\u003e100% Natural Materials\u003c\/strong\u003e\n          \u003cp\u003eMade from coconut shell, wood shavings and natural fibre wicks, with no paraffin, harsh chemicals or unpleasant fumes.\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\u003eFast, Reliable Ignition\u003c\/strong\u003e\n          \u003cp\u003ePlace an Eco-Ball, light the wick and get your wood or charcoal fire moving within seconds.\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\u003ePortable \u0026amp; Convenient\u003c\/strong\u003e\n          \u003cp\u003eThe compact ball shape stores easily in a braai kit, camping bag, vehicle or emergency box.\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        Everything you need for simple, mess-free fire starting.\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\u003eNatural Coconut \u0026amp; Wood Blend\u003c\/strong\u003e\n            \u003cp\u003eCrafted from coconut shell and wood shavings for a dependable burn using naturally derived materials.\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\u003eNatural Fibre Wick\u003c\/strong\u003e\n            \u003cp\u003eA simple exposed wick makes lighting quick and straightforward, even when you are outdoors.\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\u003eWorks Across Fire Setups\u003c\/strong\u003e\n            \u003cp\u003eSuitable for braais, BBQs, wood fires, camping stoves, fireplaces, fire pits and emergency use.\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\u003eEco-Conscious Choice\u003c\/strong\u003e\n            \u003cp\u003eHelps reduce reliance on paraffin-based firelighters and fuel canisters.\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\u003e24 Pieces Per Pack\u003c\/strong\u003e\n            \u003cp\u003eEnough firelighters for multiple braais, camping trips and household fire-starting needs.\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\u003eSingle-Use Simplicity\u003c\/strong\u003e\n            \u003cp\u003eNo refilling, fuel bottles or moving parts — just place, light and build your fire.\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\"\u003ePerfect for\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Keep a pack ready wherever dependable fire starting matters.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"ignitex-use-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"ignitex-use-item\"\u003e\n\u003cdiv class=\"ignitex-use-icon\"\u003e🥩\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBraai \u0026amp; BBQ\u003c\/strong\u003e\u003cp\u003eStart charcoal or wood quickly without paraffin-based odours.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ignitex-use-item\"\u003e\n\u003cdiv class=\"ignitex-use-icon\"\u003e🏕️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCamping \u0026amp; Outdoor Fires\u003c\/strong\u003e\u003cp\u003eCompact enough for camp kitchens, bush trips and outdoor fire setups.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ignitex-use-item\"\u003e\n\u003cdiv class=\"ignitex-use-icon\"\u003e🏠\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFireplaces \u0026amp; Fire Pits\u003c\/strong\u003e\u003cp\u003eA convenient option for wood-burning fireplaces, bomas and garden fire pits.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"ignitex-use-item\"\u003e\n\u003cdiv class=\"ignitex-use-icon\"\u003e⚡\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEmergency Use\u003c\/strong\u003e\u003cp\u003eUseful for load-shedding kits, vehicle kits and backup fire-starting supplies.\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\"\u003eHow to use\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eFour simple steps to a dependable fire.\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\u003ePosition\u003c\/strong\u003e\u003cp\u003ePlace one or two IgniteX Eco-Balls at the base of your fire setup.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eLight\u003c\/strong\u003e\u003cp\u003eIgnite the exposed natural fibre wick.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eBuild\u003c\/strong\u003e\u003cp\u003eAdd your wood or charcoal over and around the burning Eco-Balls.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\n          \u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eEnjoy\u003c\/strong\u003e\u003cp\u003eAllow the flame to establish your fire, then braai, cook or keep warm.\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\"\u003eProduct specifications\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003ePractical pack 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 Type\u003c\/th\u003e\n\u003ctd\u003eNatural firelighter balls\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaterials\u003c\/th\u003e\n\u003ctd\u003eCoconut shell, wood shavings and natural fibre wick\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003ePack Size\u003c\/th\u003e\n\u003ctd\u003e24 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eFormat\u003c\/th\u003e\n\u003ctd\u003eCompact single-use balls\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSuitable For\u003c\/th\u003e\n\u003ctd\u003eBraais, BBQs, wood fires, fireplaces, camping stoves, fire pits and emergency use\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eRefillable\u003c\/th\u003e\n\u003ctd\u003eNo — safe, simple single-use design\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n\u003ctd\u003eStore in a cool, dry place\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\"\u003eMade for effortless fire starting\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Reliable enough for the braai, compact enough for the bush and convenient enough for home.\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            “They light quickly, burn cleanly and save time when getting the braai going. The compact pack is easy to keep with the charcoal.”\n          \u003c\/blockquote\u003e\n          \u003cstrong class=\"bosveld-reviewer-name\"\u003eThabo 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              “Perfect for camping. No fuel bottle, no mess and one ball was enough to get our fire started.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eLeané V.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eStellenbosch, Western Cape\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              “A useful addition to our load-shedding box and much more pleasant than chemical firelighters.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eSibusiso N.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eDurban, KwaZulu-Natal\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 #9f5c22;background:#f7ead1;\"\u003e\n      \u003cstrong\u003eSafety \u0026amp; storage:\u003c\/strong\u003e Store in a cool, dry place away from children,\n      pets, heat sources and open flames. Use only in suitable, well-ventilated fire setups\n      and never leave a burning fire unattended.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady to light your next fire?\u003c\/h2\u003e\n        \u003cp\u003e\n          Keep IgniteX Eco-Balls close for cleaner, simpler fire starting at home,\n          at the braai or out in the bush.\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        \u003ca class=\"bosveld-button bosveld-button--secondary\" href=\"#\" onclick=\"event.preventDefault();var f=document.querySelector('form[action*=cart]');if(f){var btn=f.querySelector('[type=submit]');if(btn)btn.click();}\"\u003e🛒 Add to Cart\u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bosveld-footer-tagline\"\u003eNatural. Reliable. Ready to Burn.\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\u003c\/body\u003e","brand":"Bosveld Tactical","offers":[{"title":"Default Title","offer_id":48349109223577,"sku":null,"price":499.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPT_Image_Jul_22_2026_01_05_46_PM.png?v=1784718363"},{"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"},{"product_id":"braaipack-portable-cookware-set-3-piece-pot-frying-pan-kettle","title":"BraaiPack Portable Cookware Set – 3-Piece | Pot, Frying Pan \u0026 Kettle","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e \u003cmeta name=\"description\" content=\"BraaiPack Portable Cookware Set with nesting camping pot, frying pan and kettle for hiking, camping, overlanding, picnics and emergency meal preparation.\"\u003e\u003c\/p\u003e\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  \n.braaipack-variant-selector{margin:0 0 36px;padding:24px;border:1px solid var(--border);border-radius:18px;background:#fff}\n.braaipack-variant-options{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}\n.braaipack-variant{padding:18px;border:2px solid var(--border);border-radius:14px;cursor:pointer;background:#f8faf3}\n.braaipack-variant.selected{border-color:var(--olive-dark);background:#eaf0dd}\n@media(max-width:600px){.braaipack-variant-options{grid-template-columns:1fr}}\n\n\n.braaipack-variant{\n  appearance:none;\n  width:100%;\n  text-align:left;\n  font:inherit;\n  color:inherit;\n  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;\n}\n.braaipack-variant:hover{\n  border-color:var(--olive-medium);\n  box-shadow:0 14px 28px rgba(38,53,31,.12);\n  transform:translateY(-3px);\n}\n.braaipack-variant span{\n  display:block;\n  margin-top:6px;\n  color:var(--muted);\n  font-size:.84rem;\n  line-height:1.45;\n}\n.braaipack-selected-colour{\n  margin:14px 0 0;\n  color:var(--olive-dark);\n  font-size:.88rem;\n  font-weight:900;\n}\n\n\u003c\/style\u003e\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\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\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\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\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\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\u003csection class=\"bosveld-rod-section\"\u003e\u003cspan class=\"bosveld-decoration bosveld-decoration--one\"\u003e\u003c\/span\u003e \u003cspan class=\"bosveld-decoration bosveld-decoration--two\"\u003e\u003c\/span\u003e\u003c\/section\u003e\n\u003cstyle\u003e\n    .braaipack-product{position:relative;z-index:3;width:min(720px,92%);height:400px;animation:bosveld-product-float 4s ease-in-out infinite}\n    .braaipack-pot{position:absolute;z-index:5;left:50%;bottom:62px;width:330px;height:210px;border:9px solid #1b201b;border-radius:30px 30px 46px 46px;background:linear-gradient(145deg,rgba(255,255,255,.15),transparent 32%),linear-gradient(145deg,#8a9387,#4c554b 72%);box-shadow:inset 0 0 0 5px rgba(255,255,255,.04),0 28px 42px rgba(34,40,31,.24);transform:translateX(-50%)}\n    .braaipack-pot:before{position:absolute;top:-24px;left:50%;width:300px;height:46px;border:8px solid #1b201b;border-radius:50%;background:linear-gradient(145deg,#a4ada1,#5b6459);content:\"\";transform:translateX(-50%)}\n    .braaipack-handle{position:absolute;z-index:4;top:120px;left:50%;width:420px;height:150px;border:18px solid #2c342b;border-bottom:0;border-radius:50% 50% 0 0;transform:translateX(-50%)}\n    .braaipack-pan{position:absolute;z-index:7;top:54px;left:8%;width:230px;height:92px;border:8px solid #1a1f1a;border-radius:50%;background:radial-gradient(circle,#7f887d 0 52%,#4a5248 53% 100%);box-shadow:0 20px 34px rgba(33,39,31,.2);transform:rotate(-11deg)}\n    .braaipack-pan:after{position:absolute;top:34px;right:-150px;width:160px;height:28px;border:7px solid #171b17;border-radius:999px;background:linear-gradient(145deg,#555d53,#2d332d);content:\"\"}\n    .braaipack-kettle{position:absolute;z-index:8;top:38px;right:7%;width:170px;height:170px;border:8px solid #1b201b;border-radius:50% 50% 44% 44%;background:linear-gradient(145deg,rgba(255,255,255,.14),transparent 36%),linear-gradient(145deg,#899287,#4f584d);box-shadow:0 20px 34px rgba(33,39,31,.22);transform:rotate(8deg)}\n    .braaipack-kettle:before{position:absolute;top:-38px;left:50%;width:110px;height:84px;border:15px solid #2a3129;border-bottom:0;border-radius:50% 50% 0 0;content:\"\";transform:translateX(-50%)}\n    .braaipack-kettle:after{position:absolute;right:-72px;top:54px;width:82px;height:34px;border:7px solid #1b201b;border-left:0;border-radius:0 22px 22px 0;background:linear-gradient(145deg,#7f887d,#414941);content:\"\"}\n    .braaipack-brand{position:absolute;z-index:10;left:50%;bottom:18px;width:220px;padding:11px 15px;border:2px solid rgba(236,242,225,.52);border-radius:999px;color:#eff4e8;font-size:.7rem;font-weight:900;letter-spacing:.11em;text-align:center;text-transform:uppercase;background:#35402f;transform:translateX(-50%);box-shadow:0 14px 26px rgba(22,27,21,.22)}\n    .braaipack-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px}\n    .braaipack-item{display:grid;grid-template-columns:56px minmax(0,1fr);gap:15px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:16px;background:#f8faf3}\n    .braaipack-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:16px;font-size:1.4rem;background:#dce7be}\n    @media(max-width:760px){.braaipack-product{height:320px}.braaipack-pot{width:260px;height:170px}.braaipack-handle{width:330px;height:120px}.braaipack-pan{width:180px;height:74px}.braaipack-kettle{width:136px;height:136px}}\n    @media(max-width:430px){.braaipack-product{height:250px}.braaipack-pot{width:200px;height:132px;bottom:48px}.braaipack-handle{top:84px;width:255px;height:94px}.braaipack-pan{top:42px;width:132px;height:58px;left:3%}.braaipack-kettle{top:32px;width:104px;height:104px;right:3%}.braaipack-brand{width:145px;padding:9px;font-size:.5rem;bottom:8px}}\n  \u003c\/style\u003e\n\u003csection class=\"bosveld-rod-section\"\u003e\n\u003cdiv class=\"bosveld-rod-container\"\u003e\n\u003cp class=\"bosveld-eyebrow\"\u003eCompact camp cooking without the bulk\u003c\/p\u003e\n\u003ch1 class=\"bosveld-title\"\u003eBraaiPack \u003cspan\u003ePortable Cookware Set\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp class=\"bosveld-tagline\"\u003eCook Anywhere. Pack Everything.\u003c\/p\u003e\n\u003cp class=\"bosveld-intro\"\u003eImagine arriving at camp after a long hike and having a hot meal ready in minutes. BraaiPack combines a camping pot, frying pan and kettle in one lightweight nesting set for hiking, bush camps, picnics, overlanding and emergency meal preparation.\u003c\/p\u003e\n\u003cdiv class=\"bosveld-product-visual\"\u003e\n\u003cdiv class=\"bosveld-water-ripple\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"bosveld-floating-lure\"\u003e🍳\u003c\/div\u003e\n\u003cdiv class=\"bosveld-product-badge\"\u003e\n\u003cdiv\u003e\n\u003cstrong\u003e3 Pieces\u003c\/strong\u003e\u003cspan\u003ePot, pan and kettle\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-product\" role=\"img\"\u003e\n\u003cdiv class=\"braaipack-handle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"braaipack-pot\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"braaipack-pan\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"braaipack-kettle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"braaipack-brand\"\u003eBraaiPack Cookware Set\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"braaipack-variant-selector bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\" id=\"braaipack-colour-heading\"\u003eChoose Your Colour\u003c\/h2\u003e\n\u003cp class=\"bosveld-section-intro\"\u003eSelect the colour that should be added to your cart.\u003c\/p\u003e\n\u003cdiv class=\"braaipack-variant-options\" role=\"radiogroup\"\u003e\n\u003cbutton type=\"button\" class=\"braaipack-variant selected\" role=\"radio\"\u003e \u003cstrong\u003e🟧 Orange\u003c\/strong\u003e \u003cspan\u003eHigh-visibility outdoor finish\u003c\/span\u003e \u003c\/button\u003e \u003cbutton type=\"button\" class=\"braaipack-variant\" role=\"radio\"\u003e \u003cstrong\u003e⬛ Black\u003c\/strong\u003e \u003cspan\u003eClassic tactical finish\u003c\/span\u003e \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cp class=\"braaipack-selected-colour\"\u003eSelected: \u003cspan id=\"braaipack-selected-colour\"\u003eOrange\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-section--dark bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eA complete camp kitchen in one compact set\u003c\/h2\u003e\n\u003cp class=\"bosveld-section-intro\"\u003eCook, boil and fry without filling your pack or camping box with bulky cookware.\u003c\/p\u003e\n\u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n\u003carticle class=\"bosveld-benefit-card\"\u003e\n\u003cdiv class=\"bosveld-benefit-icon\"\u003e🎒\u003c\/div\u003e\n\u003cstrong\u003eEasy to Carry\u003c\/strong\u003e\n\u003cp\u003eLightweight construction keeps trail and campsite gear manageable.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-benefit-card\"\u003e\n\u003cdiv class=\"bosveld-benefit-icon\"\u003e📦\u003c\/div\u003e\n\u003cstrong\u003eNests Together\u003c\/strong\u003e\n\u003cp\u003eThe components stack compactly to reduce wasted packing space.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-benefit-card\"\u003e\n\u003cdiv class=\"bosveld-benefit-icon\"\u003e🔥\u003c\/div\u003e\n\u003cstrong\u003eCamp-Ready Cooking\u003c\/strong\u003e\n\u003cp\u003eSuitable for compatible open flames, gas burners and camping stoves.\u003c\/p\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eWhat's in the set?\u003c\/h2\u003e\n\u003cdiv class=\"braaipack-grid bosveld-stagger\"\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e🍲\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCamping Pot\u003c\/strong\u003e\n\u003cp\u003eIdeal for boiling water, soups, stews and one-pot meals.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e🍳\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFrying Pan\u003c\/strong\u003e\n\u003cp\u003ePerfect for eggs, meat, vegetables and quick camp fry-ups.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e☕\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eKettle\u003c\/strong\u003e\n\u003cp\u003eFast boiling for coffee, tea, instant meals and hot water.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-reveal\" id=\"features\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eKey features\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUltra-Portable Design\u003c\/strong\u003e\n\u003cp\u003eLightweight construction for hiking, camping and travel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCompact Nesting Storage\u003c\/strong\u003e\n\u003cp\u003eThe pieces fit together neatly for easier packing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eQuick Pack-Away\u003c\/strong\u003e\n\u003cp\u003eSet up and store the cookware with minimal fuss.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eDurable Construction\u003c\/strong\u003e\n\u003cp\u003eBuilt for repeated use with compatible outdoor heat sources.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e05\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eComplete 3-Piece Set\u003c\/strong\u003e\n\u003cp\u003eEverything needed for simple outdoor cooking without unnecessary extras.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e06\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVersatile Outdoor Use\u003c\/strong\u003e\n\u003cp\u003eSuitable for camping, hiking, picnics, overlanding and emergency meal prep.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eIdeal for\u003c\/h2\u003e\n\u003cdiv class=\"braaipack-grid bosveld-stagger\"\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e🥾\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBackpacking \u0026amp; Hiking\u003c\/strong\u003e\n\u003cp\u003ePrepare trail meals without carrying full-size cookware.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e🏕️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBush Camping \u0026amp; Overlanding\u003c\/strong\u003e\n\u003cp\u003eKeep a versatile cooking set ready in your camping box or vehicle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e🧺\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003ePicnics \u0026amp; Outdoor Events\u003c\/strong\u003e\n\u003cp\u003eBoil, fry or reheat food at suitable outdoor cooking areas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"braaipack-item\"\u003e\n\u003cdiv class=\"braaipack-icon\"\u003e⚡\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eEmergency Meal Prep\u003c\/strong\u003e\n\u003cp\u003eUseful during outages with a suitable alternative heat source.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eProduct specifications\u003c\/h2\u003e\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\u003eBraaiPack Portable Cookware Set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eSet Size\u003c\/th\u003e\n\u003ctd\u003e3 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eIncluded\u003c\/th\u003e\n\u003ctd\u003eCamping pot, frying pan and kettle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n\u003ctd\u003eCompact nesting construction\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003ePortability\u003c\/th\u003e\n\u003ctd\u003eLightweight and packable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eColour Options\u003c\/th\u003e\n\u003ctd\u003eOrange or Black\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eHeat Sources\u003c\/th\u003e\n\u003ctd\u003eCompatible camp stoves, gas burners and suitable open flames\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eBest For\u003c\/th\u003e\n\u003ctd\u003eCamping, hiking, picnics, overlanding and emergency meal preparation\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eUse \u0026amp; care\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eUse a Stable Heat Source\u003c\/strong\u003e\n\u003cp\u003ePlace cookware securely on a compatible stove, burner or controlled cooking fire.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eAvoid Empty Overheating\u003c\/strong\u003e\n\u003cp\u003eAdd food or liquid before prolonged heating.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eClean After Use\u003c\/strong\u003e\n\u003cp\u003eAllow the pieces to cool before washing and drying thoroughly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eNest \u0026amp; Store Dry\u003c\/strong\u003e\n\u003cp\u003ePack clean, dry components together to reduce moisture and odour buildup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv class=\"bosveld-section bosveld-reveal\" style=\"padding: 22px 24px; border-left: 6px solid var(--olive); background: #edf1e1;\"\u003e\n\u003cstrong\u003eSafety note:\u003c\/strong\u003e Cookware becomes hot during use. Use heat-resistant protection, supervise open flames, follow campsite fire rules and allow all components to cool before packing.\u003c\/div\u003e\n\u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n\u003cdiv\u003e\n\u003ch2\u003eReady to cook wherever the trail takes you?\u003c\/h2\u003e\n\u003cp\u003ePack a complete pot, pan and kettle set without sacrificing valuable space.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-button-group\"\u003e\n\u003ca class=\"bosveld-button bosveld-button--primary\" href=\"#features\"\u003eView Product Features\u003c\/a\u003e \u003cbutton type=\"button\" class=\"bosveld-button bosveld-button--secondary\" id=\"bosveld-add-to-cart\"\u003e🛒 Add to Cart\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"bosveld-footer-tagline\"\u003eCompact. Capable. Camp Ready.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cp\u003e\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(\".braaipack-product\");\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 \u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  const buttons=document.querySelectorAll(\"#bosveld-add-to-cart,[data-bosveld-add-to-cart]\");\n  if(!buttons.length)return;\n  function getVariantId(){\n    for(const form of document.querySelectorAll('form[action*=\"\/cart\/add\"],product-form form')){\n      const field=form.querySelector('input[name=\"id\"]:checked,select[name=\"id\"],input[name=\"id\"]');\n      if(field\u0026\u0026field.value){const id=Number(field.value);if(Number.isInteger(id)\u0026\u0026id\u003e0)return id;}\n    }\n    const field=document.querySelector('[name=\"id\"][value],[data-variant-id]');\n    if(field){const id=Number(field.value||field.getAttribute(\"data-variant-id\"));if(Number.isInteger(id)\u0026\u0026id\u003e0)return id;}\n    for(const button of buttons){const id=Number(button.dataset.variantId);if(Number.isInteger(id)\u0026\u0026id\u003e0)return id;}\n    return null;\n  }\n  async function add(button){\n    const id=getVariantId();\n    if(!id){alert(\"No Shopify variant could be detected. Place this section on the Shopify product page or add data-variant-id to the button.\");return;}\n    const original=button.innerHTML;\n    buttons.forEach(b=\u003e{b.disabled=true;b.innerHTML=\"Adding…\";});\n    try{\n      const root=window.Shopify\u0026\u0026window.Shopify.routes?window.Shopify.routes.root:\"\/\";\n      const response=await fetch(root+\"cart\/add.js\",{method:\"POST\",headers:{\"Content-Type\":\"application\/json\",\"Accept\":\"application\/json\"},body:JSON.stringify({items:[{id:id,quantity:1}]})});\n      const result=await response.json();\n      if(!response.ok)throw new Error(result.description||result.message||\"The product could not be added.\");\n      buttons.forEach(b=\u003eb.innerHTML=\"Added ✓\");\n      setTimeout(()=\u003ewindow.location.href=root+\"cart\",450);\n    }catch(error){\n      buttons.forEach(b=\u003e{b.disabled=false;b.innerHTML=original;});\n      alert(error.message||\"Unable to add this product to the cart.\");\n    }\n  }\n  buttons.forEach(button=\u003ebutton.addEventListener(\"click\",()=\u003eadd(button)));\n});\n\u003c\/script\u003e \u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const colourButtons = document.querySelectorAll(\"[data-braaipack-colour]\");\n  const selectedText = document.getElementById(\"braaipack-selected-colour\");\n\n  if (!colourButtons.length) return;\n\n  function normalise(value) {\n    return String(value || \"\")\n      .trim()\n      .toLowerCase()\n      .replace(\/\\s+\/g, \" \");\n  }\n\n  function syncShopifyColour(colour) {\n    const wanted = normalise(colour);\n\n    \/\/ Radio\/button style variant pickers.\n    const radios = document.querySelectorAll(\n      'input[type=\"radio\"][name^=\"options\"], variant-radios input[type=\"radio\"], input[type=\"radio\"][data-option-value-id]'\n    );\n\n    for (const radio of radios) {\n      const label = radio.id\n        ? document.querySelector('label[for=\"' + radio.id + '\"]')\n        : null;\n\n      const text = normalise(\n        radio.value ||\n        radio.getAttribute(\"data-value\") ||\n        (label ? label.textContent : \"\")\n      );\n\n      if (text === wanted || text.includes(wanted) || wanted.includes(text)) {\n        radio.checked = true;\n        radio.dispatchEvent(new Event(\"input\", { bubbles: true }));\n        radio.dispatchEvent(new Event(\"change\", { bubbles: true }));\n        return true;\n      }\n    }\n\n    \/\/ Select dropdown style variant pickers.\n    const selects = document.querySelectorAll(\n      'select[name^=\"options\"], variant-selects select'\n    );\n\n    for (const select of selects) {\n      for (const option of select.options) {\n        const text = normalise(option.textContent || option.value);\n\n        if (text === wanted || text.includes(wanted) || wanted.includes(text)) {\n          select.value = option.value;\n          select.dispatchEvent(new Event(\"input\", { bubbles: true }));\n          select.dispatchEvent(new Event(\"change\", { bubbles: true }));\n          return true;\n        }\n      }\n    }\n\n    \/\/ Product JSON fallback used by some themes.\n    const jsonScript =\n      document.querySelector('script[type=\"application\/json\"][data-product-json]') ||\n      document.querySelector('variant-selects script[type=\"application\/json\"]') ||\n      document.querySelector('product-form script[type=\"application\/json\"]');\n\n    if (jsonScript) {\n      try {\n        const parsed = JSON.parse(jsonScript.textContent);\n        const variants = Array.isArray(parsed) ? parsed : parsed.variants;\n\n        if (Array.isArray(variants)) {\n          const match = variants.find(function (variant) {\n            return normalise(variant.title).includes(wanted);\n          });\n\n          if (match \u0026\u0026 match.id) {\n            document\n              .querySelectorAll('form[action*=\"\/cart\/add\"] input[name=\"id\"]')\n              .forEach(function (field) {\n                field.value = match.id;\n                field.dispatchEvent(new Event(\"change\", { bubbles: true }));\n              });\n\n            document\n              .querySelectorAll(\"[data-bosveld-add-to-cart]\")\n              .forEach(function (button) {\n                button.dataset.variantId = String(match.id);\n              });\n\n            return true;\n          }\n        }\n      } catch (error) {\n        console.warn(\"BraaiPack variant JSON could not be read:\", error);\n      }\n    }\n\n    return false;\n  }\n\n  function chooseColour(button) {\n    const colour = button.dataset.braaipackColour;\n\n    colourButtons.forEach(function (item) {\n      const selected = item === button;\n      item.classList.toggle(\"selected\", selected);\n      item.setAttribute(\"aria-checked\", selected ? \"true\" : \"false\");\n    });\n\n    if (selectedText) {\n      selectedText.textContent = colour;\n    }\n\n    document\n      .querySelectorAll(\"[data-bosveld-add-to-cart]\")\n      .forEach(function (cartButton) {\n        cartButton.dataset.selectedColour = colour;\n      });\n\n    syncShopifyColour(colour);\n  }\n\n  colourButtons.forEach(function (button) {\n    button.addEventListener(\"click\", function () {\n      chooseColour(button);\n    });\n  });\n\n  chooseColour(\n    document.querySelector(\".braaipack-variant.selected\") ||\n    colourButtons[0]\n  );\n});\n\u003c\/script\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n\/* BraaiPack hero visual stability fix *\/\n.bosveld-product-visual{min-height:420px!important;isolation:isolate}\n.bosveld-product-visual::before{width:min(360px,72vw)!important;height:min(360px,72vw)!important;z-index:0!important;opacity:.65!important}\n.bosveld-product-visual::after{z-index:1!important}\n.bosveld-water-ripple{z-index:1!important}\n.bosveld-floating-lure,.bosveld-product-badge{z-index:20!important}\n.braaipack-product{position:relative!important;z-index:10!important;display:block!important;width:min(680px,88%)!important;height:340px!important;overflow:visible!important}\n.braaipack-product\u003ediv{display:block!important;visibility:visible!important;opacity:1!important}\n.braaipack-pot{left:50%!important;bottom:50px!important;width:310px!important;height:190px!important;transform:translateX(-50%)!important}\n.braaipack-handle{top:100px!important;left:50%!important;width:390px!important;height:145px!important;transform:translateX(-50%)!important}\n.braaipack-pan{top:45px!important;left:5%!important;width:210px!important;height:88px!important}\n.braaipack-kettle{top:38px!important;right:5%!important;width:155px!important;height:155px!important}\n.braaipack-brand{left:50%!important;bottom:12px!important;z-index:30!important;transform:translateX(-50%)!important}\n@media(max-width:760px){\n.bosveld-product-visual{min-height:360px!important}.braaipack-product{width:94%!important;height:285px!important}\n.braaipack-pot{width:245px!important;height:155px!important;bottom:42px!important}.braaipack-handle{top:88px!important;width:305px!important;height:112px!important}\n.braaipack-pan{top:38px!important;left:2%!important;width:160px!important;height:68px!important}.braaipack-kettle{top:34px!important;right:2%!important;width:122px!important;height:122px!important}}\n@media(max-width:430px){\n.bosveld-product-visual{min-height:300px!important}.bosveld-product-visual::before{width:250px!important;height:250px!important}.braaipack-product{height:235px!important}\n.braaipack-pot{width:185px!important;height:120px!important;bottom:38px!important}.braaipack-handle{top:76px!important;width:230px!important;height:88px!important}\n.braaipack-pan{top:34px!important;width:118px!important;height:52px!important}.braaipack-kettle{top:30px!important;width:94px!important;height:94px!important}\n.braaipack-brand{width:150px!important;font-size:.5rem!important}}\n\u003c\/style\u003e","brand":"Bosveld Tactical ","offers":[{"title":"Black","offer_id":48353582776473,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Orange","offer_id":48353582809241,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul23_2026_01_18_28PM.png?v=1784806458"},{"product_id":"non-stick-double-sided-frying-pan-with-handle","title":"IronGrid Grill Accessory Kit","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=\"IronGrid 14-piece grill accessory kit with extended spatula, BBQ scraper and flat-top tools for Blackstone grills, camping, braais and outdoor cooking.\"\u003e\n  \u003ctitle\u003eIronGrid Grill Accessory Kit\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\n\n\n\n\u003cstyle id=\"irongrid-shopify-safe-visual\"\u003e\n\/* Shopify-safe IronGrid visual *\/\n.irongrid-case,\n.irongrid-tool,\n.irongrid-scraper,\n.irongrid-bottle{\n  display:block !important;\n  visibility:visible !important;\n  opacity:1 !important;\n  overflow:hidden !important;\n  text-indent:-9999px !important;\n  font-size:0 !important;\n  line-height:0 !important;\n}\n\n.irongrid-product{\n  position:relative !important;\n  z-index:10 !important;\n  display:block !important;\n  visibility:visible !important;\n  opacity:1 !important;\n  width:min(720px,92%) !important;\n  height:410px !important;\n  margin:0 auto !important;\n  transform:none !important;\n  animation:none !important;\n}\n\n\/* Remove oversized empty halo\/ripple *\/\n.bosveld-product-visual::before,\n.bosveld-product-visual::after,\n.bosveld-product-visual \u003e .bosveld-water-ripple{\n  display:none !important;\n}\n\n.bosveld-product-visual{\n  min-height:500px !important;\n  display:flex !important;\n  align-items:center !important;\n  justify-content:center !important;\n  padding:72px 24px 40px !important;\n}\n\n.irongrid-case{\n  left:50% !important;\n  bottom:38px !important;\n  width:min(520px,78%) !important;\n  transform:translateX(-50%) !important;\n}\n\n.irongrid-tool--1{left:11% !important;}\n.irongrid-tool--2{left:28% !important;}\n.irongrid-tool--3{left:45% !important;}\n.irongrid-tool--4{left:62% !important;}\n\n.irongrid-scraper{\n  right:10% !important;\n}\n\n.irongrid-bottle{\n  right:15% !important;\n}\n\n.irongrid-brand{\n  z-index:20 !important;\n  width:260px !important;\n}\n\n.bosveld-product-badge,\n.bosveld-floating-lure{\n  z-index:30 !important;\n}\n\n@media(max-width:760px){\n  .bosveld-product-visual{\n    min-height:400px !important;\n    padding:60px 12px 28px !important;\n  }\n\n  .irongrid-product{\n    width:96% !important;\n    height:320px !important;\n  }\n\n  .irongrid-case{\n    width:min(430px,82%) !important;\n    height:205px !important;\n  }\n\n  .irongrid-tool{\n    top:58px !important;\n    width:58px !important;\n    height:190px !important;\n  }\n\n  .irongrid-scraper{\n    width:130px !important;\n    height:72px !important;\n  }\n\n  .irongrid-bottle{\n    width:68px !important;\n    height:118px !important;\n  }\n}\n\n@media(max-width:430px){\n  .bosveld-product-visual{\n    min-height:315px !important;\n    padding:50px 6px 20px !important;\n  }\n\n  .irongrid-product{\n    width:98% !important;\n    height:235px !important;\n  }\n\n  .irongrid-case{\n    width:88% !important;\n    height:150px !important;\n    bottom:26px !important;\n  }\n\n  .irongrid-tool{\n    top:50px !important;\n    width:40px !important;\n    height:140px !important;\n    border-width:5px !important;\n  }\n\n  .irongrid-tool::after{\n    width:66px !important;\n    height:58px !important;\n    border-width:5px !important;\n  }\n\n  .irongrid-scraper{\n    top:104px !important;\n    right:6% !important;\n    width:92px !important;\n    height:54px !important;\n    border-width:5px !important;\n  }\n\n  .irongrid-bottle{\n    top:30px !important;\n    right:10% !important;\n    width:50px !important;\n    height:90px !important;\n    border-width:5px !important;\n  }\n\n  .irongrid-brand{\n    width:190px !important;\n    font-size:.55rem !important;\n  }\n\n  .bosveld-product-badge{\n    top:12px !important;\n    right:12px !important;\n  }\n}\n\u003c\/style\u003e\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    .irongrid-product {\n      position: relative;\n      z-index: 3;\n      width: min(720px, 92%);\n      height: 410px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .irongrid-case {\n      position: absolute;\n      left: 50%;\n      bottom: 38px;\n      width: 520px;\n      height: 250px;\n      border: 9px solid #171b17;\n      border-radius: 30px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.09), transparent 34%),\n        linear-gradient(145deg, #4b5549, #242b24 72%);\n      box-shadow:\n        inset 0 0 0 5px rgba(255,255,255,.03),\n        0 30px 48px rgba(38,53,31,.22);\n      transform: translateX(-50%);\n    }\n\n    .irongrid-case::before {\n      position: absolute;\n      inset: 22px;\n      border: 3px solid rgba(255,255,255,.08);\n      border-radius: 18px;\n      content: \"\";\n    }\n\n    .irongrid-tool {\n      position: absolute;\n      z-index: 6;\n      top: 62px;\n      width: 72px;\n      height: 240px;\n      border: 7px solid #111511;\n      border-radius: 18px;\n      background: linear-gradient(145deg, #7b8379, #343a34);\n      box-shadow: 0 18px 28px rgba(24,29,23,.18);\n    }\n\n    .irongrid-tool::before {\n      position: absolute;\n      left: 50%;\n      bottom: 16px;\n      width: 28px;\n      height: 116px;\n      border-radius: 999px;\n      background: linear-gradient(145deg, #3c443b, #1e241e);\n      content: \"\";\n      transform: translateX(-50%);\n    }\n\n    .irongrid-tool::after {\n      position: absolute;\n      left: 50%;\n      top: -36px;\n      width: 104px;\n      height: 92px;\n      border: 7px solid #111511;\n      border-radius: 18px 18px 8px 8px;\n      background:\n        repeating-linear-gradient(\n          90deg,\n          #90988f 0 8px,\n          #747d73 8px 12px\n        );\n      content: \"\";\n      transform: translateX(-50%);\n    }\n\n    .irongrid-tool--1 { left: 11%; transform: rotate(-10deg); }\n    .irongrid-tool--2 { left: 28%; transform: rotate(-4deg); }\n    .irongrid-tool--3 { left: 45%; transform: rotate(2deg); }\n    .irongrid-tool--4 { left: 62%; transform: rotate(7deg); }\n\n    .irongrid-scraper {\n      position: absolute;\n      z-index: 7;\n      top: 138px;\n      right: 10%;\n      width: 160px;\n      height: 86px;\n      border: 7px solid #111511;\n      border-radius: 18px;\n      background: linear-gradient(145deg, #8c958a, #495149);\n      box-shadow: 0 18px 28px rgba(24,29,23,.2);\n      transform: rotate(8deg);\n    }\n\n    .irongrid-scraper::after {\n      position: absolute;\n      left: 50%;\n      bottom: -96px;\n      width: 34px;\n      height: 110px;\n      border: 7px solid #111511;\n      border-radius: 999px;\n      background: linear-gradient(145deg, #3d453c, #1e241e);\n      content: \"\";\n      transform: translateX(-50%);\n    }\n\n    .irongrid-bottle {\n      position: absolute;\n      z-index: 8;\n      right: 15%;\n      top: 36px;\n      width: 82px;\n      height: 142px;\n      border: 7px solid #111511;\n      border-radius: 24px 24px 18px 18px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.12), transparent 36%),\n        linear-gradient(145deg, #d7ddcf, #9ea79a);\n      box-shadow: 0 18px 26px rgba(25,31,24,.16);\n    }\n\n    .irongrid-bottle::before {\n      position: absolute;\n      left: 50%;\n      top: -28px;\n      width: 34px;\n      height: 34px;\n      border: 6px solid #111511;\n      border-radius: 10px 10px 4px 4px;\n      background: #3f483e;\n      content: \"\";\n      transform: translateX(-50%);\n    }\n\n    .irongrid-brand {\n      position: absolute;\n      z-index: 10;\n      left: 50%;\n      bottom: 14px;\n      width: 240px;\n      padding: 11px 15px;\n      border: 2px solid rgba(236,242,225,.52);\n      border-radius: 999px;\n      color: #eff4e8;\n      font-size: .68rem;\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    .irongrid-icon {\n      position: absolute;\n      top: 62px;\n      left: 8%;\n      z-index: 9;\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.35rem;\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    .irongrid-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .irongrid-item {\n      display: grid;\n      grid-template-columns: 56px 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    .irongrid-item-icon {\n      display: grid;\n      width: 56px;\n      height: 56px;\n      place-items: center;\n      border-radius: 16px;\n      font-size: 1.4rem;\n      background: #dce7be;\n    }\n\n    @media screen and (max-width:760px) {\n      .irongrid-product { height:320px; }\n      .irongrid-case { width:390px;height:205px; }\n      .irongrid-tool { top:58px;width:56px;height:190px; }\n      .irongrid-tool::after { width:82px;height:72px; }\n      .irongrid-scraper { width:124px;height:68px; }\n      .irongrid-bottle { width:64px;height:112px; }\n      .irongrid-brand { width:190px;font-size:.58rem; }\n    }\n\n    @media screen and (max-width:430px) {\n      .irongrid-product { width:96%;height:250px; }\n      .irongrid-case { width:285px;height:170px;border-width:6px; }\n      .irongrid-tool { top:54px;width:42px;height:150px;border-width:5px; }\n      .irongrid-tool::before { width:20px;height:78px; }\n      .irongrid-tool::after { width:62px;height:56px;border-width:5px; }\n      .irongrid-scraper { top:116px;right:7%;width:92px;height:54px;border-width:5px; }\n      .irongrid-scraper::after { bottom:-70px;width:24px;height:80px;border-width:5px; }\n      .irongrid-bottle { right:10%;top:38px;width:48px;height:86px;border-width:5px; }\n      .irongrid-brand { width:150px;padding:9px;font-size:.5rem; }\n      .irongrid-icon { display:none; }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eProfessional flat-top tools for outdoor cooks\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      IronGrid\n      \u003cspan\u003eGrill Accessory Kit\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eMaster the Flat Top. Own the Cookout.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      Built for Blackstone-style grills, camping setups and backyard braais,\n      IronGrid puts the essential tools for prep, cooking and cleanup in one\n      complete 14-piece kit. From the first flip to the final scrape, everything\n      you need stays within reach.\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=\"irongrid-icon\" aria-hidden=\"true\"\u003e🔥\u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e14 Pieces\u003c\/strong\u003e\n          \u003cspan\u003ePrep, cook and clean\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"irongrid-product\" role=\"img\" aria-label=\"IronGrid 14-piece grill accessory kit\"\u003e\n        \u003cdiv class=\"irongrid-case\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-tool irongrid-tool--1\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-tool irongrid-tool--2\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-tool irongrid-tool--3\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-tool irongrid-tool--4\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-scraper\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-bottle\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-brand\"\u003eIronGrid Grill Accessory Kit\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\"\u003eEverything you need for the flat top\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Keep professional-style tools ready for breakfast, burgers, steaks,\n        stir-fry and cleanup.\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\u003eCook with Confidence\u003c\/strong\u003e\n          \u003cp\u003eExtended tools give you better control across large griddle surfaces.\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\u003eClean as You Go\u003c\/strong\u003e\n          \u003cp\u003eThe scraper helps remove residue and maintain a cleaner cooking surface.\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\u003eOutdoor Ready\u003c\/strong\u003e\n          \u003cp\u003eDurable tools suit camping, overlanding, braais and backyard cookouts.\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\"\u003eWhat's in the kit?\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        A complete 14-piece setup covering preparation, cooking and cleanup.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"irongrid-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e↔️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eExtended Spatula\u003c\/strong\u003e\u003cp\u003eExtra reach for safe, confident flipping on large flat-top surfaces.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e🧹\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eOutdoor BBQ Scraper\u003c\/strong\u003e\u003cp\u003eRemove grease and cooked-on residue while maintaining your griddle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e14×\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFull 14-Piece Set\u003c\/strong\u003e\u003cp\u003eEverything needed from prep through cooking and final cleanup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e3×\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCore Flat-Top Grill Tools\u003c\/strong\u003e\u003cp\u003eEssential tools optimised for Blackstone-style and camping chef griddles.\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\" id=\"features\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eKey features\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Purpose-built for control, durability and versatility outdoors.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eBlackstone Compatible\u003c\/strong\u003e\u003cp\u003eDesigned for flat-top griddle surfaces and similar outdoor cooking systems.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eCamping \u0026amp; Outdoor Ready\u003c\/strong\u003e\u003cp\u003eDurable construction stands up to repeated field and backyard use.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eExtended Handles\u003c\/strong\u003e\u003cp\u003eKeep hands farther from hot cooking surfaces for safer control.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eVersatile Cooking\u003c\/strong\u003e\u003cp\u003eUse for steaks, burgers, eggs, pancakes, stir-fry and more.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e05\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eComfortable Grip\u003c\/strong\u003e\u003cp\u003eErgonomic handles support confident use during longer cooking sessions.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e06\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eEasy Cleanup\u003c\/strong\u003e\u003cp\u003eUse the included scraper and tools to maintain your griddle after cooking.\u003c\/p\u003e\n\u003c\/div\u003e\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\"\u003eBuilt for the outdoors\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        No missing tools, no last-minute improvising — just organised,\n        confident cooking wherever the griddle is hot.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"irongrid-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e🏕️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eCamping \u0026amp; Overlanding\u003c\/strong\u003e\u003cp\u003eKeep your full cooking toolkit ready at camp or in the vehicle.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e🔥\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eBackyard Braais\u003c\/strong\u003e\u003cp\u003eHandle large batches of burgers, steaks and breakfast food with ease.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e🍳\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eFlat-Top Breakfasts\u003c\/strong\u003e\u003cp\u003eCook eggs, bacon, pancakes and toast efficiently on wide surfaces.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"irongrid-item\"\u003e\n\u003cdiv class=\"irongrid-item-icon\"\u003e🥩\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eSteaks \u0026amp; Stir-Fry\u003c\/strong\u003e\u003cp\u003eFlip, press, scrape and move food with better control.\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\"\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\u003eIronGrid Grill Accessory Kit\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSet Size\u003c\/th\u003e\n\u003ctd\u003e14 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCore Tools\u003c\/th\u003e\n\u003ctd\u003eExtended spatula, BBQ scraper and flat-top grill tools\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCompatibility\u003c\/th\u003e\n\u003ctd\u003eBlackstone-style and other flat-top griddles\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eHandles\u003c\/th\u003e\n\u003ctd\u003eExtended ergonomic handles\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBest For\u003c\/th\u003e\n\u003ctd\u003eCamping, braais, backyard cooking and outdoor kitchens\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCooking Uses\u003c\/th\u003e\n\u003ctd\u003eSteaks, burgers, eggs, pancakes, stir-fry and more\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        Built for serious outdoor cooks from the campsite to the backyard.\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            “The spatulas feel solid and the scraper makes cleanup much easier. Everything I need is finally in one kit.”\n          \u003c\/blockquote\u003e\n          \u003cstrong class=\"bosveld-reviewer-name\"\u003eKabelo R.\u003c\/strong\u003e\n          \u003cspan class=\"bosveld-reviewer-location\"\u003eCenturion, 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              “We used it on an overlanding trip and every tool had a purpose. Much better than packing random utensils from home.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eAnika J.\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eNelspruit, Mpumalanga\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              “Great quality for weekend braais. The longer handles are especially useful when the flat top is fully loaded.”\n            \u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eMoegamat D.\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    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eUse \u0026amp; care\u003c\/h2\u003e\n      \u003cdiv class=\"bosveld-feature-timeline bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e01\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003ePreheat the Griddle\u003c\/strong\u003e\u003cp\u003eAllow the cooking surface to reach the desired temperature before use.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e02\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eUse the Right Tool\u003c\/strong\u003e\u003cp\u003eSelect the appropriate spatula, scraper or accessory for each task.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e03\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eClean After Cooking\u003c\/strong\u003e\u003cp\u003eScrape residue while the griddle is safely warm, following the manufacturer's instructions.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e04\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eWash \u0026amp; Store Dry\u003c\/strong\u003e\u003cp\u003eClean tools thoroughly, dry completely and store in a protected place.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\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\u003eSafety note:\u003c\/strong\u003e Metal tools may become hot during use. Keep handles away\n      from direct flame, use heat-resistant protection where necessary and allow tools to cool\n      before cleaning or storage.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady to own the flat top?\u003c\/h2\u003e\n        \u003cp\u003e\n          Put professional-style griddle tools in your hands for cleaner,\n          safer and more confident outdoor cooking.\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\"\u003ePrep. Flip. Scrape. Repeat.\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(\".irongrid-product\");\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\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  document.querySelectorAll(\".irongrid-product\").forEach(function(el){\n    el.style.opacity=\"1\";\n    el.style.visibility=\"visible\";\n  });\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical ","offers":[{"title":"Default Title","offer_id":48361866133657,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul25_2026_09_01_37PM.png?v=1785006145"}],"url":"https:\/\/bosveldtactical.co.za\/collections\/camping-hiking.oembed","provider":"Bosveld Tactical ","version":"1.0","type":"link"}