{"title":"Gun Accessories","description":"\u003cp\u003eBrowse our selection of add ons. \u003c\/p\u003e","products":[{"product_id":"bosveld-tactical-electronic-noise-canceling-ear-muffs","title":"Bosveld Tactical Electronic Noise-Canceling Ear Muffs","description":"\u003cstyle\u003e\n  .bosveld-hearing-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  .bosveld-hearing-section,\n  .bosveld-hearing-section * {\n    box-sizing: border-box;\n  }\n\n  .bosveld-hearing-container {\n    position: relative;\n    z-index: 2;\n    width: 100%;\n    max-width: 850px;\n    margin: 0 auto;\n  }\n\n  .bosveld-hearing-decoration {\n    position: absolute;\n    border-radius: 50%;\n    pointer-events: none;\n    animation: bosveld-hearing-float 7s ease-in-out infinite;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-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: bosveld-hearing-fade-up 0.7s ease both;\n  }\n\n  .bosveld-hearing-title {\n    max-width: 100%;\n    margin: 0 0 18px;\n    color: var(--olive-dark);\n    font-size: clamp(2.3rem, 7vw, 4.8rem);\n    line-height: 1.03;\n    letter-spacing: -0.045em;\n    overflow-wrap: anywhere;\n    animation: bosveld-hearing-fade-up 0.8s 0.1s ease both;\n  }\n\n  .bosveld-hearing-tagline {\n    margin: 0 0 24px;\n    color: var(--olive);\n    font-size: clamp(1.2rem, 3vw, 1.6rem);\n    font-weight: 900;\n    animation: bosveld-hearing-fade-up 0.8s 0.15s ease both;\n  }\n\n  .bosveld-hearing-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: bosveld-hearing-fade-up 0.8s 0.2s ease both;\n  }\n\n  .bosveld-hearing-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: bosveld-hearing-fade-up 0.8s 0.3s ease both;\n    transition:\n      transform 0.35s ease,\n      box-shadow 0.35s ease;\n  }\n\n  .bosveld-hearing-purchase-bar:hover {\n    transform: translateY(-5px);\n    box-shadow: 0 24px 50px rgba(34, 51, 31, 0.16);\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-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: bosveld-hearing-pulse 1.8s ease-in-out infinite;\n  }\n\n  .bosveld-hearing-main-button,\n  .bosveld-hearing-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  .bosveld-hearing-main-button {\n    min-width: 190px;\n    border: 2px solid var(--olive-medium);\n    background: #dfe7cc;\n    color: var(--olive-dark);\n  }\n\n  .bosveld-hearing-main-button::after,\n  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-main-button:hover::after,\n  .bosveld-hearing-cta-button:hover::after {\n    left: 150%;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-feature-grid,\n  .bosveld-hearing-benefit-grid,\n  .bosveld-hearing-review-grid {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 18px;\n    width: 100%;\n  }\n\n  .bosveld-hearing-feature-grid {\n    margin-bottom: 42px;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-feature:hover::after {\n    left: 150%;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-feature:hover .bosveld-hearing-feature-icon {\n    transform: rotate(-8deg) scale(1.1);\n    background: var(--olive-medium);\n  }\n\n  .bosveld-hearing-feature-content {\n    position: relative;\n    z-index: 2;\n    min-width: 0;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-feature-text {\n    width: 100%;\n    margin: 0;\n    color: var(--muted);\n    line-height: 1.65;\n    overflow-wrap: anywhere;\n  }\n\n  .bosveld-hearing-feature-highlight {\n    color: var(--olive);\n    font-weight: 900;\n  }\n\n  .bosveld-hearing-awareness-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  .bosveld-hearing-awareness-panel .bosveld-hearing-heading {\n    color: var(--white);\n  }\n\n  .bosveld-hearing-awareness-text {\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  .bosveld-hearing-benefit {\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  .bosveld-hearing-benefit:hover {\n    transform: translateX(7px);\n    background: rgba(255, 255, 255, 0.13);\n  }\n\n  .bosveld-hearing-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  }\n\n  .bosveld-hearing-benefit-text {\n    color: var(--white);\n    font-weight: 750;\n    line-height: 1.45;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-spec-list {\n    display: grid;\n    grid-template-columns: 1fr;\n    width: 100%;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-spec-row:last-child {\n    border-bottom: 0;\n  }\n\n  .bosveld-hearing-spec-label {\n    color: var(--olive-dark);\n    font-weight: 900;\n  }\n\n  .bosveld-hearing-spec-value {\n    color: var(--muted);\n    overflow-wrap: anywhere;\n  }\n\n  .bosveld-hearing-colours {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 12px;\n    margin-bottom: 42px;\n  }\n\n  .bosveld-hearing-colour {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 13px 16px;\n    border: 1px solid rgba(79, 103, 47, 0.18);\n    border-radius: 999px;\n    background: var(--white);\n    color: var(--olive-dark);\n    font-weight: 850;\n    box-shadow: 0 8px 20px rgba(34, 51, 31, 0.07);\n    transition:\n      transform 0.3s ease,\n      box-shadow 0.3s ease;\n  }\n\n  .bosveld-hearing-colour:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 14px 28px rgba(34, 51, 31, 0.13);\n  }\n\n  .bosveld-hearing-swatch {\n    width: 21px;\n    height: 21px;\n    flex-shrink: 0;\n    border: 2px solid rgba(34, 51, 31, 0.16);\n    border-radius: 50%;\n  }\n\n  .bosveld-hearing-swatch--green {\n    background: #556b2f;\n  }\n\n  .bosveld-hearing-swatch--black {\n    background: #171917;\n  }\n\n  .bosveld-hearing-swatch--grey {\n    background: #777b78;\n  }\n\n  .bosveld-hearing-swatch--brown {\n    background: #8a6542;\n  }\n\n  .bosveld-hearing-review-section {\n    width: 100%;\n    margin: 0 0 42px;\n  }\n\n  .bosveld-hearing-review-intro {\n    max-width: 680px;\n    margin: -8px 0 24px;\n    color: var(--muted);\n    line-height: 1.65;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-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  .bosveld-hearing-review-card:hover::before {\n    left: 150%;\n  }\n\n  .bosveld-hearing-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: bosveld-hearing-star-glow 2.2s ease-in-out infinite;\n  }\n\n  .bosveld-hearing-review-card:nth-child(2)\n    .bosveld-hearing-review-stars {\n    animation-delay: 0.35s;\n  }\n\n  .bosveld-hearing-review-card:nth-child(3)\n    .bosveld-hearing-review-stars {\n    animation-delay: 0.7s;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-reviewer {\n    position: relative;\n    z-index: 2;\n    display: flex;\n    align-items: center;\n    gap: 13px;\n    width: 100%;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-review-card:hover\n    .bosveld-hearing-review-avatar {\n    transform: rotate(-9deg) scale(1.12);\n    background: #dfe7cc;\n  }\n\n  .bosveld-hearing-review-name {\n    display: block;\n    color: var(--olive-dark);\n    font-size: 0.96rem;\n    font-weight: 900;\n  }\n\n  .bosveld-hearing-review-location {\n    display: block;\n    margin-top: 3px;\n    color: #70786a;\n    font-size: 0.82rem;\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-cta-title {\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  .bosveld-hearing-cta-text {\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  .bosveld-hearing-cta-button {\n    min-width: 220px;\n    border: 2px solid var(--white);\n    background: var(--white);\n    color: var(--olive-dark);\n  }\n\n  .bosveld-hearing-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  .bosveld-hearing-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 bosveld-hearing-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-hearing-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-hearing-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 bosveld-hearing-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    .bosveld-hearing-section {\n      padding: 55px 16px;\n    }\n\n    .bosveld-hearing-purchase-bar {\n      align-items: stretch;\n      flex-direction: column;\n    }\n\n    .bosveld-hearing-main-button,\n    .bosveld-hearing-cta-button {\n      width: 100%;\n    }\n\n    .bosveld-hearing-feature {\n      grid-template-columns: 1fr;\n    }\n\n    .bosveld-hearing-spec-row {\n      grid-template-columns: 1fr;\n      gap: 6px;\n    }\n\n    .bosveld-hearing-colours {\n      flex-direction: column;\n    }\n\n    .bosveld-hearing-colour {\n      width: 100%;\n    }\n\n    .bosveld-hearing-review-card {\n      padding: 22px;\n    }\n\n    .bosveld-hearing-review-stars {\n      font-size: 1.18rem;\n      letter-spacing: 3px;\n    }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .bosveld-hearing-section *,\n    .bosveld-hearing-section *::before,\n    .bosveld-hearing-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\u003csection class=\"bosveld-hearing-section\"\u003e\u003cspan class=\"bosveld-hearing-decoration bosveld-hearing-decoration--one\"\u003e\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-decoration bosveld-hearing-decoration--two\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"bosveld-hearing-container\"\u003e\n\u003cp class=\"bosveld-hearing-eyebrow\"\u003eTactical hearing protection\u003c\/p\u003e\n\u003ch1 class=\"bosveld-hearing-title\"\u003eBosveld Tactical Electronic Noise-Canceling Ear Muffs\u003c\/h1\u003e\n\u003cp class=\"bosveld-hearing-tagline\"\u003eStay aware. Stay protected.\u003c\/p\u003e\n\u003cp class=\"bosveld-hearing-intro\"\u003eBuilt for shooters, hunters and outdoor professionals who need reliable hearing protection without losing situational awareness. Whether you are on the range, in the field or working around heavy machinery, these electronic ear muffs help keep you protected and connected to your surroundings.\u003c\/p\u003e\n\u003cdiv class=\"bosveld-hearing-purchase-bar\"\u003e\n\u003cdiv\u003e\n\u003cspan class=\"bosveld-hearing-price\"\u003eR899\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-stock\"\u003e In stock and ready to ship \u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"bosveld-hearing-main-button\" href=\"#MainContent\"\u003e Shop Ear Muffs \u003c\/a\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"bosveld-hearing-heading\"\u003eKey features\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-hearing-feature-grid\"\u003e\n\u003carticle class=\"bosveld-hearing-feature\"\u003e\n\u003cdiv class=\"bosveld-hearing-feature-icon\"\u003e🔊\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-feature-content\"\u003e\n\u003cstrong class=\"bosveld-hearing-feature-title\"\u003e Electronic Sound Amplification \u003c\/strong\u003e\n\u003cp class=\"bosveld-hearing-feature-text\"\u003eAmplifies ambient sounds such as speech and range commands while automatically suppressing harmful noise spikes above \u003cspan class=\"bosveld-hearing-feature-highlight\"\u003e82dB\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-hearing-feature\"\u003e\n\u003cdiv class=\"bosveld-hearing-feature-icon\"\u003e🛡️\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-feature-content\"\u003e\n\u003cstrong class=\"bosveld-hearing-feature-title\"\u003e NRR 22dB Noise Reduction \u003c\/strong\u003e\n\u003cp class=\"bosveld-hearing-feature-text\"\u003eReliable noise reduction for shooting ranges, industrial environments and high-noise outdoor use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-hearing-feature\"\u003e\n\u003cdiv class=\"bosveld-hearing-feature-icon\"\u003e🎧\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-feature-content\"\u003e\n\u003cstrong class=\"bosveld-hearing-feature-title\"\u003e Adjustable Padded Headband \u003c\/strong\u003e\n\u003cp class=\"bosveld-hearing-feature-text\"\u003eAn ergonomic adjustable headband and soft ear cushions provide a secure, comfortable fit during extended sessions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-hearing-feature\"\u003e\n\u003cdiv class=\"bosveld-hearing-feature-icon\"\u003e🎒\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-feature-content\"\u003e\n\u003cstrong class=\"bosveld-hearing-feature-title\"\u003e Foldable Compact Design \u003c\/strong\u003e\n\u003cp class=\"bosveld-hearing-feature-text\"\u003eCollapses into a compact shape for easy storage in your range bag, backpack or tactical kit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003carticle class=\"bosveld-hearing-feature\"\u003e\n\u003cdiv class=\"bosveld-hearing-feature-icon\"\u003e🎨\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-feature-content\"\u003e\n\u003cstrong class=\"bosveld-hearing-feature-title\"\u003e Available in Four Colours \u003c\/strong\u003e\n\u003cp class=\"bosveld-hearing-feature-text\"\u003eChoose Olive Green, Black, Grey or Desert Brown to match your kit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003csection class=\"bosveld-hearing-awareness-panel\"\u003e\n\u003ch2 class=\"bosveld-hearing-heading\"\u003eProtection without isolation\u003c\/h2\u003e\n\u003cp class=\"bosveld-hearing-awareness-text\"\u003eStay alert to conversations, commands and movement around you while the electronic system reacts to sudden harmful noise.\u003c\/p\u003e\n\u003cdiv class=\"bosveld-hearing-benefit-grid\"\u003e\n\u003cdiv class=\"bosveld-hearing-benefit\"\u003e\n\u003cspan class=\"bosveld-hearing-benefit-check\"\u003e✓\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-benefit-text\"\u003e Hear speech and range commands more clearly \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-benefit\"\u003e\n\u003cspan class=\"bosveld-hearing-benefit-check\"\u003e✓\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-benefit-text\"\u003e Automatically suppress sudden noise above 82dB \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-benefit\"\u003e\n\u003cspan class=\"bosveld-hearing-benefit-check\"\u003e✓\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-benefit-text\"\u003e Remain aware of activity in your surroundings \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-benefit\"\u003e\n\u003cspan class=\"bosveld-hearing-benefit-check\"\u003e✓\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-benefit-text\"\u003e Enjoy a comfortable fit during extended use \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-benefit\"\u003e\n\u003cspan class=\"bosveld-hearing-benefit-check\"\u003e✓\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-benefit-text\"\u003e Pack and transport the foldable design easily \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"bosveld-hearing-spec-panel\"\u003e\n\u003ch2 class=\"bosveld-hearing-heading\"\u003eSpecifications\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-hearing-spec-list\"\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eNoise reduction\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003eNRR 22dB\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eSound control\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003e Electronic amplification with automatic cut-off \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eNoise threshold\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003e Suppresses harmful noise spikes above 82dB \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eDesign\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003e Foldable, compact and low profile \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eHeadband\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003e Padded and adjustable \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-spec-row\"\u003e\n\u003cspan class=\"bosveld-hearing-spec-label\"\u003eAvailable colours\u003c\/span\u003e \u003cspan class=\"bosveld-hearing-spec-value\"\u003e Olive Green, Desert Brown, Grey and Black \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003ch2 class=\"bosveld-hearing-heading\"\u003eChoose your colour\u003c\/h2\u003e\n\u003cdiv class=\"bosveld-hearing-colours\"\u003e\n\u003cdiv class=\"bosveld-hearing-colour\"\u003e\n\u003cspan class=\"bosveld-hearing-swatch bosveld-hearing-swatch--green\"\u003e\u003c\/span\u003e Olive Green\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-colour\"\u003e\n\u003cspan class=\"bosveld-hearing-swatch bosveld-hearing-swatch--black\"\u003e\u003c\/span\u003e Black\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-colour\"\u003e\n\u003cspan class=\"bosveld-hearing-swatch bosveld-hearing-swatch--grey\"\u003e\u003c\/span\u003e Grey\u003c\/div\u003e\n\u003cdiv class=\"bosveld-hearing-colour\"\u003e\n\u003cspan class=\"bosveld-hearing-swatch bosveld-hearing-swatch--brown\"\u003e\u003c\/span\u003e Desert Brown\u003c\/div\u003e\n\u003c\/div\u003e\n\u003csection class=\"bosveld-hearing-review-section\"\u003e\n\u003ch2 class=\"bosveld-hearing-heading\"\u003eSouth African customer feedback\u003c\/h2\u003e\n\u003cp class=\"bosveld-hearing-review-intro\"\u003eBuilt for demanding range days, outdoor use and high-noise working environments.\u003c\/p\u003e\n\u003cdiv class=\"bosveld-hearing-review-grid\"\u003e\n\u003c!-- Replace sample review with genuine customer feedback --\u003e\n\u003carticle class=\"bosveld-hearing-review-card\"\u003e\n\u003cdiv class=\"bosveld-hearing-review-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-hearing-review-quote\"\u003e“I can hear instructions clearly on the range, but the sharp noise is cut immediately. The padded headband also stays comfortable throughout a full training session.”\u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-hearing-reviewer\"\u003e\n\u003cspan class=\"bosveld-hearing-review-avatar\" role=\"img\"\u003e 👨🏿 \u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"bosveld-hearing-review-name\"\u003e Sibusiso M. \u003c\/strong\u003e \u003cspan class=\"bosveld-hearing-review-location\"\u003e Johannesburg, Gauteng \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c!-- Replace sample review with genuine customer feedback --\u003e\n\u003carticle class=\"bosveld-hearing-review-card\"\u003e\n\u003cdiv class=\"bosveld-hearing-review-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-hearing-review-quote\"\u003e“The electronic amplification works very well around machinery. I can still communicate with my team while getting solid protection from sudden loud noise.”\u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-hearing-reviewer\"\u003e\n\u003cspan class=\"bosveld-hearing-review-avatar\" role=\"img\"\u003e 👩🏿 \u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"bosveld-hearing-review-name\"\u003e Naledi K. \u003c\/strong\u003e \u003cspan class=\"bosveld-hearing-review-location\"\u003e Pretoria, Gauteng \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c!-- Replace sample review with genuine customer feedback --\u003e\n\u003carticle class=\"bosveld-hearing-review-card\"\u003e\n\u003cdiv class=\"bosveld-hearing-review-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cblockquote class=\"bosveld-hearing-review-quote\"\u003e“Compact, comfortable and easy to carry in my range bag. The sound cut-off reacts quickly, and the olive-green finish matches the rest of my outdoor kit perfectly.”\u003c\/blockquote\u003e\n\u003cdiv class=\"bosveld-hearing-reviewer\"\u003e\n\u003cspan class=\"bosveld-hearing-review-avatar\" role=\"img\"\u003e 👨🏻 \u003c\/span\u003e\n\u003cdiv\u003e\n\u003cstrong class=\"bosveld-hearing-review-name\"\u003e Johan V. \u003c\/strong\u003e \u003cspan class=\"bosveld-hearing-review-location\"\u003e Bloemfontein, Free State \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv class=\"bosveld-hearing-cta\"\u003e\n\u003ch2 class=\"bosveld-hearing-cta-title\"\u003eProtect your hearing for R899\u003c\/h2\u003e\n\u003cp class=\"bosveld-hearing-cta-text\"\u003eGet reliable noise reduction, electronic situational awareness and all-day comfort in one compact tactical design.\u003c\/p\u003e\n\u003ca class=\"bosveld-hearing-cta-button\" href=\"#MainContent\"\u003e Order Yours Now \u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp class=\"bosveld-hearing-final-tagline\"\u003eAwareness. Protection. Performance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","brand":"Bosveld Tactical","offers":[{"title":"Green","offer_id":48329863299225,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Brown","offer_id":48329863364761,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray","offer_id":48329863331993,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":48329863266457,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPT_Image_Sep_1_2026_09_50_54_PM.png?v=1788292591"},{"product_id":"pro-shield-storage-case-copy","title":"Pro-Shield Storage Case","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=\"Bosveld Hearing Protection Storage Case made from heavy-duty Hard EVA fabric with multiple pockets, secure zip closure and a padded shoulder strap.\"\u003e\n  \u003ctitle\u003eBosveld Hearing Protection Storage Case\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 id=\"hearing-case-shopify-safe-visual\"\u003e\n\/* Shopify-safe Hearing Protection Case visual *\/\n.bosveld-earmuff-case .bosveld-case-handle,\n.bosveld-earmuff-case .bosveld-case-shell,\n.bosveld-earmuff-case .bosveld-case-zip,\n.bosveld-earmuff-case .bosveld-headband,\n.bosveld-earmuff-case .bosveld-earcup,\n.bosveld-earmuff-case .bosveld-case-pocket{\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.bosveld-earmuff-case{\n  position:relative !important;\n  z-index:10 !important;\n  display:block !important;\n  visibility:visible !important;\n  opacity:1 !important;\n  width:min(650px,86%) !important;\n  height:330px !important;\n  margin:0 auto !important;\n  transform:none !important;\n  animation:none !important;\n}\n\n\/* Remove the oversized empty decorative halo\/ripple from this product *\/\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:460px !important;\n  display:flex !important;\n  align-items:center !important;\n  justify-content:center !important;\n  padding:68px 24px 34px !important;\n}\n\n.bosveld-earmuff-case .bosveld-case-shell{\n  inset:42px 54px 34px !important;\n}\n\n.bosveld-earmuff-case .bosveld-case-handle{\n  top:5px !important;\n  left:50% !important;\n  transform:translateX(-50%) !important;\n}\n\n.bosveld-earmuff-case .bosveld-case-zip{\n  top:65px !important;\n  left:80px !important;\n  right:80px !important;\n}\n\n.bosveld-earmuff-case .bosveld-headband{\n  top:74px !important;\n  left:50% !important;\n  transform:translateX(-50%) !important;\n}\n\n.bosveld-earmuff-case .bosveld-earcup--left{\n  left:126px !important;\n}\n\n.bosveld-earmuff-case .bosveld-earcup--right{\n  right:126px !important;\n}\n\n.bosveld-earmuff-case .bosveld-brand-mark{\n  z-index:20 !important;\n  top:150px !important;\n  width:220px !important;\n  font-size:.68rem !important;\n  background:#3a462c !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:375px !important;\n    padding:58px 12px 26px !important;\n  }\n\n  .bosveld-earmuff-case{\n    width:92% !important;\n    height:250px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-case-shell{\n    inset:34px 34px 28px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-headband{\n    top:61px !important;\n    width:245px !important;\n    height:115px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-earcup--left{\n    left:78px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-earcup--right{\n    right:78px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-brand-mark{\n    top:112px !important;\n    width:170px !important;\n  }\n}\n\n@media(max-width:430px){\n  .bosveld-product-visual{\n    min-height:305px !important;\n    padding:50px 6px 20px !important;\n  }\n\n  .bosveld-earmuff-case{\n    width:96% !important;\n    height:205px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-case-shell{\n    inset:30px 18px 24px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-headband{\n    top:54px !important;\n    width:188px !important;\n    height:91px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-earcup--left{\n    left:47px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-earcup--right{\n    right:47px !important;\n  }\n\n  .bosveld-earmuff-case .bosveld-brand-mark{\n    top:92px !important;\n    width:138px !important;\n    font-size:.56rem !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\n    \u003cspan class=\"bosveld-decoration bosveld-decoration--two\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\n\n    \u003cdiv class=\"bosveld-rod-container\"\u003e\n      \u003cp class=\"bosveld-eyebrow\"\u003e\n        Built for serious shooters\n      \u003c\/p\u003e\n\n      \u003ch1 class=\"bosveld-title\"\u003e\n        Bosveld Hearing\n        \u003cspan\u003eProtection Case\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp class=\"bosveld-tagline\"\u003e\n        Protect your gear. Stay organised. Arrive ready.\n      \u003c\/p\u003e\n\n      \u003cp class=\"bosveld-intro\"\u003e\n        The Bosveld Hearing Protection Storage Case is built for shooters who take their\n        gear seriously. Whether you're heading to the dam, the river, or the\n        coast, this rugged Hard EVA fabric rod case keeps your rods, reels, and\n        tackle organised and protected on every trip.\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\u003eHard EVA\u003c\/strong\u003e\n            \u003cspan\u003eImpact-resistant shell\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"bosveld-rod-bag bosveld-earmuff-case\" role=\"img\" aria-label=\"Bosveld Hearing Protection Storage Case\"\u003e\n          \u003cdiv class=\"bosveld-strap bosveld-case-handle\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-body bosveld-case-shell\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-zip-line bosveld-case-zip\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-headband\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-earcup bosveld-earcup--left\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-earcup bosveld-earcup--right\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-pocket bosveld-pocket--one bosveld-case-pocket\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-brand-mark\"\u003eHearing Protection Case\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\"\u003e\n          Benefits at home and on the range\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bosveld-section-intro\"\u003e\n          Built to protect valuable equipment, reduce clutter and help you\n          arrive at the range organised and ready.\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\u003eProtect Your Investment\u003c\/strong\u003e\n            \u003cp\u003e\n              The tough EVA shell helps protect earmuffs and eyewear from knocks,\n              scratches, dust and moisture.\n            \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\u003eStay Organised\u003c\/strong\u003e\n            \u003cp\u003e\n              Keep hearing protection, shooting glasses and small accessories neatly\n              stored together in one convenient case.\n            \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\u003eTravel with Confidence\u003c\/strong\u003e\n            \u003cp\u003e\n              The compact, lightweight design fits easily into a range bag,\n              backpack or kit box without adding unnecessary bulk.\n            \u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n      \u003c\/section\u003e\n\n      \n\u003csection class=\"bosveld-section bosveld-reveal\" id=\"features\"\u003e\n  \u003ch2 class=\"bosveld-section-heading\"\u003e\n    Key features\n  \u003c\/h2\u003e\n\n  \u003cp class=\"bosveld-section-intro\"\u003e\n    A step-by-step look at the details that make this case practical for storage and range days.\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\u003eHard-shell EVA Construction\u003c\/strong\u003e\n        \u003cp\u003eCrush-resistant and lightweight construction helps protect valuable range equipment.\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\u003eMulti-purpose Design\u003c\/strong\u003e\n        \u003cp\u003eFits most standard noise-canceling earmuffs, hearing protection and shooting glasses.\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\u003eIntegrated Accessory Pouch\u003c\/strong\u003e\n        \u003cp\u003eKeeps foam plugs, batteries, spare lenses and cleaning cloths organised separately.\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\u003ePortable \u0026amp; Compact\u003c\/strong\u003e\n        \u003cp\u003ePacks easily into a range bag, backpack, vehicle compartment or kit box.\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\u003eProfessional-grade Utility\u003c\/strong\u003e\n        \u003cp\u003eSuitable for hunters, competitive shooters, range officers and security professionals.\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\u003eSecure Zip Closure\u003c\/strong\u003e\n        \u003cp\u003eKeeps the case closed and your equipment safely contained during transport.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/article\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n      \n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n  \u003ch2 class=\"bosveld-section-heading\"\u003e\n    Product specifications\n  \u003c\/h2\u003e\n\n  \u003cp class=\"bosveld-section-intro\"\u003e\n    Clear, practical details at a glance.\n  \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\"\u003eMaterial\u003c\/th\u003e\n          \u003ctd\u003eHard-shell EVA\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eColour\u003c\/th\u003e\n          \u003ctd\u003eBlack\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eDesign\u003c\/th\u003e\n          \u003ctd\u003eStructured protective case\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eCarry Style\u003c\/th\u003e\n          \u003ctd\u003eIntegrated carry handle\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n          \u003ctd\u003eMain compartment with accessory pouch\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003cth scope=\"row\"\u003eSuitable For\u003c\/th\u003e\n          \u003ctd\u003eHome storage, travel and shooting ranges\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      \n\u003csection class=\"bosveld-section bosveld-reveal\" id=\"reviews\"\u003e\n  \u003ch2 class=\"bosveld-section-heading\"\u003e\n    What South African shooters are saying\n  \u003c\/h2\u003e\n\n  \u003cp class=\"bosveld-section-intro\"\u003e\n    One featured review with two quick customer highlights.\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\n        ★★★★★\n      \u003c\/div\u003e\n\n      \u003cblockquote class=\"bosveld-review-quote\"\u003e\n        “Excellent quality. My electronic earmuffs fit perfectly, and there is still space for my safety glasses and spare batteries.”\n      \u003c\/blockquote\u003e\n\n      \u003cstrong class=\"bosveld-reviewer-name\"\u003e\n        Ruan K.\n      \u003c\/strong\u003e\n\n      \u003cspan class=\"bosveld-reviewer-location\"\u003e\n        Pretoria, Gauteng\n      \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\n          ★★★★★\n        \u003c\/div\u003e\n\n        \u003cblockquote class=\"bosveld-review-quote\"\u003e\n          “Strong, lightweight and well made. It keeps everything organised in my range bag and protects my gear while travelling.”\n        \u003c\/blockquote\u003e\n\n        \u003cstrong class=\"bosveld-reviewer-name\"\u003e\n          Mandla D.\n        \u003c\/strong\u003e\n\n        \u003cspan class=\"bosveld-reviewer-location\"\u003e\n          Bloemfontein, Free State\n        \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\n          ★★★★★\n        \u003c\/div\u003e\n\n        \u003cblockquote class=\"bosveld-review-quote\"\u003e\n          “The inner pouch is ideal for foam plugs and cleaning cloths, and the case is compact enough to carry anywhere.”\n        \u003c\/blockquote\u003e\n\n        \u003cstrong class=\"bosveld-reviewer-name\"\u003e\n          Heinrich B.\n        \u003c\/strong\u003e\n\n        \u003cspan class=\"bosveld-reviewer-location\"\u003e\n          Durban, KwaZulu-Natal\n        \u003c\/span\u003e\n      \u003c\/article\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\n      \u003cdiv class=\"bosveld-section bosveld-reveal\" style=\"padding:22px 24px;border-left:6px solid var(--olive);background:#edf1e1;\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e Case only. Earmuffs, shooting glasses and accessories shown are for illustration purposes and are not included.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n        \u003cdiv\u003e\n          \u003ch2\u003eReady for your next range day?\u003c\/h2\u003e\n\n          \u003cp\u003e\n            Protect your hearing equipment, organise your accessories and arrive\n            at the range ready.\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\"\u003e\n            View Product Features\n          \u003c\/a\u003e\n\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\"\u003e\n        Gear. Protection. Readiness.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cscript\u003e\n    document.addEventListener(\"DOMContentLoaded\", function () {\n      const revealItems =\n        document.querySelectorAll(\".bosveld-reveal\");\n\n      if (\"IntersectionObserver\" in window) {\n        const observer = new IntersectionObserver(\n          function (entries, revealObserver) {\n            entries.forEach(function (entry) {\n              if (!entry.isIntersecting) {\n                return;\n              }\n\n              entry.target.classList.add(\"is-visible\");\n              revealObserver.unobserve(entry.target);\n            });\n          },\n          {\n            threshold: 0.14\n          }\n        );\n\n        revealItems.forEach(function (item) {\n          observer.observe(item);\n        });\n      } else {\n        revealItems.forEach(function (item) {\n          item.classList.add(\"is-visible\");\n        });\n      }\n\n      document\n        .querySelectorAll('.bosveld-rod-section a[href^=\"#\"]')\n        .forEach(function (link) {\n          link.addEventListener(\"click\", function (event) {\n            const target =\n              document.querySelector(link.getAttribute(\"href\"));\n\n            if (!target) {\n              return;\n            }\n\n            event.preventDefault();\n\n            target.scrollIntoView({\n              behavior: \"smooth\",\n              block: \"start\"\n            });\n          });\n        });\n    });\n  \u003c\/script\u003e\n\n  \u003cscript\u003e\n    document.addEventListener(\"DOMContentLoaded\", function () {\n      const canHover =\n        window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches;\n\n      if (canHover) {\n        const tiltItems = document.querySelectorAll(\n          \".bosveld-benefit-card, .bosveld-feature-card, .bosveld-spec-card, .bosveld-review-card\"\n        );\n\n        tiltItems.forEach(function (card) {\n          card.addEventListener(\"mousemove\", function (event) {\n            const rect = card.getBoundingClientRect();\n            const x = event.clientX - rect.left;\n            const y = event.clientY - rect.top;\n            const rotateY = ((x \/ rect.width) - 0.5) * 7;\n            const rotateX = ((y \/ rect.height) - 0.5) * -7;\n\n            card.style.transform =\n              \"perspective(800px) rotateX(\" +\n              rotateX +\n              \"deg) rotateY(\" +\n              rotateY +\n              \"deg) translateY(-6px)\";\n          });\n\n          card.addEventListener(\"mouseleave\", function () {\n            card.style.transform = \"\";\n          });\n        });\n\n        const visual = document.querySelector(\"[data-parallax]\");\n        const product = document.querySelector(\".bosveld-earmuff-case\");\n\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\n            product.style.animation = \"none\";\n            product.style.transform =\n              \"rotateY(\" +\n              x * 8 +\n              \"deg) rotateX(\" +\n              y * -6 +\n              \"deg) translate3d(\" +\n              x * 14 +\n              \"px,\" +\n              y * 10 +\n              \"px,20px)\";\n          });\n\n          visual.addEventListener(\"mouseleave\", function () {\n            product.style.transform = \"\";\n            product.style.animation =\n              \"bosveld-product-float 4s ease-in-out infinite\";\n          });\n        }\n      }\n\n      const sections =\n        document.querySelectorAll(\".bosveld-section, .bosveld-cta\");\n\n      sections.forEach(function (section, index) {\n        section.style.transitionDelay = index * 0.04 + \"s\";\n      });\n\n      const reviewCards =\n        document.querySelectorAll(\".bosveld-review-card\");\n\n      reviewCards.forEach(function (card) {\n        card.addEventListener(\"click\", function () {\n          reviewCards.forEach(function (item) {\n            item.classList.remove(\"is-selected\");\n          });\n\n          card.classList.add(\"is-selected\");\n        });\n      });\n    });\n  \u003c\/script\u003e\n\n\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  document.querySelectorAll(\".bosveld-earmuff-case\").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":48343630479513,"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_08_37_55PM.png?v=1784660173"},{"product_id":"bushstrike-tactical-gun-case","title":"BushStrike Tactical Gun Case","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=\"BushStrike Tactical Gun Case made from heavy-duty Oxford fabric with padded protection, multiple zippered pockets and convertible backpack straps.\"\u003e\n  \u003ctitle\u003eBushStrike Tactical Gun Case\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\u003cstyle id=\"bushstrike-shopify-safe-visual\"\u003e\n\/* Shopify-safe BushStrike visual — prevent empty structural elements being stripped *\/\n.tactical-sling,\n.tactical-handle,\n.tactical-case-body,\n.tactical-case-zip,\n.tactical-pocket,\n.tactical-webbing{\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.bosveld-tactical-case{\n  position:relative !important;\n  z-index:10 !important;\n  display:block !important;\n  visibility:visible !important;\n  opacity:1 !important;\n  width:min(820px,92%) !important;\n  height:350px !important;\n  margin:0 auto !important;\n  transform:none !important;\n  animation:none !important;\n}\n\n\/* Remove the giant empty halo\/ripple that makes the product look silly when shapes fail *\/\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:470px !important;\n  display:flex !important;\n  align-items:center !important;\n  justify-content:center !important;\n  padding:68px 24px 36px !important;\n}\n\n.tactical-case-body{\n  inset:58px 46px 42px 38px !important;\n}\n\n.tactical-handle{\n  top:19px !important;\n  left:50% !important;\n  transform:translateX(-50%) !important;\n}\n\n.tactical-sling{\n  top:83px !important;\n  left:50% !important;\n  width:min(470px,64%) !important;\n  transform:translateX(-50%) rotate(-4deg) !important;\n}\n\n.tactical-brand{\n  z-index:20 !important;\n  width:180px !important;\n  background:#594326 !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:390px !important;\n    padding:58px 12px 28px !important;\n  }\n\n  .bosveld-tactical-case{\n    width:96% !important;\n    height:280px !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  .bosveld-tactical-case{\n    width:98% !important;\n    height:220px !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  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eEngineered for serious shooters\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      BushStrike Tactical\n      \u003cspan\u003eSoft Gun Case\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eBuilt for the Field. Ready for the Range.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      Imagine arriving at the range with everything exactly where you need it — your rifle secured, your accessories organised, and your hands free. The BushStrike Tactical Gun Case is engineered for serious shooters who demand reliability, organisation, and durability in one rugged package.\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\u003eOxford\u003c\/strong\u003e\n          \u003cspan\u003eField-ready fabric\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-tactical-case\" role=\"img\" aria-label=\"BushStrike Tactical Gun Case in tan or coyote brown\"\u003e\n        \u003cdiv class=\"tactical-sling\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-handle\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-case-body\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-case-zip\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-pocket tactical-pocket--one\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-pocket tactical-pocket--two\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-pocket tactical-pocket--three\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-webbing\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"tactical-brand\"\u003eBushStrike\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\"\u003eProtection, organisation and freedom\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eBuilt to secure your firearm, organise essential gear and adapt to the way you move.\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\u003eProtect Your Investment\u003c\/strong\u003e\n          \u003cp\u003eA padded interior helps shield your rifle or shotgun from knocks, scratches and everyday transport wear.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🎒\u003c\/div\u003e\n          \u003cstrong\u003eMove Hands-Free\u003c\/strong\u003e\n          \u003cp\u003eThe adjustable dual sling system converts the case into a backpack for easier movement across rough ground.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\n          \u003cdiv class=\"bosveld-benefit-icon\" aria-hidden=\"true\"\u003e🧰\u003c\/div\u003e\n          \u003cstrong\u003eStay Mission-Ready\u003c\/strong\u003e\n          \u003cp\u003eMultiple external pockets keep magazines, cleaning gear and accessories separated and within easy reach.\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\"\u003eRugged, practical details designed for the SA bush, the shooting range and everything in between.\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\u003eMulti-Pocket Design\u003c\/strong\u003e\u003cp\u003eMultiple external zippered pockets keep accessories, magazines and cleaning equipment neatly organised and instantly accessible.\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\u003eAdjustable Dual Sling System\u003c\/strong\u003e\u003cp\u003eConvert from a traditional carry bag to a full backpack in seconds using the adjustable dual shoulder harness.\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\u003eDurable Oxford Fabric\u003c\/strong\u003e\u003cp\u003eThe tough, water-resistant outer shell is made to handle rough terrain, dust and changing outdoor conditions.\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\u003ePadded Interior\u003c\/strong\u003e\u003cp\u003eInternal padding helps protect your rifle or shotgun from bumps and scratches during storage and transport.\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\u003eHeavy-Duty Zippers\u003c\/strong\u003e\u003cp\u003eSmooth, dependable closures are designed to operate reliably without snagging when access matters.\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\u003eFits Rifles \u0026amp; Shotguns\u003c\/strong\u003e\u003cp\u003eThe long-case profile accommodates most standard rifles and shotguns while maintaining a streamlined carry shape.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-feature-step\"\u003e\u003cspan class=\"bosveld-feature-step-number\"\u003e07\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eReinforced Carry Handle\u003c\/strong\u003e\u003cp\u003eA strong top handle provides a fast, convenient grab-and-go option for short carries and vehicle loading.\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\"\u003eProduct specifications\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eClear, practical details at a glance.\u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-spec-table-wrap\"\u003e\n        \u003ctable class=\"bosveld-spec-table\"\u003e\u003ctbody\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eProduct\u003c\/th\u003e\n\u003ctd\u003eBushStrike Tactical Gun Case\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaterial\u003c\/th\u003e\n\u003ctd\u003eHeavy-duty Oxford fabric\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCarry Options\u003c\/th\u003e\n\u003ctd\u003eReinforced top handle and adjustable dual backpack sling\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eClosure\u003c\/th\u003e\n\u003ctd\u003eHeavy-duty zip closures\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eInterior\u003c\/th\u003e\n\u003ctd\u003ePadded protective lining\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eStorage\u003c\/th\u003e\n\u003ctd\u003eMain firearm compartment with multiple external zippered pockets\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCompatibility\u003c\/th\u003e\n\u003ctd\u003eMost standard rifles and shotguns\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eColour\u003c\/th\u003e\n\u003ctd\u003eBlack, Khaki, Army Green \u0026amp; Camouflage\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\u003c\/table\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"tactical-colour-row\" aria-label=\"Available colour\"\u003e\n        \u003cspan class=\"tactical-colour\"\u003e\u003cspan class=\"tactical-swatch\"\u003e\u003c\/span\u003eBlack, Khaki, Army Green \u0026amp; Camouflage\u003c\/span\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\"\u003eBuilt around the way you carry\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eOne rugged case for organised range days, demanding field use and secure transport.\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-hidden=\"true\"\u003e🎯\u003c\/div\u003e\n          \u003cblockquote class=\"bosveld-review-quote\"\u003eArrive at the range with your rifle protected and your essential equipment sorted into dedicated, easy-access pockets.\u003c\/blockquote\u003e\n          \u003cstrong class=\"bosveld-reviewer-name\"\u003eRange Ready\u003c\/strong\u003e\n          \u003cspan class=\"bosveld-reviewer-location\"\u003eOrganised equipment and fast access\u003c\/span\u003e\n        \u003c\/article\u003e\n        \u003cdiv class=\"bosveld-review-mini-list\"\u003e\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-hidden=\"true\"\u003e🌾\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003eUse the dual backpack straps to keep your hands free while moving through the bush or carrying additional gear.\u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eField Mobility\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eAdaptable carry for rough terrain\u003c\/span\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"bosveld-review-mini\"\u003e\n            \u003cdiv class=\"bosveld-review-stars\" aria-hidden=\"true\"\u003e🚙\u003c\/div\u003e\n            \u003cblockquote class=\"bosveld-review-quote\"\u003eThe padded construction and reinforced handle make loading, storing and transporting your firearm more controlled and convenient.\u003c\/blockquote\u003e\n            \u003cstrong class=\"bosveld-reviewer-name\"\u003eSecure Transport\u003c\/strong\u003e\n            \u003cspan class=\"bosveld-reviewer-location\"\u003eProtection from vehicle to firing line\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\u003ePlease note:\u003c\/strong\u003e Case only. Firearm, magazines, ammunition, optics and accessories shown or referenced are not included. Confirm your firearm dimensions against the case measurements before purchase and transport firearms in accordance with applicable laws and range rules.\n    \u003c\/div\u003e\n\n    \n\u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n\u003ch2 class=\"bosveld-section-heading\"\u003eAvailable Colours\u003c\/h2\u003e\n\u003cp class=\"bosveld-section-intro\"\u003eChoose the finish that suits your environment.\u003c\/p\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;\"\u003e\n  \u003cdiv style=\"border:1px solid #ddd;border-radius:14px;padding:14px;text-align:center;\"\u003e\n    \u003cdiv style=\"height:80px;border-radius:10px;background:#222;margin-bottom:12px;\"\u003e\u003c\/div\u003e\n    \u003cstrong\u003eBlack\u003c\/strong\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"border:1px solid #ddd;border-radius:14px;padding:14px;text-align:center;\"\u003e\n    \u003cdiv style=\"height:80px;border-radius:10px;background:#b08a4a;margin-bottom:12px;\"\u003e\u003c\/div\u003e\n    \u003cstrong\u003eKhaki\u003c\/strong\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"border:1px solid #ddd;border-radius:14px;padding:14px;text-align:center;\"\u003e\n    \u003cdiv style=\"height:80px;border-radius:10px;background:#5c6f46;margin-bottom:12px;\"\u003e\u003c\/div\u003e\n    \u003cstrong\u003eArmy Green\u003c\/strong\u003e\n  \u003c\/div\u003e\n  \u003cdiv style=\"border:1px solid #ddd;border-radius:14px;padding:14px;text-align:center;\"\u003e\n    \u003cdiv style=\"height:80px;border-radius:10px;background:linear-gradient(45deg,#7b6642,#3f5a35,#8d7350,#5a4632);margin-bottom:12px;\"\u003e\u003c\/div\u003e\n    \u003cstrong\u003eCamouflage\u003c\/strong\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady for your next range day?\u003c\/h2\u003e\n        \u003cp\u003eProtect your firearm, organise your accessories and choose the carry setup that keeps you moving.\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\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\"\u003eProtection. Organisation. Readiness.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\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\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  document.querySelectorAll(\".bosveld-tactical-case\").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":"Medium \/ Black","offer_id":48348952690841,"sku":null,"price":849.0,"currency_code":"ZAR","in_stock":true},{"title":"Medium \/ Khaki","offer_id":48348965535897,"sku":null,"price":849.0,"currency_code":"ZAR","in_stock":true},{"title":"Medium \/ Army Green","offer_id":48348965568665,"sku":null,"price":849.0,"currency_code":"ZAR","in_stock":true},{"title":"Medium \/ Camouflage","offer_id":48348965601433,"sku":null,"price":849.0,"currency_code":"ZAR","in_stock":true},{"title":"Large \/ Black","offer_id":48348952723609,"sku":null,"price":1049.0,"currency_code":"ZAR","in_stock":true},{"title":"Large \/ Khaki","offer_id":48348965634201,"sku":null,"price":1049.0,"currency_code":"ZAR","in_stock":true},{"title":"Large \/ Army Green","offer_id":48348965666969,"sku":null,"price":1049.0,"currency_code":"ZAR","in_stock":true},{"title":"Large \/ Camouflage","offer_id":48348965699737,"sku":null,"price":1049.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul22_2026_12_31_24PM.png?v=1784716516"},{"product_id":"heavy-duty-zinc-alloy-combination-trigger-lock","title":"Heavy-Duty Zinc Alloy Combination Trigger Lock","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=\"Heavy-Duty Zinc Alloy Combination Trigger Lock with corrosion-resistant construction, keyless access and broad firearm compatibility.\"\u003e\n  \u003ctitle\u003eHeavy-Duty Zinc Alloy Combination Trigger Lock\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    .lock-visual {\n      position: relative;\n      z-index: 3;\n      width: min(680px, 92%);\n      height: 390px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .trigger-context {\n      position: absolute;\n      left: 50%;\n      bottom: 42px;\n      width: 520px;\n      height: 210px;\n      border: 18px solid rgba(38, 53, 31, 0.12);\n      border-left-width: 42px;\n      border-radius: 110px 48px 48px 110px;\n      transform: translateX(-50%) rotate(-3deg);\n    }\n\n    .trigger-context::before {\n      position: absolute;\n      top: 48px;\n      left: 122px;\n      width: 140px;\n      height: 90px;\n      border: 16px solid rgba(38, 53, 31, 0.13);\n      border-top: 0;\n      border-radius: 0 0 85px 85px;\n      content: \"\";\n      transform: rotate(-10deg);\n    }\n\n    .trigger-context::after {\n      position: absolute;\n      top: 58px;\n      left: 180px;\n      width: 18px;\n      height: 92px;\n      border-radius: 999px;\n      background: rgba(38, 53, 31, 0.15);\n      content: \"\";\n      transform: rotate(18deg);\n    }\n\n    .trigger-lock-product {\n      position: absolute;\n      top: 42px;\n      left: 50%;\n      width: 390px;\n      height: 270px;\n      transform: translateX(-50%) rotate(-4deg);\n      filter: drop-shadow(0 28px 28px rgba(28, 34, 27, 0.24));\n    }\n\n    .trigger-lock-half {\n      position: absolute;\n      top: 44px;\n      width: 190px;\n      height: 190px;\n      border: 9px solid #111511;\n      border-radius: 56px 30px 30px 56px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.09), transparent 32%),\n        linear-gradient(145deg, #3a423a, #171b17 72%);\n      box-shadow:\n        inset 0 0 0 4px rgba(255,255,255,.03),\n        inset -16px -18px 24px rgba(0,0,0,.25);\n    }\n\n    .trigger-lock-half--left {\n      left: 0;\n    }\n\n    .trigger-lock-half--right {\n      right: 0;\n      border-radius: 30px 56px 56px 30px;\n    }\n\n    .trigger-lock-half::before {\n      position: absolute;\n      top: 50%;\n      width: 48px;\n      height: 96px;\n      border: 7px solid #0e120e;\n      border-radius: 18px;\n      background:\n        repeating-linear-gradient(\n          90deg,\n          #202620 0 5px,\n          #303830 5px 10px\n        );\n      content: \"\";\n      transform: translateY(-50%);\n    }\n\n    .trigger-lock-half--left::before {\n      right: -24px;\n    }\n\n    .trigger-lock-half--right::before {\n      left: -24px;\n    }\n\n    .trigger-lock-pin {\n      position: absolute;\n      z-index: 5;\n      top: 116px;\n      left: 50%;\n      width: 112px;\n      height: 42px;\n      border: 7px solid #101410;\n      border-radius: 999px;\n      background: linear-gradient(145deg, #596159, #242a24);\n      transform: translateX(-50%);\n      box-shadow: inset 0 0 0 3px rgba(255,255,255,.04);\n    }\n\n    .trigger-lock-dials {\n      position: absolute;\n      z-index: 7;\n      top: 78px;\n      left: 48px;\n      display: grid;\n      grid-template-columns: repeat(3, 46px);\n      gap: 8px;\n    }\n\n    .trigger-lock-dial {\n      position: relative;\n      display: grid;\n      width: 46px;\n      height: 72px;\n      place-items: center;\n      overflow: hidden;\n      border: 5px solid #0d110d;\n      border-radius: 12px;\n      color: #edf2e6;\n      font-size: 1.2rem;\n      font-weight: 900;\n      background:\n        repeating-linear-gradient(\n          0deg,\n          #626a61 0 5px,\n          #303630 5px 10px\n        );\n      box-shadow: inset 0 0 10px rgba(0,0,0,.32);\n    }\n\n    .trigger-lock-dial::before,\n    .trigger-lock-dial::after {\n      position: absolute;\n      left: 0;\n      width: 100%;\n      height: 14px;\n      background: linear-gradient(to bottom, rgba(0,0,0,.46), transparent);\n      content: \"\";\n    }\n\n    .trigger-lock-dial::before {\n      top: 0;\n    }\n\n    .trigger-lock-dial::after {\n      bottom: 0;\n      transform: rotate(180deg);\n    }\n\n    .trigger-lock-release {\n      position: absolute;\n      z-index: 7;\n      right: 55px;\n      top: 86px;\n      width: 66px;\n      height: 66px;\n      border: 7px solid #0f130f;\n      border-radius: 50%;\n      background:\n        radial-gradient(circle, #728069 0 32%, #2d342d 34% 100%);\n      box-shadow:\n        inset 0 0 0 4px rgba(255,255,255,.04),\n        0 10px 20px rgba(0,0,0,.2);\n    }\n\n    .trigger-lock-release::after {\n      position: absolute;\n      top: 50%;\n      left: 50%;\n      width: 24px;\n      height: 7px;\n      border-radius: 999px;\n      background: #dbe4d2;\n      content: \"\";\n      transform: translate(-50%, -50%) rotate(-35deg);\n    }\n\n    .trigger-lock-brand {\n      position: absolute;\n      z-index: 8;\n      left: 50%;\n      bottom: 22px;\n      width: 230px;\n      padding: 12px 16px;\n      border: 2px solid rgba(236, 242, 225, 0.52);\n      border-radius: 999px;\n      color: #eff4e8;\n      font-size: 0.72rem;\n      font-weight: 900;\n      letter-spacing: 0.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    .trigger-lock-metal-shine {\n      position: absolute;\n      z-index: 9;\n      top: 56px;\n      left: 50%;\n      width: 300px;\n      height: 20px;\n      overflow: hidden;\n      border-radius: 999px;\n      transform: translateX(-50%);\n    }\n\n    .trigger-lock-metal-shine::after {\n      position: absolute;\n      top: 0;\n      left: -45%;\n      width: 40%;\n      height: 100%;\n      background: linear-gradient(\n        90deg,\n        transparent,\n        rgba(255,255,255,.38),\n        transparent\n      );\n      content: \"\";\n      animation: bosveld-zip-shine 3.8s ease-in-out infinite;\n    }\n\n    .lock-use {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .lock-use article {\n      padding: 20px;\n      border: 1px solid var(--border);\n      border-radius: 17px;\n      background: #f8faf3;\n    }\n\n    @media (max-width: 760px) {\n      .lock-visual {\n        height: 300px;\n      }\n\n      .trigger-context {\n        width: 390px;\n        height: 165px;\n        border-width: 14px;\n        border-left-width: 30px;\n      }\n\n      .trigger-lock-product {\n        top: 34px;\n        width: 300px;\n        height: 215px;\n      }\n\n      .trigger-lock-half {\n        width: 148px;\n        height: 150px;\n        border-width: 7px;\n      }\n\n      .trigger-lock-pin {\n        top: 96px;\n        width: 88px;\n        height: 34px;\n      }\n\n      .trigger-lock-dials {\n        top: 68px;\n        left: 36px;\n        grid-template-columns: repeat(3, 35px);\n        gap: 6px;\n      }\n\n      .trigger-lock-dial {\n        width: 35px;\n        height: 56px;\n        font-size: 0.95rem;\n      }\n\n      .trigger-lock-release {\n        top: 74px;\n        right: 40px;\n        width: 52px;\n        height: 52px;\n      }\n\n      .trigger-lock-brand {\n        bottom: 8px;\n        width: 185px;\n        font-size: 0.62rem;\n      }\n    }\n\n    @media (max-width: 430px) {\n      .lock-visual {\n        width: 96%;\n        height: 250px;\n      }\n\n      .trigger-context {\n        width: 285px;\n        height: 125px;\n        bottom: 35px;\n      }\n\n      .trigger-context::before,\n      .trigger-context::after {\n        display: none;\n      }\n\n      .trigger-lock-product {\n        top: 28px;\n        width: 245px;\n        height: 185px;\n      }\n\n      .trigger-lock-half {\n        top: 38px;\n        width: 120px;\n        height: 125px;\n        border-width: 6px;\n      }\n\n      .trigger-lock-half::before {\n        width: 36px;\n        height: 72px;\n        border-width: 5px;\n      }\n\n      .trigger-lock-half--left::before {\n        right: -18px;\n      }\n\n      .trigger-lock-half--right::before {\n        left: -18px;\n      }\n\n      .trigger-lock-pin {\n        top: 86px;\n        width: 72px;\n        height: 28px;\n        border-width: 5px;\n      }\n\n      .trigger-lock-dials {\n        top: 62px;\n        left: 27px;\n        grid-template-columns: repeat(3, 28px);\n        gap: 4px;\n      }\n\n      .trigger-lock-dial {\n        width: 28px;\n        height: 47px;\n        border-width: 4px;\n        font-size: 0.78rem;\n      }\n\n      .trigger-lock-release {\n        top: 67px;\n        right: 30px;\n        width: 42px;\n        height: 42px;\n        border-width: 5px;\n      }\n\n      .trigger-lock-brand {\n        bottom: 0;\n        width: 155px;\n        padding: 9px;\n        font-size: 0.55rem;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cstyle\u003e\n    \/* Trigger-lock title overflow fix *\/\n    .triggerlock-title {\n      width: 100%;\n      max-width: 100%;\n      font-size: clamp(2.65rem, 6.25vw, 5.65rem);\n      line-height: 0.96;\n      letter-spacing: -0.055em;\n      overflow: visible;\n    }\n\n    .triggerlock-title .triggerlock-title-line {\n      display: block;\n      width: 100%;\n      max-width: 100%;\n      white-space: normal;\n      overflow-wrap: normal;\n      word-break: keep-all;\n    }\n\n    .triggerlock-title .triggerlock-title-accent {\n      color: var(--olive-medium);\n      font-size: 0.88em;\n      letter-spacing: -0.06em;\n    }\n\n    @media screen and (max-width: 760px) {\n      .triggerlock-title {\n        font-size: clamp(2.35rem, 10.5vw, 4rem);\n        letter-spacing: -0.045em;\n      }\n\n      .triggerlock-title .triggerlock-title-accent {\n        font-size: 0.84em;\n        letter-spacing: -0.045em;\n      }\n    }\n\n    @media screen and (max-width: 430px) {\n      .triggerlock-title {\n        font-size: clamp(2rem, 11vw, 3rem);\n      }\n\n      .triggerlock-title .triggerlock-title-accent {\n        font-size: 0.8em;\n      }\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eKeyless firearm security\u003c\/p\u003e\n    \u003ch1 class=\"bosveld-title triggerlock-title\"\u003e\n\u003cspan class=\"triggerlock-title-line\"\u003eHeavy-Duty\u003c\/span\u003e\u003cspan class=\"triggerlock-title-line\"\u003eZinc Alloy\u003c\/span\u003e\u003cspan class=\"triggerlock-title-line triggerlock-title-accent\"\u003eCombination\u003c\/span\u003e\u003cspan class=\"triggerlock-title-line triggerlock-title-accent\"\u003eTrigger Lock\u003c\/span\u003e\n\u003c\/h1\u003e\n    \u003cp class=\"bosveld-tagline\"\u003eSecure Your Firearm with Confidence.\u003c\/p\u003e\n    \u003cp class=\"bosveld-intro\"\u003eBuilt from premium zinc alloy, this combination trigger lock provides a robust physical barrier against unauthorised access and accidental trigger operation. Its keyless design offers straightforward owner access while supporting safer storage and transport practices.\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      \u003cdiv class=\"bosveld-product-badge\"\u003e\u003cdiv\u003e\n\u003cstrong\u003eZinc Alloy\u003c\/strong\u003e\u003cspan\u003eCorrosion-resistant body\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n      \u003cdiv class=\"lock-visual\" role=\"img\" aria-label=\"Heavy-duty black zinc alloy combination trigger lock fitted around a stylised trigger guard\"\u003e\n        \u003cdiv class=\"trigger-context\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"trigger-lock-product\"\u003e\n          \u003cdiv class=\"trigger-lock-half trigger-lock-half--left\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"trigger-lock-half trigger-lock-half--right\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"trigger-lock-pin\"\u003e\u003c\/div\u003e\n\n          \u003cdiv class=\"trigger-lock-dials\" aria-hidden=\"true\"\u003e\n            \u003cdiv class=\"trigger-lock-dial\"\u003e0\u003c\/div\u003e\n            \u003cdiv class=\"trigger-lock-dial\"\u003e0\u003c\/div\u003e\n            \u003cdiv class=\"trigger-lock-dial\"\u003e0\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"trigger-lock-release\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"trigger-lock-brand\"\u003eZinc Alloy Trigger Lock\u003c\/div\u003e\n          \u003cdiv class=\"trigger-lock-metal-shine\" aria-hidden=\"true\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \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\"\u003eSecurity without a key to lose\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eA strong, simple way to restrict trigger access during responsible storage and transport.\u003c\/p\u003e\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e🔒\u003c\/div\u003e\n\u003cstrong\u003eRestricts Trigger Access\u003c\/strong\u003e\u003cp\u003eHelps reduce accidental trigger operation and unauthorised use when correctly fitted.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e🔢\u003c\/div\u003e\n\u003cstrong\u003eKeyless Combination\u003c\/strong\u003e\u003cp\u003eNo keys to misplace — unlock using your private combination when access is required.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e🛠️\u003c\/div\u003e\n\u003cstrong\u003eHeavy-Duty Construction\u003c\/strong\u003e\u003cp\u003eCorrosion-resistant zinc alloy is designed for repeated use in storage and outdoor environments.\u003c\/p\u003e\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\"\u003ePractical security features in a compact, professional design.\u003c\/p\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\u003eHeavy-Duty Zinc Alloy\u003c\/strong\u003e\u003cp\u003eStrong, corrosion-resistant construction built for dependable repeated 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\u003eCombination Lock Mechanism\u003c\/strong\u003e\u003cp\u003eProvides keyless access without the inconvenience of a separate key.\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\u003eSleek Black Design\u003c\/strong\u003e\u003cp\u003eA low-profile, professional finish suited to storage cases and range bags.\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\u003eEnhanced Access Control\u003c\/strong\u003e\u003cp\u003eCreates a physical barrier around the trigger area to discourage unauthorised handling.\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\u003eVersatile Fit\u003c\/strong\u003e\u003cp\u003eDesigned to suit a broad range of compatible firearm trigger guards.\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\u003eCompact \u0026amp; Portable\u003c\/strong\u003e\u003cp\u003eEasy to keep with responsible-storage equipment without unnecessary bulk.\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\"\u003eWhy choose this trigger lock?\u003c\/h2\u003e\n      \u003cdiv class=\"lock-use bosveld-stagger\"\u003e\n        \u003carticle\u003e\u003cstrong\u003eResponsible Home Storage\u003c\/strong\u003e\u003cp\u003eAdd an extra layer of access restriction while your firearm is stored.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle\u003e\u003cstrong\u003eTransport Preparation\u003c\/strong\u003e\u003cp\u003eUse alongside an appropriate case and all applicable transport requirements.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle\u003e\u003cstrong\u003eRange \u0026amp; Field Organisation\u003c\/strong\u003e\u003cp\u003eKeep it with your shooting equipment so it is available when needed.\u003c\/p\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\"\u003eProduct specifications\u003c\/h2\u003e\n      \u003cdiv class=\"bosveld-spec-table-wrap\"\u003e\n        \u003ctable class=\"bosveld-spec-table\"\u003e\u003ctbody\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eProduct Type\u003c\/th\u003e\n\u003ctd\u003eCombination trigger lock\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaterial\u003c\/th\u003e\n\u003ctd\u003eHeavy-duty zinc alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eLocking Method\u003c\/th\u003e\n\u003ctd\u003eKeyless combination mechanism\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eColour\u003c\/th\u003e\n\u003ctd\u003eBlack\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eIntended Use\u003c\/th\u003e\n\u003ctd\u003eResponsible firearm storage and transport support\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCompatibility\u003c\/th\u003e\n\u003ctd\u003eSuitable for many compatible trigger guards; confirm fit before use\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\u003c\/table\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eResponsible use\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\u003eUnload First\u003c\/strong\u003e\u003cp\u003eEnsure the firearm is completely unloaded before fitting or removing the lock.\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\u003eConfirm Compatibility\u003c\/strong\u003e\u003cp\u003eVerify that the device fits correctly and does not press against the trigger.\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\u003eProtect Your Code\u003c\/strong\u003e\u003cp\u003eChoose a private combination and keep it away from unauthorised users.\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\u003eUse Proper Storage\u003c\/strong\u003e\u003cp\u003eUse alongside a suitable safe or secure case and all applicable legal requirements.\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\u003eImportant:\u003c\/strong\u003e A trigger lock does not replace a certified firearm safe, secure storage practices, supervision or legal compliance. Always unload the firearm before fitting the lock and confirm that the device does not contact the trigger.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n\u003ch2\u003eAdd confidence to your storage routine\u003c\/h2\u003e\n\u003cp\u003eChoose durable zinc-alloy construction and convenient combination access for an additional layer of firearm security.\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\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    \u003cp class=\"bosveld-footer-tagline\"\u003eSecure. Responsible. Ready.\u003c\/p\u003e\n  \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":48353190281369,"sku":null,"price":549.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul23_2026_09_47_06AM.png?v=1784793330"},{"product_id":"stealthlock-pro-keyless-mechanical-combination-door-lock","title":"StealthLock Pro – Keyless Mechanical Combination Door Lock","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\"\u003e\n\u003ctitle\u003eStealthLock Pro Mechanical Combination Lock\u003c\/title\u003e\n\u003cmeta name=\"description\" content=\"StealthLock Pro keyless mechanical combination lock with heavy-duty zinc alloy construction, resettable code, outdoor-rated durability and Silver or Black finish.\"\u003e\n\u003cstyle\u003e\n:root{--bg:#f4f1e8;--ink:#1f261d;--olive:#59684f;--olive2:#35402f;--card:#fffdf7;--line:#d9decf;--yellow:#ffd51f}\n*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}\n.wrap{width:min(1120px,92%);margin:auto;padding:54px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--olive);font-size:.82rem}\nh1{font-size:clamp(2.4rem,7vw,5.4rem);line-height:.95;margin:.15em 0}.accent{display:block;color:var(--olive)}\n.tag{font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:800}.intro{max-width:800px;font-size:1.08rem}\n.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.visual{min-height:390px;border-radius:28px;background:linear-gradient(145deg,#dce6d3,#b8c7aa);position:relative;overflow:hidden}\n.flag{position:absolute;width:150px;height:190px;background:var(--yellow);border:7px solid #171917;border-radius:20px;top:75px;box-shadow:0 18px 25px #0002}.f1{left:22%;transform:rotate(-8deg)}.f2{right:22%;transform:rotate(8deg)}\n.stem{position:absolute;left:50%;top:16px;width:48px;height:115px;border:5px solid #171917;border-radius:14px;background:var(--yellow);transform:translateX(-50%)}.stem:after{content:\"\";position:absolute;left:50%;bottom:-44px;width:18px;height:56px;border:4px solid #171917;border-top:0;background:var(--yellow);transform:translateX(-50%)}\n.empty{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);border:3px solid #171917;border-radius:9px;padding:7px 10px;font-weight:900;letter-spacing:.12em}\n.badge{position:absolute;right:20px;top:20px;background:var(--olive2);color:white;padding:10px 14px;border-radius:999px;font-weight:800}\nsection{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px}.dark{background:var(--olive2);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8faf3}.dark .card{background:#465241;border-color:#66725f}\n.step{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.num{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#dce7be;font-weight:900}\ntable{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{width:34%}\n.note{border-left:6px solid var(--olive);background:#edf1e1}.cta{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--olive2);color:white}.btn{display:inline-block;padding:14px 20px;border-radius:999px;background:#e8efda;color:#1f261d;text-decoration:none;font-weight:900;border:0;cursor:pointer}\n@media(max-width:800px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.visual{min-height:320px}.flag{width:120px;height:160px}.f1{left:18%}.f2{right:18%}.cta{display:block}.cta .btn{margin-top:12px}}\n@media(max-width:480px){.wrap{width:min(94%,1120px)}.visual{min-height:255px}.flag{width:92px;height:128px;top:62px;border-width:5px}.stem{width:32px;height:78px;border-width:4px}.stem:after{height:40px;bottom:-31px}.empty{font-size:.62rem;padding:5px 6px}.badge{font-size:.75rem}.f1{left:14%}.f2{right:14%}}\n\u003c\/style\u003e\n\n\u003cstyle id=\"stealthlock-shopify-product-layout-fix\"\u003e\n\/*\n  Force common Shopify\/Dawn product templates into a true desktop\n  two-column layout: media gallery LEFT, product information RIGHT.\n  Mobile remains stacked.\n*\/\n@media screen and (min-width: 750px) {\n\n  \/* Dawn and closely related Shopify themes *\/\n  .product.grid,\n  .product.grid--1-col,\n  .product.grid--2-col,\n  main .product {\n    display: grid !important;\n    grid-template-columns: minmax(0, 56%) minmax(320px, 44%) !important;\n    column-gap: 42px !important;\n    align-items: start !important;\n    width: 100% !important;\n  }\n\n  .product__media-wrapper,\n  .product__media-list-wrapper,\n  .product-media-container {\n    grid-column: 1 !important;\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n  }\n\n  .product__info-wrapper,\n  .product__information,\n  .product__info-container {\n    grid-column: 2 !important;\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n    padding-left: 0 !important;\n    margin-left: 0 !important;\n  }\n\n  \/* Prevent common width utility classes from overriding the split *\/\n  .product__media-wrapper.grid__item,\n  .product__info-wrapper.grid__item {\n    width: 100% !important;\n    max-width: 100% !important;\n    flex: none !important;\n  }\n\n  \/* Keep the native product title readable in the right column *\/\n  .product__title,\n  .product__title h1,\n  .product__info-wrapper h1,\n  .product__info-container h1 {\n    max-width: 100% !important;\n    font-size: clamp(2rem, 3.2vw, 3.8rem) !important;\n    line-height: 1.02 !important;\n    overflow-wrap: normal !important;\n    word-break: normal !important;\n  }\n\n  \/* Make gallery thumbnails stay with the gallery *\/\n  .thumbnail-list,\n  .product__media-list,\n  slider-component {\n    max-width: 100% !important;\n  }\n\n  \/* Sticky info is fine, but keep it inside its column *\/\n  .product__info-container {\n    position: sticky;\n    top: 24px;\n  }\n}\n\n\/* Slightly tighter split for tablets \/ smaller desktop windows *\/\n@media screen and (min-width: 750px) and (max-width: 1050px) {\n  .product.grid,\n  .product.grid--1-col,\n  .product.grid--2-col,\n  main .product {\n    grid-template-columns: minmax(0, 52%) minmax(300px, 48%) !important;\n    column-gap: 26px !important;\n  }\n\n  .product__title,\n  .product__title h1,\n  .product__info-wrapper h1,\n  .product__info-container h1 {\n    font-size: clamp(1.8rem, 3.6vw, 3rem) !important;\n  }\n}\n\n\/* Mobile: restore normal vertical flow *\/\n@media screen and (max-width: 749px) {\n  .product.grid,\n  .product.grid--1-col,\n  .product.grid--2-col,\n  main .product {\n    display: block !important;\n  }\n\n  .product__media-wrapper,\n  .product__info-wrapper,\n  .product__media-list-wrapper,\n  .product__information,\n  .product__info-container {\n    width: 100% !important;\n    max-width: 100% !important;\n  }\n\n  .product__info-container {\n    position: static !important;\n  }\n}\n\u003c\/style\u003e\n\n\n\n\n\u003cmain class=\"wrap\"\u003e\n\n  \u003cstyle\u003e\n    .lock-hero{\n      display:grid;\n      grid-template-columns:1.05fr .95fr;\n      gap:34px;\n      align-items:center;\n    }\n\n    .lock-visual{\n      position:relative;\n      min-height:430px;\n      border-radius:28px;\n      overflow:hidden;\n      background:\n        radial-gradient(circle at 72% 18%,rgba(255,255,255,.34),transparent 23%),\n        linear-gradient(145deg,#dce6d3,#aebda1);\n    }\n\n    .lock-shadow{\n      position:absolute;\n      left:50%;\n      bottom:38px;\n      width:300px;\n      height:58px;\n      border-radius:50%;\n      background:rgba(30,36,28,.18);\n      filter:blur(12px);\n      transform:translateX(-50%);\n    }\n\n    .lock-device{\n      position:absolute;\n      left:50%;\n      top:54px;\n      width:240px;\n      height:310px;\n      transform:translateX(-50%);\n      filter:drop-shadow(0 24px 20px rgba(25,31,23,.22));\n    }\n\n    .lock-plate{\n      position:absolute;\n      left:50%;\n      top:20px;\n      width:190px;\n      height:250px;\n      border:8px solid #171917;\n      border-radius:22px;\n      background:\n        linear-gradient(145deg,rgba(255,255,255,.28),transparent 28%),\n        linear-gradient(180deg,#b8bcb7,#747b75);\n      transform:translateX(-50%);\n      box-shadow:inset 0 0 0 3px rgba(255,255,255,.18);\n    }\n\n    .lock-dial-wrap{\n      position:absolute;\n      left:50%;\n      top:52px;\n      width:112px;\n      height:112px;\n      border:7px solid #171917;\n      border-radius:50%;\n      background:#404841;\n      transform:translateX(-50%);\n    }\n\n    .lock-dial{\n      position:absolute;\n      left:50%;\n      top:50%;\n      width:76px;\n      height:76px;\n      border:5px solid #bfc7bd;\n      border-radius:50%;\n      background:\n        repeating-conic-gradient(#d8ded4 0 6deg,#626b63 6deg 12deg);\n      transform:translate(-50%,-50%);\n    }\n\n    .lock-center{\n      position:absolute;\n      left:50%;\n      top:50%;\n      width:36px;\n      height:36px;\n      border:4px solid #171917;\n      border-radius:50%;\n      background:#838c82;\n      transform:translate(-50%,-50%);\n    }\n\n    .lock-latch{\n      position:absolute;\n      left:50%;\n      bottom:34px;\n      width:104px;\n      height:72px;\n      border:7px solid #171917;\n      border-radius:16px;\n      background:linear-gradient(#8d968c,#646d64);\n      transform:translateX(-50%);\n    }\n\n    .lock-latch::after{\n      position:absolute;\n      right:-58px;\n      top:18px;\n      width:70px;\n      height:24px;\n      border:6px solid #171917;\n      border-left:0;\n      border-radius:0 12px 12px 0;\n      background:#7c857c;\n      content:\"\";\n    }\n\n    .lock-code{\n      position:absolute;\n      left:50%;\n      top:184px;\n      width:114px;\n      padding:8px;\n      border:3px solid #171917;\n      border-radius:10px;\n      background:#2f3630;\n      color:#eff4e8;\n      font-weight:900;\n      letter-spacing:.18em;\n      text-align:center;\n      transform:translateX(-50%);\n    }\n\n    .lock-badge{\n      position:absolute;\n      right:18px;\n      top:18px;\n      padding:10px 14px;\n      border-radius:999px;\n      background:var(--olive2);\n      color:#fff;\n      font-weight:800;\n    }\n\n    .lock-colours{\n      position:absolute;\n      left:18px;\n      bottom:18px;\n      display:flex;\n      gap:8px;\n      align-items:center;\n      padding:9px 12px;\n      border-radius:999px;\n      background:rgba(255,255,255,.74);\n      font-size:.8rem;\n      font-weight:800;\n    }\n\n    .swatch{\n      width:18px;\n      height:18px;\n      border:2px solid #1f261d;\n      border-radius:50%;\n    }\n\n    .swatch.silver{background:#b9beb9}\n    .swatch.black{background:#242824}\n\n    .lock-grid{\n      display:grid;\n      grid-template-columns:repeat(2,1fr);\n      gap:16px;\n    }\n\n    .lock-card{\n      padding:18px;\n      border:1px solid var(--line);\n      border-radius:16px;\n      background:#f8faf3;\n    }\n\n    .lock-card strong{\n      display:block;\n      margin-bottom:5px;\n      font-size:1.03rem;\n    }\n\n    .lock-icon{\n      display:grid;\n      width:48px;\n      height:48px;\n      place-items:center;\n      margin-bottom:12px;\n      border-radius:14px;\n      background:#dce7be;\n      font-size:1.25rem;\n    }\n\n    .spec-note{\n      padding:20px 22px;\n      border-left:6px solid var(--olive);\n      background:#edf1e1;\n    }\n\n    @media(max-width:800px){\n      .lock-hero{grid-template-columns:1fr}\n      .lock-grid{grid-template-columns:1fr}\n      .lock-visual{min-height:350px}\n      .lock-device{top:38px;transform:translateX(-50%) scale(.84)}\n    }\n\n    @media(max-width:480px){\n      .lock-visual{min-height:285px}\n      .lock-device{top:18px;transform:translateX(-50%) scale(.68)}\n      .lock-badge{font-size:.72rem}\n      .lock-colours{font-size:.7rem}\n    }\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"lock-hero\"\u003e\n    \u003cdiv\u003e\n      \u003cp class=\"eyebrow\"\u003eKeyless security without batteries or Bluetooth\u003c\/p\u003e\n      \u003ch1\u003eStealthLock Pro \u003cspan class=\"accent\"\u003eMechanical Combination Lock\u003c\/span\u003e\n\u003c\/h1\u003e\n      \u003cp class=\"tag\"\u003eNo Key. No Fuss. No Compromise.\u003c\/p\u003e\n      \u003cp class=\"intro\"\u003e\n        Secure your home, garage, office or patio with a lock that doesn't rely on keys,\n        batteries or electronics. StealthLock Pro delivers dependable access control through\n        precision rotary engineering, weather-resistant materials and a resettable mechanical code.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"lock-visual\" role=\"img\" aria-label=\"StealthLock Pro mechanical combination lock in silver finish with rotary dial and secure latch\"\u003e\n      \u003cdiv class=\"lock-badge\"\u003eOutdoor-Rated\u003c\/div\u003e\n      \u003cdiv class=\"lock-shadow\"\u003e\u003c\/div\u003e\n\n      \u003cdiv class=\"lock-device\"\u003e\n        \u003cdiv class=\"lock-plate\"\u003e\n          \u003cdiv class=\"lock-dial-wrap\"\u003e\n            \u003cdiv class=\"lock-dial\"\u003e\n              \u003cdiv class=\"lock-center\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"lock-code\"\u003e3 • 7 • 2\u003c\/div\u003e\n          \u003cdiv class=\"lock-latch\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-colours\"\u003e\n        \u003cspan class=\"swatch silver\" aria-hidden=\"true\"\u003e\u003c\/span\u003e Silver\n        \u003cspan class=\"swatch black\" aria-hidden=\"true\"\u003e\u003c\/span\u003e Black\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"dark\"\u003e\n    \u003ch2\u003eReliable access control. Zero ongoing maintenance.\u003c\/h2\u003e\n    \u003cdiv class=\"grid\"\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cstrong\u003eNo Batteries\u003c\/strong\u003e\n        \u003cp\u003eMechanical operation means there is nothing to recharge, replace or reconnect.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cstrong\u003eNo Keys to Lose\u003c\/strong\u003e\n        \u003cp\u003eUse a resettable combination instead of carrying, copying or replacing keys.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"card\"\u003e\n        \u003cstrong\u003eBuilt for Daily Use\u003c\/strong\u003e\n        \u003cp\u003eZinc-alloy construction and a firm latch are designed for regular indoor and outdoor access.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003ch2\u003eIdeal For\u003c\/h2\u003e\n    \u003cdiv class=\"lock-grid\"\u003e\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🏠\u003c\/div\u003e\n        \u003cstrong\u003eHome \u0026amp; Residential Gates\u003c\/strong\u003e\n        \u003cp\u003eSimple keyless access for gates, side entrances and everyday household use.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🧰\u003c\/div\u003e\n        \u003cstrong\u003eGarages \u0026amp; Outbuildings\u003c\/strong\u003e\n        \u003cp\u003eUseful for workshops, sheds and storage areas where durable mechanical access is preferred.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🏢\u003c\/div\u003e\n        \u003cstrong\u003eOffice \u0026amp; Commercial Doors\u003c\/strong\u003e\n        \u003cp\u003eProvide controlled access without issuing physical keys to every user.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🌿\u003c\/div\u003e\n        \u003cstrong\u003ePatio \u0026amp; Garden Access\u003c\/strong\u003e\n        \u003cp\u003eWeather-resistant construction suits covered and outdoor entry points.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🔒\u003c\/div\u003e\n        \u003cstrong\u003eSecure Storage Rooms\u003c\/strong\u003e\n        \u003cp\u003eAdd mechanical access control to compatible storage areas and cabinets.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🛠️\u003c\/div\u003e\n        \u003cstrong\u003eWorkshops \u0026amp; Utility Areas\u003c\/strong\u003e\n        \u003cp\u003eA practical fit for spaces that need simple, repeatable access without electronics.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection id=\"features\"\u003e\n    \u003ch2\u003eKey Features\u003c\/h2\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e01\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eKeyless Mechanical Combination\u003c\/strong\u003e\n        \u003cp\u003eNo batteries, Bluetooth, apps or electronic lockouts.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e02\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eHeavy-Duty Zinc Alloy Construction\u003c\/strong\u003e\n        \u003cp\u003eBuilt to resist corrosion, tampering and everyday wear.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e03\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003ePrecision Rotary Mechanism\u003c\/strong\u003e\n        \u003cp\u003eSmooth mechanical operation provides dependable access every time.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e04\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eSecure Latch Design\u003c\/strong\u003e\n        \u003cp\u003ePositive engagement helps create a firm, rattle-free closure on compatible doors.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e05\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eOutdoor-Rated\u003c\/strong\u003e\n        \u003cp\u003eDesigned to handle moisture, UV exposure and changing temperatures.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e06\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eSilver \u0026amp; Black Finishes\u003c\/strong\u003e\n        \u003cp\u003eChoose the finish that best matches your door hardware or surrounding fittings.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"step\"\u003e\n      \u003cdiv class=\"num\"\u003e07\u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cstrong\u003eResettable Combination\u003c\/strong\u003e\n        \u003cp\u003eChange the access code whenever your security needs change.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003ch2\u003eWhy Choose a Mechanical Combination Lock?\u003c\/h2\u003e\n    \u003cdiv class=\"lock-grid\"\u003e\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🔋\u003c\/div\u003e\n        \u003cstrong\u003eNo Battery Failure\u003c\/strong\u003e\n        \u003cp\u003eMechanical operation keeps working without charge levels, battery warnings or power interruptions.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🔑\u003c\/div\u003e\n        \u003cstrong\u003eNo Lost Keys\u003c\/strong\u003e\n        \u003cp\u003eAccess is controlled by your combination, reducing the hassle of misplaced or duplicated keys.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e⚙️\u003c\/div\u003e\n        \u003cstrong\u003eSimple, Proven Mechanism\u003c\/strong\u003e\n        \u003cp\u003eFewer electronic components means fewer failure points and less ongoing maintenance.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"lock-card\"\u003e\n        \u003cdiv class=\"lock-icon\"\u003e🌦️\u003c\/div\u003e\n        \u003cstrong\u003eMade for Real Environments\u003c\/strong\u003e\n        \u003cp\u003eA practical choice for areas exposed to dust, temperature changes and outdoor conditions.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003ch2\u003eProduct Specifications\u003c\/h2\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n\u003cth\u003eProduct\u003c\/th\u003e\n\u003ctd\u003eStealthLock Pro Mechanical Combination Lock\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eLock Type\u003c\/th\u003e\n\u003ctd\u003eKeyless mechanical combination lock\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eBody Material\u003c\/th\u003e\n\u003ctd\u003eHeavy-duty zinc alloy\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eMechanism\u003c\/th\u003e\n\u003ctd\u003ePrecision rotary combination\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eCode\u003c\/th\u003e\n\u003ctd\u003eResettable combination\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eLatch\u003c\/th\u003e\n\u003ctd\u003ePositive-engagement secure latch\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eEnvironment\u003c\/th\u003e\n\u003ctd\u003eIndoor and outdoor-rated use\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003eFinishes\u003c\/th\u003e\n\u003ctd\u003eSilver and Black\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth\u003ePower Required\u003c\/th\u003e\n\u003ctd\u003eNone\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/table\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"spec-note\"\u003e\n    \u003cstrong\u003eInstallation note:\u003c\/strong\u003e\n    Confirm door thickness, latch orientation, cut-out dimensions and mounting requirements before installation.\n    Security performance depends on correct fitting and the strength of the surrounding door, frame or enclosure.\n  \u003c\/section\u003e\n\n  \u003csection class=\"cta\"\u003e\n    \u003cdiv\u003e\n      \u003ch2\u003eNo key. No battery. Just dependable access.\u003c\/h2\u003e\n      \u003cp\u003e\n        Choose durable mechanical security for gates, doors, workshops and compatible storage spaces.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cbutton class=\"btn\" type=\"button\" data-bosveld-add-to-cart\u003eAdd to Cart\u003c\/button\u003e\n  \u003c\/section\u003e\n\n\u003c\/main\u003e\n\n\u003cscript\u003e\n(function () {\n  const button = document.querySelector('[data-bosveld-add-to-cart]');\n  if (!button) return;\n\n  function validVariantId(value) {\n    const id = Number(value);\n    return Number.isInteger(id) \u0026\u0026 id \u003e 0 ? id : null;\n  }\n\n  function getVariantId() {\n    \/\/ 1) Variant selector\/form closest to the actual Shopify product form.\n    const productForms = document.querySelectorAll('form[action*=\"\/cart\/add\"]');\n    for (const form of productForms) {\n      const selected = form.querySelector('[name=\"id\"]');\n      const id = selected \u0026\u0026 validVariantId(selected.value);\n      if (id) return id;\n    }\n\n    \/\/ 2) Common Shopify theme variant fields.\n    const fields = document.querySelectorAll(\n      'select[name=\"id\"], input[name=\"id\"]:checked, input[name=\"id\"][type=\"hidden\"], [data-variant-id]'\n    );\n    for (const field of fields) {\n      const id = validVariantId(field.value || field.getAttribute('data-variant-id'));\n      if (id) return id;\n    }\n\n    \/\/ 3) Optional manual variant ID on this custom button.\n    return validVariantId(button.dataset.variantId);\n  }\n\n  button.addEventListener('click', async function () {\n    const variantId = getVariantId();\n\n    if (!variantId) {\n      alert('Please select a product variant first. If your Shopify theme does not expose the variant automatically, add data-variant-id=\"YOUR_VARIANT_ID\" to this button.');\n      return;\n    }\n\n    const original = button.innerHTML;\n    button.disabled = true;\n    button.setAttribute('aria-busy', 'true');\n    button.innerHTML = 'Adding…';\n\n    try {\n      const root = (window.Shopify \u0026\u0026 Shopify.routes \u0026\u0026 Shopify.routes.root) || '\/';\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      if (!response.ok) {\n        throw new Error(result.description || result.message || 'Could not add this item to cart.');\n      }\n\n      button.innerHTML = 'Added ✓';\n\n      \/\/ Notify common Shopify themes\/drawers that the cart changed.\n      document.documentElement.dispatchEvent(new CustomEvent('cart:refresh', { bubbles: true }));\n      document.dispatchEvent(new CustomEvent('cart:updated', {\n        bubbles: true,\n        detail: result\n      }));\n\n      \/\/ Reliable fallback: open the Shopify cart after adding.\n      setTimeout(function () {\n        window.location.href = root + 'cart';\n      }, 450);\n    } catch (error) {\n      console.error('StealthLock Add to Cart:', error);\n      alert(error.message || 'Could not add this item to cart. Please try again.');\n      button.disabled = false;\n      button.removeAttribute('aria-busy');\n      button.innerHTML = original;\n    }\n  });\n})();\n\u003c\/script\u003e\n\n\n\n\n\u003cstyle id=\"stealthlock-website-friendly-fix\"\u003e\nhtml,body{width:100%;max-width:100%;margin:0;overflow-x:hidden}\n.wrap{width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;margin:0 auto!important;padding:64px 0 80px!important}\n.lock-hero{display:grid!important;grid-template-columns:1fr!important;gap:30px!important;align-items:start!important;width:100%!important}\n.lock-hero\u003e*{min-width:0!important}\n.lock-hero h1{width:100%!important;max-width:980px!important;margin:0 0 14px!important;font-size:clamp(3.7rem,6vw,6.4rem)!important;line-height:.98!important;letter-spacing:-.045em!important;overflow-wrap:normal!important;word-break:normal!important}\n.lock-hero h1 .accent{display:block!important;width:100%!important;color:var(--olive)!important}\n.lock-hero .eyebrow{margin:0 0 14px!important;max-width:100%!important;white-space:normal!important}\n.lock-hero .tag{margin:18px 0 12px!important;max-width:760px!important}\n.lock-hero .intro{max-width:900px!important;margin:0!important;line-height:1.7!important}\n.lock-visual{width:100%!important;min-height:560px!important;margin-top:6px!important;border-radius:26px!important;background:radial-gradient(circle at center,rgba(168,180,134,.25),transparent 46%),linear-gradient(150deg,#fff,#e8eddc)!important;box-shadow:0 22px 48px rgba(38,53,31,.14)!important}\n.lock-device{top:105px!important;transform:translateX(-50%) scale(1.12)!important}\n.lock-badge{top:22px!important;right:22px!important}\n.lock-colours{left:22px!important;bottom:22px!important}\n.wrap\u003esection{width:100%!important;margin-top:36px!important;padding:38px!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 14px 35px rgba(38,53,31,.08)}\n.wrap\u003esection h2{font-size:clamp(1.7rem,3.6vw,2.45rem)!important;line-height:1.15!important;margin:0 0 18px!important}\n.grid,.lock-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important}\n.card,.lock-card{width:100%!important;max-width:100%!important;min-width:0!important}\n.step{grid-template-columns:52px minmax(0,1fr)!important;gap:14px!important}\ntable{width:100%!important;table-layout:fixed!important} th,td{overflow-wrap:anywhere!important}\n.cta{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr)!important;gap:22px!important;align-items:center!important}\n.cta .btn{justify-self:stretch!important;text-align:center!important}\n@media(max-width:980px){\n.wrap{width:min(860px,calc(100% - 40px))!important;padding-top:52px!important}\n.lock-hero h1{font-size:clamp(3.1rem,8vw,5.3rem)!important}\n.lock-visual{min-height:480px!important}\n.lock-device{top:80px!important;transform:translateX(-50%) scale(.98)!important}\n.cta{grid-template-columns:1fr!important}}\n@media(max-width:760px){\n.wrap{width:calc(100% - 32px)!important;padding:42px 0 56px!important}\n.lock-hero h1{font-size:clamp(2.6rem,12vw,4.1rem)!important;line-height:1!important}\n.lock-visual{min-height:390px!important}\n.lock-device{top:55px!important;transform:translateX(-50%) scale(.82)!important}\n.wrap\u003esection{padding:26px 20px!important}}\n@media(max-width:430px){\n.wrap{width:calc(100% - 20px)!important;padding-top:34px!important}\n.lock-hero h1{font-size:clamp(2.2rem,13vw,3.25rem)!important}\n.lock-hero .eyebrow{font-size:.7rem!important;letter-spacing:.12em!important}\n.lock-visual{min-height:325px!important;border-radius:20px!important}\n.lock-device{top:28px!important;transform:translateX(-50%) scale(.67)!important}\n.lock-badge{top:12px!important;right:12px!important;max-width:46%!important;font-size:.7rem!important;text-align:center!important}\n.lock-colours{left:12px!important;bottom:12px!important;max-width:82%!important;flex-wrap:wrap!important;font-size:.68rem!important}\n.wrap\u003esection{padding:22px 16px!important}\n.step{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important}\ntable,tbody,tr,th,td{display:block!important;width:100%!important}\ntr{padding:12px 0!important;border-bottom:1px solid var(--line)!important}\nth,td{border:0!important;padding:4px 0!important}}\n\u003c\/style\u003e\n\n\n\u003cstyle id=\"stealthlock-image-left-copy-right\"\u003e\n@media screen and (min-width:801px){\n  .lock-hero{\n    display:grid !important;\n    grid-template-columns:minmax(420px,1fr) minmax(420px,.9fr) !important;\n    grid-template-areas:\"visual copy\" !important;\n    gap:46px !important;\n    align-items:center !important;\n  }\n\n  .lock-hero \u003e div:first-child{\n    grid-area:copy !important;\n    min-width:0 !important;\n  }\n\n  .lock-hero \u003e .lock-visual{\n    grid-area:visual !important;\n    min-width:0 !important;\n    margin:0 !important;\n  }\n\n  .lock-hero h1{\n    max-width:100% !important;\n    font-size:clamp(3rem,4.4vw,5.1rem) !important;\n    line-height:.98 !important;\n  }\n\n  .lock-hero .intro{\n    max-width:620px !important;\n  }\n\n  .lock-visual{\n    min-height:540px !important;\n  }\n}\n\n@media screen and (min-width:801px) and (max-width:1050px){\n  .lock-hero{\n    grid-template-columns:minmax(360px,1fr) minmax(340px,.9fr) !important;\n    gap:30px !important;\n  }\n\n  .lock-hero h1{\n    font-size:clamp(2.7rem,4.7vw,4rem) !important;\n  }\n\n  .lock-visual{\n    min-height:470px !important;\n  }\n\n  .lock-device{\n    top:72px !important;\n    transform:translateX(-50%) scale(.94) !important;\n  }\n}\n\n\/* Mobile stays stacked for readability: copy first, image underneath *\/\n@media screen and (max-width:800px){\n  .lock-hero{\n    grid-template-columns:1fr !important;\n  }\n}\n\u003c\/style\u003e\n\n\n\u003cstyle id=\"stealthlock-container-responsive-fix\"\u003e\n\/* Respond to the REAL width Shopify gives this content, not the browser width *\/\n.wrap{\n  container-type:inline-size !important;\n  container-name:stealthlock !important;\n  width:min(1180px,100%) !important;\n  max-width:1180px !important;\n  padding-left:18px !important;\n  padding-right:18px !important;\n}\n\n\/* Safe default: stack so nothing can be clipped *\/\n.lock-hero{\n  display:grid !important;\n  grid-template-columns:1fr !important;\n  grid-template-areas:\n    \"copy\"\n    \"visual\" !important;\n  gap:28px !important;\n  width:100% !important;\n  max-width:100% !important;\n  overflow:visible !important;\n}\n\n.lock-hero \u003e div:first-child{\n  grid-area:copy !important;\n  width:100% !important;\n  max-width:100% !important;\n  min-width:0 !important;\n}\n\n.lock-hero \u003e .lock-visual{\n  grid-area:visual !important;\n  width:100% !important;\n  max-width:100% !important;\n  min-width:0 !important;\n}\n\n.lock-hero h1{\n  width:100% !important;\n  max-width:100% !important;\n  margin:0 0 14px !important;\n  font-size:clamp(2.35rem,10cqw,4.4rem) !important;\n  line-height:1 !important;\n  letter-spacing:-.04em !important;\n  white-space:normal !important;\n  overflow-wrap:normal !important;\n  word-break:normal !important;\n}\n\n.lock-hero h1 .accent{\n  display:block !important;\n  width:100% !important;\n  max-width:100% !important;\n}\n\n.lock-hero .eyebrow,\n.lock-hero .tag,\n.lock-hero .intro{\n  width:100% !important;\n  max-width:100% !important;\n  white-space:normal !important;\n  overflow-wrap:normal !important;\n  word-break:normal !important;\n}\n\n.lock-hero .intro{\n  font-size:1rem !important;\n  line-height:1.65 !important;\n}\n\n\/* Product visual remains contained *\/\n.lock-visual{\n  min-height:390px !important;\n  overflow:hidden !important;\n}\n\n.lock-device{\n  left:50% !important;\n  top:48px !important;\n  transform:translateX(-50%) scale(.82) !important;\n}\n\n\/* Only use image-left \/ copy-right when THIS section itself has enough space *\/\n@container stealthlock (min-width: 900px){\n  .lock-hero{\n    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;\n    grid-template-areas:\"visual copy\" !important;\n    gap:42px !important;\n    align-items:center !important;\n  }\n\n  .lock-hero h1{\n    font-size:clamp(2.65rem,5.7cqw,4.8rem) !important;\n  }\n\n  .lock-hero .intro{\n    max-width:600px !important;\n    font-size:1.04rem !important;\n  }\n\n  .lock-visual{\n    min-height:500px !important;\n  }\n\n  .lock-device{\n    top:78px !important;\n    transform:translateX(-50%) scale(1) !important;\n  }\n}\n\n\/* Bigger desktop *\/\n@container stealthlock (min-width: 1080px){\n  .lock-hero{\n    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;\n    gap:52px !important;\n  }\n\n  .lock-hero h1{\n    font-size:clamp(3rem,5.5cqw,5.1rem) !important;\n  }\n\n  .lock-visual{\n    min-height:540px !important;\n  }\n\n  .lock-device{\n    top:92px !important;\n    transform:translateX(-50%) scale(1.08) !important;\n  }\n}\n\n\/* Narrow embedded Shopify columns *\/\n@container stealthlock (max-width: 620px){\n  .wrap{\n    padding-left:10px !important;\n    padding-right:10px !important;\n  }\n\n  .lock-hero h1{\n    font-size:clamp(2.1rem,11cqw,3.25rem) !important;\n  }\n\n  .lock-hero .eyebrow{\n    font-size:.68rem !important;\n    letter-spacing:.11em !important;\n  }\n\n  .lock-hero .tag{\n    font-size:1.12rem !important;\n  }\n\n  .lock-visual{\n    min-height:315px !important;\n    border-radius:20px !important;\n  }\n\n  .lock-device{\n    top:24px !important;\n    transform:translateX(-50%) scale(.66) !important;\n  }\n\n  .lock-badge{\n    top:12px !important;\n    right:12px !important;\n    max-width:48% !important;\n    font-size:.68rem !important;\n  }\n\n  .lock-colours{\n    left:12px !important;\n    bottom:12px !important;\n    max-width:82% !important;\n    flex-wrap:wrap !important;\n    font-size:.67rem !important;\n  }\n}\n\u003c\/style\u003e\n\n\n\u003cstyle id=\"stealthlock-lighter-dark-sections\"\u003e\n\/* Lighter treatment for the dark feature and CTA sections *\/\n.wrap \u003e section[style*=\"background\"],\n.lock-section--dark,\n.section-dark,\n.dark-section,\n.cta{\n  background:#e7ecd9 !important;\n  color:#26341f !important;\n  border-color:#cbd5b5 !important;\n}\n\n\/* Feature cards inside the previously dark section *\/\n.wrap \u003e section[style*=\"background\"] .card,\n.wrap \u003e section[style*=\"background\"] .lock-card,\n.lock-section--dark .card,\n.lock-section--dark .lock-card,\n.section-dark .card,\n.dark-section .card{\n  background:#f5f7ef !important;\n  color:#26341f !important;\n  border-color:#c8d1ba !important;\n}\n\n\/* Ensure all copy remains readable *\/\n.wrap \u003e section[style*=\"background\"] h2,\n.wrap \u003e section[style*=\"background\"] h3,\n.wrap \u003e section[style*=\"background\"] strong,\n.wrap \u003e section[style*=\"background\"] p,\n.lock-section--dark h2,\n.lock-section--dark h3,\n.lock-section--dark strong,\n.lock-section--dark p,\n.cta h2,\n.cta h3,\n.cta p{\n  color:#26341f !important;\n}\n\n\/* CTA button: light olive with dark text *\/\n.cta .btn,\n.cta a,\n.cta button{\n  background:#f8faF2 !important;\n  color:#26341f !important;\n  border-color:#9eac80 !important;\n}\n\n.cta .btn:hover,\n.cta a:hover,\n.cta button:hover{\n  background:#dce5c8 !important;\n  color:#26341f !important;\n}\n\u003c\/style\u003e\n\n\n\u003cstyle id=\"stealthlock-extra-light-sections\"\u003e\n\/* Extra-light Bosveld treatment for the feature panel shown *\/\n.wrap \u003e section[style*=\"background\"],\n.lock-section--dark,\n.section-dark,\n.dark-section{\n  background:#eef2e4 !important;\n  color:#26341f !important;\n  border:1px solid #d5ddc5 !important;\n  box-shadow:0 14px 34px rgba(38,53,31,.07) !important;\n}\n\n.wrap \u003e section[style*=\"background\"] .card,\n.wrap \u003e section[style*=\"background\"] .lock-card,\n.lock-section--dark .card,\n.lock-section--dark .lock-card,\n.section-dark .card,\n.section-dark .lock-card,\n.dark-section .card,\n.dark-section .lock-card{\n  background:#fafbf6 !important;\n  color:#26341f !important;\n  border:1px solid #cbd5ba !important;\n  box-shadow:none !important;\n}\n\n.wrap \u003e section[style*=\"background\"] h2,\n.wrap \u003e section[style*=\"background\"] h3,\n.wrap \u003e section[style*=\"background\"] strong,\n.wrap \u003e section[style*=\"background\"] p,\n.lock-section--dark h2,\n.lock-section--dark h3,\n.lock-section--dark strong,\n.lock-section--dark p,\n.section-dark h2,\n.section-dark h3,\n.section-dark strong,\n.section-dark p,\n.dark-section h2,\n.dark-section h3,\n.dark-section strong,\n.dark-section p{\n  color:#26341f !important;\n}\n\u003c\/style\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical ","offers":[{"title":"Silver","offer_id":48353314635929,"sku":null,"price":649.0,"currency_code":"ZAR","in_stock":true},{"title":"Black","offer_id":48353314668697,"sku":null,"price":649.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul23_2026_11_01_47AM.png?v=1784797330"},{"product_id":"vaultguard-pistol-rack","title":"VaultGuard Pistol Rack","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=\"VaultGuard Pistol Rack for organised, moisture-resistant storage of revolvers and standard pistols in gun safes, cabinets and range setups.\"\u003e\n  \u003ctitle\u003eVaultGuard Pistol Rack\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\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    .pistolrack-product {\n      position: relative;\n      z-index: 3;\n      width: min(720px, 92%);\n      height: 390px;\n      animation: bosveld-product-float 4s ease-in-out infinite;\n      transform-style: preserve-3d;\n    }\n\n    .pistolrack-safe {\n      position: absolute;\n      left: 50%;\n      bottom: 24px;\n      width: 520px;\n      height: 300px;\n      border: 10px solid #242a24;\n      border-radius: 28px;\n      background:\n        linear-gradient(145deg, rgba(255,255,255,.08), transparent 30%),\n        linear-gradient(145deg, #4b5549, #252b24 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      overflow: hidden;\n    }\n\n    .pistolrack-safe::before {\n      position: absolute;\n      inset: 24px;\n      border: 3px solid rgba(255,255,255,.08);\n      border-radius: 18px;\n      content: \"\";\n    }\n\n    .pistolrack-base {\n      position: absolute;\n      z-index: 4;\n      left: 50%;\n      bottom: 54px;\n      width: 390px;\n      height: 82px;\n      border: 8px solid #171b17;\n      border-radius: 22px;\n      background:\n        repeating-linear-gradient(90deg,#555f53 0 20px,#485046 20px 24px);\n      box-shadow:\n        inset 0 0 0 4px rgba(255,255,255,.035),\n        0 18px 28px rgba(0,0,0,.2);\n      transform: translateX(-50%);\n    }\n\n    .pistolrack-slot {\n      position: absolute;\n      bottom: 77px;\n      width: 54px;\n      height: 150px;\n      border: 8px solid #171b17;\n      border-bottom: 0;\n      border-radius: 26px 26px 0 0;\n      background: linear-gradient(145deg,#5e685b,#353c34);\n    }\n\n    .pistolrack-slot--1 { left: 94px; }\n    .pistolrack-slot--2 { left: 172px; }\n    .pistolrack-slot--3 { left: 250px; }\n    .pistolrack-slot--4 { left: 328px; }\n\n    .pistolrack-grip {\n      position: absolute;\n      z-index: 6;\n      width: 44px;\n      height: 112px;\n      border: 7px solid #111511;\n      border-radius: 16px 16px 22px 22px;\n      background:\n        repeating-linear-gradient(45deg,#303630 0 7px,#232823 7px 14px);\n      box-shadow: inset 0 0 0 3px rgba(255,255,255,.025);\n    }\n\n    .pistolrack-grip::before {\n      position: absolute;\n      top: -46px;\n      left: -17px;\n      width: 94px;\n      height: 50px;\n      border: 7px solid #111511;\n      border-radius: 16px 20px 10px 10px;\n      background: linear-gradient(145deg,#454d44,#202520);\n      content: \"\";\n    }\n\n    .pistolrack-grip--1 { left: 99px; bottom: 94px; transform: rotate(-3deg); }\n    .pistolrack-grip--2 { left: 177px; bottom: 94px; transform: rotate(2deg); }\n    .pistolrack-grip--3 { left: 255px; bottom: 94px; transform: rotate(-2deg); }\n    .pistolrack-grip--4 { left: 333px; bottom: 94px; transform: rotate(3deg); }\n\n    .pistolrack-label {\n      position: absolute;\n      z-index: 7;\n      left: 50%;\n      bottom: 28px;\n      width: 230px;\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    .pistolrack-icon {\n      position: absolute;\n      top: 64px;\n      left: 8%;\n      z-index: 6;\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    .pistolrack-use-grid {\n      display: grid !important;\n      grid-template-columns: 1fr !important;\n      gap: 14px;\n    }\n\n    .pistolrack-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    .pistolrack-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    @media screen and (max-width:760px) {\n      .pistolrack-product { height: 315px; }\n      .pistolrack-safe { width: 390px; height: 245px; border-width: 8px; }\n      .pistolrack-base { width: 300px; height: 66px; }\n      .pistolrack-slot { width: 42px; height: 120px; }\n      .pistolrack-slot--1 { left: 67px; }\n      .pistolrack-slot--2 { left: 126px; }\n      .pistolrack-slot--3 { left: 185px; }\n      .pistolrack-slot--4 { left: 244px; }\n      .pistolrack-grip { width: 34px; height: 88px; border-width: 6px; }\n      .pistolrack-grip::before { top:-38px;left:-14px;width:74px;height:42px;border-width:6px; }\n      .pistolrack-grip--1 { left:72px; }\n      .pistolrack-grip--2 { left:131px; }\n      .pistolrack-grip--3 { left:190px; }\n      .pistolrack-grip--4 { left:249px; }\n    }\n\n    @media screen and (max-width:430px) {\n      .pistolrack-product { width:96%;height:250px; }\n      .pistolrack-safe { width:285px;height:200px;border-width:6px; }\n      .pistolrack-base { width:220px;height:54px;bottom:42px;border-width:6px; }\n      .pistolrack-slot { bottom:58px;width:34px;height:98px;border-width:6px; }\n      .pistolrack-slot--1 { left:43px; }\n      .pistolrack-slot--2 { left:89px; }\n      .pistolrack-slot--3 { left:135px; }\n      .pistolrack-slot--4 { left:181px; }\n      .pistolrack-grip { width:28px;height:72px;border-width:5px;bottom:72px; }\n      .pistolrack-grip::before { top:-31px;left:-11px;width:61px;height:34px;border-width:5px; }\n      .pistolrack-grip--1 { left:47px; }\n      .pistolrack-grip--2 { left:93px; }\n      .pistolrack-grip--3 { left:139px; }\n      .pistolrack-grip--4 { left:185px; }\n      .pistolrack-label { width:170px;font-size:.55rem;padding:9px;bottom:20px; }\n      .pistolrack-icon { display:none; }\n    }\n  \n    .vaultguard-variant-selector {\n      width: 100%;\n      margin: 0 0 36px;\n      padding: clamp(22px, 4vw, 32px);\n      border: 1px solid var(--border);\n      border-radius: 22px;\n      background: rgba(255,255,255,.94);\n      box-shadow: 0 14px 35px rgba(38,53,31,.08);\n    }\n\n    .vaultguard-variant-selector h2 {\n      margin: 0 0 8px;\n      color: var(--olive-dark);\n      font-size: clamp(1.45rem, 3vw, 2rem);\n      letter-spacing: -.025em;\n    }\n\n    .vaultguard-variant-selector p {\n      margin: 0 0 18px;\n      color: var(--muted);\n      line-height: 1.6;\n    }\n\n    .vaultguard-variant-options {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0,1fr));\n      gap: 14px;\n    }\n\n    .vaultguard-variant-option {\n      position: relative;\n      display: grid;\n      min-height: 116px;\n      padding: 18px;\n      border: 2px solid var(--border);\n      border-radius: 17px;\n      text-align: left;\n      background: #f8faf3;\n      cursor: pointer;\n      transition:\n        transform .3s ease,\n        border-color .3s ease,\n        box-shadow .3s ease,\n        background .3s ease;\n    }\n\n    .vaultguard-variant-option:hover {\n      border-color: var(--olive-medium);\n      box-shadow: 0 16px 30px rgba(38,53,31,.12);\n      transform: translateY(-4px);\n    }\n\n    .vaultguard-variant-option.is-selected {\n      border-color: var(--olive-dark);\n      background: #eaf0dd;\n      box-shadow:\n        0 16px 32px rgba(38,53,31,.15),\n        inset 0 0 0 2px rgba(85,107,47,.12);\n    }\n\n    .vaultguard-variant-option strong {\n      display: block;\n      margin-bottom: 5px;\n      color: var(--olive-dark);\n      font-size: 1.05rem;\n    }\n\n    .vaultguard-variant-option span {\n      display: block;\n      color: var(--muted);\n      font-size: .84rem;\n      line-height: 1.5;\n    }\n\n    .vaultguard-variant-option::after {\n      position: absolute;\n      top: 14px;\n      right: 14px;\n      display: grid;\n      width: 26px;\n      height: 26px;\n      place-items: center;\n      border: 2px solid var(--olive-light);\n      border-radius: 50%;\n      color: white;\n      font-size: .8rem;\n      font-weight: 900;\n      content: \"\";\n      background: transparent;\n    }\n\n    .vaultguard-variant-option.is-selected::after {\n      content: \"✓\";\n      border-color: var(--olive-dark);\n      background: var(--olive-dark);\n    }\n\n    .vaultguard-selected-note {\n      margin: 14px 0 0 !important;\n      color: var(--olive-dark) !important;\n      font-size: .88rem;\n      font-weight: 900;\n    }\n\n    @media screen and (max-width: 560px) {\n      .vaultguard-variant-options {\n        grid-template-columns: 1fr;\n      }\n    }\n\u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003ePurpose-built safe organisation\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      VaultGuard\n      \u003cspan\u003ePistol Rack\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eKeep Your Pistols Protected and Perfectly Organised.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      A cluttered gun safe is more than an inconvenience — it can increase the\n      chance of scratches, trapped moisture and difficult access. This EVA Foam\n      Pistol Rack keeps revolvers and standard pistols separated, supported and\n      neatly arranged in one compact storage system.\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=\"pistolrack-icon\" aria-hidden=\"true\"\u003e🧩\u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003eEVA Foam\u003c\/strong\u003e\n          \u003cspan\u003eSoft, moisture resistant\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"pistolrack-product\" role=\"img\" aria-label=\"EVA foam rack holding four pistols upright inside a gun safe\"\u003e\n        \u003cdiv class=\"pistolrack-safe\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-base\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-slot pistolrack-slot--1\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-slot pistolrack-slot--2\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-slot pistolrack-slot--3\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-slot pistolrack-slot--4\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-grip pistolrack-grip--1\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-grip pistolrack-grip--2\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-grip pistolrack-grip--3\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-grip pistolrack-grip--4\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-label\"\u003eVaultGuard Pistol Rack\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \n    \u003csection class=\"vaultguard-variant-selector bosveld-reveal\" aria-labelledby=\"vaultguard-size-heading\"\u003e\n      \u003ch2 id=\"vaultguard-size-heading\"\u003eChoose your rack size\u003c\/h2\u003e\n      \u003cp\u003eSelect the capacity that best suits your safe or storage setup.\u003c\/p\u003e\n\n      \u003cdiv class=\"vaultguard-variant-options\" role=\"radiogroup\" aria-label=\"Pistol rack slot count\"\u003e\n        \u003cbutton type=\"button\" class=\"vaultguard-variant-option is-selected\" data-vaultguard-option=\"4 Slots\" role=\"radio\" aria-checked=\"true\"\u003e\n          \u003cstrong\u003e4 Slots\u003c\/strong\u003e\n          \u003cspan\u003eCompact organisation for up to four compatible pistols or revolvers.\u003c\/span\u003e\n        \u003c\/button\u003e\n\n        \u003cbutton type=\"button\" class=\"vaultguard-variant-option\" data-vaultguard-option=\"6 Slots\" role=\"radio\" aria-checked=\"false\"\u003e\n          \u003cstrong\u003e6 Slots\u003c\/strong\u003e\n          \u003cspan\u003eExpanded capacity for larger handgun collections and wider safe shelves.\u003c\/span\u003e\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n\n      \u003cp class=\"vaultguard-selected-note\"\u003e\n        Selected: \u003cspan id=\"vaultguard-selected-value\"\u003e4 Slots\u003c\/span\u003e\n      \u003c\/p\u003e\n    \u003c\/section\u003e\n\n\u003csection class=\"bosveld-section bosveld-section--dark bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eProtect more. Store smarter.\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Give each handgun its own supported position while making better use of\n        the available space inside your safe.\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\u003eProtects Firearm Finishes\u003c\/strong\u003e\n          \u003cp\u003eSoft, scratch-resistant EVA foam helps prevent marks caused by loose contact between stored firearms.\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\u003eMoisture Resistant\u003c\/strong\u003e\n          \u003cp\u003eThe foam resists moisture absorption, helping support cleaner, drier storage conditions.\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\u003eMaximises Safe Space\u003c\/strong\u003e\n          \u003cp\u003eVertical organisation reduces clutter and makes better use of limited shelf capacity.\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        Simple, durable organisation designed specifically for handgun storage.\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\u003eSoft EVA Foam Construction\u003c\/strong\u003e\u003cp\u003eSupports stored firearms without hard edges that may damage their finish.\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\u003eScratch-Resistant Surface\u003c\/strong\u003e\u003cp\u003eHelps reduce rubbing, contact marks and storage-related scuffs.\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\u003eMoisture-Proof Material\u003c\/strong\u003e\u003cp\u003eResists humidity and moisture absorption during normal storage 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\u003eStandard Handgun Compatibility\u003c\/strong\u003e\u003cp\u003eDesigned for revolvers and many standard-size pistols.\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\u003eTool-Free Assembly\u003c\/strong\u003e\u003cp\u003eSimple components slot together in minutes without specialist tools.\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\u003eSpace-Saving Layout\u003c\/strong\u003e\u003cp\u003eKeeps handguns upright, separated and easier to identify at a glance.\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\"\u003eWhy organise your gun safe?\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Proper organisation supports protection, visibility and responsible access.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"pistolrack-use-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n          \u003cdiv class=\"pistolrack-use-icon\"\u003e✨\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eReduce Surface Contact\u003c\/strong\u003e\u003cp\u003eSeparated storage helps prevent firearms from rubbing against one another.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n          \u003cdiv class=\"pistolrack-use-icon\"\u003e🔍\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eImprove Visibility\u003c\/strong\u003e\u003cp\u003eSee each stored handgun clearly without moving a loose stack.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n          \u003cdiv class=\"pistolrack-use-icon\"\u003e🌬️\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eSupport Airflow\u003c\/strong\u003e\u003cp\u003eOrganised spacing helps avoid tightly packed storage areas where moisture can collect.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n          \u003cdiv class=\"pistolrack-use-icon\"\u003e📐\u003c\/div\u003e\n          \u003cdiv\u003e\n\u003cstrong\u003eUse Space Efficiently\u003c\/strong\u003e\u003cp\u003eVertical positioning can create additional usable shelf room.\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\"\u003eIdeal for\u003c\/h2\u003e\n      \u003cdiv class=\"pistolrack-use-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n\u003cdiv class=\"pistolrack-use-icon\"\u003e🔐\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eGun Safe Organisation\u003c\/strong\u003e\u003cp\u003eCreate a cleaner, more structured safe interior.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n\u003cdiv class=\"pistolrack-use-icon\"\u003e🎯\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eHome \u0026amp; Range Storage\u003c\/strong\u003e\u003cp\u003eKeep compatible pistols organised between range visits.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"pistolrack-use-item\"\u003e\n\u003cdiv class=\"pistolrack-use-icon\"\u003e🔄\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRevolvers \u0026amp; Pistols\u003c\/strong\u003e\u003cp\u003eSuitable for many standard handgun profiles.\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\"\u003eAssembly\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eA straightforward, tool-free setup.\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\u003eUnpack the Components\u003c\/strong\u003e\u003cp\u003eLay out the foam base and divider pieces on a clean surface.\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\u003eAlign the Slots\u003c\/strong\u003e\u003cp\u003eMatch each divider with the corresponding opening in the base.\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\u003ePress into Position\u003c\/strong\u003e\u003cp\u003ePush the foam components together until they sit securely.\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\u003ePlace in Your Safe\u003c\/strong\u003e\u003cp\u003ePosition the completed rack on a stable shelf before adding unloaded firearms.\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\"\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 Type\u003c\/th\u003e\n\u003ctd\u003eHandgun storage rack\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaterial\u003c\/th\u003e\n\u003ctd\u003eEVA foam\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSurface\u003c\/th\u003e\n\u003ctd\u003eSoft and scratch resistant\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMoisture Resistance\u003c\/th\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eAvailable Capacities\u003c\/th\u003e\n\u003ctd\u003e4-slot and 6-slot options\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003cth scope=\"row\"\u003eCompatibility\u003c\/th\u003e\n\u003ctd\u003eRevolvers and many standard pistols\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eAssembly\u003c\/th\u003e\n\u003ctd\u003eRequired; tool-free setup\u003c\/td\u003e\n\u003c\/tr\u003e\n            \u003ctr\u003e\n\u003cth scope=\"row\"\u003eIntended Use\u003c\/th\u003e\n\u003ctd\u003eGun safes, cabinets and organised home or range storage\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    \u003cdiv class=\"bosveld-section bosveld-reveal\" style=\"padding:22px 24px;border-left:6px solid var(--olive);background:#edf1e1;\"\u003e\n      \u003cstrong\u003eResponsible storage:\u003c\/strong\u003e Rack only. Firearms shown are for illustration\n      and are not included. Always unload firearms before storage, use a compliant safe,\n      store ammunition as legally required and confirm that each firearm sits securely\n      without pressure on the trigger or controls.\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eReady for a safer, better-organised gun safe?\u003c\/h2\u003e\n        \u003cp\u003e\n          Protect firearm finishes, improve visibility and make better use of\n          your available storage space.\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\"\u003eProtected. Organised. 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\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(\"No Shopify variant could be detected. Place this section on the Shopify product page or add data-variant-id to the button.\");\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  const options = document.querySelectorAll(\"[data-vaultguard-option]\");\n  const selectedLabel = document.getElementById(\"vaultguard-selected-value\");\n\n  if (!options.length) return;\n\n  function normalise(value) {\n    return String(value || \"\")\n      .trim()\n      .toLowerCase()\n      .replace(\/\\s+\/g, \" \");\n  }\n\n  function selectShopifyVariantOption(optionText) {\n    const desired = normalise(optionText);\n\n    \/*\n     * Native Shopify radio-style variant pickers.\n     *\/\n    const radioInputs = 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 input of radioInputs) {\n      const label = document.querySelector('label[for=\"' + input.id + '\"]');\n      const candidateText = normalise(\n        input.value ||\n        input.getAttribute(\"data-value\") ||\n        (label ? label.textContent : \"\")\n      );\n\n      if (\n        candidateText === desired ||\n        candidateText.includes(desired) ||\n        desired.includes(candidateText)\n      ) {\n        input.checked = true;\n        input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n        input.dispatchEvent(new Event(\"input\", { bubbles: true }));\n        return true;\n      }\n    }\n\n    \/*\n     * Native Shopify select-style variant pickers.\n     *\/\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 candidateText = normalise(option.textContent || option.value);\n\n        if (\n          candidateText === desired ||\n          candidateText.includes(desired) ||\n          desired.includes(candidateText)\n        ) {\n          select.value = option.value;\n          select.dispatchEvent(new Event(\"change\", { bubbles: true }));\n          select.dispatchEvent(new Event(\"input\", { bubbles: true }));\n          return true;\n        }\n      }\n    }\n\n    \/*\n     * Fallback: match a variant directly from product JSON.\n     *\/\n    const productJson =\n      document.querySelector('script[type=\"application\/json\"][data-product-json]') ||\n      document.querySelector('product-form script[type=\"application\/json\"]') ||\n      document.querySelector('variant-selects script[type=\"application\/json\"]');\n\n    if (productJson) {\n      try {\n        const data = JSON.parse(productJson.textContent);\n        const variants = Array.isArray(data) ? data : data.variants;\n\n        if (Array.isArray(variants)) {\n          const matched = variants.find(function (variant) {\n            return normalise(variant.title).includes(desired);\n          });\n\n          if (matched \u0026\u0026 matched.id) {\n            const idFields = document.querySelectorAll(\n              'form[action*=\"\/cart\/add\"] input[name=\"id\"]'\n            );\n\n            idFields.forEach(function (field) {\n              field.value = matched.id;\n              field.dispatchEvent(new Event(\"change\", { bubbles: true }));\n            });\n\n            return true;\n          }\n        }\n      } catch (error) {\n        console.warn(\"VaultGuard variant JSON could not be read:\", error);\n      }\n    }\n\n    return false;\n  }\n\n  function setSelected(optionButton) {\n    const optionText = optionButton.dataset.vaultguardOption;\n\n    options.forEach(function (item) {\n      const selected = item === optionButton;\n      item.classList.toggle(\"is-selected\", selected);\n      item.setAttribute(\"aria-checked\", selected ? \"true\" : \"false\");\n    });\n\n    if (selectedLabel) {\n      selectedLabel.textContent = optionText;\n    }\n\n    document\n      .querySelectorAll(\"[data-bosveld-add-to-cart]\")\n      .forEach(function (button) {\n        button.dataset.selectedOption = optionText;\n      });\n\n    selectShopifyVariantOption(optionText);\n  }\n\n  options.forEach(function (optionButton) {\n    optionButton.addEventListener(\"click\", function () {\n      setSelected(optionButton);\n    });\n  });\n\n  setSelected(\n    document.querySelector(\".vaultguard-variant-option.is-selected\") ||\n    options[0]\n  );\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical","offers":[{"title":"4 Slots","offer_id":48353453310105,"sku":null,"price":349.0,"currency_code":"ZAR","in_stock":true},{"title":"6 Slots","offer_id":48353453342873,"sku":null,"price":599.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPT_Image_Aug_11_2026_12_29_35_PM.png?v=1786444275"},{"product_id":"tactical-helmet-vest-wall-rack","title":"Tactical Helmet \u0026 Vest Wall Rack","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=\"Heavy-duty stainless steel Tactical Helmet and Vest Wall Rack for organised storage of helmets, vests and accessories.\"\u003e\n  \u003ctitle\u003eTactical Helmet \u0026amp; Vest Wall Rack\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\u003cstyle id=\"helmet-rack-shopify-safe-fix\"\u003e\n.gear-wall,\n.gear-backplate,\n.gear-arm,\n.gear-helmet,\n.gear-vest,\n.gear-hook{\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.gear-rack-visual{\n  position:relative !important;\n  z-index:10 !important;\n  display:block !important;\n  visibility:visible !important;\n  opacity:1 !important;\n  width:min(700px,92%) !important;\n  height:390px !important;\n  margin:0 auto !important;\n}\n\n.bosveld-product-visual{\n  min-height:500px !important;\n}\n\n@media(max-width:760px){\n  .gear-rack-visual{height:315px !important;width:96% !important;}\n  .bosveld-product-visual{min-height:410px !important;}\n}\n\n@media(max-width:430px){\n  .gear-rack-visual{height:250px !important;width:98% !important;}\n  .bosveld-product-visual{min-height:330px !important;}\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    .gear-rack-visual{position:relative;z-index:3;width:min(700px,92%);height:390px;animation:bosveld-product-float 4s ease-in-out infinite}\n    .gear-wall{position:absolute;left:50%;bottom:28px;width:520px;height:300px;border:10px solid #293028;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 30%),repeating-linear-gradient(90deg,#747a71 0 56px,#666c63 56px 60px);box-shadow:0 28px 46px rgba(38,53,31,.22);transform:translateX(-50%)}\n    .gear-backplate{position:absolute;z-index:5;left:50%;top:78px;width:230px;height:70px;border:8px solid #151915;border-radius:18px;background:linear-gradient(145deg,#7f8980,#434b43);transform:translateX(-50%);box-shadow:0 16px 28px rgba(25,30,24,.22)}\n    .gear-arm{position:absolute;z-index:4;left:50%;top:115px;width:26px;height:150px;border:7px solid #171b17;border-radius:999px;background:linear-gradient(145deg,#687168,#343b34);transform:translateX(-50%)}\n    .gear-helmet{position:absolute;z-index:7;left:50%;top:100px;width:200px;height:130px;border:8px solid #171b17;border-radius:50% 50% 34% 34%;background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 34%),linear-gradient(145deg,#4d5b45,#293426 72%);transform:translateX(-50%);box-shadow:0 20px 32px rgba(27,34,24,.24)}\n    .gear-vest{position:absolute;z-index:6;left:50%;bottom:42px;width:240px;height:140px;border:8px solid #171b17;clip-path:polygon(14% 0,36% 12%,50% 4%,64% 12%,86% 0,100% 100%,0 100%);background:repeating-linear-gradient(90deg,#4a5745 0 26px,#3d4939 26px 30px);transform:translateX(-50%);box-shadow:0 22px 34px rgba(27,34,24,.22)}\n    .gear-hook{position:absolute;z-index:6;top:142px;width:92px;height:18px;border:6px solid #171b17;border-radius:999px;background:linear-gradient(145deg,#697168,#323832)}\n    .gear-hook.left{left:92px;transform:rotate(-8deg)}\n    .gear-hook.right{right:92px;transform:rotate(8deg)}\n    .gear-label{position:absolute;z-index:9;left:50%;bottom:18px;width:250px;padding:11px 15px;border:2px solid rgba(236,242,225,.52);border-radius:999px;color:#eff4e8;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-align:center;text-transform:uppercase;background:#35402f;transform:translateX(-50%)}\n    .gear-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px}\n    .gear-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    .gear-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:16px;font-size:1.4rem;background:#dce7be}\n    @media(max-width:760px){.gear-rack-visual{height:315px}.gear-wall{width:390px;height:245px}.gear-backplate{top:65px;width:180px;height:58px}.gear-helmet{top:84px;width:154px;height:104px}.gear-arm{top:98px;height:120px}.gear-vest{width:188px;height:110px}.gear-hook.left{left:55px}.gear-hook.right{right:55px}}\n    @media(max-width:430px){.gear-rack-visual{height:250px}.gear-wall{width:285px;height:195px;border-width:6px}.gear-backplate{top:52px;width:138px;height:46px;border-width:6px}.gear-helmet{top:68px;width:118px;height:82px;border-width:6px}.gear-arm{top:80px;height:92px;border-width:6px}.gear-vest{width:145px;height:88px;border-width:6px}.gear-hook{width:62px;height:14px;border-width:5px}.gear-hook.left{left:35px}.gear-hook.right{right:35px}.gear-label{width:160px;font-size:.5rem;padding:9px}}\n  \u003c\/style\u003e\n\n  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003ePurpose-built wall storage for serious gear\u003c\/p\u003e\n    \u003ch1 class=\"bosveld-title\"\u003eTactical Helmet \u0026amp; Vest \u003cspan\u003eWall Rack\u003c\/span\u003e\n\u003c\/h1\u003e\n    \u003cp class=\"bosveld-tagline\"\u003eMount Your Gear. Own Your Space.\u003c\/p\u003e\n    \u003cp class=\"bosveld-intro\"\u003eKeep helmets, vests and accessories organised, accessible and off the floor. This heavy-duty stainless steel wall rack is built for garages, armouries, mudrooms and tactical prep spaces where reliable storage matters.\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      \u003cdiv class=\"bosveld-product-badge\"\u003e\u003cdiv\u003e\n\u003cstrong\u003eStainless Steel\u003c\/strong\u003e\u003cspan\u003eRust and corrosion resistant\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n      \u003cdiv class=\"gear-rack-visual\" role=\"img\" aria-label=\"Wall-mounted rack holding a tactical helmet and vest\"\u003e\n        \u003cdiv class=\"gear-wall\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-backplate\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-arm\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-helmet\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-vest\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-hook left\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-hook right\" aria-hidden=\"true\"\u003e​\u003c\/div\u003e\n        \u003cdiv class=\"gear-label\"\u003eHelmet \u0026amp; Vest Wall Rack\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\"\u003eGive your gear a proper home\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eSave space, protect valuable equipment and keep essential kit ready to grab.\u003c\/p\u003e\n      \u003cdiv class=\"bosveld-benefit-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e📐\u003c\/div\u003e\n\u003cstrong\u003eReclaim Floor Space\u003c\/strong\u003e\u003cp\u003eWall-mounted storage keeps bulky helmets and vests off benches, floors and shelves.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e⚡\u003c\/div\u003e\n\u003cstrong\u003eFaster Gear Access\u003c\/strong\u003e\u003cp\u003eKeep essential equipment visible and ready for quick use.\u003c\/p\u003e\u003c\/article\u003e\n        \u003carticle class=\"bosveld-benefit-card\"\u003e\u003cdiv class=\"bosveld-benefit-icon\"\u003e🛡️\u003c\/div\u003e\n\u003cstrong\u003eBuilt for Long-Term Use\u003c\/strong\u003e\u003cp\u003eStainless steel construction resists rust and corrosion in demanding environments.\u003c\/p\u003e\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\"\u003eWhy operators choose this rack\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\u003ePremium Stainless Steel\u003c\/strong\u003e\u003cp\u003eRust-resistant, corrosion-resistant and built for repeated 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\u003eSpace-Saving Wall Mount\u003c\/strong\u003e\u003cp\u003eMoves gear off the floor and frees shelving and workbench space.\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\u003eHelmet \u0026amp; Vest Support\u003c\/strong\u003e\u003cp\u003ePurpose-built support for helmets, vests and accessories.\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 Compatibility\u003c\/strong\u003e\u003cp\u003eSuitable for tactical, motorcycle, soccer and racing helmets.\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\u003eClean Minimal Profile\u003c\/strong\u003e\u003cp\u003eFits garages, armouries, mudrooms and preparation areas.\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\u003eInstallation Hardware Included\u003c\/strong\u003e\u003cp\u003eSupplied ready for straightforward wall mounting.\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\"\u003eWhat can it hold?\u003c\/h2\u003e\n      \u003cdiv class=\"gear-grid bosveld-stagger\"\u003e\n        \u003cdiv class=\"gear-item\"\u003e\n\u003cdiv class=\"gear-icon\"\u003e🪖\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eTactical Helmets\u003c\/strong\u003e\u003cp\u003eSupport compatible tactical and ballistic-style helmets.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"gear-item\"\u003e\n\u003cdiv class=\"gear-icon\"\u003e🏍️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eMotorcycle Helmets\u003c\/strong\u003e\u003cp\u003eStore road, off-road and adventure helmets off the floor.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"gear-item\"\u003e\n\u003cdiv class=\"gear-icon\"\u003e🏎️\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eRacing \u0026amp; Sports Helmets\u003c\/strong\u003e\u003cp\u003eSuitable for many racing, soccer and protective helmets.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"gear-item\"\u003e\n\u003cdiv class=\"gear-icon\"\u003e🦺\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eVests \u0026amp; Accessories\u003c\/strong\u003e\u003cp\u003eHang compatible tactical vests, harnesses and lightweight gear.\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\"\u003eWhat you get\u003c\/h2\u003e\n      \u003cdiv class=\"gear-grid\"\u003e\n        \u003cdiv class=\"gear-item\"\u003e\n\u003cdiv class=\"gear-icon\"\u003e1×\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cstrong\u003eStainless Steel Wall-Mounted Helmet \u0026amp; Vest Rack\u003c\/strong\u003e\u003cp\u003eReady to install, with mounting hardware included.\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      \u003cdiv class=\"bosveld-spec-table-wrap\"\u003e\u003ctable class=\"bosveld-spec-table\"\u003e\u003ctbody\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eProduct Type\u003c\/th\u003e\n\u003ctd\u003eWall-mounted helmet and vest storage rack\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMaterial\u003c\/th\u003e\n\u003ctd\u003eStainless steel\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eMounting Style\u003c\/th\u003e\n\u003ctd\u003eWall mounted\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eCorrosion Resistance\u003c\/th\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSuitable Gear\u003c\/th\u003e\n\u003ctd\u003eTactical, motorcycle, soccer and racing helmets, plus compatible vests and accessories\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eHardware\u003c\/th\u003e\n\u003ctd\u003eInstallation hardware included\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBest For\u003c\/th\u003e\n\u003ctd\u003eGarages, armouries, mudrooms, workshops and tactical prep rooms\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/tbody\u003e\u003c\/table\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"bosveld-section bosveld-reveal\"\u003e\n      \u003ch2 class=\"bosveld-section-heading\"\u003eInstallation guidance\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\u003eChoose a Solid Surface\u003c\/strong\u003e\u003cp\u003eSelect a suitable wall, stud, masonry surface or reinforced mounting point.\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\u003eMark the Mounting Points\u003c\/strong\u003e\u003cp\u003eLevel the rack and mark each fixing position before drilling.\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\u003eUse Suitable Fixings\u003c\/strong\u003e\u003cp\u003eMatch the hardware to the wall type and expected load.\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\u003eCheck Before Loading\u003c\/strong\u003e\u003cp\u003eConfirm the rack is level, tight and secure before adding equipment.\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\u003eInstallation note:\u003c\/strong\u003e Confirm that the wall and fixings can safely support the rack and stored equipment. Hardware requirements may differ by wall type. Gear shown is for illustration and is not included.\u003c\/div\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n\u003ch2\u003eReady to give your gear a proper home?\u003c\/h2\u003e\n\u003cp\u003eSave space, protect valuable equipment and keep your helmet and vest ready to grab.\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\n        \u003cbutton type=\"button\" class=\"bosveld-button bosveld-button--secondary\" id=\"bosveld-add-to-cart\" data-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\"\u003eMounted. Organised. Mission 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(\".gear-rack-visual\");\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":48357067784345,"sku":null,"price":999.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageJul24_2026_10_45_10AM.png?v=1784882739"},{"product_id":"rangecommander-xs-tactical-12-pistol-range-bag","title":"RangeCommander XS – Tactical 12-Pistol Range Bag","description":"\u003cbody\u003e\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=\"RangeCommander XS compact tactical pistol range bag with 12-pistol capacity, lockable dual zipper, universal holster and durable organised storage.\"\u003e\n\u003ctitle\u003eRangeCommander XS Tactical Pistol Range Bag\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,.18);\n\n  position:relative;\n  width:100%;\n  overflow:hidden;\n  container-type:inline-size;\n  padding:72px 20px;\n  color:var(--text);\n  font-family:Arial,Helvetica,sans-serif;\n  background:\n    radial-gradient(circle at 10% 10%,rgba(113,132,71,.18),transparent 32%),\n    radial-gradient(circle at 90% 80%,rgba(85,107,47,.14),transparent 30%),\n    var(--cream);\n}\n\n.bosveld-rod-section,\n.bosveld-rod-section *{box-sizing:border-box}\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.bosveld-decoration--one{\n  top:40px;right:4%;width:130px;height:130px;\n  border:2px solid rgba(85,107,47,.18);\n}\n.bosveld-decoration--two{\n  bottom:100px;left:3%;width:84px;height:84px;\n  background:rgba(113,132,71,.1);\n  animation-delay:-3s;\n}\n\n.bosveld-eyebrow{\n  margin:0 0 14px;\n  color:var(--olive);\n  font-size:.8rem;\n  font-weight:900;\n  letter-spacing:2.2px;\n  text-transform:uppercase;\n  animation:bosveld-fade-up .7s ease both;\n}\n\n.bosveld-title{\n  width:100%;\n  max-width:100%;\n  margin:0;\n  color:var(--olive-dark);\n  font-size:clamp(2.45rem,9cqw,5.1rem);\n  line-height:.97;\n  letter-spacing:-.05em;\n  overflow-wrap:normal;\n  word-break:normal;\n  animation:bosveld-fade-up .8s .1s ease both;\n}\n.bosveld-title span{\n  display:block;\n  width:100%;\n  max-width:100%;\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 .8s .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 .8s .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(circle at center,rgba(168,180,134,.25),transparent 46%),\n    linear-gradient(150deg,#fff,#e8eddc);\n  box-shadow:0 22px 48px rgba(38,53,31,.14);\n  perspective:1200px;\n}\n.bosveld-product-visual::before{\n  position:absolute;width:430px;height:430px;border-radius:50%;\n  background:rgba(113,132,71,.1);\n  content:\"\";\n  animation:bosveld-halo 5s ease-in-out infinite;\n}\n\n.bosveld-product-badge{\n  position:absolute;top:22px;right:22px;z-index:4;\n  display:grid;width:96px;height:96px;place-items:center;\n  border-radius:50%;color:#dce7be;text-align:center;\n  background:var(--olive-dark);\n  box-shadow:0 14px 30px rgba(38,53,31,.25);\n  animation:bosveld-badge-float 3.5s ease-in-out infinite;\n}\n.bosveld-product-badge strong{display:block;font-size:.9rem;line-height:1.1}\n.bosveld-product-badge span{\n  display:block;margin-top:5px;color:rgba(255,255,255,.68);\n  font-size:.5rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;\n}\n\n\/* RangeCommander XS product illustration *\/\n.bosveld-range-bag{\n  position:relative;\n  z-index:3;\n  width:min(520px,82%);\n  height:310px;\n  animation:bosveld-product-float 4s ease-in-out infinite;\n}\n.bosveld-bag-body{\n  position:absolute;\n  left:50%;top:80px;\n  width:390px;height:190px;\n  transform:translateX(-50%);\n  border:8px solid #151915;\n  border-radius:24px;\n  background:\n    linear-gradient(135deg,rgba(255,255,255,.07),transparent 35%),\n    repeating-linear-gradient(0deg,#394235 0 20px,#343d30 20px 40px);\n  box-shadow:0 28px 40px rgba(30,36,28,.25);\n}\n.bosveld-bag-handle{\n  position:absolute;\n  left:50%;top:34px;\n  width:180px;height:90px;\n  transform:translateX(-50%);\n  border:16px solid #20271e;\n  border-bottom:0;\n  border-radius:48px 48px 0 0;\n}\n.bosveld-bag-pocket{\n  position:absolute;\n  bottom:22px;\n  width:105px;height:82px;\n  border:5px solid #1b2119;\n  border-radius:12px;\n  background:#485341;\n}\n.bosveld-bag-pocket--left{left:22px}\n.bosveld-bag-pocket--middle{left:50%;transform:translateX(-50%)}\n.bosveld-bag-pocket--right{right:22px}\n.bosveld-bag-zip{\n  position:absolute;\n  left:18px;right:18px;top:26px;\n  height:6px;border-radius:999px;background:#9aa48f;\n}\n.bosveld-bag-lock{\n  position:absolute;\n  right:34px;top:12px;\n  display:grid;width:38px;height:38px;place-items:center;\n  border-radius:8px;background:#dce7be;font-size:1.05rem;\n}\n.bosveld-bag-logo{\n  position:absolute;\n  left:50%;top:53px;\n  transform:translateX(-50%);\n  color:#eef3e7;\n  font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;\n}\n.bosveld-section{\n  position:relative;\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,.94);\n  box-shadow:0 14px 35px rgba(38,53,31,.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,.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:-.03em;\n}\n.bosveld-section--dark .bosveld-section-heading{color:var(--white)}\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.bosveld-section--dark .bosveld-section-intro{color:rgba(255,255,255,.72)}\n\n.bosveld-benefit-grid,\n.bosveld-feature-grid,\n.bosveld-spec-grid{\n  display:grid;\n  width:100%;\n  gap:16px;\n}\n.bosveld-benefit-grid{\n  grid-template-columns:1fr;\n  max-width:680px;\n  margin:0 auto;\n}\n.bosveld-feature-grid,\n.bosveld-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}\n\n.bosveld-benefit-card,\n.bosveld-feature-card,\n.bosveld-spec-card{\n  position:relative;\n  overflow:hidden;\n  min-width:0;\n  border-radius:17px;\n  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;\n}\n\n.bosveld-benefit-card{\n  display:grid;\n  grid-template-columns:58px minmax(0,1fr);\n  column-gap:16px;\n  align-items:start;\n  padding:22px;\n  border:1px solid rgba(255,255,255,.13);\n  background:rgba(255,255,255,.07);\n}\n.bosveld-benefit-icon{\n  grid-row:1 \/ span 2;\n}\n.bosveld-benefit-card strong{\n  margin:2px 0 7px;\n  font-size:1.05rem;\n  line-height:1.3;\n}\n.bosveld-benefit-card p{\n  grid-column:2;\n}\n.bosveld-benefit-card:hover{\n  border-color:rgba(255,255,255,.32);\n  background:rgba(255,255,255,.12);\n  transform:translateY(-6px);\n}\n\n.bosveld-benefit-icon{\n  display:grid;width:48px;height:48px;margin-bottom:14px;\n  place-items:center;border-radius:15px;\n  color:var(--olive-dark);font-size:1.3rem;background:#dce7be;\n  animation:bosveld-icon-bob 3.3s ease-in-out infinite;\n}\n.bosveld-benefit-card strong,\n.bosveld-feature-card strong,\n.bosveld-spec-card strong{\n  display:block;margin-bottom:8px;font-size:.96rem;\n}\n.bosveld-benefit-card p{\n  margin:0;color:rgba(255,255,255,.72);\n  font-size:.86rem;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.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,.12);\n  transform:translateY(-6px);\n}\n.bosveld-feature-card p,\n.bosveld-spec-card p{\n  margin:0;color:var(--muted);font-size:.86rem;line-height:1.6;\n}\n\n.bosveld-feature-number{\n  display:grid;\n  width:42px;height:42px;\n  margin-bottom:12px;\n  place-items:center;\n  border-radius:50%;\n  color:var(--olive-dark);\n  background:#dce7be;\n  font-weight:900;\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,.2);\n}\n.bosveld-cta h2{margin:0 0 8px;font-size:clamp(1.55rem,4vw,2.2rem)}\n.bosveld-cta p{margin:0;color:rgba(255,255,255,.76);line-height:1.65}\n\n.bosveld-button-group{\n  display:grid;\n  grid-template-columns:1fr;\n  gap:12px;\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:transform .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease;\n}\n.bosveld-button:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(0,0,0,.18)}\n.bosveld-button--primary{color:var(--olive-dark);background:var(--white)}\n.bosveld-button--secondary{color:var(--white);background:transparent;cursor:pointer}\n\n.bosveld-footer-tagline{\n  margin:30px 0 0;\n  color:var(--olive-dark);\n  font-size:.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:opacity .75s ease,transform .75s ease;\n}\n.bosveld-reveal.is-visible{opacity:1;transform:translateY(0)}\n\n.bosveld-stagger\u003e*{\n  opacity:0;\n  transform:translateY(18px);\n  transition:opacity .6s ease,transform .6s ease;\n}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*{opacity:1;transform:translateY(0)}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(1){transition-delay:.08s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(2){transition-delay:.16s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(3){transition-delay:.24s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(4){transition-delay:.32s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(5){transition-delay:.40s}\n.bosveld-reveal.is-visible .bosveld-stagger\u003e*:nth-child(6){transition-delay:.48s}\n\n@keyframes bosveld-fade-up{\n  from{opacity:0;transform:translateY(24px)}\n  to{opacity:1;transform:translateY(0)}\n}\n@keyframes bosveld-float{\n  0%,100%{transform:translateY(0) rotate(0)}\n  50%{transform:translateY(-18px) rotate(8deg)}\n}\n@keyframes bosveld-product-float{\n  0%,100%{transform:translateY(0) rotate(-1deg)}\n  50%{transform:translateY(-12px) rotate(1deg)}\n}\n@keyframes bosveld-halo{\n  0%,100%{opacity:.75;transform:scale(.92)}\n  50%{opacity:1;transform:scale(1.06)}\n}\n@keyframes bosveld-icon-bob{\n  0%,100%{transform:translateY(0) rotate(-2deg)}\n  50%{transform:translateY(-7px) rotate(2deg)}\n}\n@keyframes bosveld-badge-float{\n  0%,100%{transform:translateY(0) rotate(-2deg)}\n  50%{transform:translateY(-7px) rotate(2deg)}\n}\n\n@media screen and (max-width:760px){\n  .bosveld-rod-section{padding:48px 16px}\n\n  .bosveld-title{\n    font-size:clamp(2.35rem,10cqw,4rem);\n  }\n\n  .bosveld-product-visual{min-height:390px}\n\n  .bosveld-benefit-grid,\n  .bosveld-feature-grid,\n  .bosveld-spec-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-benefit-card{\n    grid-template-columns:48px minmax(0,1fr);\n    column-gap:13px;\n    padding:18px 16px;\n  }\n  .bosveld-benefit-icon{\n    width:44px;\n    height:44px;\n  }\n\n  .bosveld-rod-section{padding-inline:10px}\n\n  .bosveld-rod-container{width:100%}\n\n  .bosveld-title{\n    font-size:clamp(2rem,10.5cqw,3.1rem);\n  }\n\n  .bosveld-eyebrow{\n    font-size:.72rem;\n    letter-spacing:1.7px;\n  }\n\n  .bosveld-intro{font-size:.96rem}\n\n  .bosveld-product-visual{\n    min-height:330px;\n    border-radius:20px;\n  }\n\n  .bosveld-product-badge{\n    width:66px;\n    height:66px;\n  }\n\n  .bosveld-section{padding:22px 17px}\n}\n\n\n@media screen and (max-width:760px){\n  .bosveld-range-bag{width:92%;height:280px}\n  .bosveld-bag-body{top:78px;width:min(390px,88%);height:175px}\n  .bosveld-bag-handle{top:42px;width:155px;height:78px;border-width:14px}\n  .bosveld-bag-pocket{width:27%;height:72px}\n}\n@media screen and (max-width:430px){\n  .bosveld-range-bag{width:96%;height:235px}\n  .bosveld-bag-body{top:70px;width:92%;height:145px;border-width:6px}\n  .bosveld-bag-handle{top:38px;width:125px;height:65px;border-width:12px}\n  .bosveld-bag-pocket{bottom:16px;height:55px;border-width:4px}\n  .bosveld-bag-logo{top:48px;font-size:.58rem}\n  .bosveld-bag-lock{right:20px;width:32px;height:32px}\n}\n\n\n@container (max-width:700px){\n  .bosveld-title{\n    font-size:clamp(2.25rem,10cqw,4rem);\n    line-height:.98;\n    letter-spacing:-.045em;\n  }\n  .bosveld-tagline{\n    font-size:1.05rem;\n  }\n}\n\n@container (max-width:560px){\n  .bosveld-title{\n    font-size:clamp(2rem,10.5cqw,3.15rem);\n    line-height:1;\n    letter-spacing:-.04em;\n  }\n  .bosveld-eyebrow{\n    font-size:.7rem;\n    letter-spacing:1.5px;\n  }\n  .bosveld-tagline{\n    margin-top:16px;\n    font-size:1rem;\n    line-height:1.35;\n  }\n}\n\n@container (max-width:430px){\n  .bosveld-title{\n    font-size:clamp(1.9rem,11cqw,2.8rem);\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:.01ms!important;\n    animation-iteration-count:1!important;\n    transition-duration:.01ms!important;\n  }\n  .bosveld-reveal{opacity:1;transform:none}\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  \u003cdiv class=\"bosveld-rod-container\"\u003e\n    \u003cp class=\"bosveld-eyebrow\"\u003eCompact tactical storage for range and field\u003c\/p\u003e\n\n    \u003ch1 class=\"bosveld-title\"\u003e\n      RangeCommander\n      \u003cspan\u003eXS Tactical Range Bag\u003c\/span\u003e\n    \u003c\/h1\u003e\n\n    \u003cp class=\"bosveld-tagline\"\u003eYour Range. Your Rules. Your Bag.\u003c\/p\u003e\n\n    \u003cp class=\"bosveld-intro\"\u003e\n      The \u003cstrong\u003eRangeCommander XS\u003c\/strong\u003e is built for the shooter who takes their kit seriously.\n      Whether you’re heading to the range for a morning session or packing for a hunting trip,\n      this compact tactical pistol bag keeps your firearms secure, organised, and ready for transport\n      — every single time.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"bosveld-product-visual\" data-parallax\u003e\n      \u003cdiv class=\"bosveld-product-badge\"\u003e\n        \u003cdiv\u003e\n          \u003cstrong\u003e12 Pistol\u003c\/strong\u003e\n          \u003cspan\u003eCapacity\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-range-bag\" role=\"img\" aria-label=\"RangeCommander XS tactical pistol range bag\"\u003e\n        \u003cdiv class=\"bosveld-bag-handle\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"bosveld-bag-body\"\u003e\n          \u003cdiv class=\"bosveld-bag-zip\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-lock\"\u003e🔒\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-logo\"\u003eRangeCommander XS\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--left\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--middle\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"bosveld-bag-pocket bosveld-bag-pocket--right\"\u003e\u003c\/div\u003e\n        \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\"\u003eCompact outside. Serious capacity inside.\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        Built to keep your range setup organised, protected and easier to transport.\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\u003e12-Pistol Capacity\u003c\/strong\u003e\n          \u003cp\u003eGenerous organised storage for a full collection or a shared range-day setup.\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\u003eLockable Dual Zipper\u003c\/strong\u003e\n          \u003cp\u003ePadlock-compatible zipper pulls help keep the bag secured during storage and transport.\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\u003eUniversal Holster Included\u003c\/strong\u003e\n          \u003cp\u003eFits most standard pistol frames, so there’s no separate holster purchase required.\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 Included\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003eEverything you need for a more organised range setup.\u003c\/p\u003e\n\n      \u003cdiv style=\"margin:0 0 20px;padding:15px 17px;border-left:5px solid var(--olive);border-radius:10px;background:#edf1e1;color:var(--olive-dark);line-height:1.55;\"\u003e\n        \u003cstrong\u003ePlease note:\u003c\/strong\u003e The Bosveld Tactical badge is \u003cstrong\u003enot included\u003c\/strong\u003e with the RangeCommander XS.\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eTactical 12-Pistol Range Bag\u003c\/strong\u003e\n          \u003cp\u003eCompact tactical storage designed around range-day organisation.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eLockable Dual Zipper\u003c\/strong\u003e\n          \u003cp\u003eCompatible with a padlock for added security. Padlock not included.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eUniversal Holster\u003c\/strong\u003e\n          \u003cp\u003eIncluded with the bag and designed to fit most standard pistol frames.\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        Purpose-built storage without unnecessary bulk.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e01\u003c\/div\u003e\n          \u003cstrong\u003e12-Pistol Capacity\u003c\/strong\u003e\n          \u003cp\u003eGenerous storage for your collection or a shared range day.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e02\u003c\/div\u003e\n          \u003cstrong\u003eLockable Zipper\u003c\/strong\u003e\n          \u003cp\u003ePadlock-compatible for more secure storage and transport.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e03\u003c\/div\u003e\n          \u003cstrong\u003eUniversal Holster Included\u003c\/strong\u003e\n          \u003cp\u003eNo extra purchase needed; designed to fit most standard handguns.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e04\u003c\/div\u003e\n          \u003cstrong\u003eDurable Construction\u003c\/strong\u003e\n          \u003cp\u003eBuilt to handle repeated use at the range and in the field.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cdiv class=\"bosveld-feature-number\"\u003e05\u003c\/div\u003e\n          \u003cstrong\u003eCompact XS Profile\u003c\/strong\u003e\n          \u003cp\u003eFits neatly in a vehicle boot, locker or range-bag rack without taking over the space.\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\"\u003eWho It’s For\u003c\/h2\u003e\n      \u003cp class=\"bosveld-section-intro\"\u003e\n        From the weekend range shooter to the serious hunter, the RangeCommander XS\n        is a no-nonsense bag designed to show up ready. Pack it, secure it and go.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"bosveld-feature-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eRange Days\u003c\/strong\u003e\n          \u003cp\u003eKeep your shooting kit together and organised for regular practice sessions.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eHunting Trips\u003c\/strong\u003e\n          \u003cp\u003eCompact enough to pack alongside the rest of your field gear.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eOrganised Storage\u003c\/strong\u003e\n          \u003cp\u003eA practical option when you want dedicated space for your pistols and related range kit.\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-feature-card\"\u003e\n          \u003cstrong\u003eShared Range Sessions\u003c\/strong\u003e\n          \u003cp\u003eThe 12-pistol capacity gives you room when more than one shooter is packing for the day.\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\n      \u003cdiv class=\"bosveld-spec-grid bosveld-stagger\"\u003e\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eProduct\u003c\/strong\u003e\n          \u003cp\u003eRangeCommander XS Tactical Range Bag\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eCapacity\u003c\/strong\u003e\n          \u003cp\u003eUp to 12 pistols\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eClosure\u003c\/strong\u003e\n          \u003cp\u003eLockable dual zipper\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eIncluded\u003c\/strong\u003e\n          \u003cp\u003eUniversal holster\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eProfile\u003c\/strong\u003e\n          \u003cp\u003eCompact XS tactical design\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003ePadlock\u003c\/strong\u003e\n          \u003cp\u003eNot included\u003c\/p\u003e\n        \u003c\/article\u003e\n\n        \u003carticle class=\"bosveld-spec-card\"\u003e\n          \u003cstrong\u003eBosveld Tactical Badge\u003c\/strong\u003e\n          \u003cp\u003eNot included\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003cdiv class=\"bosveld-cta bosveld-reveal\"\u003e\n      \u003cdiv\u003e\n        \u003ch2\u003eYour range. Your rules. Your bag.\u003c\/h2\u003e\n        \u003cp\u003e\n          Compact tactical organisation for shooters who want their kit together and ready to go.\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\"\u003e\n          View Product Features\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cp class=\"bosveld-footer-tagline\"\u003ePACK. SECURE. GO.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  const revealItems=document.querySelectorAll(\".bosveld-reveal\");\n\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:.14});\n\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 href=link.getAttribute(\"href\");\n      if(!href || href===\"#\")return;\n      const target=document.querySelector(href);\n      if(!target)return;\n      event.preventDefault();\n      target.scrollIntoView({behavior:\"smooth\",block:\"start\"});\n    });\n  });\n});\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Bosveld Tactical","offers":[{"title":"Default Title","offer_id":48831573655705,"sku":null,"price":899.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/files\/ChatGPTImageAug8_2026_08_10_24AM.png?v=1786169719"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0732\/9375\/8617\/collections\/ChatGPTImageJul24_2026_10_45_10AM.png?v=1788290624","url":"https:\/\/bosveldtactical.co.za\/collections\/firearms.oembed","provider":"Bosveld Tactical ","version":"1.0","type":"link"}