{"title":"APEX HYDRATION VEST","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\n\u003ctitle\u003eApex Hydration | Stay Unstoppable\u003c\/title\u003e\n\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800;900\u0026display=swap');\n\n:root{\n    --bg:#020811;\n    --bg2:#041827;\n    --blue:#0ea5e9;\n    --sky:#38bdf8;\n    --cyan:#22d3ee;\n    --light:#bae6fd;\n    --white:#ffffff;\n    --muted:#91adbc;\n    --glass:rgba(255,255,255,.06);\n    --border:rgba(125,211,252,.18);\n}\n\n*{\n    margin:0;\n    padding:0;\n    box-sizing:border-box;\n}\n\nhtml{\n    scroll-behavior:smooth;\n}\n\nbody{\n    font-family:Inter,Arial,sans-serif;\n    background:var(--bg);\n    color:white;\n    overflow-x:hidden;\n}\n\nbutton,\na{\n    font-family:inherit;\n}\n\na{\n    text-decoration:none;\n    color:inherit;\n}\n\n\/* =========================\n   BACKGROUND\n========================= *\/\n\nbody:before{\n    content:\"\";\n    position:fixed;\n    inset:0;\n    z-index:-3;\n\n    background:\n        radial-gradient(\n            circle at 15% 20%,\n            rgba(14,165,233,.18),\n            transparent 30%\n        ),\n        radial-gradient(\n            circle at 85% 40%,\n            rgba(34,211,238,.13),\n            transparent 28%\n        ),\n        linear-gradient(\n            135deg,\n            #020811,\n            #031523 60%,\n            #020811\n        );\n}\n\n\/* =========================\n   CURSOR GLOW\n========================= *\/\n\n.cursor{\n    position:fixed;\n    width:280px;\n    height:280px;\n    border-radius:50%;\n    pointer-events:none;\n    z-index:9999;\n\n    transform:translate(-50%,-50%);\n\n    background:radial-gradient(\n        circle,\n        rgba(34,211,238,.12),\n        transparent 68%\n    );\n}\n\n\/* =========================\n   NAV\n========================= *\/\n\n.nav{\n    position:fixed;\n    top:18px;\n    left:50%;\n    transform:translateX(-50%);\n\n    width:min(1150px,92%);\n\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n\n    padding:14px 18px;\n\n    background:rgba(3,19,32,.72);\n    border:1px solid var(--border);\n    backdrop-filter:blur(18px);\n\n    border-radius:18px;\n\n    z-index:1000;\n}\n\n.logo{\n    font-weight:900;\n    font-size:19px;\n    letter-spacing:-.8px;\n}\n\n.logo span{\n    color:var(--sky);\n}\n\n.navlinks{\n    display:flex;\n    gap:28px;\n}\n\n.navlinks a{\n    color:#a5bfcc;\n    font-size:13px;\n    font-weight:700;\n\n    transition:.25s;\n}\n\n.navlinks a:hover{\n    color:white;\n}\n\n.cart-button{\n    border:1px solid rgba(56,189,248,.3);\n\n    background:rgba(56,189,248,.08);\n\n    color:white;\n\n    border-radius:11px;\n\n    padding:10px 15px;\n\n    cursor:pointer;\n\n    font-weight:800;\n\n    transition:.25s;\n}\n\n.cart-button:hover{\n    background:var(--sky);\n    color:#02101a;\n}\n\n\/* =========================\n   HERO\n========================= *\/\n\n.hero{\n    min-height:100vh;\n\n    max-width:1300px;\n\n    margin:auto;\n\n    padding:\n        150px 6vw\n        90px;\n\n    display:grid;\n\n    grid-template-columns:\n        1fr 1fr;\n\n    align-items:center;\n\n    gap:60px;\n}\n\n.hero-content{\n    z-index:2;\n}\n\n.offer{\n    display:inline-flex;\n\n    align-items:center;\n    gap:8px;\n\n    padding:8px 13px;\n\n    border-radius:50px;\n\n    background:rgba(34,211,238,.08);\n\n    border:1px solid\n        rgba(34,211,238,.25);\n\n    color:var(--light);\n\n    font-size:11px;\n\n    font-weight:900;\n\n    letter-spacing:1.5px;\n\n    margin-bottom:24px;\n}\n\n.offer-dot{\n    width:7px;\n    height:7px;\n\n    border-radius:50%;\n\n    background:var(--cyan);\n\n    box-shadow:\n        0 0 15px var(--cyan);\n\n    animation:pulse 1.5s infinite;\n}\n\n.hero h1{\n    font-size:\n        clamp(58px,7vw,100px);\n\n    line-height:.88;\n\n    letter-spacing:-6px;\n\n    font-weight:900;\n\n    margin-bottom:28px;\n}\n\n.gradient{\n    background:\n        linear-gradient(\n            90deg,\n            #bae6fd,\n            #38bdf8,\n            #22d3ee,\n            #ffffff,\n            #38bdf8\n        );\n\n    background-size:300%;\n\n    color:transparent;\n\n    -webkit-background-clip:text;\n    background-clip:text;\n\n    animation:gradient 5s linear infinite;\n}\n\n.hero-description{\n    max-width:600px;\n\n    color:var(--muted);\n\n    line-height:1.8;\n\n    font-size:16px;\n\n    margin-bottom:30px;\n}\n\n.buttons{\n    display:flex;\n    gap:13px;\n    flex-wrap:wrap;\n}\n\n.primary{\n    display:inline-flex;\n\n    padding:15px 22px;\n\n    border-radius:13px;\n\n    background:\n        linear-gradient(\n            135deg,\n            var(--sky),\n            var(--cyan)\n        );\n\n    color:#02101a;\n\n    font-size:14px;\n\n    font-weight:900;\n\n    box-shadow:\n        0 15px 40px\n        rgba(34,211,238,.22);\n\n    transition:.3s;\n}\n\n.primary:hover{\n    transform:translateY(-4px);\n\n    box-shadow:\n        0 20px 60px\n        rgba(34,211,238,.38);\n}\n\n.secondary{\n    display:inline-flex;\n\n    padding:15px 22px;\n\n    border-radius:13px;\n\n    border:1px solid var(--border);\n\n    background:rgba(255,255,255,.035);\n\n    color:white;\n\n    font-size:14px;\n\n    font-weight:700;\n\n    transition:.3s;\n}\n\n.secondary:hover{\n    border-color:var(--sky);\n\n    transform:translateY(-4px);\n}\n\n\/* =========================\n   HERO PRODUCT\n========================= *\/\n\n.visual{\n    min-height:560px;\n\n    position:relative;\n\n    display:flex;\n\n    align-items:center;\n    justify-content:center;\n}\n\n.halo{\n    position:absolute;\n\n    width:430px;\n    height:430px;\n\n    border-radius:50%;\n\n    border:\n        1px solid\n        rgba(56,189,248,.25);\n\n    box-shadow:\n        0 0 100px\n        rgba(34,211,238,.12);\n\n    animation:spin 18s linear infinite;\n}\n\n.halo:before{\n    content:\"\";\n\n    position:absolute;\n\n    width:12px;\n    height:12px;\n\n    border-radius:50%;\n\n    background:var(--cyan);\n\n    box-shadow:\n        0 0 25px var(--cyan);\n\n    top:30px;\n    left:70px;\n}\n\n.halo:after{\n    content:\"\";\n\n    position:absolute;\n\n    width:8px;\n    height:8px;\n\n    border-radius:50%;\n\n    background:var(--sky);\n\n    box-shadow:\n        0 0 20px var(--sky);\n\n    bottom:60px;\n    right:40px;\n}\n\n.product-glow{\n    position:absolute;\n\n    width:360px;\n    height:360px;\n\n    border-radius:50%;\n\n    background:\n        radial-gradient(\n            circle,\n            rgba(34,211,238,.28),\n            transparent 65%\n        );\n\n    filter:blur(8px);\n\n    animation:glow 4s ease-in-out infinite;\n}\n\n\/* Product representation *\/\n\n.vest{\n    position:relative;\n\n    width:240px;\n    height:340px;\n\n    z-index:5;\n\n    border-radius:\n        60px\n        60px\n        38px\n        38px;\n\n    background:\n        linear-gradient(\n            135deg,\n            #062a42,\n            #075985 45%,\n            #0284c7 75%,\n            #22d3ee\n        );\n\n    box-shadow:\n        0 40px 80px\n        rgba(0,0,0,.55),\n\n        inset\n        12px 0 25px\n        rgba(255,255,255,.08),\n\n        0 0 50px\n        rgba(34,211,238,.15);\n\n    animation:float 4s ease-in-out infinite;\n}\n\n.vest-neck{\n    position:absolute;\n\n    top:-2px;\n    left:50%;\n\n    transform:translateX(-50%);\n\n    width:100px;\n    height:85px;\n\n    background:var(--bg);\n\n    border-radius:\n        0 0 35px 35px;\n}\n\n.vest-line{\n    position:absolute;\n\n    left:50%;\n    top:65px;\n\n    transform:translateX(-50%);\n\n    width:3px;\n    height:235px;\n\n    background:\n        rgba(255,255,255,.15);\n}\n\n.pocket{\n    position:absolute;\n\n    top:120px;\n\n    width:68px;\n    height:100px;\n\n    border-radius:15px;\n\n    background:\n        rgba(255,255,255,.08);\n\n    border:\n        1px solid\n        rgba(255,255,255,.18);\n}\n\n.pocket.left{\n    left:24px;\n}\n\n.pocket.right{\n    right:24px;\n}\n\n.bottle{\n    position:absolute;\n\n    top:125px;\n\n    width:38px;\n    height:105px;\n\n    border-radius:13px;\n\n    background:\n        linear-gradient(\n            180deg,\n            rgba(255,255,255,.8),\n            rgba(125,211,252,.25)\n        );\n\n    border:2px solid\n        rgba(255,255,255,.3);\n}\n\n.bottle.left{\n    left:40px;\n}\n\n.bottle.right{\n    right:40px;\n}\n\n\/* =========================\n   DROPS\n========================= *\/\n\n.drop{\n    position:absolute;\n\n    border-radius:50%;\n\n    background:\n        radial-gradient(\n            circle at 30% 25%,\n            white,\n            rgba(56,189,248,.3)\n        );\n\n    box-shadow:\n        0 0 25px\n        rgba(34,211,238,.3);\n\n    animation:drop 5s ease-in-out infinite;\n}\n\n.drop.one{\n    width:18px;\n    height:18px;\n\n    top:20%;\n    right:12%;\n}\n\n.drop.two{\n    width:10px;\n    height:10px;\n\n    bottom:22%;\n    left:12%;\n\n    animation-delay:1s;\n}\n\n.drop.three{\n    width:25px;\n    height:25px;\n\n    bottom:18%;\n    right:8%;\n\n    animation-delay:2s;\n}\n\n\/* =========================\n   MARQUEE\n========================= *\/\n\n.marquee{\n    overflow:hidden;\n\n    border-top:\n        1px solid rgba(125,211,252,.08);\n\n    border-bottom:\n        1px solid rgba(125,211,252,.08);\n\n    background:\n        rgba(56,189,248,.025);\n\n    padding:20px 0;\n}\n\n.marquee-track{\n    display:flex;\n\n    width:max-content;\n\n    animation:\n        marquee 24s linear infinite;\n}\n\n.marquee-item{\n    padding:0 35px;\n\n    white-space:nowrap;\n\n    color:#66899a;\n\n    font-size:12px;\n\n    font-weight:900;\n\n    letter-spacing:2px;\n}\n\n.marquee-item span{\n    color:var(--cyan);\n}\n\n\/* =========================\n   GENERAL SECTIONS\n========================= *\/\n\n.section{\n    max-width:1300px;\n\n    margin:auto;\n\n    padding:\n        110px 6vw;\n}\n\n.label{\n    color:var(--cyan);\n\n    font-size:11px;\n\n    font-weight:900;\n\n    letter-spacing:3px;\n\n    margin-bottom:15px;\n}\n\n.section-heading{\n    font-size:\n        clamp(42px,5vw,72px);\n\n    line-height:.95;\n\n    letter-spacing:-4px;\n\n    margin-bottom:20px;\n}\n\n.section-description{\n    color:var(--muted);\n\n    line-height:1.8;\n\n    max-width:600px;\n\n    margin-bottom:50px;\n}\n\n\/* =========================\n   PRODUCTS\n========================= *\/\n\n.products{\n    display:grid;\n\n    grid-template-columns:\n        repeat(3,1fr);\n\n    gap:22px;\n}\n\n.card{\n    overflow:hidden;\n\n    border-radius:24px;\n\n    background:\n        linear-gradient(\n            145deg,\n            rgba(255,255,255,.075),\n            rgba(255,255,255,.025)\n        );\n\n    border:\n        1px solid\n        rgba(125,211,252,.13);\n\n    transition:.4s;\n}\n\n.card:hover{\n    transform:translateY(-10px);\n\n    border-color:\n        rgba(56,189,248,.4);\n\n    box-shadow:\n        0 25px 70px\n        rgba(0,0,0,.4);\n}\n\n.card-image{\n    height:290px;\n\n    position:relative;\n\n    display:flex;\n\n    align-items:center;\n    justify-content:center;\n\n    background:\n        radial-gradient(\n            circle,\n            rgba(34,211,238,.17),\n            transparent 60%\n        ),\n        #061725;\n}\n\n.sale{\n    position:absolute;\n\n    top:17px;\n    left:17px;\n\n    background:\n        linear-gradient(\n            135deg,\n            var(--cyan),\n            var(--sky)\n        );\n\n    color:#02101a;\n\n    padding:7px 10px;\n\n    border-radius:8px;\n\n    font-size:10px;\n\n    font-weight:900;\n}\n\n.mini-vest{\n    width:125px;\n    height:185px;\n\n    border-radius:\n        35px\n        35px\n        24px\n        24px;\n\n    background:\n        linear-gradient(\n            135deg,\n            #06466a,\n            #0284c7,\n            #22d3ee\n        );\n\n    box-shadow:\n        0 30px 50px\n        rgba(0,0,0,.45);\n\n    transition:.4s;\n}\n\n.card:hover .mini-vest{\n    transform:\n        scale(1.1)\n        rotate(-3deg);\n}\n\n.card-content{\n    padding:23px;\n}\n\n.card-tag{\n    color:var(--cyan);\n\n    font-size:10px;\n\n    font-weight:900;\n\n    letter-spacing:2px;\n}\n\n.card h3{\n    font-size:22px;\n\n    margin:\n        8px 0 10px;\n}\n\n.card p{\n    color:#7899a7;\n\n    font-size:13px;\n\n    line-height:1.7;\n\n    margin-bottom:20px;\n}\n\n.price{\n    display:flex;\n\n    align-items:center;\n    justify-content:space-between;\n}\n\n.old{\n    color:#67828f;\n\n    text-decoration:line-through;\n\n    font-size:13px;\n\n    margin-right:5px;\n}\n\n.current{\n    color:white;\n\n    font-size:24px;\n\n    font-weight:900;\n}\n\n.add{\n    width:43px;\n    height:43px;\n\n    border:0;\n\n    border-radius:12px;\n\n    background:\n        linear-gradient(\n            135deg,\n            var(--sky),\n            var(--cyan)\n        );\n\n    color:#02101a;\n\n    font-size:22px;\n\n    font-weight:900;\n\n    cursor:pointer;\n\n    transition:.3s;\n}\n\n.add:hover{\n    transform:\n        scale(1.1)\n        rotate(90deg);\n}\n\n\/* =========================\n   FEATURES\n========================= *\/\n\n.features{\n    display:grid;\n\n    grid-template-columns:\n        repeat(4,1fr);\n\n    gap:16px;\n}\n\n.feature{\n    padding:27px;\n\n    min-height:205px;\n\n    border-radius:20px;\n\n    background:\n        rgba(255,255,255,.035);\n\n    border:\n        1px solid\n        rgba(125,211,252,.1);\n\n    transition:.35s;\n}\n\n.feature:hover{\n    transform:translateY(-8px);\n\n    border-color:\n        rgba(56,189,248,.35);\n\n    background:\n        rgba(56,189,248,.06);\n}\n\n.feature-icon{\n    font-size:30px;\n\n    margin-bottom:18px;\n}\n\n.feature h3{\n    margin-bottom:10px;\n}\n\n.feature p{\n    color:#7396a5;\n\n    font-size:13px;\n\n    line-height:1.7;\n}\n\n\/* =========================\n   CTA\n========================= *\/\n\n.cta{\n    max-width:1200px;\n\n    margin:\n        30px auto 100px;\n\n    padding:\n        90px 30px;\n\n    text-align:center;\n\n    border-radius:32px;\n\n    background:\n        radial-gradient(\n            circle at 50% 100%,\n            rgba(34,211,238,.3),\n            transparent 50%\n        ),\n        linear-gradient(\n            135deg,\n            #063a59,\n            #075985,\n            #06304b\n        );\n\n    border:\n        1px solid\n        rgba(125,211,252,.2);\n}\n\n.cta h2{\n    font-size:\n        clamp(40px,6vw,72px);\n\n    line-height:.95;\n\n    letter-spacing:-4px;\n\n    margin-bottom:18px;\n}\n\n.cta p{\n    color:#c3e3ef;\n\n    margin-bottom:28px;\n}\n\n\/* =========================\n   CART\n========================= *\/\n\n.overlay{\n    position:fixed;\n\n    inset:0;\n\n    z-index:4000;\n\n    background:rgba(0,0,0,.65);\n\n    backdrop-filter:blur(5px);\n\n    opacity:0;\n\n    visibility:hidden;\n\n    transition:.3s;\n}\n\n.overlay.active{\n    opacity:1;\n    visibility:visible;\n}\n\n.cart{\n    position:fixed;\n\n    top:0;\n    right:-430px;\n\n    width:min(420px,90%);\n\n    height:100vh;\n\n    z-index:5000;\n\n    display:flex;\n\n    flex-direction:column;\n\n    padding:27px;\n\n    background:\n        linear-gradient(\n            180deg,\n            #062338,\n            #020d17\n        );\n\n    border-left:\n        1px solid\n        rgba(125,211,252,.15);\n\n    transition:.45s;\n}\n\n.cart.active{\n    right:0;\n}\n\n.cart-header{\n    display:flex;\n\n    align-items:center;\n    justify-content:space-between;\n\n    padding-bottom:20px;\n\n    border-bottom:\n        1px solid\n        rgba(255,255,255,.08);\n}\n\n.close{\n    background:none;\n\n    border:0;\n\n    color:white;\n\n    font-size:29px;\n\n    cursor:pointer;\n}\n\n.cart-items{\n    flex:1;\n\n    overflow-y:auto;\n\n    padding-top:18px;\n}\n\n.empty{\n    text-align:center;\n\n    color:#6e929f;\n\n    padding-top:60px;\n}\n\n.cart-item{\n    display:flex;\n\n    align-items:center;\n    justify-content:space-between;\n\n    gap:15px;\n\n    padding:15px;\n\n    margin-bottom:10px;\n\n    border-radius:14px;\n\n    background:\n        rgba(255,255,255,.045);\n}\n\n.cart-item small{\n    color:#7196a5;\n}\n\n.remove{\n    border:0;\n\n    background:none;\n\n    color:#fb7185;\n\n    cursor:pointer;\n\n    font-weight:700;\n}\n\n.cart-bottom{\n    padding-top:18px;\n\n    border-top:\n        1px solid\n        rgba(255,255,255,.08);\n}\n\n.total{\n    display:flex;\n\n    justify-content:space-between;\n\n    font-size:20px;\n\n    font-weight:900;\n\n    margin-bottom:18px;\n}\n\n.checkout{\n    width:100%;\n\n    padding:16px;\n\n    border:0;\n\n    border-radius:13px;\n\n    background:\n        linear-gradient(\n            135deg,\n            var(--sky),\n            var(--cyan)\n        );\n\n    color:#02101a;\n\n    font-weight:900;\n\n    cursor:pointer;\n}\n\n\/* =========================\n   FOOTER\n========================= *\/\n\nfooter{\n    border-top:\n        1px solid\n        rgba(125,211,252,.08);\n\n    padding:\n        50px 6vw;\n\n    display:flex;\n\n    justify-content:space-between;\n\n    align-items:center;\n}\n\nfooter p{\n    color:#638392;\n\n    font-size:12px;\n}\n\n\/* =========================\n   REVEAL\n========================= *\/\n\n.reveal{\n    opacity:0;\n\n    transform:translateY(35px);\n\n    transition:\n        opacity .8s ease,\n        transform .8s ease;\n}\n\n.reveal.show{\n    opacity:1;\n\n    transform:translateY(0);\n}\n\n\/* =========================\n   ANIMATIONS\n========================= *\/\n\n@keyframes gradient{\n    0%{\n        background-position:0%;\n    }\n\n    100%{\n        background-position:300%;\n    }\n}\n\n@keyframes pulse{\n    0%,100%{\n        opacity:1;\n    }\n\n    50%{\n        opacity:.3;\n    }\n}\n\n@keyframes spin{\n    to{\n        transform:rotate(360deg);\n    }\n}\n\n@keyframes float{\n    0%,100%{\n        transform:translateY(0);\n    }\n\n    50%{\n        transform:translateY(-16px);\n    }\n}\n\n@keyframes glow{\n    0%,100%{\n        transform:scale(1);\n        opacity:.7;\n    }\n\n    50%{\n        transform:scale(1.15);\n        opacity:1;\n    }\n}\n\n@keyframes drop{\n    0%,100%{\n        transform:translateY(0);\n    }\n\n    50%{\n        transform:translateY(-30px);\n    }\n}\n\n@keyframes marquee{\n    to{\n        transform:translateX(-50%);\n    }\n}\n\n\/* =========================\n   MOBILE\n========================= *\/\n\n@media(max-width:900px){\n\n    .navlinks{\n        display:none;\n    }\n\n    .hero{\n        grid-template-columns:1fr;\n\n        text-align:center;\n\n        padding-top:140px;\n    }\n\n    .hero-description{\n        margin-left:auto;\n        margin-right:auto;\n    }\n\n    .buttons{\n        justify-content:center;\n    }\n\n    .visual{\n        min-height:480px;\n    }\n\n    .products{\n        grid-template-columns:1fr 1fr;\n    }\n\n    .features{\n        grid-template-columns:1fr 1fr;\n    }\n}\n\n@media(max-width:600px){\n\n    .hero{\n        padding-left:20px;\n        padding-right:20px;\n    }\n\n    .hero h1{\n        font-size:58px;\n\n        letter-spacing:-4px;\n    }\n\n    .visual{\n        transform:scale(.8);\n\n        margin-top:-40px;\n        margin-bottom:-40px;\n    }\n\n    .section{\n        padding:\n            80px 20px;\n    }\n\n    .products,\n    .features{\n        grid-template-columns:1fr;\n    }\n\n    .cta{\n        margin:\n            20px 20px 70px;\n\n        padding:\n            70px 20px;\n    }\n\n    footer{\n        flex-direction:column;\n\n        text-align:center;\n\n        gap:15px;\n    }\n}\n\u003c\/style\u003e\n\n\n\n\n\u003c!-- CURSOR --\u003e\n\u003cdiv class=\"cursor\" id=\"cursor\"\u003e\u003c\/div\u003e\n\n\n\u003c!-- NAVIGATION --\u003e\n\u003cnav class=\"nav\"\u003e\n\n    \u003ca href=\"#home\" class=\"logo\"\u003e\n        APEX \u003cspan\u003eHYDRATION\u003c\/span\u003e 💧\n    \u003c\/a\u003e\n\n    \u003cdiv class=\"navlinks\"\u003e\n        \u003ca href=\"#home\"\u003eHome\u003c\/a\u003e\n        \u003ca href=\"#shop\"\u003eShop\u003c\/a\u003e\n        \u003ca href=\"#features\"\u003eTechnology\u003c\/a\u003e\n    \u003c\/div\u003e\n\n    \u003cbutton class=\"cart-button\" onclick=\"openCart()\"\u003e\n        🛒 Cart\n        (\u003cspan id=\"cartCount\"\u003e0\u003c\/span\u003e)\n    \u003c\/button\u003e\n\n\u003c\/nav\u003e\n\n\n\u003c!-- HERO --\u003e\n\u003csection class=\"hero\" id=\"home\"\u003e\n\n    \u003cdiv class=\"hero-content\"\u003e\n\n        \u003cdiv class=\"offer\"\u003e\n            \u003cspan class=\"offer-dot\"\u003e\u003c\/span\u003e\n            40% OFF — LIMITED OFFER\n        \u003c\/div\u003e\n\n        \u003ch1\u003e\n            STAY\u003cbr\u003e\n            \u003cspan class=\"gradient\"\u003e\n                UNSTOPPABLE.\n            \u003c\/span\u003e\n        \u003c\/h1\u003e\n\n        \u003cp class=\"hero-description\"\u003e\n            Whether you're crushing a mountain trail 🏔️,\n            powering through a marathon 🏃, or exploring\n            the great outdoors 🌿 — Apex Hydration keeps\n            your water and essentials close when you need them.\n        \u003c\/p\u003e\n\n        \u003cdiv class=\"buttons\"\u003e\n\n            \u003ca href=\"#shop\" class=\"primary\"\u003e\n                SHOP NOW — R899 →\n            \u003c\/a\u003e\n\n            \u003ca href=\"#features\" class=\"secondary\"\u003e\n                EXPLORE FEATURES\n            \u003c\/a\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"visual\"\u003e\n\n        \u003cdiv class=\"drop one\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"drop two\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"drop three\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"halo\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"product-glow\"\u003e\u003c\/div\u003e\n\n        \u003cdiv class=\"vest\"\u003e\n\n            \u003cdiv class=\"vest-neck\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"vest-line\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"pocket left\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"pocket right\"\u003e\u003c\/div\u003e\n\n            \u003cdiv class=\"bottle left\"\u003e\u003c\/div\u003e\n            \u003cdiv class=\"bottle right\"\u003e\u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003c!-- MARQUEE --\u003e\n\u003cdiv class=\"marquee\"\u003e\n\n    \u003cdiv class=\"marquee-track\"\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            LIGHTWEIGHT \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            NO BOUNCE \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            SMART STORAGE \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            EASY HYDRATION \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            BREATHABLE \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            PERFORMANCE READY \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            LIGHTWEIGHT \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            NO BOUNCE \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            SMART STORAGE \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"marquee-item\"\u003e\n            EASY HYDRATION \u003cspan\u003e✦\u003c\/span\u003e\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- SHOP --\u003e\n\u003csection class=\"section\" id=\"shop\"\u003e\n\n    \u003cdiv class=\"reveal\"\u003e\n\n        \u003cdiv class=\"label\"\u003e\n            APEX COLLECTION\n        \u003c\/div\u003e\n\n        \u003ch2 class=\"section-heading\"\u003e\n            HYDRATION\u003cbr\u003e\n            \u003cspan class=\"gradient\"\u003e\n                WITHOUT LIMITS.\n            \u003c\/span\u003e\n        \u003c\/h2\u003e\n\n        \u003cp class=\"section-description\"\u003e\n            One premium hydration vest designed for\n            runners, hikers, athletes and anyone who\n            refuses to slow down.\n        \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"products\"\u003e\n\n\n        \u003c!-- CARD 1 --\u003e\n        \u003cdiv class=\"card reveal\"\u003e\n\n            \u003cdiv class=\"card-image\"\u003e\n\n                \u003cdiv class=\"sale\"\u003e\n                    40% OFF\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"mini-vest\"\u003e\u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"card-content\"\u003e\n\n                \u003cdiv class=\"card-tag\"\u003e\n                    APEX PERFORMANCE\n                \u003c\/div\u003e\n\n                \u003ch3\u003e\n                    Apex Hydration Vest\n                \u003c\/h3\u003e\n\n                \u003cp\u003e\n                    Lightweight construction with\n                    easy-access hydration and smart\n                    storage for your essentials.\n                \u003c\/p\u003e\n\n                \u003cdiv class=\"price\"\u003e\n\n                    \u003cdiv\u003e\n\n                        \u003cspan class=\"old\"\u003e\n                            R1,499\n                        \u003c\/span\u003e\n\n                        \u003cspan class=\"current\"\u003e\n                            R899\n                        \u003c\/span\u003e\n\n                    \u003c\/div\u003e\n\n                    \u003cbutton class=\"add\" onclick=\"addToCart()\"\u003e\n                        +\n                    \u003c\/button\u003e\n\n                \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- CARD 2 --\u003e\n        \u003cdiv class=\"card reveal\"\u003e\n\n            \u003cdiv class=\"card-image\"\u003e\n\n                \u003cdiv class=\"sale\"\u003e\n                    40% OFF\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"mini-vest\" style=\"\n                    background:\n                    linear-gradient(\n                        135deg,\n                        #082c46,\n                        #0ea5e9,\n                        #67e8f9\n                    );\n                    \"\u003e\u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"card-content\"\u003e\n\n                \u003cdiv class=\"card-tag\"\u003e\n                    TRAIL SERIES\n                \u003c\/div\u003e\n\n                \u003ch3\u003e\n                    Apex Hydration Vest\n                \u003c\/h3\u003e\n\n                \u003cp\u003e\n                    Built for long trail sessions,\n                    outdoor adventures and demanding\n                    training days.\n                \u003c\/p\u003e\n\n                \u003cdiv class=\"price\"\u003e\n\n                    \u003cdiv\u003e\n\n                        \u003cspan class=\"old\"\u003e\n                            R1,499\n                        \u003c\/span\u003e\n\n                        \u003cspan class=\"current\"\u003e\n                            R899\n                        \u003c\/span\u003e\n\n                    \u003c\/div\u003e\n\n                    \u003cbutton class=\"add\" onclick=\"addToCart()\"\u003e\n                        +\n                    \u003c\/button\u003e\n\n                \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- CARD 3 --\u003e\n        \u003cdiv class=\"card reveal\"\u003e\n\n            \u003cdiv class=\"card-image\"\u003e\n\n                \u003cdiv class=\"sale\"\u003e\n                    40% OFF\n                \u003c\/div\u003e\n\n                \u003cdiv class=\"mini-vest\" style=\"\n                    background:\n                    linear-gradient(\n                        135deg,\n                        #031b2b,\n                        #075985,\n                        #22d3ee\n                    );\n                    \"\u003e\u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"card-content\"\u003e\n\n                \u003cdiv class=\"card-tag\"\u003e\n                    APEX ADVENTURE\n                \u003c\/div\u003e\n\n                \u003ch3\u003e\n                    Apex Hydration Vest\n                \u003c\/h3\u003e\n\n                \u003cp\u003e\n                    A secure, comfortable fit that keeps\n                    your hydration and gear accessible\n                    on every adventure.\n                \u003c\/p\u003e\n\n                \u003cdiv class=\"price\"\u003e\n\n                    \u003cdiv\u003e\n\n                        \u003cspan class=\"old\"\u003e\n                            R1,499\n                        \u003c\/span\u003e\n\n                        \u003cspan class=\"current\"\u003e\n                            R899\n                        \u003c\/span\u003e\n\n                    \u003c\/div\u003e\n\n                    \u003cbutton class=\"add\" onclick=\"addToCart()\"\u003e\n                        +\n                    \u003c\/button\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\u003c!-- FEATURES --\u003e\n\u003csection class=\"section\" id=\"features\"\u003e\n\n    \u003cdiv class=\"reveal\"\u003e\n\n        \u003cdiv class=\"label\"\u003e\n            WHY APEX\n        \u003c\/div\u003e\n\n        \u003ch2 class=\"section-heading\"\u003e\n            BUILT TO\u003cbr\u003e\n            \u003cspan class=\"gradient\"\u003e\n                KEEP MOVING.\n            \u003c\/span\u003e\n        \u003c\/h2\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"features\"\u003e\n\n        \u003cdiv class=\"feature reveal\"\u003e\n\n            \u003cdiv class=\"feature-icon\"\u003e\n                ⚡\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n                Lightweight\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n                Designed to move naturally with you\n                without unnecessary bulk.\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"feature reveal\"\u003e\n\n            \u003cdiv class=\"feature-icon\"\u003e\n                💧\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n                Easy Hydration\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n                Keep your hydration accessible while\n                you're running, hiking or exploring.\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"feature reveal\"\u003e\n\n            \u003cdiv class=\"feature-icon\"\u003e\n                🎒\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n                Smart Storage\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n                Carry your phone, snacks, keys and\n                essentials without filling your pockets.\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"feature reveal\"\u003e\n\n            \u003cdiv class=\"feature-icon\"\u003e\n                🏃\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n                Secure Fit\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n                An ergonomic design made to stay\n                comfortable while you're moving.\n            \u003c\/p\u003e\n\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\u003c\/section\u003e\n\n\n\u003c!-- CTA --\u003e\n\u003csection class=\"cta reveal\"\u003e\n\n    \u003ch2\u003e\n        YOUR NEXT\u003cbr\u003e\n        \u003cspan class=\"gradient\"\u003e\n            ADVENTURE STARTS HERE.\n        \u003c\/span\u003e\n    \u003c\/h2\u003e\n\n    \u003cp\u003e\n        Stay hydrated. Stay focused. Stay unstoppable.\n    \u003c\/p\u003e\n\n    \u003ca href=\"#shop\" class=\"primary\"\u003e\n        GET YOUR APEX VEST — R899 →\n    \u003c\/a\u003e\n\n\u003c\/section\u003e\n\n\n\u003c!-- FOOTER --\u003e\n\u003cfooter\u003e\n\n    \u003cdiv\u003e\n\n        \u003cdiv class=\"logo\"\u003e\n            APEX \u003cspan\u003eHYDRATION\u003c\/span\u003e 💧\n        \u003c\/div\u003e\n\n        \u003cp\u003e\n            Hydrate. Explore. Conquer.\n        \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cp\u003e\n        © 2026 Apex Hydration\n    \u003c\/p\u003e\n\n\u003c\/footer\u003e\n\n\n\u003c!-- CART OVERLAY --\u003e\n\u003cdiv class=\"overlay\" id=\"overlay\" onclick=\"closeCart()\"\u003e\u003c\/div\u003e\n\n\n\u003c!-- CART DRAWER --\u003e\n\u003cdiv class=\"cart\" id=\"cart\"\u003e\n\n    \u003cdiv class=\"cart-header\"\u003e\n\n        \u003cdiv\u003e\n\n            \u003ch2\u003e\n                Your Cart 🛒\n            \u003c\/h2\u003e\n\n            \u003csmall style=\"color:#7899a7\"\u003e\n                Apex Hydration\n            \u003c\/small\u003e\n\n        \u003c\/div\u003e\n\n        \u003cbutton class=\"close\" onclick=\"closeCart()\"\u003e\n            ×\n        \u003c\/button\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"cart-items\" id=\"cartItems\"\u003e\n\n        \u003cdiv class=\"empty\"\u003e\n            Your cart is empty 💧\n        \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n\n    \u003cdiv class=\"cart-bottom\"\u003e\n\n        \u003cdiv class=\"total\"\u003e\n\n            \u003cspan\u003e\n                Total\n            \u003c\/span\u003e\n\n            \u003cspan id=\"cartTotal\"\u003e\n                R0\n            \u003c\/span\u003e\n\n        \u003c\/div\u003e\n\n        \u003cbutton class=\"checkout\" onclick=\"checkout()\"\u003e\n            PROCEED TO CHECKOUT →\n        \u003c\/button\u003e\n\n    \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003cscript\u003e\n\n\/* =========================\n   CURSOR\n========================= *\/\n\nconst cursor =\n    document.getElementById(\"cursor\");\n\ndocument.addEventListener(\n    \"mousemove\",\n    function(e){\n\n        cursor.style.left =\n            e.clientX + \"px\";\n\n        cursor.style.top =\n            e.clientY + \"px\";\n\n    }\n);\n\n\n\/* =========================\n   CART\n========================= *\/\n\nlet quantity = 0;\n\nconst productName =\n    \"Apex Hydration Vest\";\n\nconst productPrice =\n    899;\n\n\nfunction addToCart(){\n\n    quantity++;\n\n    updateCart();\n\n    openCart();\n\n}\n\n\nfunction removeFromCart(){\n\n    quantity = 0;\n\n    updateCart();\n\n}\n\n\nfunction updateCart(){\n\n    const count =\n        document.getElementById(\n            \"cartCount\"\n        );\n\n    const items =\n        document.getElementById(\n            \"cartItems\"\n        );\n\n    const total =\n        document.getElementById(\n            \"cartTotal\"\n        );\n\n\n    count.textContent =\n        quantity;\n\n\n    if(quantity === 0){\n\n        items.innerHTML = `\n            \u003cdiv class=\"empty\"\u003e\n                Your cart is empty 💧\n            \u003c\/div\u003e\n        `;\n\n        total.textContent =\n            \"R0\";\n\n        return;\n    }\n\n\n    const subtotal =\n        quantity *\n        productPrice;\n\n\n    items.innerHTML = `\n\n        \u003cdiv class=\"cart-item\"\u003e\n\n            \u003cdiv\u003e\n\n                \u003cstrong\u003e\n                    ${productName}\n                \u003c\/strong\u003e\n\n                \u003cbr\u003e\n\n                \u003csmall\u003e\n                    R899 × ${quantity}\n                \u003c\/small\u003e\n\n            \u003c\/div\u003e\n\n            \u003cbutton\n                class=\"remove\"\n                onclick=\"removeFromCart()\"\n            \u003e\n                Remove\n            \u003c\/button\u003e\n\n        \u003c\/div\u003e\n\n    `;\n\n\n    total.textContent =\n        \"R\" +\n        subtotal.toLocaleString(\n            \"en-ZA\"\n        );\n\n}\n\n\nfunction openCart(){\n\n    document\n        .getElementById(\"cart\")\n        .classList\n        .add(\"active\");\n\n    document\n        .getElementById(\"overlay\")\n        .classList\n        .add(\"active\");\n\n}\n\n\nfunction closeCart(){\n\n    document\n        .getElementById(\"cart\")\n        .classList\n        .remove(\"active\");\n\n    document\n        .getElementById(\"overlay\")\n        .classList\n        .remove(\"active\");\n\n}\n\n\nfunction checkout(){\n\n    if(quantity === 0){\n\n        alert(\n            \"Your cart is empty.\"\n        );\n\n        return;\n    }\n\n    alert(\n        \"Checkout is ready to connect to your payment provider.\"\n    );\n\n}\n\n\n\/* =========================\n   SCROLL REVEAL\n========================= *\/\n\nconst observer =\n    new IntersectionObserver(\n        function(entries){\n\n            entries.forEach(\n                function(entry){\n\n                    if(\n                        entry.isIntersecting\n                    ){\n\n                        entry.target\n                            .classList\n                            .add(\"show\");\n\n                    }\n\n                }\n            );\n\n        },\n        {\n            threshold:.12\n        }\n    );\n\n\ndocument\n    .querySelectorAll(\".reveal\")\n    .forEach(\n        element =\u003e\n            observer.observe(element)\n    );\n\n\u003c\/script\u003e\n\n\n\n\u003c\/body\u003e","products":[],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0846\/8820\/8116\/collections\/1786914763384_1.png?v=1786994637","url":"https:\/\/apexhydrationgear.co.za\/collections\/apex-hydration-vest.oembed","provider":"Apex Hydration","version":"1.0","type":"link"}