{"title":"Home page","description":null,"products":[{"product_id":"formfit™-grips","title":"formfit™ Training Grips","description":"\u003c!-- =========================================================\nHERFORM™ — LUXURY EDITORIAL PRODUCT DESCRIPTION\nHIGH-CONVERTING \/ FEMININE \/ MINIMAL \/ PREMIUM\n========================================================= --\u003e\n\n\u003cstyle\u003e\n\n\/* =========================================================\nGLOBAL\n========================================================= *\/\n\n.herform-editorial *{\n  box-sizing:border-box;\n}\n\n.herform-editorial{\n  overflow:visible;\n  background:#fff;\n  color:#111111;\n}\n\n\/* =========================================================\nFADE IN\n========================================================= *\/\n\n.hf-reveal{\n  opacity:0;\n  transform:translateY(26px);\n  transition:\n    opacity .9s cubic-bezier(.22,1,.36,1),\n    transform .9s cubic-bezier(.22,1,.36,1);\n}\n\n.hf-reveal.visible{\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* =========================================================\nSECTION SPACING\n========================================================= *\/\n\n.hf-section{\n  padding:95px 6%;\n}\n\n.hf-inner{\n  max-width:980px;\n  margin:auto;\n}\n\n\/* =========================================================\nEDITORIAL HERO\n========================================================= *\/\n\n.hf-hero{\n  position:relative;\n\n  padding:110px 6% 90px;\n\n  background:\n    radial-gradient(circle at top left, rgba(198,167,125,0.16), transparent 42%),\n    linear-gradient(180deg,#FCFAF7 0%, #F6EFE8 100%);\n}\n\n.hf-hero:before{\n  content:\"\";\n  position:absolute;\n  inset:0;\n\n  background:\n    linear-gradient(\n      120deg,\n      rgba(255,255,255,0.55),\n      rgba(255,255,255,0)\n    );\n\n  pointer-events:none;\n}\n\n.hf-hero-inner{\n  position:relative;\n  z-index:2;\n\n  max-width:940px;\n  margin:auto;\n  text-align:center;\n}\n\n.hf-eyebrow{\n  margin-bottom:24px;\n\n  color:#C6A77D;\n\n  font-size:11px;\n  letter-spacing:2.8px;\n  text-transform:uppercase;\n  font-weight:700;\n}\n\n.hf-hero h1{\n  margin:0 auto 24px;\n\n  max-width:820px;\n\n  font-size:72px;\n  line-height:0.95;\n  letter-spacing:-3.2px;\n\n  color:#111111;\n  font-weight:600;\n}\n\n.hf-hero h1 span{\n  color:#C6A77D;\n}\n\n.hf-hero p{\n  max-width:680px;\n  margin:0 auto;\n\n  font-size:17px;\n  line-height:1.95;\n\n  color:#666666;\n}\n\n\/* =========================================================\nEMOTIONAL STATEMENT\n========================================================= *\/\n\n.hf-statement{\n  background:#fff;\n}\n\n.hf-statement-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:70px;\n  align-items:center;\n}\n\n.hf-statement-left h2{\n  margin:0;\n\n  font-size:58px;\n  line-height:0.98;\n  letter-spacing:-2.4px;\n\n  color:#111111;\n  font-weight:600;\n}\n\n.hf-statement-right p{\n  margin:0;\n\n  font-size:16px;\n  line-height:2;\n\n  color:#666666;\n}\n\n.hf-statement-right strong{\n  color:#111111;\n  font-weight:600;\n}\n\n\/* =========================================================\nPROBLEM LIST\n========================================================= *\/\n\n.hf-problems{\n  margin-top:50px;\n\n  border-top:1px solid rgba(0,0,0,0.08);\n}\n\n.hf-problem{\n  display:flex;\n  gap:18px;\n\n  padding:24px 0;\n\n  border-bottom:1px solid rgba(0,0,0,0.08);\n}\n\n.hf-problem-dot{\n  min-width:8px;\n  height:8px;\n\n  margin-top:10px;\n\n  border-radius:50%;\n  background:#C6A77D;\n}\n\n.hf-problem p{\n  margin:0;\n\n  font-size:15px;\n  line-height:1.8;\n\n  color:#555555;\n}\n\n\n\n\/* =========================================================\nEDITORIAL FEATURE SECTION\n========================================================= *\/\n\n.hf-editorial{\n  background:#fff;\n}\n\n.hf-editorial-wrap{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:80px;\n  align-items:flex-start;\n}\n\n.hf-editorial-left p{\n  margin:0 0 18px;\n\n  color:#C6A77D;\n\n  font-size:11px;\n  letter-spacing:2.8px;\n  text-transform:uppercase;\n  font-weight:700;\n}\n\n.hf-editorial-left h2{\n  margin:0;\n\n  font-size:58px;\n  line-height:1;\n  letter-spacing:-2.5px;\n\n  color:#111111;\n  font-weight:600;\n}\n\n.hf-editorial-right{\n  display:flex;\n  flex-direction:column;\n}\n\n.hf-feature{\n  padding:26px 0;\n\n  border-bottom:1px solid rgba(0,0,0,0.08);\n}\n\n.hf-feature:first-child{\n  padding-top:0;\n}\n\n.hf-feature-number{\n  margin-bottom:10px;\n\n  color:#C6A77D;\n\n  font-size:11px;\n  letter-spacing:2px;\n  font-weight:700;\n}\n\n.hf-feature h3{\n  margin:0 0 10px;\n\n  font-size:25px;\n  line-height:1.15;\n  letter-spacing:-0.7px;\n\n  color:#111111;\n  font-weight:600;\n}\n\n.hf-feature p{\n  margin:0;\n\n  font-size:15px;\n  line-height:1.9;\n\n  color:#666666;\n}\n\n\/* =========================================================\nIDENTITY SECTION\n========================================================= *\/\n\n.hf-identity{\n  position:relative;\n\n  text-align:center;\n\n  background:\n    radial-gradient(circle at top right, rgba(198,167,125,0.12), transparent 30%),\n    #111111;\n}\n\n.hf-identity-inner{\n  max-width:840px;\n  margin:auto;\n}\n\n.hf-identity p:first-child{\n  margin:0 0 18px;\n\n  color:#C6A77D;\n\n  font-size:11px;\n  letter-spacing:2.8px;\n  text-transform:uppercase;\n  font-weight:700;\n}\n\n.hf-identity h2{\n  margin:0 0 24px;\n\n  font-size:62px;\n  line-height:0.98;\n  letter-spacing:-2.7px;\n\n  color:#ffffff;\n  font-weight:600;\n}\n\n.hf-identity-text{\n  max-width:700px;\n  margin:auto;\n\n  font-size:17px;\n  line-height:2;\n\n  color:rgba(255,255,255,0.72);\n}\n\n.hf-identity-text strong{\n  color:#ffffff;\n  font-weight:600;\n}\n\n\/* =========================================================\nFINAL CTA\n========================================================= *\/\n\n.hf-cta{\n  text-align:center;\n\n  background:#FCFAF7;\n}\n\n.hf-cta h2{\n  margin:0 0 24px;\n\n  font-size:60px;\n  line-height:1;\n  letter-spacing:-2.5px;\n\n  color:#111111;\n  font-weight:600;\n}\n\n.hf-cta p{\n  max-width:640px;\n  margin:0 auto 36px;\n\n  font-size:17px;\n  line-height:1.95;\n\n  color:#666666;\n}\n\n.hf-button{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n\n  min-width:260px;\n\n  padding:18px 30px;\n\n  border-radius:999px;\n\n  background:\n    linear-gradient(\n      135deg,\n      #C6A77D,\n      #B89364\n    );\n\n  color:#ffffff;\n  text-decoration:none;\n\n  font-size:12px;\n  letter-spacing:1.8px;\n  text-transform:uppercase;\n  font-weight:700;\n\n  transition:.35s ease;\n\n  box-shadow:\n    0 14px 35px rgba(198,167,125,0.28);\n}\n\n.hf-button:hover{\n  transform:translateY(-3px);\n}\n\n\/* =========================================================\nMOBILE\n========================================================= *\/\n\n@media(max-width:900px){\n\n  .hf-section{\n    padding:75px 22px;\n  }\n\n  .hf-hero{\n    padding:90px 22px 70px;\n  }\n\n  .hf-hero h1{\n    font-size:46px;\n    letter-spacing:-2px;\n  }\n\n  .hf-statement-grid,\n  .hf-transform-grid,\n  .hf-editorial-wrap{\n    grid-template-columns:1fr;\n    gap:40px;\n  }\n\n  .hf-statement-left h2,\n  .hf-transform-head h2,\n  .hf-editorial-left h2,\n  .hf-identity h2,\n  .hf-cta h2{\n    font-size:38px;\n    letter-spacing:-1.5px;\n  }\n\n  .hf-transform-box h3{\n    font-size:26px;\n  }\n\n  .hf-feature h3{\n    font-size:22px;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"herform-editorial\"\u003e\n\n  \u003c!-- =========================================================\n  HERO\n  ========================================================= --\u003e\n\n  \u003csection class=\"hf-hero hf-reveal\"\u003e\n\n    \u003cdiv class=\"hf-hero-inner\"\u003e\n\n      \u003cdiv class=\"hf-eyebrow\"\u003e\n        HERFORM™ PERFORMANCE\n      \u003c\/div\u003e\n\n      \u003ch1\u003e\n        Train Harder \u003cspan\u003eWithout Ripping Your Hands Apart.\u003c\/span\u003e\n      \u003c\/h1\u003e\n\n      \u003cp\u003e\n        formfit™ Training Grips were designed for women who are tired of grip fatigue ending sets too early, painful calluses ruining pull days, and bulky gym gloves that feel anything but feminine.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\n\n\n\n\n\u003cdiv class=\"ba-section fade-in-section\" id=\"baSection\"\u003e\n\n  \u003c!-- HEADER --\u003e\n  \u003cdiv class=\"ba-header\"\u003e\n    \u003ch2\u003eGrip With Confidence\u003c\/h2\u003e\n    \u003cp\u003eSee how formfit™ transforms your training experience\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"ba-slider\" id=\"baSlider\"\u003e\n    \u003cdiv class=\"ba-container\"\u003e\n\n      \u003c!-- BEFORE --\u003e\n      \u003cdiv class=\"ba-panel ba-before\" id=\"baBefore\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/77B1C42C-C7D9-4E3B-8CB0-70E8A8DE056A.png?v=1779607758\"\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- AFTER --\u003e\n      \u003cdiv class=\"ba-panel ba-after\" id=\"baAfter\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/52B7F91F-4EDA-4E7E-917C-B4E802FE85EA_c69601a3-9a23-4ebd-9b4f-b572e720d161.png?v=1779037810\"\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- DIVIDER LINE --\u003e\n      \u003cdiv class=\"ba-divider\" id=\"baDivider\"\u003e\u003c\/div\u003e\n\n      \u003c!-- HANDLE --\u003e\n      \u003cdiv class=\"ba-handle\" id=\"baHandle\"\u003e\n        \u003cdiv class=\"ba-circle\"\u003e\n          \u003cspan\u003e‹\u003c\/span\u003e\n          \u003cspan\u003e›\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- LABELS --\u003e\n      \u003cdiv class=\"ba-label before\"\u003ewithout formfit™\u003c\/div\u003e\n      \u003cdiv class=\"ba-label after\"\u003ewith formfit™\u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\n\/* =========================\n   FADE IN\n========================= *\/\n\n.fade-in-section{\n  opacity:0;\n  transform:translateY(20px);\n  transition:all .9s cubic-bezier(.22,1,.36,1);\n}\n\n.fade-in-section.visible{\n  opacity:1;\n  transform:translateY(0);\n}\n\n\/* =========================\n   SECTION\n========================= *\/\n\n.ba-section{\n  position:relative;\n\n  margin:40px 0;\n  padding:72px 0;\n\n  text-align:center;\n\n  background:transparent;\n\n  border:none;\n\n  overflow:hidden;\n\n  box-shadow:none;\n}\n\n\/* =========================\n   HEADER\n========================= *\/\n\n.ba-header{\n  position:relative;\n  z-index:2;\n\n  margin-bottom:38px;\n}\n\n.ba-header h2{\n  margin:0 0 12px;\n\n  font-size:52px;\n  line-height:1.02;\n  letter-spacing:-2px;\n\n  font-weight:600;\n  color:#111111;\n}\n\n.ba-header p{\n  margin:0;\n\n  font-size:16px;\n  line-height:1.8;\n\n  color:#666666;\n}\n\n\/* =========================\n   CONTAINER\n========================= *\/\n\n.ba-container{\n  position:relative;\n\n  display:flex;\n\n  width:100%;\n  max-width:760px;\n\n  margin:auto;\n\n  border-radius:32px;\n\n  overflow:hidden;\n\n  aspect-ratio:1 \/ 1;\n\n  background:rgba(255,255,255,0.22);\n\n  backdrop-filter:blur(18px);\n  -webkit-backdrop-filter:blur(18px);\n\n  border:1px solid rgba(255,255,255,0.8);\n\n  box-shadow:\n  0 20px 50px rgba(0,0,0,0.05);\n}\n\n\/* =========================\n   PANELS\n========================= *\/\n\n.ba-panel{\n  height:100%;\n  overflow:hidden;\n  display:flex;\n}\n\n.ba-panel img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n}\n\n\/* START 50\/50 *\/\n\n.ba-before{\n  width:50%;\n}\n\n.ba-after{\n  width:50%;\n}\n\n\/* =========================\n   DIVIDER\n========================= *\/\n\n.ba-divider{\n  position:absolute;\n\n  top:0;\n  bottom:0;\n  left:50%;\n\n  width:1px;\n\n  background:\n  linear-gradient(\n    180deg,\n    rgba(255,255,255,0.2),\n    rgba(255,255,255,0.95),\n    rgba(255,255,255,0.2)\n  );\n\n  transform:translateX(-50%);\n\n  z-index:5;\n}\n\n\/* =========================\n   HANDLE\n========================= *\/\n\n.ba-handle{\n  position:absolute;\n\n  top:0;\n  bottom:0;\n  left:50%;\n\n  transform:translateX(-50%);\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  z-index:10;\n\n  cursor:grab;\n}\n\n.ba-circle{\n  width:58px;\n  height:58px;\n\n  border-radius:50%;\n\n  background:\n  linear-gradient(\n    135deg,\n    rgba(255,255,255,0.88),\n    rgba(255,255,255,0.58)\n  );\n\n  backdrop-filter:blur(16px);\n  -webkit-backdrop-filter:blur(16px);\n\n  border:1px solid rgba(255,255,255,0.95);\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:6px;\n\n  font-size:18px;\n  font-weight:500;\n\n  color:#111111;\n\n  box-shadow:\n  0 10px 30px rgba(0,0,0,0.12),\n  inset 0 1px 0 rgba(255,255,255,0.8);\n}\n\n\/* =========================\n   LABELS\n========================= *\/\n\n.ba-label{\n  position:absolute;\n  top:14px;\n\n  padding:6px 10px;\n\n  border-radius:999px;\n\n  background:\n  linear-gradient(\n    135deg,\n    rgba(17,17,17,0.72),\n    rgba(17,17,17,0.52)\n  );\n\n  backdrop-filter:blur(12px);\n  -webkit-backdrop-filter:blur(12px);\n\n  border:1px solid rgba(255,255,255,0.08);\n\n  color:#ffffff;\n\n  font-size:9px;\n  letter-spacing:0.8px;\n  text-transform:uppercase;\n  font-weight:600;\n\n  z-index:6;\n}\n\n.ba-label.before{\n  left:14px;\n}\n\n.ba-label.after{\n  right:14px;\n}\n\n\/* =========================\n   MOBILE\n========================= *\/\n\n@media(max-width:768px){\n\n  .ba-section{\n    padding:56px 0;\n  }\n\n  .ba-header{\n    margin-bottom:28px;\n  }\n\n  .ba-header h2{\n    font-size:38px;\n    letter-spacing:-1.5px;\n  }\n\n  .ba-header p{\n    font-size:15px;\n  }\n\n  .ba-container{\n    border-radius:24px;\n  }\n\n  .ba-circle{\n    width:50px;\n    height:50px;\n    font-size:16px;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n\n  const slider = document.getElementById(\"baSlider\");\n  const before = document.getElementById(\"baBefore\");\n  const after = document.getElementById(\"baAfter\");\n  const handle = document.getElementById(\"baHandle\");\n  const divider = document.getElementById(\"baDivider\");\n  const section = document.getElementById(\"baSection\");\n\n  let dragging = false;\n  let hasInteracted = false;\n  let hasAnimated = false;\n\n  let startX = 0;\n  let startY = 0;\n  let isHorizontal = null;\n\n  function setPos(percent) {\n    percent = Math.max(0, Math.min(100, percent));\n\n    before.style.width = percent + \"%\";\n    after.style.width = (100 - percent) + \"%\";\n\n    handle.style.left = percent + \"%\";\n    divider.style.left = percent + \"%\";\n  }\n\n  function setFromX(x) {\n    const rect = slider.getBoundingClientRect();\n    const percent = ((x - rect.left) \/ rect.width) * 100;\n    setPos(percent);\n  }\n\n  \/\/ ===== TOUCH START =====\n  slider.addEventListener(\"touchstart\", (e) =\u003e {\n    const t = e.touches[0];\n    startX = t.clientX;\n    startY = t.clientY;\n    isHorizontal = null;\n    dragging = true;\n    hasInteracted = true;\n  }, { passive: true });\n\n  \/\/ ===== TOUCH MOVE =====\n  window.addEventListener(\"touchmove\", (e) =\u003e {\n    if (!dragging) return;\n\n    const t = e.touches[0];\n    const dx = Math.abs(t.clientX - startX);\n    const dy = Math.abs(t.clientY - startY);\n\n    if (isHorizontal === null) {\n      isHorizontal = dx \u003e dy;\n    }\n\n    if (isHorizontal) {\n      e.preventDefault();\n      setFromX(t.clientX);\n    }\n\n  }, { passive: false });\n\n  window.addEventListener(\"touchend\", () =\u003e {\n    dragging = false;\n  });\n\n  \/\/ ===== MOUSE =====\n  slider.addEventListener(\"mousedown\", () =\u003e {\n    dragging = true;\n    hasInteracted = true;\n  });\n\n  window.addEventListener(\"mouseup\", () =\u003e dragging = false);\n\n  window.addEventListener(\"mousemove\", (e) =\u003e {\n    if (!dragging) return;\n    setFromX(e.clientX);\n  });\n\n  \/\/ ===== CLICK =====\n  slider.addEventListener(\"click\", (e) =\u003e {\n    if (dragging) return;\n    hasInteracted = true;\n    setFromX(e.clientX);\n  });\n\n  \/\/ ===== AUTO SLIDE =====\n  function autoSlide() {\n    if (hasInteracted || hasAnimated) return;\n    hasAnimated = true;\n\n    let start = null;\n    const duration = 1400;\n\n    function animate(ts) {\n      if (!start) start = ts;\n      const t = Math.min((ts - start) \/ duration, 1);\n\n      const ease = t \u003c 0.5\n        ? 2*t*t\n        : 1 - Math.pow(-2*t + 2, 2)\/2;\n\n      const percent = t \u003c= 0.5\n        ? 50 + ease * 20\n        : 70 - (ease - 0.5) * 40;\n\n      setPos(percent);\n\n      if (t \u003c 1 \u0026\u0026 !hasInteracted) {\n        requestAnimationFrame(animate);\n      }\n    }\n\n    requestAnimationFrame(animate);\n  }\n\n  \/\/ ===== SCROLL TRIGGER =====\n  const observer = new IntersectionObserver((entries) =\u003e {\n    entries.forEach(entry =\u003e {\n      if (entry.isIntersecting) {\n        section.classList.add(\"visible\");\n        setTimeout(autoSlide, 400);\n      }\n    });\n  }, { threshold: 0.5 });\n\n  observer.observe(section);\n\n  \/\/ INIT\n  setPos(50);\n\n})();\n\u003c\/script\u003e  \n\n\n\n\n\n \u003c!-- =========================\n     HERFORM™ COMPARISON SECTION\n========================= --\u003e\n\n\u003cstyle\u003e\n\n.herform-compare-section{\n  padding:90px 20px;\n  background:transparent;\n  overflow:hidden;\n}\n\n.herform-compare-wrap{\n  max-width:1100px;\n  margin:0 auto;\n}\n\n\/* HEADING *\/\n\n.herform-compare-heading{\n  text-align:center;\n  margin-bottom:50px;\n}\n\n.herform-compare-heading p{\n  font-size:12px;\n  letter-spacing:3px;\n  text-transform:uppercase;\n  color:#B58E63;\n  font-weight:600;\n  margin-bottom:18px;\n}\n\n.herform-compare-heading h2{\n font-size:clamp(28px,4vw,48px);\n  line-height:1.05;\n  color:#111111;\n  font-weight:600;\n  letter-spacing:-2px;\n  margin:0 auto 18px;\n  max-width:760px;\n}\n\n.herform-compare-heading span{\n  font-style:italic;\n}\n\n.herform-compare-heading .subtext{\n  max-width:700px;\n  margin:0 auto;\n  font-size:16px;\n  line-height:1.7;\n  color:#000000;\n}\n\n\/* MINI TABLES *\/\n\n.herform-mini-grid{\n  display:flex;\n  justify-content:center;\n  align-items:stretch;\n  gap:12px;\n  max-width:760px;\n  margin:0 auto;\n}\n\n.herform-mini-card{\n  width:50%;\n  border-radius:32px;\n  overflow:visible;\n  position:relative;\n  box-shadow:0 24px 70px rgba(0,0,0,0.08);\n}\n\n.herform-mini-card.dark{\n  background:linear-gradient(180deg,#151515 0%, #0C0C0C 100%);\n  color:#FFFFFF;\n}\n\n.herform-mini-card.light{\n  background:#FFFFFF;\n  border:1px solid rgba(0,0,0,0.06);\n}\n\n\/* BADGE *\/\n\n.herform-compare-badge{\n  position:absolute;\n  top:-14px;\n  right:18px;\n  background:#D8B084;\n  color:#111111;\n  font-size:10px;\n  font-weight:700;\n  letter-spacing:1.5px;\n  text-transform:uppercase;\n  padding:9px 13px;\n  border-radius:999px;\n  z-index:5;\n  box-shadow:0 10px 24px rgba(0,0,0,0.12);\n}\n\n\/* TOP *\/\n\n.herform-mini-top{\n  padding:28px 18px 20px;\n}\n\n.herform-mini-label{\n  font-size:12px;\n  letter-spacing:2px;\n  text-transform:uppercase;\n  margin-bottom:14px;\n  opacity:0.75;\n  font-weight:600;\n}\n\n.herform-mini-title{\n  font-size:24px;\n  line-height:1.05;\n  letter-spacing:-1.5px;\n  font-weight:600;\n  margin-bottom:14px;\n}\n\n.herform-mini-desc{\n  font-size:13px;\n  line-height:1.6;\n  opacity:0.82;\n}\n\n\/* ROWS *\/\n\n.herform-mini-rows{\n  padding:0 14px 16px;\n}\n\n.herform-mini-row{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n  padding:14px 4px;\n  border-top:1px solid rgba(0,0,0,0.07);\n}\n\n.herform-mini-card.dark .herform-mini-row{\n  border-top:1px solid rgba(255,255,255,0.08);\n}\n\n.herform-mini-feature{\n  font-size:12px;\n  line-height:1.5;\n  font-weight:500;\n}\n\n.herform-mini-check{\n  flex-shrink:0;\n  font-size:18px;\n  font-weight:700;\n}\n\n.herform-mini-check.yes{\n  color:#D4AA7A;\n}\n\n.herform-mini-check.no{\n  color:#A9A9A9;\n}\n\n.herform-mini-card.dark .herform-mini-check.yes{\n  color:#E7BE91;\n}\n\n\/* MOBILE *\/\n\n@media(max-width:768px){\n\n  .herform-compare-section{\n    padding:70px 14px;\n  }\n\n  .herform-mini-grid{\n    gap:12px;\n    max-width:100%;\n  }\n\n  .herform-mini-card{\n    width:50%;\n  }\n\n  .herform-compare-badge{\n    top:-10px;\n    right:10px;\n    padding:8px 10px;\n    font-size:8px;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003csection class=\"herform-compare-section\"\u003e\n\n  \u003cdiv class=\"herform-compare-wrap\"\u003e\n\n    \u003cdiv class=\"herform-compare-heading\"\u003e\n\n      \u003cp\u003eWHY WOMEN ARE SWITCHING TO HERFORM™\u003c\/p\u003e\n\n      \u003ch2\u003e\n        Built For Real Training — \u003cspan\u003eNot Bulky Gym Gloves\u003c\/span\u003e\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"subtext\"\u003e\n        Traditional gloves trap sweat and reduce grip control. formfit™ grips protect your hands while maintaining natural strength, comfort, and connection.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"herform-mini-grid\"\u003e\n\n      \u003c!-- FORMFIT --\u003e\n\n      \u003cdiv class=\"herform-mini-card dark\"\u003e\n\n        \u003cdiv class=\"herform-compare-badge\"\u003e\n          Best Seller\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"herform-mini-top\"\u003e\n\n          \u003cdiv class=\"herform-mini-label\"\u003e\n            HERFORM™\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-title\"\u003e\n            FORMFIT™\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-desc\"\u003e\n            Premium lifting grips designed for comfort, protection, and natural control.\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"herform-mini-rows\"\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Natural bar feel \u0026amp; control\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Helps prevent painful calluses\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Lightweight \u0026amp; breathable\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Doesn't trap sweat \u0026amp; odor\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Minimal \u0026amp; feminine design\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- GYM GLOVES --\u003e\n\n      \u003cdiv class=\"herform-mini-card light\"\u003e\n\n        \u003cdiv class=\"herform-mini-top\"\u003e\n\n          \u003cdiv class=\"herform-mini-label\"\u003e\n            TRADITIONAL \n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-title\"\u003e\n            Gym Gloves\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-desc\"\u003e\n            Bulky full-hand coverage that often reduces comfort and grip connection.\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"herform-mini-rows\"\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Natural bar feel \u0026amp; control\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check no\"\u003e✕\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Helps prevent painful calluses\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check yes\"\u003e✓\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Lightweight \u0026amp; breathable\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check no\"\u003e✕\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Doesn't trap sweat \u0026amp; odor\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check no\"\u003e✕\u003c\/div\u003e\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"herform-mini-row\"\u003e\n            \u003cdiv class=\"herform-mini-feature\"\u003e\n              Minimal \u0026amp; feminine design\n            \u003c\/div\u003e\n            \u003cdiv class=\"herform-mini-check no\"\u003e✕\u003c\/div\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e \n\n\n\n\n\n\u003csection id=\"ff-real-results\" style=\"padding: 30px 15px; text-align: center;\"\u003e\n\n  \u003cdiv style=\"height:1px; background:#e5e7eb; max-width:520px; margin:6px auto 0;\"\u003e\u003c\/div\u003e\n\n  \u003ch2 style=\"font-size: 26px; font-weight: 800; color:#000; margin:0;\"\u003e\n    Better Grip. Better Performance.\n  \u003c\/h2\u003e\n\n  \u003cp style=\"font-size: 14px; color: #555; max-width: 420px; margin:6px auto 0; line-height:1.3;\"\u003e\n    See how formfit™ Training Grips are helping lifters train harder, lift heavier, and protect their hands during every session.\n  \u003c\/p\u003e\n\n  \u003cdiv style=\"height:1px; background:#e5e7eb; max-width:520px; margin:15px auto 0;\"\u003e\u003c\/div\u003e\n\n\u003c\/section\u003e  \n\n\n\n\n\u003csection style=\"padding: 8px 15px 25px; background: #ffffff;\" id=\"stats-section\"\u003e\n\n  \u003cdiv style=\"max-width: 520px; margin: 0 auto;\"\u003e\n\n    \u003cstyle\u003e\n      .stat-item {\n        opacity: 0;\n        transform: translateY(15px);\n        transition: opacity 0.6s ease, transform 0.6s ease;\n      }\n\n      .stat-item.visible {\n        opacity: 1;\n        transform: translateY(0);\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Stat 1 --\u003e\n    \u003cdiv class=\"stat-item\" style=\"display: flex; align-items: center; padding: 18px 0;\"\u003e\n      \n      \u003cdiv style=\"position: relative; width:60px; height:60px;\"\u003e\n        \u003csvg width=\"60\" height=\"60\" viewbox=\"0 0 60 60\"\u003e\n          \u003ccircle class=\"progress-ring\" data-progress=\"97\" cx=\"30\" cy=\"30\" r=\"26\" stroke=\"#c89aa6\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"163\" stroke-dashoffset=\"163\" transform=\"rotate(-90 30 30)\"\u003e\n          \u003c\/circle\u003e\n        \u003c\/svg\u003e\n\n        \u003cdiv style=\"position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; color:#000;\"\u003e\n          97%\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cp style=\"margin-left: 12px; font-size: 14px; line-height: 1.4;\"\u003e\n        Reported \u003cstrong style=\"color:#000;\"\u003ebetter grip strength and more confidence during heavy lifts.\u003c\/strong\u003e\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- Divider --\u003e\n    \u003cdiv style=\"height:1px !important; width:80% !important; margin:10px auto !important; background-color:rgba(0,0,0,0.15) !important;\"\u003e\u003c\/div\u003e\n\n    \n    \u003c!-- Stat 2 --\u003e\n    \u003cdiv class=\"stat-item\" style=\"display: flex; align-items: center; padding: 18px 0;\"\u003e\n      \n      \u003cdiv style=\"position: relative; width:60px; height:60px;\"\u003e\n        \u003csvg width=\"60\" height=\"60\" viewbox=\"0 0 60 60\"\u003e\n          \u003ccircle class=\"progress-ring\" data-progress=\"94\" cx=\"30\" cy=\"30\" r=\"26\" stroke=\"#c89aa6\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"163\" stroke-dashoffset=\"163\" transform=\"rotate(-90 30 30)\"\u003e\n          \u003c\/circle\u003e\n        \u003c\/svg\u003e\n\n        \u003cdiv style=\"position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; color:#000;\"\u003e\n          94%\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cp style=\"margin-left: 12px; font-size: 14px; line-height: 1.4;\"\u003e\n        Said formfit™ \u003cstrong style=\"color:#000;\"\u003ereduced hand pain, blisters, and ripped calluses.\u003c\/strong\u003e\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- Divider --\u003e\n    \u003cdiv style=\"height:1px !important; width:80% !important; margin:10px auto !important; background-color:rgba(0,0,0,0.15) !important;\"\u003e\u003c\/div\u003e\n\n    \u003c!-- Stat 3 --\u003e\n    \u003cdiv class=\"stat-item\" style=\"display: flex; align-items: center; padding: 18px 0;\"\u003e\n      \n      \u003cdiv style=\"position: relative; width:60px; height:60px;\"\u003e\n        \u003csvg width=\"60\" height=\"60\" viewbox=\"0 0 60 60\"\u003e\n          \u003ccircle class=\"progress-ring\" data-progress=\"96\" cx=\"30\" cy=\"30\" r=\"26\" stroke=\"#c89aa6\" stroke-width=\"6\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"163\" stroke-dashoffset=\"163\" transform=\"rotate(-90 30 30)\"\u003e\n          \u003c\/circle\u003e\n        \u003c\/svg\u003e\n\n        \u003cdiv style=\"position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; color:#000;\"\u003e\n          96%\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cp style=\"margin-left: 12px; font-size: 14px; line-height: 1.4;\"\u003e\n        Experienced \u003cstrong style=\"color:#000;\"\u003emore comfortable workouts and improved pulling performance.\u003c\/strong\u003e\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cp style=\"font-size: 11px; color: #777; margin-top: 15px; text-align: center;\"\u003e\n      Based on post-purchase customer surveys from verified herform™ customers.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003cscript\u003e\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n\n  const items = document.querySelectorAll(\".stat-item\");\n  const GAP_PERCENT = 4;\n\n  const observer = new IntersectionObserver((entries) =\u003e {\n\n    entries.forEach((entry, index) =\u003e {\n\n      if (entry.isIntersecting) {\n\n        const item = entry.target;\n        const circle = item.querySelector(\".progress-ring\");\n\n        setTimeout(() =\u003e {\n          item.classList.add(\"visible\");\n        }, index * 250);\n\n        setTimeout(() =\u003e {\n\n          const radius = 26;\n          const circumference = 2 * Math.PI * radius;\n\n          let percent = parseFloat(circle.getAttribute(\"data-progress\"));\n\n          const adjusted = (percent \/ 100) * (100 - GAP_PERCENT);\n          const offset = circumference - (adjusted \/ 100) * circumference;\n\n          circle.style.transition =\n            \"stroke-dashoffset 1.6s cubic-bezier(0.22, 1, 0.36, 1)\";\n\n          circle.style.strokeDashoffset = offset;\n\n        }, index * 250 + 200);\n\n        observer.unobserve(item);\n\n      }\n\n    });\n\n  }, { threshold: 0.4 });\n\n  items.forEach(item =\u003e observer.observe(item));\n\n});\n\u003c\/script\u003e  \n\n\n\n\n\n\n\n\u003c!-- =========================\nHERFORM™ LUXURY UGC GALLERY + ARROWS\n========================= --\u003e\n\n\u003cstyle\u003e\n\n.herform-lux-gallery{\n  margin:70px 0;\n  overflow:hidden;\n  position:relative;\n}\n\n\/* HEADER *\/\n\n.herform-lux-header{\n  text-align:center;\n  margin-bottom:34px;\n  padding:0 18px;\n}\n\n.herform-lux-sub{\n  font-size:12px;\n  letter-spacing:2.5px;\n  text-transform:uppercase;\n  color:#b08d80;\n  font-weight:700;\n  margin-bottom:12px;\n}\n\n.herform-lux-title{\n  font-size:42px;\n  line-height:1.05;\n  color:#111;\n  margin:0;\n  font-weight:700;\n  letter-spacing:-1px;\n}\n\n.herform-lux-text{\n  max-width:720px;\n  margin:18px auto 0;\n  font-size:17px;\n  line-height:1.7;\n  color:#555;\n}\n\n\/* SCROLL AREA *\/\n\n.herform-scroll-wrapper{\n  position:relative;\n}\n\n.herform-lux-scroll{\n  display:flex;\n  gap:18px;\n  \n  overflow-x:auto;\n  padding:10px 60px 12px;\n  scroll-snap-type:x mandatory;\n  -webkit-overflow-scrolling:touch;\n}\n\n\/* HIDE SCROLLBAR *\/\n\n.herform-lux-scroll{\n  scrollbar-width:none;\n  -ms-overflow-style:none;\n}\n\n.herform-lux-scroll::-webkit-scrollbar{\n  display:none;\n}\n\n\/* CARDS *\/\n\n.herform-lux-card{\n  flex:0 0 auto;\n  width:350px;\n  height:640px;\n  border-radius:30px;\n  overflow:hidden;\n  scroll-snap-align:center;\n  background:#eee;\n  position:relative;\n}\n\n.herform-lux-card img{\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  display:block;\n}\n\n\/* OVERLAY *\/\n\n.herform-lux-overlay{\n  position:absolute;\n  left:0;\n  right:0;\n  bottom:0;\n  padding:26px 22px;\n  background:linear-gradient(to top, rgba(0,0,0,0.78), rgba(0,0,0,0));\n  color:#fff;\n}\n\n.herform-lux-name{\n  font-size:16px;\n  font-weight:700;\n  margin-bottom:6px;\n}\n\n.herform-lux-stars{\n  font-size:14px;\n  letter-spacing:2px;\n  margin-bottom:10px;\n}\n\n.herform-lux-review{\n  font-size:14px;\n  line-height:1.6;\n  opacity:0.96;\n}\n\n\/* ARROWS *\/\n\n.herform-arrow{\n  position:absolute;\n  top:50%;\n  transform:translateY(-50%);\n  width:46px;\n  height:46px;\n  border-radius:50%;\n  border:none;\n  background:#ffffff;\n  box-shadow:0 8px 20px rgba(0,0,0,0.12);\n  cursor:pointer;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  z-index:5;\n  transition:0.2s ease;\n}\n\n.herform-arrow:hover{\n  transform:translateY(-50%) scale(1.05);\n}\n\n.herform-arrow-left{\n  left:10px;\n}\n\n.herform-arrow-right{\n  right:10px;\n}\n\n\/* hide arrows on mobile *\/\n\n\n\n\/* =========================\nDOTS\n========================= *\/\n\n.herform-lux-dots{\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  gap:8px;\n\n  margin-top:26px;\n}\n\n.herform-lux-dot{\n  width:7px;\n  height:7px;\n\n  border-radius:999px;\n\n  background:rgba(181,142,99,0.22);\n\n  transition:\n  background .3s ease,\n  opacity .3s ease,\n  transform .3s ease;\n\n  opacity:.7;\n\n  flex-shrink:0;\n}\n\n.herform-lux-dot.active{\n  background:#B58E63;\n  opacity:1;\n  transform:scale(1.15);\n}\n  \n\n@media(max-width:768px){\n  .herform-arrow{\n    display:none;\n  }\n\n  .herform-lux-card{\n    width:78vw;\n    height:520px;\n  }\n\n  .herform-lux-scroll{\n    padding:10px 20px 12px;\n  }\n}\n\n\/* CTA *\/\n\n.herform-lux-cta{\n  text-align:center;\n  margin-top:34px;\n  padding:0 18px;\n}\n\n.herform-lux-btn{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  background:#111;\n  color:#fff !important;\n  text-decoration:none !important;\n  padding:18px 34px;\n  border-radius:999px;\n  font-size:14px;\n  font-weight:700;\n  letter-spacing:0.5px;\n  transition:0.3s ease;\n}\n\n.herform-lux-btn:hover{\n  transform:translateY(-2px);\n  opacity:0.92;\n}\n\n\u003c\/style\u003e\n\n\u003csection class=\"herform-lux-gallery\"\u003e\n\n  \u003c!-- HEADER --\u003e\n\n  \u003cdiv class=\"herform-lux-header\"\u003e\n\n    \u003cdiv class=\"herform-lux-sub\"\u003e\n      REAL WOMEN • REAL WORKOUTS\n    \u003c\/div\u003e\n\n    \u003ch2 class=\"herform-lux-title\"\u003e\n      Your Gym Bag’s New Favourite Essential\n    \u003c\/h2\u003e\n\n    \u003cp class=\"herform-lux-text\"\u003e\n      Designed for women who want stronger lifts, protected hands and gym accessories that actually look good.\n    \u003c\/p\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- SCROLL + ARROWS --\u003e\n\n  \u003cdiv class=\"herform-scroll-wrapper\"\u003e\n\n    \u003cbutton class=\"herform-arrow herform-arrow-left\" onclick=\"document.querySelector('.herform-lux-scroll').scrollBy({left:-400,behavior:'smooth'})\"\u003e\n      ❮\n    \u003c\/button\u003e\n\n    \u003cdiv class=\"herform-lux-scroll\"\u003e\n\n      \u003c!-- CARD 1 --\u003e\n      \u003cdiv class=\"herform-lux-card\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/6861FB67-2046-4B22-80FC-B2075A869A7D.png?v=1779381910\"\u003e\n        \u003cdiv class=\"herform-lux-overlay\"\u003e\n          \u003cdiv class=\"herform-lux-name\"\u003eJessica M, 24\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-review\"\u003e“I honestly didn’t expect these to make such a big difference. My hands used to hurt so badly after pull days and I was constantly getting rough calluses from rows and lat pulldowns.”\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- CARD 2 --\u003e\n      \u003cdiv class=\"herform-lux-card\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/IMG_9952.jpg?v=1779381910\"\u003e\n        \u003cdiv class=\"herform-lux-overlay\"\u003e\n          \u003cdiv class=\"herform-lux-name\"\u003eChanel R, 38\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-review\"\u003e“I’ve tried a few different lifting grips before and most of them either felt bulky or uncomfortable. formfit™ feels lightweight but still gives amazing support during deadlifts and pulling movements.”\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- CARD 3 --\u003e\n      \u003cdiv class=\"herform-lux-card\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/D436CD3F-56D1-46FF-A84A-F5047BF44BE0.png?v=1779382356\"\u003e\n        \u003cdiv class=\"herform-lux-overlay\"\u003e\n          \u003cdiv class=\"herform-lux-name\"\u003eKaila T, 22\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-review\"\u003e“These genuinely made my workouts feel more comfortable. I used to avoid heavier pull sessions because my hands would start hurting halfway through, but these help so much with grip fatigue.”\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- CARD 4 --\u003e\n      \u003cdiv class=\"herform-lux-card\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/84A91E94-58AB-4636-99EF-35B5A6851F7D.png?v=1779459475\"\u003e\n        \u003cdiv class=\"herform-lux-overlay\"\u003e\n          \u003cdiv class=\"herform-lux-name\"\u003ePatricia L, 48\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-review\"\u003e“Probably my favourite gym accessory I’ve bought this year. The quality feels really premium and they actually help me stay locked in during rows and RDLs.”\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n\n\n      \u003c!-- CARD 5 --\u003e\n      \u003cdiv class=\"herform-lux-card\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/C12A74F3-42D0-444C-8275-F52F6AA2BB3C.png?v=1779637129\"\u003e\n        \u003cdiv class=\"herform-lux-overlay\"\u003e\n          \u003cdiv class=\"herform-lux-name\"\u003eLizel A, 42\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"herform-lux-review\"\u003e“I can finally lift heavy without ruining my manicure or taking off my jewellery every workout. Obsessed.”\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003c\/div\u003e\n\n\n\n\u003c!-- CARD 6 --\u003e\n\u003cdiv class=\"herform-lux-card\"\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/11A431A6-5381-49CA-A1C7-D7431398F1EE.png?v=1779638364\"\u003e\n\n  \u003cdiv class=\"herform-lux-overlay\"\u003e\n\n    \u003cdiv class=\"herform-lux-name\"\u003e\n      Sophie L, 21\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"herform-lux-stars\"\u003e\n      ★★★★★\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"herform-lux-review\"\u003e\n      “These made such a difference during pull days. My hands don’t hurt halfway through workouts anymore and my grip feels way more secure.”\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n      \n\n\n    \u003c\/div\u003e\n\n    \u003cbutton class=\"herform-arrow herform-arrow-right\" onclick=\"document.querySelector('.herform-lux-scroll').scrollBy({left:400,behavior:'smooth'})\"\u003e\n      ❯\n    \u003c\/button\u003e\n\n  \u003c\/div\u003e\n\n\n\n\u003c!-- DOTS --\u003e\n\n\u003cdiv class=\"herform-lux-dots\"\u003e\n  \u003cspan class=\"herform-lux-dot active\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"herform-lux-dot\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"herform-lux-dot\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"herform-lux-dot\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"herform-lux-dot\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"herform-lux-dot\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003c\/section\u003e \n\n  \n\n\u003cscript\u003e\n\ndocument.addEventListener('DOMContentLoaded', () =\u003e {\n\n  const slider =\n  document.querySelector('.herform-lux-scroll');\n\n  const cards =\n  document.querySelectorAll('.herform-lux-card');\n\n  const dotsWrap =\n  document.querySelector('.herform-lux-dots');\n\n  if(slider \u0026\u0026 cards.length \u0026\u0026 dotsWrap){\n\n    const dots =\n    dotsWrap.querySelectorAll('.herform-lux-dot');\n\n    function updateDots(index){\n\n      dots.forEach((dot,i)=\u003e{\n\n        dot.classList.toggle(\n          'active',\n          i === index\n        );\n\n      });\n\n    }\n\nlet scrollTimeout;\n\nslider.addEventListener('scroll', () =\u003e {\n\n  let activeIndex = 0;\n  let smallestDistance = Infinity;\n\n  cards.forEach((card, index) =\u003e {\n\n    const cardCenter =\n      card.offsetLeft + (card.offsetWidth \/ 2);\n\n    const sliderCenter =\n      slider.scrollLeft + (slider.offsetWidth \/ 2);\n\n    const distance =\n      Math.abs(cardCenter - sliderCenter);\n\n    if(distance \u003c smallestDistance){\n\n      smallestDistance = distance;\n      activeIndex = index;\n\n    }\n\n  });\n\n  updateDots(activeIndex);\n\n});\n\n    dots.forEach((dot,index)=\u003e{\n\n      dot.addEventListener('click', ()=\u003e{\n\n        const cardWidth =\n        cards[0].offsetWidth + 18;\n\n        slider.scrollTo({\n          left:index * cardWidth,\n          behavior:'smooth'\n        });\n\n        updateDots(index);\n\n      });\n\n    });\n\n  }\n\n});\n\n\u003c\/script\u003e\n  \n\n  \n\n  \u003c!-- =========================================================\n  FEATURES\n  ========================================================= --\u003e\n\n  \u003csection class=\"hf-section hf-editorial hf-reveal\"\u003e\n\n    \u003cdiv class=\"hf-inner\"\u003e\n\n      \u003cdiv class=\"hf-editorial-wrap\"\u003e\n\n        \u003cdiv class=\"hf-editorial-left\"\u003e\n\n          \u003cp\u003e\n            WHY WOMEN LOVE FORMFIT™\n          \u003c\/p\u003e\n\n          \u003ch2\u003e\n            Performance support — without the masculine feel.\n          \u003c\/h2\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"hf-editorial-right\"\u003e\n\n          \u003cdiv class=\"hf-feature\"\u003e\n\n            \u003cdiv class=\"hf-feature-number\"\u003e\n              01\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Better Grip During Pull Movements\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Helps create a more secure connection during rows, deadlifts, lat pulldowns, and other pulling exercises where grip fatigue normally limits performance.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"hf-feature\"\u003e\n\n            \u003cdiv class=\"hf-feature-number\"\u003e\n              02\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Protects Your Hands\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Designed to help reduce friction, pressure, rough calluses, and painful ripping caused by repetitive training.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"hf-feature\"\u003e\n\n            \u003cdiv class=\"hf-feature-number\"\u003e\n              03\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Lightweight Luxury Comfort\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Flexible, minimal, and refined — without the bulky “gym glove” feeling traditional grips often create.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n          \u003cdiv class=\"hf-feature\"\u003e\n\n            \u003cdiv class=\"hf-feature-number\"\u003e\n              04\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Made For Women Who Train With Intention\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              formfit™ combines feminine aesthetics with serious performance support for women who want both strength and refinement.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- =========================================================\n  IDENTITY SECTION\n  ========================================================= --\u003e\n\n  \u003csection class=\"hf-section hf-identity hf-reveal\"\u003e\n\n    \u003cdiv class=\"hf-identity-inner\"\u003e\n\n      \u003cp\u003e\n        THE HERFORM™ STANDARD\n      \u003c\/p\u003e\n\n      \u003ch2\u003e\n        Strong girls deserve better training gear.\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"hf-identity-text\"\u003e\n\n        formfit™ was created for women who take training seriously — women who want to feel \u003cstrong\u003estrong, feminine, confident, and locked in\u003c\/strong\u003e every time they step into the gym.\n        \u003cbr\u003e\u003cbr\u003e\n        Not oversized.\n        Not bulky.\n        Not designed like men’s equipment.\n        \u003cbr\u003e\u003cbr\u003e\n        Just refined support for women who train with intention.\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \n\n\u003c\/div\u003e\n\n\u003c!-- =========================================================\nFADE IN\n========================================================= --\u003e\n\n\u003cscript\u003e\n\ndocument.addEventListener(\"DOMContentLoaded\", function(){\n\n  const items = document.querySelectorAll(\".hf-reveal\");\n\n  const observer = new IntersectionObserver((entries)=\u003e{\n\n    entries.forEach(entry=\u003e{\n\n      if(entry.isIntersecting){\n\n        entry.target.classList.add(\"visible\");\n\n      }\n\n    });\n\n  }, {\n    threshold:0.12\n  });\n\n  items.forEach(item=\u003e{\n    observer.observe(item);\n  });\n\n});\n\n\u003c\/script\u003e\n\n\u003cstyle\u003e  \n\n\/* =========================================================\nFORCE MOBILE-STYLE STACKING ON DESKTOP\n========================================================= *\/\n\n@media(min-width:769px){\n\n  \/* emotional section *\/\n  .hf-statement-grid{\n    grid-template-columns:1fr !important;\n    gap:34px !important;\n  }\n\n  \/* transformation section *\/\n  .hf-transform-grid{\n    grid-template-columns:1fr !important;\n    gap:12px !important;\n  }\n\n  \/* features section *\/\n  .hf-editorial-wrap{\n    grid-template-columns:1fr !important;\n    gap:38px !important;\n  }\n\n  \/* tighten widths *\/\n  .hf-inner{\n    max-width:760px !important;\n  }\n\n  \/* better text wrapping *\/\n  .hf-hero h1,\n  .hf-statement-left h2,\n  .hf-transform-head h2,\n  .hf-editorial-left h2,\n  .hf-identity h2,\n  .hf-cta h2{\n    max-width:680px;\n    margin-left:auto;\n    margin-right:auto;\n  }\n\n  \/* improve spacing *\/\n  .hf-transform-box{\n    padding:22px 0 !important;\n  }\n\n  .hf-feature{\n    padding:22px 0 !important;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\n\n\n\n\n\n\u003c!-- =========================\nHERFORM™ PREMIUM FAQ ACCORDION\n========================= --\u003e\n\n\u003cstyle\u003e\n\n.herform-faq{\n  margin:70px 0;\n  padding:0 18px;\n}\n\n.herform-faq-header{\n  text-align:center;\n  margin-bottom:30px;\n}\n\n.herform-faq-sub{\n  font-size:12px;\n  letter-spacing:2.5px;\n  text-transform:uppercase;\n  color:#b08d80;\n  font-weight:700;\n  margin-bottom:12px;\n}\n\n.herform-faq-title{\n  font-size:38px;\n  line-height:1.1;\n  color:#111;\n  margin:0;\n  font-weight:700;\n  letter-spacing:-1px;\n}\n\n.herform-faq-wrap{\n  max-width:900px;\n  margin:0 auto;\n}\n\n\/* ITEM *\/\n\n.herform-faq-item{\n  border-bottom:1px solid #e9e2de;\n}\n\n\/* BUTTON *\/\n\n.herform-faq-question{\n  width:100%;\n  background:none;\n  border:none;\n  outline:none;\n  cursor:pointer;\n  padding:22px 0;\n  display:flex;\n  justify-content:space-between;\n  align-items:center;\n  text-align:left;\n  font-size:16px;\n  font-weight:600;\n  color:#111;\n}\n\n\/* ICON *\/\n\n.herform-faq-icon{\n  width:26px;\n  height:26px;\n  border-radius:50%;\n  border:1px solid #d8c7be;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  font-size:18px;\n  color:#b08d80;\n  flex-shrink:0;\n  transition:0.25s ease;\n}\n\n\/* ANSWER *\/\n\n.herform-faq-answer{\n  max-height:0;\n  overflow:hidden;\n  transition:max-height 0.35s ease, padding 0.35s ease;\n  color:#555;\n  font-size:15px;\n  line-height:1.7;\n  padding-right:30px;\n}\n\n\/* OPEN STATE *\/\n\n.herform-faq-item.active .herform-faq-answer{\n  max-height:300px;\n  padding-bottom:18px;\n}\n\n.herform-faq-item.active .herform-faq-icon{\n  color:#111;\n  border-color:#111;\n}\n\n\/* MOBILE *\/\n\n@media(max-width:600px){\n\n  .herform-faq-title{\n    font-size:28px;\n  }\n\n  .herform-faq-question{\n    font-size:15px;\n  }\n\n}\n\n\u003c\/style\u003e\n\n\u003csection class=\"herform-faq\"\u003e\n\n  \u003c!-- HEADER --\u003e\n\n  \u003cdiv class=\"herform-faq-header\"\u003e\n\n    \u003cdiv class=\"herform-faq-sub\"\u003e\n      EVERYTHING YOU NEED TO KNOW\n    \u003c\/div\u003e\n\n    \u003ch2 class=\"herform-faq-title\"\u003e\n      Frequently Asked Questions\n    \u003c\/h2\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- FAQ ITEMS --\u003e\n\n  \u003cdiv class=\"herform-faq-wrap\"\u003e\n\n    \u003c!-- ITEM 1 --\u003e\n    \u003cdiv class=\"herform-faq-item\"\u003e\n\n      \u003cbutton class=\"herform-faq-question\"\u003e\n       Are formfit™ training grips suitable for beginners?\n        \u003cspan class=\"herform-faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n\n      \u003cdiv class=\"herform-faq-answer\"\u003e\n        Absolutely. They’re designed for all training levels, from beginners to advanced lifters, and work across most gym machines and pull exercises.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- ITEM 2 --\u003e\n    \u003cdiv class=\"herform-faq-item\"\u003e\n\n      \u003cbutton class=\"herform-faq-question\"\u003e\n        What if I don’t like them?\n        \u003cspan class=\"herform-faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n\n      \u003cdiv class=\"herform-faq-answer\"\u003e\n        We offer hassle-free returns within 30 days of delivery. If you're not happy with your purchase, we’ll help you with a quick return or refund process.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- ITEM 3 --\u003e\n    \u003cdiv class=\"herform-faq-item\"\u003e\n\n      \u003cbutton class=\"herform-faq-question\"\u003e\n       How long does delivery take?\n        \u003cspan class=\"herform-faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n\n      \u003cdiv class=\"herform-faq-answer\"\u003e\n        Orders are typically processed within 24–48 hours. Delivery usually takes 5-10 working days depending on your location, and you’ll receive tracking as soon as your order ships from our local dispatch centre.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- ITEM 4 --\u003e\n    \u003cdiv class=\"herform-faq-item\"\u003e\n\n      \u003cbutton class=\"herform-faq-question\"\u003e\n       Is my payment secure?\n        \u003cspan class=\"herform-faq-icon\"\u003e+\u003c\/span\u003e\n      \u003c\/button\u003e\n\n      \u003cdiv class=\"herform-faq-answer\"\u003e\n        Yes — all payments are processed through secure checkout powered by Yoco, using encrypted transactions to keep your information safe.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\n\u003c!-- ITEM 5 --\u003e\n\n\u003cdiv class=\"herform-faq-item\"\u003e\n\n  \u003cbutton class=\"herform-faq-question\"\u003e\n    Will formfit™ grips fit my hands comfortably?\n    \u003cspan class=\"herform-faq-icon\"\u003e+\u003c\/span\u003e\n  \u003c\/button\u003e\n\n  \u003cdiv class=\"herform-faq-answer\"\u003e\n    Yes — formfit™ grips are designed with a flexible, adjustable fit that comfortably suits most hand sizes while remaining lightweight and secure during training.\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n  \n\n\u003c\/section\u003e\n\n\u003cscript\u003e\ndocument.querySelectorAll('.herform-faq-question').forEach(btn =\u003e {\n  btn.addEventListener('click', () =\u003e {\n    const item = btn.parentElement;\n\n    item.classList.toggle('active');\n\n    const icon = btn.querySelector('.herform-faq-icon');\n    icon.textContent = item.classList.contains('active') ? '−' : '+';\n  });\n});\n\u003c\/script\u003e","brand":"her form","offers":[{"title":"Black","offer_id":52409439158553,"sku":null,"price":349.0,"currency_code":"ZAR","in_stock":true},{"title":"Gray","offer_id":52409439191321,"sku":null,"price":349.0,"currency_code":"ZAR","in_stock":true},{"title":"Pink","offer_id":52409439224089,"sku":null,"price":349.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1005\/4415\/1833\/files\/8AD52C12-402D-4FCE-8857-F6823F99268B.png?v=1778832896"}],"url":"https:\/\/herform.co.za\/collections\/frontpage.oembed","provider":"her form","version":"1.0","type":"link"}